Пакет протоколов Интернета , обычно известный как TCP/IP , представляет собой структуру для организации набора протоколов связи, используемых в Интернете и аналогичных компьютерных сетях в соответствии с функциональными критериями. Основополагающими протоколами в пакете являются протокол управления передачей (TCP), протокол пользовательских датаграмм (UDP) и протокол Интернета (IP). Ранние версии этой сетевой модели были известны как модель Министерства обороны ( DoD ), поскольку исследования и разработки финансировались Министерством обороны США через DARPA .
Пакет протоколов Интернета обеспечивает сквозную передачу данных, определяя, как данные должны быть пакетированы, адресованы, переданы, маршрутизированы и получены. Эта функциональность организована в четыре уровня абстракции , которые классифицируют все связанные протоколы в соответствии с областью действия каждого протокола в сети. [1] [2] Реализация уровней для конкретного приложения формирует стек протоколов . От низшего к высшему уровни — это уровень связи , содержащий методы связи для данных, которые остаются в пределах одного сегмента сети (связь); уровень Интернета , обеспечивающий межсетевое взаимодействие между независимыми сетями; транспортный уровень , обрабатывающий связь между хостами; и уровень приложений , обеспечивающий обмен данными между процессами для приложений.
Технические стандарты, лежащие в основе набора протоколов Интернета и его составляющих протоколов, поддерживаются Инженерной группой Интернета (IETF). Набор протоколов Интернета появился раньше модели OSI , более полной справочной структуры для общих сетевых систем.
Первоначально именуемый Моделью архитектуры Интернета Министерства обороны США , набор протоколов Интернета берет свое начало в исследованиях и разработках, спонсируемых Агентством перспективных исследовательских проектов Министерства обороны США ( DARPA ) в конце 1960-х годов. [3] После того, как DARPA инициировало новаторскую сеть ARPANET в 1969 году, Стив Крокер создал «Рабочую группу по сетевым технологиям», которая разработала протокол хост-хост, Программу управления сетью (NCP). [4] В начале 1970-х годов DARPA начало работу над несколькими другими технологиями передачи данных, включая мобильную пакетную радиосвязь, пакетную спутниковую службу, локальные вычислительные сети и другие сети передачи данных в государственных и частных доменах. В 1972 году Боб Кан присоединился к Офису технологий обработки информации DARPA , где он работал как над спутниковыми пакетными сетями, так и над наземными радиопакетными сетями, и осознал ценность возможности общаться через них. Весной 1973 года Винтон Серф присоединился к Кану с целью разработки следующего поколения протоколов для ARPANET, чтобы обеспечить межсетевое взаимодействие . [5] [6] Они опирались на опыт исследовательского сообщества ARPANET, Международной сетевой рабочей группы , которую возглавлял Серф, и исследователей из Xerox PARC . [7] [8] [9]
К лету 1973 года Кан и Серф разработали фундаментальную переформулировку, в которой различия между локальными сетевыми протоколами были скрыты за счет использования общего межсетевого протокола , и вместо того, чтобы сеть отвечала за надежность, как в существующих протоколах ARPANET, эта функция была делегирована хостам. Серф отдает должное Луи Пузену и Хьюберту Циммерманну , разработчикам сети CYCLADES , за важное влияние на этот проект. [10] [11] Новый протокол был реализован как Программа управления передачей в 1974 году Серфом, Йогеном Далалом и Карлом Саншайном. [12]
Первоначально Программа управления передачей ( тогда Интернет-протокол не существовал как отдельный протокол) предоставляла своим пользователям только надежную службу потока байтов , а не датаграммы . [13] Несколько версий были разработаны в рамках серии Internet Experiment Note . [14] По мере накопления опыта работы с протоколом соавторы рекомендовали разделить функциональность на уровни отдельных протоколов, что позволило бы пользователям получать прямой доступ к службе датаграмм. Сторонниками были Боб Меткалф и Йоген Далал из Xerox PARC; [15] [16] Дэнни Коэн , которому это было нужно для его работы с пакетной голосовой связью ; и Джонатан Постел из Института информационных наук Университета Южной Калифорнии , который редактировал Запрос на комментарии (RFC), техническую и стратегическую серию документов, которая документировала и катализировала развитие Интернета. [17] Постел заявил: «Мы портим нашу конструкцию Интернет-протоколов, нарушая принцип многослойности». [18] Инкапсуляция различных механизмов была предназначена для создания среды, в которой верхние уровни могли бы получить доступ только к тому, что было необходимо из нижних уровней. Монолитная конструкция была бы негибкой и привела бы к проблемам масштабируемости. В версии 4 , написанной в 1978 году, Постел разделил программу управления передачей на два отдельных протокола, протокол Интернета как уровень без установления соединения и протокол управления передачей как надежный сервис, ориентированный на соединение . [19] [20] [21] [nb 1]
Проектирование сети включало признание того, что она должна предоставлять только функции эффективной передачи и маршрутизации трафика между конечными узлами, а все остальные интеллектуальные функции должны быть расположены на краю сети, в конечных узлах. Этот принцип сквозной связи был впервые предложен Луи Пузеном в сети CYCLADES [22] на основе идей Дональда Дэвиса . [23] [24] Используя этот проект, стало возможным подключать другие сети к ARPANET, которые использовали тот же принцип, независимо от других локальных характеристик, тем самым решая первоначальную проблему межсетевого взаимодействия Кана. Популярное выражение заключается в том, что TCP/IP, конечный продукт работы Серфа и Кана, может работать на «двух консервных банках и веревке». [ требуется цитата ] Годы спустя, в качестве шутки в 1999 году, была создана формальная спецификация протокола IP over Avian Carriers [25] и успешно протестирована два года спустя. Еще 10 лет спустя она была адаптирована для IPv6. [26]
DARPA заключило контракт с BBN Technologies , Стэнфордским университетом и Лондонским университетским колледжем на разработку рабочих версий протокола на нескольких аппаратных платформах. [27] В ходе разработки протокола номер версии уровня маршрутизации пакетов изменился с версии 1 до версии 4, последняя из которых была установлена в ARPANET в 1983 году. Он стал известен как Интернет-протокол версии 4 (IPv4), поскольку протокол до сих пор используется в Интернете, наряду с его нынешним преемником, Интернет-протоколом версии 6 (IPv6).
В 1975 году был проведен двухсетевой тест IP-коммуникаций между Стэнфордом и Лондонским университетским колледжем. В ноябре 1977 года был проведен трехсетевой тест IP между сайтами в США, Великобритании и Норвегии . Несколько других прототипов IP были разработаны в нескольких исследовательских центрах между 1978 и 1983 годами. [14]
Компьютер, называемый маршрутизатором, снабжен интерфейсом к каждой сети. Он пересылает сетевые пакеты туда и обратно между ними. [28] Первоначально маршрутизатор назывался шлюзом , но термин был изменен, чтобы избежать путаницы с другими типами шлюзов . [29]
В марте 1982 года Министерство обороны США объявило TCP/IP стандартом для всех военных компьютерных сетей. [30] [31] [32] В том же году NORSAR / NDRE и исследовательская группа Питера Кирстейна в Университетском колледже Лондона приняли протокол. [33] Миграция ARPANET с NCP на TCP/IP была официально завершена в день флага 1 января 1983 года, когда новые протоколы были постоянно активированы. [30] [34]
В 1985 году Консультативный совет по Интернету (позднее Совет по архитектуре Интернета ) провел трехдневный семинар по TCP/IP для компьютерной индустрии, в котором приняли участие 250 представителей поставщиков, продвигая протокол и способствуя его все большему коммерческому использованию. В 1985 году первая конференция Interop была сосредоточена на сетевой совместимости путем более широкого принятия TCP/IP. Конференция была основана Дэном Линчем, одним из первых интернет-активистов. С самого начала на встрече присутствовали крупные корпорации, такие как IBM и DEC. [35] [36]
IBM, AT&T и DEC были первыми крупными корпорациями, принявшими TCP/IP, несмотря на наличие конкурирующих фирменных протоколов . В IBM с 1984 года группа Барри Аппельмана занималась разработкой TCP/IP. Они управляли корпоративной политикой, чтобы получить поток продуктов TCP/IP для различных систем IBM, включая MVS , VM и OS/2 . В то же время несколько более мелких компаний, таких как FTP Software и Wollongong Group , начали предлагать стеки TCP/IP для DOS и Microsoft Windows . [37] Первый стек VM/CMS TCP/IP появился в Университете Висконсина. [38]
Некоторые из ранних стеков TCP/IP были написаны в одиночку несколькими программистами. Джей Элински и Олег Вишнепольски из IBM Research написали стеки TCP/IP для VM/CMS и OS/2 соответственно. [ требуется ссылка ] В 1984 году Дональд Джиллис из Массачусетского технологического института написал многоканальный TCP-протокол ntcp , который работает поверх уровня IP/PacketDriver, поддерживаемого Джоном Ромки из Массачусетского технологического института в 1983–84 годах. Ромки использовал этот TCP в 1986 году, когда была основана компания FTP Software. [39] [40] Начиная с 1985 года, Фил Карн создал многоканальное TCP-приложение для любительских радиосистем (KA9Q TCP). [41]
Распространение TCP/IP еще больше усилилось в июне 1989 года, когда Калифорнийский университет в Беркли согласился разместить код TCP/IP, разработанный для BSD UNIX, в открытом доступе. Различные корпоративные поставщики, включая IBM, включили этот код в коммерческие выпуски программного обеспечения TCP/IP. Для Windows 3.1, доминирующей операционной системы ПК среди потребителей в первой половине 1990-х годов, выпуск Питером Таттамом стека TCP/IP Trumpet Winsock стал ключом к предоставлению Интернета домашним пользователям. Trumpet Winsock позволял выполнять операции TCP/IP через последовательное соединение ( SLIP или PPP ). Типичный домашний ПК того времени имел внешний модем, совместимый с Hayes, подключенный через порт RS-232 с UART 8250 или 16550 , для которого требовался этот тип стека. Позднее Microsoft выпустила собственный дополнительный стек TCP/IP для Windows for Workgroups 3.11 и собственный стек в Windows 95. Эти события помогли закрепить доминирование TCP/IP над другими протоколами в сетях на базе Microsoft, включая Systems Network Architecture (SNA) компании IBM, а также на других платформах, таких как DECnet компании Digital Equipment Corporation , Open Systems Interconnection (OSI) и Xerox Network Systems (XNS).
Тем не менее, в течение периода в конце 1980-х и начале 1990-х годов инженеры, организации и страны были поляризованы по вопросу о том, какой стандарт , модель OSI или набор протоколов Интернета, приведет к созданию лучших и наиболее надежных компьютерных сетей. [42] [43] [44]
Технические стандарты, лежащие в основе набора протоколов Интернета и его составляющих протоколов, были делегированы Инженерной рабочей группе Интернета (IETF). [45] [46]
Характерной архитектурой набора протоколов Интернета является его широкое разделение на операционные области для протоколов, которые составляют его основную функциональность. Определяющими спецификациями набора являются RFC 1122 и 1123, которые в общих чертах описывают четыре уровня абстракции (а также связанные протоколы); уровень связи, уровень IP, транспортный уровень и уровень приложений, а также протоколы поддержки. [1] [2] Они выдержали испытание временем, поскольку IETF никогда не изменял эту структуру. Как модель сетей, набор протоколов Интернета предшествует модели OSI, более полной справочной структуре для общих сетевых систем. [44]
Принцип «от конца к концу» со временем эволюционировал. Его первоначальное выражение помещало поддержание состояния и общего интеллекта на краях и предполагало, что Интернет, который соединял края, не сохранял никакого состояния и концентрировался на скорости и простоте. Реальные потребности в брандмауэрах, трансляторах сетевых адресов, кэшах веб-контента и т. п. заставили изменить этот принцип. [47]
Принцип надежности гласит: «В целом, реализация должна быть консервативной в своем поведении отправки и либеральной в своем поведении получения. То есть, она должна быть осторожна в отправке правильно сформированных датаграмм, но должна принимать любые датаграммы, которые она может интерпретировать (например, не возражать против технических ошибок, если смысл все еще ясен)». [48] : 23 «Вторая часть принципа почти так же важна: программное обеспечение на других хостах может содержать недостатки, которые делают неразумным использование законных, но малоизвестных функций протокола». [1] : 13
Инкапсуляция используется для предоставления абстракции протоколов и сервисов. Инкапсуляция обычно соответствует разделению набора протоколов на уровни общей функциональности. В общем случае приложение (высший уровень модели) использует набор протоколов для отправки своих данных вниз по уровням. Данные далее инкапсулируются на каждом уровне.
Ранняя пара архитектурных документов, RFC 1122 и 1123, озаглавленная «Требования к интернет-хостам» , подчеркивает архитектурные принципы, а не слоистость. [49] RFC 1122/23 структурированы в разделах, относящихся к слоям, но документы ссылаются на многие другие архитектурные принципы и не подчеркивают слоистость. Они в общих чертах определяют четырехслойную модель, в которой слои имеют имена, а не номера, следующим образом: [1] [2]
Протоколы канального уровня работают в рамках локального сетевого соединения, к которому подключен хост. Этот режим называется связью на языке TCP/IP и является самым низким компонентным уровнем пакета. Связь включает все хосты, доступные без прохождения маршрутизатора. Таким образом, размер связи определяется конструкцией сетевого оборудования. В принципе, TCP/IP разработан так, чтобы быть аппаратно независимым и может быть реализован поверх практически любой технологии канального уровня. Это включает не только аппаратные реализации, но и виртуальные канальные уровни, такие как виртуальные частные сети и сетевые туннели .
Канальный уровень используется для перемещения пакетов между интерфейсами интернет-уровня двух разных хостов на одном и том же канале. Процессы передачи и приема пакетов на канале могут контролироваться в драйвере устройства для сетевой карты , а также в прошивке или специализированными чипсетами . Они выполняют такие функции, как кадрирование, для подготовки пакетов интернет-уровня к передаче и, наконец, передают кадры на физический уровень и через среду передачи . Модель TCP/IP включает спецификации для преобразования методов сетевой адресации, используемых в интернет-протоколе, в адреса канального уровня, такие как адреса управления доступом к среде (MAC). Однако все остальные аспекты ниже этого уровня неявно предполагаются существующими и явно не определены в модели TCP/IP.
Канальный уровень в модели TCP/IP имеет соответствующие функции на уровне 2 модели OSI.
Для межсетевого взаимодействия требуется отправка данных из исходной сети в сеть назначения. Этот процесс называется маршрутизацией и поддерживается адресацией и идентификацией хостов с использованием иерархической системы IP-адресации . Уровень Интернета обеспечивает ненадежную передачу датаграмм между хостами, расположенными в потенциально разных IP-сетях, путем пересылки датаграмм на соответствующий маршрутизатор следующего перехода для дальнейшей ретрансляции в пункт назначения. Уровень Интернета отвечает за отправку пакетов через потенциально несколько сетей. Благодаря этой функциональности уровень Интернета делает возможным межсетевое взаимодействие, взаимодействие различных IP-сетей, и по сути устанавливает Интернет.
Уровень Интернета не различает различные протоколы транспортного уровня. IP переносит данные для множества различных протоколов верхнего уровня . Каждый из этих протоколов идентифицируется уникальным номером протокола : например, протокол управляющих сообщений Интернета (ICMP) и протокол управления группами Интернета (IGMP) являются протоколами 1 и 2 соответственно.
Интернет-протокол является основным компонентом интернет-слоя и определяет две системы адресации для идентификации сетевых хостов и их размещения в сети. Первоначальная система адресации ARPANET и ее преемника, Интернета, — это Интернет-протокол версии 4 (IPv4). Он использует 32-битный IP-адрес и, следовательно, способен идентифицировать около четырех миллиардов хостов. Это ограничение было устранено в 1998 году стандартизацией Интернет-протокола версии 6 (IPv6), который использует 128-битные адреса. Реализации IPv6 появились примерно в 2006 году.
Транспортный уровень устанавливает основные каналы передачи данных, которые приложения используют для обмена данными, специфичными для задач. Уровень устанавливает соединение хост-хост в форме сквозных служб передачи сообщений, которые не зависят от базовой сети и не зависят от структуры пользовательских данных и логистики обмена информацией. Связность на транспортном уровне можно разделить на категории с установлением соединения , реализованные в TCP, и без установления соединения , реализованные в UDP. Протоколы на этом уровне могут обеспечивать контроль ошибок , сегментацию , управление потоком , управление перегрузкой и адресацию приложений ( номера портов ).
Для предоставления специфичных для процесса каналов передачи для приложений уровень устанавливает концепцию сетевого порта . Это пронумерованная логическая конструкция, выделенная специально для каждого из каналов связи, необходимых приложению. Для многих типов служб эти номера портов были стандартизированы, чтобы клиентские компьютеры могли обращаться к определенным службам серверного компьютера без участия служб обнаружения служб или служб каталогов .
Поскольку IP обеспечивает только доставку с наилучшими усилиями , некоторые протоколы транспортного уровня обеспечивают надежность.
TCP — это протокол с установлением соединения, который решает многочисленные проблемы надежности, обеспечивая надежный поток байтов :
Более новый протокол передачи управления потоками (SCTP) также является надежным транспортным механизмом, ориентированным на соединение. Он ориентирован на поток сообщений, а не на поток байтов, как TCP, и обеспечивает несколько потоков, мультиплексированных по одному соединению. Он также обеспечивает поддержку множественной адресации , при которой конец соединения может быть представлен несколькими IP-адресами (представляющими несколько физических интерфейсов), так что если один из них выйдет из строя, соединение не будет прервано. Первоначально он был разработан для приложений телефонии (для транспортировки SS7 по IP).
Надежность также может быть достигнута путем использования IP поверх надежного протокола канала передачи данных, такого как протокол управления каналом передачи данных высокого уровня (HDLC).
Протокол пользовательских дейтаграмм (UDP) — это протокол дейтаграмм без установления соединения . Как и IP, это ненадежный протокол с максимальным усилием. Надежность достигается путем обнаружения ошибок с использованием алгоритма контрольной суммы. UDP обычно используется для таких приложений, как потоковое мультимедиа (аудио, видео, Voice over IP и т. д.), где своевременное прибытие важнее надежности, или для простых приложений запросов/ответов, таких как поиск в DNS , где накладные расходы на настройку надежного соединения непропорционально велики. Протокол передачи данных в реальном времени (RTP) — это протокол дейтаграмм, который используется поверх UDP и разработан для данных в реальном времени, таких как потоковое мультимедиа .
Приложения на любом сетевом адресе различаются по их порту TCP или UDP. По соглашению, некоторые известные порты связаны с определенными приложениями.
Транспортный уровень модели TCP/IP или уровень «хост-хост» примерно соответствует четвертому уровню модели OSI, также называемому транспортным уровнем.
QUIC быстро развивается как альтернативный транспортный протокол. Хотя технически он передается через пакеты UDP, он стремится предложить улучшенную транспортную связность относительно TCP. HTTP/3 работает исключительно через QUIC.
Уровень приложений включает протоколы, используемые большинством приложений для предоставления пользовательских услуг или обмена данными приложений по сетевым соединениям, установленным протоколами более низкого уровня. Это может включать некоторые базовые службы поддержки сети, такие как протоколы маршрутизации и конфигурация хоста. Примерами протоколов уровня приложений являются протокол передачи гипертекста (HTTP), протокол передачи файлов (FTP), простой протокол передачи почты (SMTP) и протокол динамической конфигурации хоста (DHCP). [54] Данные, закодированные в соответствии с протоколами уровня приложений, инкапсулируются в единицы протоколов транспортного уровня (такие как потоки TCP или датаграммы UDP), которые, в свою очередь, используют протоколы более низкого уровня для осуществления фактической передачи данных.
Модель TCP/IP не учитывает специфику форматирования и представления данных и не определяет дополнительные уровни между прикладным и транспортным уровнями, как в модели OSI (уровни представления и сеанса). Согласно модели TCP/IP, такие функции являются областью библиотек и интерфейсов прикладного программирования . Уровень приложений в модели TCP/IP часто сравнивают с комбинацией пятого (сеансового), шестого (представления) и седьмого (прикладного) уровней модели OSI.
Протоколы прикладного уровня часто связаны с определенными клиент-серверными приложениями, а общие службы имеют известные номера портов, зарезервированные IANA ( Internet Assigned Numbers Authority ). Например, протокол передачи гипертекста использует порт сервера 80, а Telnet использует порт сервера 23. Клиенты, подключающиеся к службе, обычно используют эфемерные порты , т. е. номера портов, назначаемые только на время транзакции случайным образом или из определенного диапазона, настроенного в приложении.
На прикладном уровне модель TCP/IP различает пользовательские протоколы и протоколы поддержки . [1] : §1.1.3 Протоколы поддержки предоставляют услуги системе сетевой инфраструктуры. Пользовательские протоколы используются для реальных пользовательских приложений. Например, FTP является пользовательским протоколом, а DNS является протоколом поддержки.
Хотя приложения обычно знают о ключевых качествах соединения транспортного уровня, таких как IP-адреса конечных точек и номера портов, протоколы прикладного уровня обычно рассматривают протоколы транспортного уровня (и нижестоящие) как черные ящики , которые обеспечивают стабильное сетевое соединение, через которое можно обмениваться данными. Транспортный уровень и нижестоящие уровни не заботятся о специфике протоколов прикладного уровня. Маршрутизаторы и коммутаторы обычно не проверяют инкапсулированный трафик, а просто предоставляют для него канал. Однако некоторые приложения брандмауэра и регулирования полосы пропускания используют глубокую проверку пакетов для интерпретации данных приложения. Примером является протокол резервирования ресурсов (RSVP). [ требуется цитата ] Иногда также необходимо, чтобы приложения, затронутые NAT , учитывали полезную нагрузку приложения.
Набор протоколов Интернета развивался посредством исследований и разработок, финансируемых в течение определенного периода времени. В ходе этого процесса изменилась специфика компонентов протокола и их иерархии. Кроме того, параллельные исследования и коммерческие интересы отраслевых ассоциаций конкурировали с особенностями дизайна. В частности, усилия Международной организации по стандартизации привели к схожей цели, но с более широким охватом сетей в целом. Попытки объединить две основные школы иерархии, которые были внешне похожи, но резко расходились в деталях, привели независимых авторов учебников к формулированию сокращенных учебных пособий.
В следующей таблице показаны различные модели сетей. Количество слоев варьируется от трех до семи.
Некоторые сетевые модели взяты из учебников, которые являются вторичными источниками и могут противоречить целям RFC 1122 и других основных источников IETF . [63]
Три верхних уровня в модели OSI, то есть прикладной уровень, уровень представления и сеансовый уровень, не различаются отдельно в модели TCP/IP, которая имеет только прикладной уровень над транспортным уровнем. Хотя некоторые чистые приложения протокола OSI, такие как X.400 , также объединяют их, нет требования, чтобы стек протоколов TCP/IP налагал монолитную архитектуру над транспортным уровнем. Например, протокол приложения NFS работает поверх протокола представления внешнего представления данных (XDR), который, в свою очередь, работает поверх протокола, называемого удаленным вызовом процедур (RPC). RPC обеспечивает надежную передачу записей, поэтому он может безопасно использовать транспорт UDP с наилучшими усилиями.
Разные авторы интерпретируют модель TCP/IP по-разному и не соглашаются, охватывает ли уровень связи или любой аспект модели TCP/IP проблемы уровня OSI 1 ( физического уровня ), или же TCP/IP предполагает, что аппаратный уровень существует ниже уровня связи. Несколько авторов пытались включить уровни 1 и 2 модели OSI в модель TCP/IP, поскольку они обычно упоминаются в современных стандартах (например, IEEE и ITU ). Это часто приводит к модели с пятью уровнями, где уровень связи или уровень доступа к сети разделен на уровни 1 и 2 модели OSI. [ необходима цитата ]
Усилия IETF по разработке протоколов не касаются строгого разделения на слои. Некоторые из его протоколов могут не вписываться в модель OSI, хотя RFC иногда ссылаются на нее и часто используют старые номера слоев OSI. IETF неоднократно заявлял [45] [ неудачная проверка ] , что разработка интернет-протокола и архитектуры не предназначена для соответствия OSI. RFC 3439, ссылаясь на архитектуру интернета, содержит раздел под названием: «Разделение на слои считается вредным». [63]
Например, сеансовый и презентационный уровни набора OSI считаются включенными в прикладной уровень набора TCP/IP. Функциональность сеансового уровня можно найти в таких протоколах, как HTTP и SMTP , и более очевидна в таких протоколах, как Telnet и Session Initiation Protocol (SIP). Функциональность сеансового уровня также реализована с помощью нумерации портов протоколов TCP и UDP, которые включены в транспортный уровень набора TCP/IP. Функции презентационного уровня реализованы в приложениях TCP/IP со стандартом MIME в обмене данными.
Другое отличие заключается в обработке протоколов маршрутизации . Протокол маршрутизации OSI IS-IS принадлежит сетевому уровню и не зависит от CLNS для доставки пакетов от одного маршрутизатора к другому, но определяет свою собственную инкапсуляцию уровня 3. Напротив, OSPF , RIP , BGP и другие протоколы маршрутизации, определенные IETF, транспортируются по IP, и для отправки и получения пакетов протоколов маршрутизации маршрутизаторы действуют как хосты. Как следствие, протоколы маршрутизации включены в прикладной уровень. [28] Некоторые авторы, такие как Таненбаум в Computer Networks , описывают протоколы маршрутизации на том же уровне, что и IP, полагая, что протоколы маршрутизации информируют о решениях, принимаемых процессом пересылки маршрутизаторов.
Протоколы IETF могут быть инкапсулированы рекурсивно, как это продемонстрировано в протоколах туннелирования, таких как Generic Routing Encapsulation (GRE). GRE использует тот же механизм, который OSI использует для туннелирования на сетевом уровне.
Пакет протоколов Интернета не предполагает какой-либо конкретной аппаратной или программной среды. Он требует только наличия аппаратного и программного уровня, способного отправлять и получать пакеты в компьютерной сети. В результате пакет был реализован практически на каждой вычислительной платформе. Минимальная реализация TCP/IP включает следующее: протокол Интернета (IP), протокол разрешения адресов (ARP), протокол управляющих сообщений Интернета (ICMP), протокол управления передачей (TCP), протокол пользовательских датаграмм (UDP) и протокол управления группами Интернета (IGMP). Помимо IP, ICMP, TCP, UDP, протокол Интернета версии 6 требует протокол обнаружения соседей (NDP), ICMPv6 и обнаружение многоадресного прослушивателя (MLD) и часто сопровождается интегрированным уровнем безопасности IPSec .
хотели бы поблагодарить ряд коллег за полезные комментарии во время ранних обсуждений международных сетевых протоколов, особенно R. Metcalfe, R. Scantlebury, D. Walden и H. Zimmerman; D. Davies и L. Pouzin, которые конструктивно прокомментировали вопросы фрагментации и учета; и S. Crocker, который прокомментировал создание и разрушение ассоциаций.
В начале 1970-х годов г-н Пузен создал инновационную сеть передачи данных, которая связала местоположения во Франции, Италии и Великобритании. Ее простота и эффективность указали путь к сети, которая могла бы соединять не только десятки машин, но и миллионы из них. Она захватила воображение доктора Серфа и доктора Кана, которые включили аспекты ее дизайна в протоколы, которые теперь питают интернет.
для дейтаграмм имело два источника. Одним из них были исследования Дональда Дэвиса. Он провел некоторое моделирование сетей дейтаграмм, хотя и не построил ни одной, и это выглядело технически жизнеспособным. Вторым вдохновением было то, что мне нравятся простые вещи. Я не видел никакой реальной технической мотивации для наложения двух уровней сквозных протоколов. Я думал, что одного будет достаточно.
все пользователи сети предоставят себе некоторый контроль ошибок
Мы начали делать параллельные внедрения в Стэнфорде, BBN и Университетском колледже Лондона. Поэтому усилия по разработке интернет-протоколов были международными с самого начала.
1982 г. — Норвегия выходит из ARPANET и становится интернет-подключением через TCP/IP через SATNET. Ноябрь 1982 г. — UCL выходит из ARPANET и становится интернет-подключением.
{{cite journal}}
: CS1 maint: DOI inactive as of May 2024 (link)сети.