Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СС_ЭВМ_пособие.doc
Скачиваний:
61
Добавлен:
10.05.2015
Размер:
1.34 Mб
Скачать

1.2.8. Протоколы системного уровня. Протокол tcp/ip.

Рассмотрим суть протокола TCP/IP, являющегося основой сетиInternet. Как было сказано, протокол отвечает за порядок формирования, передачи и обработки информационных пакетов системного уровня (TCP-пакетов и датаграмм). Информационный пакет состоит из 2-х частей - заголовка и тела пакета. Заголовок – это набор служебных данных, которые требуются для реализации соответствующего протокола. Тело – это собственно та полезная информация, которая должна быть передана.

Рассмотрим, например, передачу файла по электронной почте.

Прикладная программа, реализующая соответствующий прикладной протокол (ESMTP), сформирует прикладной пакет (MIME-пакет), добавив к файлу свой заголовок, т.е.

Прикладной пакет=MIME-заголовок+передаваемый файл

Далее этот пакет будет передан программе, реализующей протокол TCP, которая сначала разделит прикладной пакет на достаточно маленькие фрагменты.

Прикладной пакет-->Фрагмент1+Фрагмент2+ ...

Далее каждый фрагмент превращается в TCP-пакет добавлениемTCP-заголовка

TCP-пакет 1=TCP-заголовок 1 +Фрагмент1

TCP-пакет 2=TCP-заголовок 2 +Фрагмент2

и т.д.,

Затем каждый TCP-пакет превращается в датаграмму добавлениемIP-заголовка

Датаграмма 1=IP-заголовок 1 +TCP-пакет 1

Датаграмма 2=IP-заголовок 2 +TCP-пакет 2

В IP-заголовке содержится IP-адрес назначения иIP-адрес отправителя.

В TCP-заголовке содержится информация о том, как из фрагментов собрать исходный прикладной пакет, а также так называемая контрольная сумма для контроля правильности передачи информации. Контрольная сумма подсчитывается после каждого акта передачи пакета от одного узла другому. Если подсчитанная контрольная сумма не совпадает со значением, записанным вTCP-заголовке, то пакет считается испорченным при передаче – он уничтожается и поступает запрос на повторную передачу. Если канал связи плохой, то такой процесс может происходить многократно до тех пор, пока пакет не будет передан без искажений. Именно по этой причине иногда приходится очень долго ждать загрузкиWeb-страницы или файла. Вместе с аппаратным контролем такой контроль обеспечивает почти 100% надежность передачи данных. Но, естественно, за все приходится платить. За достоверность информации, обеспечивающуюся протоколомTCP, приходится платить временем. За счет такого жесткого контроля точности передачи информации время передачи возрастает. С этим можно смириться, если передаются программы. В этом случае нужна 100% точность передачи. Если же передается, например, видеоинформация в режиме реального времени, то точность передачи становится не столь важной: искажения информации будут означать просто искажения изображения.

TCP является транспортным протоколом (протоколом транспортного уровня модели OSI). Это не единственный транспортный протокол, используемый в Интернете. Другой широко используемый транспортный протокол –UDP(UserDatagramProtocol).UDPв отличие отTCPне использует подсчет контрольной суммы и вообще не контролирует искажения информации при передаче. ПротоколUDPиспользуется тогда, когда скорость передачи информации важнее отсутствия искажений. В настоящее время протоколUDPиспользуют для потоковых информационных технологий. С этой целью на основе протоколаUDPбыл разработан протоколRTP(RealTimeProtocol), предназначенный для передачи изображения и звука в реальном времени.

Вернемся к структуре датаграммы, состоящей из IPиTCPзаголовков, а также из фрагмента прикладного пакета. Можно сказать, что фрагмент прикладного пакета вложен вTCP-пакет, аTCP-пакет вложен в свою очередь вIP-пакет (в датаграмму). Принцип вложения или инкапсуляции пакетов является базовым при рассмотрении взаимодействия протоколовInternetразного уровня. Аналогичным образом датаграмма (или ее фрагмент) тоже может быть вложена в более низкоуровневый пакет. Таким образом, может осуществляться передача датаграммы по сети, не поддерживающейTCP/IPпротокол, - датаграмма просто будет вложена в пакет, который сможет передаваться по этой сети.

Существует еще несколько видов протоколов системного уровня. Например, протокол ICMP(InternetControlMessageProtocol) позволяет узлам обмениваться системными командами. Так, запрос на повторную передачуTCP-пакета передается именно по протоколуICMP.