Содержание
I.
Введение 2
II.
Протоколы
TCP
/
IP
2
1.
Единая логическая сеть 2
2.
Терминология 3
3.
Потоки данных 3
4.
Работа с несколькими сетевыми интерфейсами 5
5.
Межсетевой протокол
IP
6
6.
Прямая маршрутизация 6
7.
Косвенная маршрутизация 6
8.
Правила маршрутизации в модуле
IP
8
9.
IP-
адрес 8
10.
Выбор адреса 10
11.
Подсети 11
12.
Как назначить номера сетей и подсетей 12
13.
Имена 13
14.
IP
-таблица маршрутов 15
15.
Подробности прямой маршрутизации 15
16.
Порядок прямой маршрутизации 16
17.
Подробности косвенной маршрутизации 16
18.
Порядок косвенной маршрутизации 17
19.
Протокол
TCP/IP
19
III.
Заключение 21
IV.
Список используемой литературы
Введение
Термин «TCP/IP» обычно обозначает все, что связано с протоколами TCP и IP. Он охватывает целое семейство протоколов, прикладные программы и даже саму сеть. В состав семейства входят протоколы UDP, ARP, ICMP, TELNET, FTP и многие другие. TCP/IP - это технология межсетевого взаимодействия, технология Internet. Сеть, которая использует технологию Internet, называется «Internet». Если речь идет о глобальной сети, объединяющей множество сетей с технологией Internet, то ее называют Internet.
Единая логическая сеть
Архитектура протоколов TCP/IP предназначена для объединенной сети, состоящей из соединенных друг с другом шлюзами отдельных разнородных пакетных подсетей, к которым подключаются разнородные машины. Каждая из подсетей работает в соответствии со своими специфическими требованиями и имеет свою природу средств связи. Однако предполагается, что каждая подсеть может принять пакет информации и доставить его по указанному адресу в этой конкретной подсети. Не требуется, чтобы подсеть гарантировала обязательную доставку пакетов и имела надежный сквозной протокол. Таким образом, две машины, подключенные к одной подсети, могут обмениваться пакетами.
Когда необходимо передать пакет между машинами, подключенными к разным подсетям, то машина-отправитель посылает пакет в соответствующий шлюз (шлюз подключен к подсети также как обычный узел). Оттуда пакет направляется по определенному маршруту через систему шлюзов и подсетей, пока не достигнет шлюза, подключенного к той же подсети, что и машина-получатель; там пакет направляется к получателю. Объединенная сеть обеспечивает датаграммный сервис.
Проблема доставки пакетов в такой системе решается путем реализации во всех узлах и шлюзах межсетевого протокола IP. Межсетевой уровень является по существу базовым элементом во всей архитектуре протоколов, обеспечивая возможность стандартизации протоколов верхних уровней.
Терминология
Драйвер
– это программа, непосредственно взаимодействующая с сетевым адаптером.
Модуль
– это программа, взаимодействующая с драйвером, сетевыми прикладными программами или другими модулями. Драйвер сетевого адаптера и, возможно, другие модули, специфичные для физической сети передачи данных, предоставляют сетевой интерфейс для протокольных модулей семейства TCP/IP.
Название блока данных, передаваемого по сети, зависит от того, на каком уровне стека протоколов он находится. Блок данных, с которым имеет дело сетевой интерфейс, называется кадром
; если блок данных находится между сетевым интерфейсом и модулем IP, то он называется IP-пакетом
; если он – между модулем IP и модулем UDP, то – UDP-датаграммой
; если между модулем IP и модулем TCP, то – TCP-сегментом
(или транспортным сообщением); наконец, если блок данных находится на уровне сетевых прикладных процессов, то он называется прикладным сообщением
.
Потоки данных
Рассмотрим потоки данных, проходящие через стек протоколов. В случае использования протокола TCP
(Transmission Control Protocol – протокол управления передачей), данные передаются между прикладным процессом и модулем TCP. Типичным прикладным процессом, использующим протокол TCP, является модуль FTP
(File Transfer Protocol – протокол передачи файлов). Стек протоколов в этом случае будет FTP/TCP/IP/ENET
. При использовании протокола UDP
(User Datagram Protocol – протокол пользовательских датаграмм), данные передаются между прикладным процессом и модулем UDP. Например, SNMP
(Simple Network Management Protocol – простой протокол управления сетью) пользуется транспортными услугами UDP. Его стек протоколов выглядит так: SNMP/UDP/IP/ENET
.
Модули TCP, UDP и драйвер Ethernet являются мультиплексорами n x 1. Действуя как мультиплексоры, они переключают несколько входов на один выход. Они также являются демультиплексорами 1 x n. Как демультиплексоры, они переключают один вход на один из многих выходов в соответствии с полем типа в заголовке протокольного блока данных.
Когда Ethernet-кадр попадает в драйвер сетевого интерфейса Ethernet, он может быть направлен либо в модуль ARP
(Address Resolution Protocol – адресный протокол), либо в модуль IP
(Internet Protocol – межсетевой протокол). На то, куда должен быть направлен Ethernet-кадр, указывает значение поля типа в заголовке кадра.
Если IP-пакет попадает в модуль IP, то содержащиеся в нем данные могут быть переданы либо модулю TCP, либо UDP, что определяется полем «протокол» в заголовке IP-пакета.
Если UDP-датаграмма попадает в модуль UDP, то на основании значения поля «порт» в заголовке датаграммы определяется прикладная программа, которой должно быть передано прикладное сообщение. Если TCP-сообщение попадает в модуль TCP, то выбор прикладной программы, которой должно быть передано сообщение, осуществляется на основе значения поля «порт» в заголовке TCP-сообщения.
Мультиплексирование данных в обратную сторону осуществляется довольно просто, так как из каждого модуля существует только один путь вниз. Каждый протокольный модуль добавляет к, на основании которого машина, принявшая пакет, выполняет демультиплексирование.
Мультиплексор n x 1 и демультиплексор 1 x n.
Данные от прикладного процесса проходят через модули TCP или UDP, после чего попадают в модуль IP и оттуда – на уровень сетевого интерфейса.
Хотя технология Internet поддерживает много различных сред передачи данных, в основном используют Ethernet, так как именно эта среда чаще всего служит физической основой для IP-сети. Машина не имеет одну точку соединения с Ethernet. Шестибайтный Ethernet-адрес является уникальным для каждого сетевого адаптера и распознается драйвером.
Машина имеет также четырехбайтный IP-адрес. Этот адрес обозначает точку доступа к сети на интерфейсе модуля IP с драйвером. IP-адрес должен быть уникальным в пределах всей сети Internet. Работающая машина всегда знает свой IP-адрес и Ethernet-адрес.
Работа с несколькими сетевыми интерфейсами
Машина может быть подключена одновременно к нескольким средам передачи данных. Для машин с несколькими сетевыми интерфейсами модуль IP выполняет функции мультиплексора n x m и демультиплексора m x n . Таким образом, он осуществляет мультиплексирование входных и выходных данных в обоих направлениях. Модуль IP может передавать данные между сетями. Данные могут поступать через любой сетевой интерфейс и быть ретранслированы через любой другой сетевой интерфейс. Процесс передачи пакета в другую сеть называется ретрансляцией IP-пакета. Машина, выполняющая ретрансляцию, называется шлюзом.
Ретранслируемый пакет не передается модулям TCP или UDP. Некоторые шлюзы вообще могут не иметь модулей TCP и UDP.
Межсетевой протокол IP
Модуль IP является базовым элементом технологии Internet, а центральной частью IP является его таблица маршрутов. Протокол IP использует эту таблицу при принятии всех решений о маршрутизации IP-пакетов. Содержание таблицы маршрутов определяется администратором сети. Ошибки при установке маршрутов могут заблокировать передачи.
Прямая маршрутизация
Протокол IP требует дополнительных расходов на создание, передачу и обработку IP-заголовка. Когда в машине модуль IP получает IP-пакет от некоторой машины A, он сопоставляет IP-адрес места назначения со своим, и, если адреса совпадают, то передает датаграмму протоколу верхнего уровня. В данном случае используется прямая маршрутизация.
Косвенная маршрутизация
Рассмотрим случай, когда сеть Internet состоит из трех сетей Ethernet, на базе которых работают три IP-сети, объединенные некоторым шлюзом. Каждая IP-сеть включает четыре машины; каждая машина имеет свои собственные IP- и Ethernet адреса.
Шлюз соединяет все три сети и, следовательно, имеет три IP-адреса и три Ethernet-адреса. Эта машина имеет стек протоколов TCP/IP, но вместо двух модулей ARP и двух драйверов, он содержит три модуля ARP и три драйвера Ethernet, хотя эта машина имеет только один модуль IP.
Менеджер сети присваивает каждой сети Ethernet уникальный номер, называемый IP-номером сети.
Когда первая машина посылает IP-пакет второй машине, то процесс передачи идет в пределах одной сети. При всех взаимодействиях между машинами, подключенными к одной IP-сети, используется прямая маршрутизация. Каждая пара машин, связанных со шлюзом принадлежит одной IP-сети. Однако, если какая-нибудь машина взаимодействует с машинами, включенными в другую IP-сеть, то взаимодействие уже не будет прямым. Эта машина должна использовать шлюз для ретрансляции IP-пакетов в другую IP-сеть. Такое взаимодействие называется «косвенным».
Маршрутизация IP-пакетов выполняется модулями IP и является прозрачной для модулей TCP, UDP и прикладных процессов.
Если какая-то машина посылает некой другой машине IP-пакет, то IP-адрес и Ethernet-адрес отправителя соответствуют адресам первой машины. IP-адрес места назначения является адресом второй машины, но поскольку модуль IP в первую машину посылает IP-пакет через шлюз, Ethernet-адрес места назначения является адресом этого шлюза.
Таким образом можно сделать вывод о том, что при прямой маршрутизации IP- и Ethernet-адреса отправителя соответствуют адресам того узла, который послал IP-пакет, а IP- и Ethernet-адреса места назначения соответствуют адресам получателя. При косвенной маршрутизации IP- и Ethernet-адреса не образуют таких пар.
В рассмотренном примере сеть Internet является очень простой. Реальные сети могут быть гораздо сложнее, так как могут содержать несколько шлюзов и несколько типов физических сред передачи. Здесь несколько сетей Ethernet объединяются шлюзом для того, чтобы локализовать широковещательный трафик в каждой сети.
Правила маршрутизации в модуле IP
Для отправляемых IP-пакетов, поступающих от модулей верхнего уровня, модуль IP должен определить способ доставки – прямой или косвенный – и выбрать сетевой интерфейс. Этот выбор делается на основании результатов поиска в таблице маршрутов.
Для принимаемых IP-пакетов, поступающих от сетевых драйверов, модуль IP должен решить, нужно ли ретранслировать IP-пакет по другой сети или передать его на верхний уровень. Если модуль IP решит, что IP-пакет должен быть ретранслирован, то дальнейшая работа с ним осуществляется также, как с отправляемыми IP-пакетами. Входящий IP-пакет никогда не ретранслируется через тот же сетевой интерфейс, через который он был принят.
Решение о маршрутизации принимается до того, как IP-пакет передается сетевому драйверу, и до того, как происходит обращение к ARP-таблице.
IP-адрес
Менеджер сети присваивает IP-адреса машинам в соответствии с тем, к каким IP-сетям они подключены. Старшие биты 4-х байтного IP-адреса определяют номер IP-сети. Оставшаяся часть IP-адреса - номер узла (хостномер). Для машины с IP-адресом 223.1.2.1 сетевой номер равен 223.1.2, а хост-номер - 1. Напомним, что IP-адрес узла идентифицирует точку доступа модуля IP к сетевому интерфейсу, а не всю машину.
Существуют 5 классов IP-адресов, отличающиеся количеством бит в сетевом номере и хост-номере. Класс адреса определяется значением его первого октета.
В таблице 1 приведено соответствие классов адресов значениям первого октета и указано количество возможных IP-адресов каждого класса.
Класс
|
Диапазон значений первого октета
|
Возможное кол-во сетей
|
Возможное кол-во узлов
|
A B C D E |
1 - 126 128-191 192-223 224-239 240-247 |
126 16382 2097150 - - |
16777214 65534 254 2**28 2**27 |
Таблица 1. Характеристики классов адресов.
Адреса класса A предназначены для использования в больших сетях общего пользования. Они допускают большое количество номеров узлов. Адреса класса B используются в сетях среднего размера, например, сетях университетов и крупных компаний. Адреса класса C используются в сетях с небольшим числом компьютеров. Адреса класса D используются при обращениях к группам машин, а адреса класса E зарезервированы на будущее.
Некоторые IP-адреса являются выделенными и трактуются по-особому. В выделенных IP-адресах все нули соответствуют либо данному узлу, либо данной IP-сети, а IP-адреса, состоящие из всех единиц, используются при широковещательных передачах. Для ссылок на всю IP-сеть в целом используется IP-адрес с нулевым номером узла. Особый смысл имеет IP-адрес, первый октет которого равен 127. Он используется для тестирования программ и взаимодействия процессов в пределах одной машины. Когда программа посылает данные по IP-адресу 127.0.0.1, то образуется как бы «петля». Данные не передаются по сети, а возвращаются модулям верхнего уровня, как только что принятые. Поэтому в IP-сети запрещается присваивать машинам IP-адреса, начинающиеся со 127.
Выбор адреса
Прежде чем использовать сеть с TCP/IP, нужно получить один или несколько официальных сетевых номеров. Выделением номеров занимается DDN Network Information Center
(NIC)
Выделение номеров производится бесплатно и занимает около недели. Сетевой номер можно получить вне зависимости от того, для чего предназначена сеть. Даже если сеть не имеет связи с объединенной сетью Internet, получение уникального номера желательно, так как в этом случае есть гарантия, что в будущем при включении в Internet или при подключении к сети другой организации не возникнет конфликта адресов.
Одно из важнейших решений, которое необходимо принять при установке сети, заключается в выборе способа присвоения IP-адресов вашим машинам. Этот выбор должен учитывать перспективу роста сети. Иначе в дальнейшем вам придется менять адреса. Когда к сети подключено несколько сотен машин, изменение адресов становится почти невозможным.
Организации, имеющие небольшие сети с числом узлов до 126, должны запрашивать сетевые номера класса C. Организации с большим числом машин могут получить несколько номеров класса C или номер класса B. Удобным средством структуризации сетей в рамках одной организации являются подсети.
Адресное пространство сети Internet может быть разделено на непересекающиеся подпространства – «подсети», с каждой из которых можно работать как с обычной сетью TCP/IP. Таким образом, единая IP-сеть организации может строиться как объединение подсетей. Как правило, подсеть соответствует одной физической сети, например, одной сети Ethernet.
Конечно, использование подсетей необязательно. Можно просто назначить для каждой физической сети свой сетевой номер, например, номер класса C. Однако такое решение имеет два недостатка. Первый, и менее существенный, заключается в пустой трате сетевых номеров. Более серьезный недостаток состоит в том, что если ваша организация имеет несколько сетевых номеров, то машины вне ее должны поддерживать записи о маршрутах доступа к каждой из этих IP-сетей. Таким образом, структура IP-сети организации становится видимой для всего мира. При каких-либо изменениях в IP-сети информация о них должна быть учтена в каждой из машин, поддерживающих маршруты доступа к данной IP-сети.
Подсети позволяют избежать этих недостатков. Организация должна получить один сетевой номер, например, номер класса B. Стандарты TCP/IP определяют структуру IP-адресов. Для IP-адресов класса B первые два октета являются номером сети. Оставшаяся часть IP-адреса может использоваться как угодно. Например, можно решить, что третий октет будет определять номер подсети, а четвертый октет - номер узла в ней. Обязательно надо описать конфигурацию подсетей в файлах, определяющих маршрутизацию IP-пакетов. Это описание является локальным для конкретной организации и не видно вне нее. Все машины вне этой организации видят одну большую IP-сеть. Следовательно, они должны поддерживать только маршруты доступа к шлюзам, соединяющим эту IP-сеть с остальным миром. Изменения, происходящие в IP-сети организации, не видны вне нее. Легко можно добавить новую подсеть, новый шлюз и т.п.
После того, как решено использовать подсети или множество IP-сетей, надо решить, как назначать им номера. Каждой физической сети, например, Ethernet или Token Ring, назначается отдельный номер подсети или номер сети. В некоторых случаях имеет смысл назначать одной физической сети несколько подсетевых номеров. Например, предположим, что имеется сеть Ethernet, охватывающая три здания. Ясно, что при увеличении числа машин, подключенных к этой сети, придется ее разделить на несколько отдельных сетей Ethernet. Для того, чтобы избежать необходимости менять IP-адреса, когда это произойдет, можно заранее выделить для этой сети три подсетевых номера - по одному на здание. (Это полезно и в том случае, когда не планируется физическое деление сети. Просто такая адресация позволяет сразу определить, где находится та или иная машина.) Но прежде, чем выделять три различных подсетевых номера одной физической сети, нужно тщательно проверить, что все программы способны работать в такой среде.
Также нужно выбрать «маску подсети». Она используется сетевым программным обеспечением для выделения номера подсети из IP-адресов. Биты IP-адреса, определяющие номер IP-сети, в маске подсети должны быть равны 1, а биты, определяющие номер узла, в маске подсети должны быть равны 0. Стандарты TCP/IP определяют количество октетов, задающих номер сети. Часто в IP-адресах класса B третий октет используется для задания номера подсети. Это позволяет иметь 256 подсетей, в каждой из которых может быть до 254 узлов. Маска подсети в такой системе равна 255.255.255.0. Но, если в сети должно быть больше подсетей, а в каждой подсети не будет при этом более 60 узлов, то можно использовать маску 255.255.255.192. Это позволяет иметь 1024 подсети и до 62 узлов в каждой.
Обычно маска подсети указывается в файле стартовой конфигурации сетевого программного обеспечения. Протоколы TCP/IP позволяют также запрашивать эту информацию по сети.
Людям удобнее называть машины по именам, а не числами. Например, у машины по имени ALPHA может быть IP-адрес 223.1.2.1. В маленьких сетях информация о соответствии имен IP-адресам хранится в файлах «hosts» на каждом узле. Конечно, название файла зависит от конкретной реализации. В больших сетях эта информация хранится на сервере и доступна по сети. Несколько строк из файла «hosts» могут выглядеть примерно так:
223.1.2.1 alpha 223.1.2.2 beta 223.1.2.3 gamma 223.1.2.4 delta 223.1.3.2 epsilon 223.1.4.2 iota В первом столбце - IP-адрес, во втором - название машины. В большинстве случаев файлы «hosts» могут быть одинаковы на всех узлах. Например, название у определенного узла будет одно, но он будет иметь три IP-адреса. Этот узел доступен по любому из этих трех IP-адресов. Какой из них используется, не имеет значения. Когда этот узел получает IP-пакет и проверяет IP-адрес места назначения, то он опознает любой из трех своих IP-адресов.
IP-сети также могут иметь имена. Сведения об именах сетей обычно хранятся в файле «networks». Если, например есть три IP-сети, то файл «networks» может выглядеть примерно так:
223.1.2 development 223.1.3 accounting 223.1.4 factory В первой колонке - сетевой номер, во второй - имя сети. В данном примере alpha является узлом номер 1 в сети development, beta является узлом номер 2 в сети development и т.д.
Показанный выше файл «hosts» удовлетворяет потребности пользователей, но для управления сетью Internet удобнее иметь названия всех сетевых интерфейсов. Менеджер сети, возможно, заменит строку, относящуюся к delta:
223.1.2.4 devnetrouter delta 223.1.3.1 accnetrouter 223.1.4.1 facnetrouterЭти три строки файла «hosts» задают каждому IP-адресу узла delta символьные имена. Фактически, первый IP-адрес имеет два имени: «devnetrouter» и «delta», которые являются синонимами. На практике имя «delta» используется как общеупотребительное имя машины, а остальные три имени - для администрирования сети.
Файлы «hosts» и «networks» используются командами администрирования и прикладными программами. Они не нужны собственно для работы сети Internet, но облегчают ее использование.
Чтобы узнать, какой именно интерфейс нужно использовать для отправления IP-пакета модуль IP осуществляет поиск в таблице маршрутов. Ключом поиска служит номер IP-сети, выделенный из IP-адреса места назначения IP-пакета.
Таблица маршрутов содержит по одной строке для каждого маршрута. Основными столбцами таблицы маршрутов являются номер сети, флаг прямой или косвенной маршрутизации, IP-адрес шлюза и номер сетевого интерфейса. Эта таблица используется модулем IP при обработке каждого отправляемого IP-пакета.
В большинстве систем таблица маршрутов может быть изменена с помощью команды «route». Содержание таблицы маршрутов определяется менеджером сети, поскольку менеджер сети присваивает машинам IP-адреса.
Рассмотрим более подробно, как происходит маршрутизация в одной физической сети.
Таблица маршрутов в узле alpha выглядит так:
сеть
|
флаг вида маршрутизации |
шлюз |
номер интерфейса |
Development |
прямая |
<пусто> |
1 |
В данном простом примере все узлы сети имеют одинаковые таблицы маршрутов. Для сравнения ниже представлена та же таблица, но вместо названия сети указан ее номер.
сеть |
флаг вида маршрутизации |
шлюз |
номер интерфейса |
223.1.2 |
прямая |
<пусто> |
1 |
Узел alpha посылает IP-пакет узлу beta. Этот пакет находится в модуле IP узла alpha, и IP-адрес места назначения равен IP-адресу beta (223.1.2.2). Модуль IP с помощью маски подсети выделяет номер сети из IP-адреса и ищет соответствующую ему строку в таблице маршрутов. В данном случае подходит первая строка.
Остальная информация в найденной строке указывает на то, что машины этой сети доступны напрямую через интерфейс номер 1. С помощью ARP-таблицы выполняется преобразование IP-адреса в соответствующий Ethernet-адрес, и через интерфейс 1 Ethernet-кадр посылается узлу beta.
Если прикладная программа пытается послать данные по IP-адресу, который не принадлежит сети development, то модуль IP не сможет найти соответствующую запись в таблице маршрутов. В этом случае модуль IP отбрасывает IP-пакет. Некоторые реализации протокола возвращают сообщение об ошибке «Сеть не доступна».
Рассмотрим более сложный порядок маршрутизации в IP-сети.
Таблица маршрутов в узле alpha выглядит так:
сеть
|
флаг вида маршрутизации
|
шлюз
|
номер интерфейса
|
development |
прямая |
<пусто> |
1 |
accounting |
косвенная |
devnetrouter |
1 |
factory |
косвенная |
devnetrouter |
1 |
Та же таблица с IP-адресами вместо названий.
сеть
|
флаг вида маршрутизации
|
шлюз
|
номер интерфейса
|
223.1.2 |
прямая |
<пусто> |
1 |
223.1.3 |
косвенная |
223.1.2.4 |
1 |
223.1.4 |
косвенная |
223.1.2.4 |
1 |
В столбце «шлюз» таблицы маршрутов узла alpha указывается IP-адрес точки соединения узла delta с сетью development.
Узел alpha посылает IP-пакет узлу epsilon. Этот пакет находится в модуле IP узла alpha, и IP-адрес места назначения равен IP-адресу узла epsilon (223.1.3.2). Модуль IP выделяет сетевой номер из IP-адреса (223.1.3) и ищет соответствующую ему строку в таблице маршрутов. Соответствие находится во второй строке.
Запись в этой строке указывает на то, что машины требуемой сети доступны через шлюз devnetrouter. Модуль IP в узле alpha осуществляет поиск в ARP-таблице, с помощью которого определяет Ethernet-адрес, соответствующий IP-адресу devnetrouter. Затем IP-пакет, содержащий IP-адрес места назначения epsilon, посылается через интерфейс 1 шлюзу devnetrouter.
IP-пакет принимается сетевым интерфейсом в узле delta и передается модулю IP. Проверяется IP-адрес места назначения, и, поскольку он не соответствует ни одному из собственных IP-адресов delta, шлюз решает ретранслировать IP-пакет.
Модуль IP в узле delta выделяет сетевой номер из IP-адреса места назначения IP-пакета (223.1.3) и ищет соответствующую запись в таблице маршрутов. Таблица маршрутов в узле delta выглядит так:
сеть
|
флаг вида маршрутизации
|
шлюз
|
номер интерфейса
|
development |
прямая |
<пусто> |
1 |
accounting |
прямая |
<пусто> |
2 |
factory |
прямая |
<пусто> |
3 |
Та же таблица с IP-адресами вместо названий.
сеть
|
флаг вида маршрутизации
|
шлюз
|
номер интерфейса
|
223.1.2 |
прямая |
<пусто> |
1 |
223.1.3 |
прямая |
<пусто> |
2 |
223.1.4 |
прямая |
<пусто> |
3 |
Соответствие находится во второй строке. Теперь модуль IP напрямую посылает IP-пакет узлу epsilon через интерфейс номер 3. Пакет содержит IP- и Ethernet-адреса места назначения равные epsilon. Узел epsilon принимает IP-пакет, и его модуль IP проверяет IP-адрес места назначения. Он соответствует IP-адресу epsilon, поэтому содержащееся в IP-пакете сообщение передается протокольному модулю верхнего уровня.
Протокол TCP
Протокол TCP предоставляет транспортные услуги, отличающиеся от услуг UDP. Вместо ненадежной доставки датаграмм без установления соединений, он обеспечивает гарантированную доставку с установлением соединений в виде байтовых потоков.
Протокол TCP используется в тех случаях, когда требуется надежная доставка сообщений. Он освобождает прикладные процессы от необходимости использовать таймауты и повторные передачи для обеспечения надежности. Наиболее типичными прикладными процессами, использующими TCP, являются FTP
(File Transfer Protocol - протокол передачи файлов) и TELNET
. Кроме того, TCP используют система X-Window
, rcp
(remote copy – удаленное копирование) и другие «r-команды». Большие возможности TCP даются не бесплатно. Реализация TCP требует большой производительности процессора и большой пропускной способности сети. Внутренняя структура модуля TCP гораздо сложнее структуры модуля UDP.
Прикладные процессы взаимодействуют с модулем TCP через порты. Для отдельных приложений выделяются общеизвестные номера портов. Например, сервер TELNET использует порт номер 23. Клиент TELNET может получать услуги от сервера, если установит соединение с TCP-портом 23 на его машине.
Когда прикладной процесс начинает использовать TCP, то модуль TCP на машине клиента и модуль TCP на машине сервера начинают общаться. Эти два оконечных модуля TCP поддерживают информацию о состоянии соединения, называемого виртуальным каналом. Этот виртуальный канал потребляет ресурсы обоих оконечных модулей TCP. Канал является дуплексным; данные могут одновременно передаваться в обоих направлениях. Один прикладной процесс пишет данные в TCP-порт, они проходят по сети, и другой прикладной процесс читает их из своего TCP-порта.
Протокол TCP разбивает поток байт на пакеты; он не сохраняет границ между записями. Например, если один прикладной процесс делает 5 записей в TCP-порт, то прикладной процесс на другом конце виртуального канала может выполнить 10 чтений для того, чтобы получить все данные. Но этот же процесс может получить все данные сразу, сделав только одну операцию чтения. Не существует зависимости между числом и размером записываемых сообщений с одной стороны и числом и размером считываемых сообщений с другой стороны.
Протокол TCP требует, чтобы все отправленные данные были подтверждены принявшей их стороной. Он использует таймауты и повторные передачи для обеспечения надежной доставки. Отправителю разрешается передавать некоторое количество данных, не дожидаясь подтверждения приема ранее отправленных данных. Таким образом, между отправленными и подтвержденными данными существует окно уже отправленных, но еще неподтвержденных данных. Количество байт, которые можно передавать без подтверждения, называется размером окна
. Как правило, размер окна устанавливается в стартовых файлах сетевого программного обеспечения. Так как TCP-канал является дуплексным, то подтверждения для данных, идущих в одном направлении, могут передаваться вместе с данными, идущими в противоположном направлении. Приемники на обеих сторонах виртуального канала выполняют управление потоком передаваемых данных для того, чтобы не допускать переполнения буферов.
Заключение
Объединенная сеть состоит из набора связанных сетей, которые взаимодействуют как единое целое. Главным преимуществом Интернета является то, что он обеспечивает универсальное взаимное соединение, позволяя в это же время отдельным группам использовать любое сетевое оборудование, лучше всего подходящее для их целей. В своём реферате я рассмотрел принципы, лежащие в основе межсетевого взаимодействия в общем и детали межсетевой связки протоколов в частности, а также как межсетевые протоколы используются в Интернете. Семейство протоколов TCP/IP, названное тек по имени двух основных протоколов обеспечивает основу объединенного Интернета, большой, работающей объединенной сети, которая соединяет большинство научно-исследовательских институтов, включая многие университетские, правительственные лаборатории.
Список используемой литературы
1. Дуглас Комер «Межсетевой обмен с помощью TCP/IP»
2. www.Citforum.ru
|