Смекни!
smekni.com

Протоколы TCP IP (стр. 3 из 3)

Показанный выше файл «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 при обработке каждого отправляемого 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