Архитектуры цифровых сетей
Маршрутизация Internet
Устройства маршрутизации в сети Internet традиционно называются шлюзами (gateway), что является очень неудачнным термином, т.к. повсеместно в индустрии сетей этот термин применяют для обозначения устройства с несколько иными функциональными возможностями. Шлюзы (которые мы с этого момента будем называть роутерами) в сети Internet организованы в соответствии с иерархическим принципом. Некоторые роутеры используются для перемещения информации через одну конкретную группу сетей, находящихся под одним и тем же административным началом и управлением (такой объект называется автономной системой - autonomous system). Роутеры, используемые для обмена информацией в пределах автономных систем, называются внутренними роутерами (interior routers); они используют различные протоколы для внутренних роутеров (interior gateway protocol - IGP) для выполнения этой задачи. Роутеры, которые перемещают информацию между автономными системами, называются внешними роутерами (exterior routers); для этого они используют протоколы для внешних роутеров. Архитектура Internet представлена на Рис. 4.15.
Протоколы маршрутизации IP-это динамичные протоколы. При динамичной маршрутизации ( dynamic routing ) запросы о маршрутах должны рассчитываться программным обеспечением устройств маршрутизации через определенные интервалы времени. Этот процесс противоположен статической маршрутизации ( static routing ), при которой маршруты устанавливаются администратором сети и не меняются до тех пор, пока администратор сети не поменяет их. Таблица маршрутизации IP состоит из пар "адрес назначения/следующая пересылка". Образец записи данных, показанный на Рис. 4.16, интерпретируется как имеющий значение "добраться до сети 34.1.0.0. (подсеть 1 сети 34), следующей остановкой является узел с адресом 54.34.23.12."
Маршрутизация IP определяет характер перемещения дейтаграмм IP через объединенные сети (по одной пересылке за раз). В начале путешествия весь маршрут не известен. Вместо этого на каждой остановке вычисляется следующий пункт назначения путем сопоставления адреса пункта назначения, содержащегося в дейтаграмме, с записью данных в маршрутной таблице текущего узла. Участие каждого узла в процессе маршрутизации состоит только из продвижения пакетов, базируясь только на внутренней информации, вне зависимости от того, насколько успешным будет процесс и достигнет или нет пакет конечного пункта назначения. Другими словами, IP не обеспечивает отправку в источник сообщений о неисправностях, когда имеют место аномалии маршрутизации. Выполнение этой задачи предоставлено другому протоколу Internet, а именно Протоколу управляющих сообщений Internet ( Internet Control Message Protocol ICMP).
ICMP
ICMP выполняет ряд задач в пределах объединенной сети IP. В дополнение к основной задаче, для выполнения которой он был создан (сообщение источнику об отказах маршрутизации), ICMP обеспечивает также метод проверки способности узлов образовывать повторное эхо в объединенной сети (сообщения Echo и Reply ICMP), метод стимулирования более эффективной маршрутизации (сообщение Redirect ICMP - переадресация ICMP), метод информирования источника о том, что какая-то дейтаграмма превысила назначенное ей время существования в пределах данной объединенной сети (сообщение Time Exceeded ICMP - "время превышено") и другие полезные сообщения. Сделанное недавно дополнение к IСМР обеспечивает для новых узлов возможность нахождения маски подсети, используемой в межсети в данный момент. В целом, ICMP является интегральной частью любых реализаций IP, особенно таких, которые используются в роутерах.
Конкретные протоколы маршрутизации IP рассматриваются в других главах данной книги. Например, RIP, OSPF, EGP и BGP рассматриваются в "Протоколы маршрутизации" . IS-IS также является официальным протоколом маршрутизации IP; он рассматривается также в "Протоколы маршрутизации" .
Транспортный уровень
Транспортный уровень Internet реализуется ТСР и Протоколом Дейтаграмм Пользователя ( User Datagram Protocol - UDP ). ТСР обеспечивает транспортировку данных с установлением соединения, в то время как UDP работает без установления соединения.
Протокол управления передачей (TCP)
Transmission Control Protocol (TCP) обеспечивает полностью дублированные, с подтверждением и управлением потоком данных, услуги для протоколов высших уровней. Он перемещает данные в непрерывном неструктурированном потоке, в котором байты идентифицируются по номерам последовательностей. ТСР может также поддерживать многочисленные одновременные диалоги высших уровней. Формат пакета ТСР представлен на Рис. 4.17.
Поле "порт источника" ( source port ) обозначает точку, в которой конкретный процесс высшего уровня источника принимает услуги ТСР; поле "порт пункта назначения" ( destination port ) обозначает порт процесса высшего уровня пункта назначения для услуг ТСР.
Поле "номер последовательности" ( sequence number ) обычно обозначает номер, присвоенный первому байту данных в текущем сообщении. В некоторых случаях оно может также использоваться для обозначения номера исходной последовательности, который должен использоваться в предстоящей передаче.
Поле "номер подтверждения" ( acknowledgement number ) содержит номер последовательности следующего байта данных, которую отправитель пакета ожидает для приема.
Поле "сдвиг данных" ( data offset ) обозначает число 32-битовых слов в заголовке ТСР.
Поле "резерв" ( reserved ) зарезервировано для использования разработчиками протокола в будущем.
Поле "флаги" ( flags ) содержит различную управляющую информацию.
Поле "окно" ( window ) обозначает размер окна приема отправителя (буферный объем, доступный для поступающих данных).
Поле "контрольная сумма" ( checksum ) указывает, был ли заголовок поврежден при транзите.
Поле "указатель срочности" ( urgent pointer ) указывает на первый байт срочных данных в пакете.
Поле "опции" ( options ) обозначает различные факультативные возможности ТСР.
Протокол дейтаграмм пользователя (UDP)
Протокол UDP намного проще, чем ТСР; он полезен в ситуациях, когда мощные механизмы обеспечения надежности протокола ТСР не обязательны. Заголовок UDP имеет всего четыре поля: поле порта источника ( source port ), поле порта пункта назначения ( destination port ), поле длины ( length ) и поле контрольной суммы UDP ( checksum UDP ). Поля порта источника и порта назначения выполняют те же функции, что и в заголовке ТСР. Поле длины обозначает длину заголовка UDP и данных; поле контрольной суммы обеспечивает проверку целостности пакета. Контрольная сумма UDP является факультативной возможностью.
Протоколы высших уровней
Комплект протоколов Internet включает в себя большое число протоколов высших уровней, представляющих самые разнообразные применения, в том числе управление сети, передача файлов, распределенные услуги пользования файлами, эмуляция терминалов и электронная почта. На Рис. 4.18 показана связь между наиболее известными протоколами высших уровней Internet и применениями, которые они поддерживают.
Протокол передачи файлов ( File Transfer Protocol - FTP) обеспечивает способ перемещения файлов между компьютерными системами. Telnet обеспечивает виртуальную терминальную эмуляцию. Протокол управления простой сетью ( Simle network management protocol - SNMP) является протоколом управления сетью, используемым для сообщения об аномальных условиях в сети и установления значений допустимых порогов в сети. X Windows является популярным протоколом, который позволяет терминалу с интеллектом связываться с отдаленными компьютерами таким образом, как если бы они были непосредственно подключенными мониторами. Комбинация протоколов Network File System (NFS) (Система сетевых файлов), External Data Representation (XDR) (Представление внешней информации) и Remote Procedure Call (RPC) (Вызов процедуры обращений к отдаленной сети) обеспечивает прозрачный доступ к ресурсам отдаленной сети. Простой протокол передачи почты ( Simple Mail Transfer Protocol - SMTP) обеспечивает механизм передачи электронной почты. Эти и другие применения используют услуги ТСР/IP и других протоколов Internet низших уровней, чтобы обеспечить пользователей базовыми сетевыми услугами.