Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика / Лекция 16 Топология сетей, протоколы.doc
Скачиваний:
98
Добавлен:
31.05.2015
Размер:
156.67 Кб
Скачать

Протоколы сети Internet

Структура стека протоколов TCP/IP несколько отличается от модели OSI. В нем выделяется 4 уровня – сетевых интерфейсов, межсетевого взаимодействия(Internet), транспортный и уровень приложений.

Уровень сетевых интерфейсов отвечает за то, как именно IP-пакеты передаются сетями разных базовых технологий, называемых в терминологии стека TCP/IP локальными. Термин “локальная” в этом контексте означает только то, что данная технология применяется в отдельной сети, и не имеет отношения к понятиям “локальная сеть”(LAN)/”глобальная сеть”(WAN), как они применяются к базовым сетевым технологиям. Internet изначально создавался как “сеть сетей”, он объединяет на базе единого сетевого протокола сети самых разных базовых технологий, в этом смысле технологии, на которых построены отдельные объединяемые сети – локальные. В первом приближении можно считать, что он соответствует двум нижним уровням модели OSI– физическому и канальному. Но следует учитывать, что базовые технологии, на которых построены отдельные сети, сами могут быть достаточно сложными, например, ATM включает сетевой уровень и даже элементы транспортного. Уровень сетевых интерфейсов в это не вникает, он определяет инкапсуляцию пакетов в кадры или пакеты самого высокого уровня базовой технологии и пользуется ей как технологией уровня канала данных.

Межсетевой уровень обеспечивает объединение разнородных сетей в единую сеть под управлением протокола IP (Internet Protocol). Соответствует сетевому уровню модели OSI. Реализуется средствами как ПК, так и сети (маршрутизаторами). Межсетевой уровень отвечает, в частности, за адресацию, т.е. гарантирует, что маршрутизатор знает, что делать с вашими данными, когда они поступят. Единица данных, с которой оперирует протокол IP, называется пакетом. Адресная информация приводится в начале каждого пакета, в его заголовке. Она даёт сети достаточно сведений для доставки пакета данных по назначению. Каждый пакет перемещается по сети независимо от других пакетов, принадлежащих тому же соединению, и, в общем случае, пакеты одного сообщения могут доставляться по разным маршрутам.

Internet-адреса имеют единый формат для всей сети, независимо от систем адресов локальных сетей. 32-битный IP-адрес обычно записывается в виде четырёх десятичных чисел, каждое из которых не превышает 255. Каждое число представляет один из 4-х байт адреса. В годы становления протоколов стека TCP/IP термин «байт» не был общепринятым, поэтому в документах Internet байт часто называется октетом. При записи числа отделяются одно от другого точками, например:

192.112.36.5

128.174.5.6

Адрес фактически состоит из нескольких частей. Поскольку Internet – это сеть сетей, то начало адреса содержит информацию для маршрутизаторов о том, к какой сети относится Ваш компьютер. Правая часть адреса служит для того, чтобы сообщить сети, какой компьютер должен получить этот пакет. Каждый компьютер в Internet имеет свой уникальный адрес. Internet выполнила свою задачу, когда ее маршрутизаторы направили данные в соответствующую сеть, а эта локальная сеть – в соответствующий компьютер. В документах Internet маршрутизатор обычно называется шлюзом (Gateway), поскольку изначально ставилась задача объединения разнородных сетей. В настоящее время термин «шлюз» обычно используется для обозначения устройства, объединяющего совсем разнородные сети, например «шлюз IP-телефонии» – телефонную сеть с коммутацией каналов и IP-сеть с коммутацией пакетов. Поэтому мы будем пользоваться термином «маршрутизатор», но помнить о таком употреблении термина «шлюз» следует.

Для решения этой задачи маршрутизатор (и конечный узел тоже) должен, таким образом, во-первых, знать, кому (конечному узлу, либо следующему маршрутизатору) направить поступивший пакет. Во вторых, поскольку пакеты передаются через локальную сеть, имеющую свою, отличную от Internet, систему адресации, он должен знать, как преобразовать Internet-адрес в локальный адрес. Решение первой задачи обеспечивают протоколы обмена маршрутной информацией, часто называемые просто протоколами маршрутизации (на рисунке они не показаны, поскольку их много). Вторая задача решается протоколом разрешения адресов ARP, а протокол RARP решает обратную задачу – отыскание сетевого адреса по известному локальному адресу. Кроме того, к межсетевому уровню относится протокол контрольных сообщений ICMP, который служит для информирования узлов и маршрутизаторов о различных нештатных ситуациях в сети. Следует учесть, что поскольку протокол IP является универсальным “транспортным средством” сети Internet, ICMP сообщения, как и сообщения протоколов маршрутизации, передаются по сети в IP-пакетах, таким образом, формально они выглядят как протоколы более высокого, чем IP, уровня, хотя фактически они обеспечивают функционирование протокола IP.

Информация, посылаемая по локальным сетям, составляющим IP-сеть, разбивается на порции, называемые кадрами или пакетами. По целому ряду технических причин (в основном это аппаратные ограничения), максимальный размер кадра или пакета в разных сетях может быть различным. Поскольку в общем случае отправителю неизвестно, через какие сети будет передаваться пакет, может случиться, что размер отправленного пакета превосходит максимально возможную длину кадра какой-либо из транзитных сетей. В этом случае маршрутизатор использует динамическую фрагментацию, то есть разборку пакета на меньшие по размеру пакеты - фрагменты. Каждый фрагмент при этом снабжается информацией, которая позволит получателю правильно собрать исходный пакет из фрагментов.

Транспортный Уровень реализуется протоколом TCP (Transmission Control Protocol), «протокол управления передачей» который часто упоминают вместе с протоколом IP, в том числе в названии стека, и протоколом UDP (user datagram protocol) «протокол пользовательских дейтаграмм».

Протокол TCP обеспечивает надежную доставку потока пользовательских данных. Информацию, которую Вы хотите передать, ТСР разбивает на порции, называемые в терминологии TCP сегментами. Каждая порция нумеруется, чтобы можно было проверить, вся ли информация получена, и расположить данные в правильном порядке. Сегмент ТСР, в свою очередь, помещается в пакет IP и передается в сеть.

На принимающей стороне программное обеспечение протокола ТСР собирает сегменты, извлекает из них данные и располагает их в правильном порядке. Если каких-нибудь сегментов нет, программа просит отправителя передать их еще раз. После размещения всей информации в правильном порядке эти данные передаются той прикладной программе, которая использует услуги ТСР.

В реальной жизни пакеты не только теряются, но и претерпевают изменения по дороге ввиду кратковременных отказов в линиях связи. Не все локальные технологии проверяют правильность переданных данных средствами канального или сетевого уровня. Протокол IP проверяет только корректность заголовка пакета, но не поля данных. ТСР решает и эту проблему. При помещении данных в сегмент производится вычисление контрольной суммы, а на приеме контрольная сумма вычисляется повторно, при несовпадении пакет считается принятым с ошибкой и отбрасывается.

Более простой «протокол пользовательских дейтаграмм» (User Datagram Protocol, UDP) также используется в некоторых прикладных программах. Вместо вкладывания Ваших данных в “конверт” TCP и помещения этого конверта в пакет IP прикладная программа вкладывает данные в “конверт” UDP, называемый обычно датаграммой, который и помещается в пакет IP. В отличии от ТСР, передающего поток данных, каждая датаграма составляет законченное сообщение. UPD проще ТСР, потому что этот протокол не заботится о пропавших пакетах, расположении данных в правильном порядке и других тонкостях. Если это требуется, то это дело приложения, использующего UDP. UDP используется для программ, которые посылают только короткие сообщения, и могут повторить передачу данных, если ответ задерживается, либо нечувствительны к потерям отдельных датаграмм. Кроме того, протокол TCP ориентирован на соединение «один к одному», и непригоден поэтому для посылки данных по схеме «один к многим», в этом случае также используется протокол UDP.

Транспортный уровень, таким образом, соответствует транспортному уровню модели OSI.

Высшие уровни модели OSI реализуются прикладными программами, и образуют уровень приложений. Сюда относятся и известные всем протоколы обмена гипертекстовой информацией HTTP, электронной почты POP3 и SMTP, пересылки файлов FTP. Сюда же относятся и менее известные, как протокол удаленного управления Telnet, либо остающиеся “в тени”, как протокол преобразования символьных имен в адреса DNS, и многие другие. Полный список протоколов этого уровня весьма обширен и все время пополняется.

Стандарты стека TCP/IP доступны в сети Internet как документы RFC (Request For Comments). Такое название обусловлено процедурой их принятия. Предложение в виде RFC размещается в Internet, обсуждается, уточняется, затем становится стандартом. Возможен, разумеется, и другой вариант – после обсуждения предложение отвергается и соответствующий RFC удаляется из Internet. В некоторых случаях, зависящих от руководящих органов Internet, RFC, хотя бы и ставшее стандартом de facto, не приобретает юридический статус стандарта Internet. Общее число RFC в настоящее время превышает 4000. Следует учесть, что хотя все стандарты TCP/IP являются RFC, не каждый RFC является стандартом TCP/IP. Часто RFC используются, например, для того, чтобы обратить внимание на какую-то проблему, не предлагая варианта ее разрешения. Список протоколов и соответствующих им RFC (неполный), приведен в таблице.