Операционные системы/Организация сетевого взаимодействия. Семейство протоколов TCP/IP
Материал из eSyr's wiki.
Nexor (Обсуждение | вклад)
(Новая: '''TCP/IP''' – классическое семейство протоколов, основанное на сети коммутации пакетов, которые изначаль...)
К следующему изменению →
Текущая версия
TCP/IP – классическое семейство протоколов, основанное на сети коммутации пакетов, которые изначально были разработаны как стандарт военных протоколов ВС США. Разработано в DARPA, которое разработало и реализовало сеть ARPANET.
Содержание |
[править] Уровни TCP/IP
- Уровень доступа к сети. Стандартизация доступа к сети. Состоит из подпрограмм доступа к физической сети. Протоколы уровня доступа к сети используют при передаче и приеме данных пакеты, называемые фреймами.
- Межсетевой уровень. Работает с дейтаграммами, адресами, выполняет маршрутизацию и «прикрывает» транспортный уровень от общения с физической сетью. Однако, в отличие от сетевого уровня модели OSI, этот уровень не устанавливает соединений с другими машинами. На межсетевом уровне используются дейтаграммы.
- Транспортный уровень. Обеспечивает доставку данных от компьютера к компьютеру, обеспечивает средства для поддержки логических соединений между прикладными программами. В отличие от транспортного уровня модели OSI, в функции транспортного уровня TCP/IP не всегда входят контроль за ошибками и их коррекция. TCP/IP предоставляет два разных сервиса передачи данных на этом уровне. Уровень транспортных протоколов семейства представляется двумя протоколами: TCP и UDP. Протокол TCP оперирует сегментами. UDP – пакетами. На уровне прикладных программ, системы построенные на использовании протокола TCP используют поток данных, а системы использующие UDP – сообщения.
- Уровень прикладных программ. Состоит из прикладных программ и процессов, использующих сеть и доступных пользователю. В отличие от модели OSI, прикладные программы сами стандартизуют представление данных.
[править] Соответствие модели ISO/OSI модели семейства протоколов TCP/IP
Уровень модели TCP/IP | Уровень модели ISO/OSI |
4. Уровень прикладных программ | 7. Уровень прикладных программ
6. Уровень представления |
3. Транспортный уровень | 5. Сеансовый уровень
4. Транспортный уровень |
2. Межсетевой уровень | 3. Сетевой уровень |
1. Уровень доступа к сети | 2. Канальный уровень
1. Физический уровень |
[править] Свойства протоколов семейства TCP/IP
- Открытость (доступность для пользователя) стандартов протоколов, которые поддерживаются почти всеми операционными средами и вычислительными платформами независимо от аппаратного обеспечения сети аппаратных данных.
- Независимость от аппаратного обеспечения сети передачи данных
- Общая схема именования сетевых устройств, что позволяет любому устройству единым образом адресоваться в этой сети.
- Стандартизованные протоколы прикладных программ
[править] Взаимодействие между уровнями TCP/IP
[править] Уровень доступа к сети
Протоколы на этом уровне обеспечивают систему средствами для передачи данных другим устройствам в сети. Они определяют, как использовать сеть для передачи дейтаграмм IP. В отличие от протоколов более высоких уровней, протоколы этого уровня должны знать детали физической сети (структуру пакетов, систему адресации и т.д.), чтобы правильно оформить передаваемые данные.
Пример: протокол Ethernet — разработка исследовательской компании Xerox (1976 год). Единая шина — широковещательная сеть. Для сетевых устройств обеспечивается множественный доступ, с контролем и обнаружений конфликтов (Carrier Sense Multiple Access with Collision Detection — CSMA/CD).
[править] Межсетевой уровень. Протокол IP
Функции протокола IP:
- формирование дейтаграмм
- поддержание системы адресации
- обмен данными между транспортным уровнем и уровнем доступа к сети
- организация маршрутизации дейтаграмм
- разбиение и обратная сборка дейтаграмм
IP является протоколом без логического установления соединения. Это значит, что он не обменивается контрольной информацией для установки соединения перед началом передачи данных. IP оставляет другим протоколам право устанавливать соединения – этим занимается либо протокол TCP, либо сами прикладные программы.
Протокол IP не обеспечивает обнаружение и исправление ошибок.
Одним из основных свойств протокола IP является система адресации, которая обеспечивает уникальное именование любого сетевого устройства. (Устройство будем считать сетевым, если с ним ассоциирован некоторый стек протоколов)
Система адресации протокола IP:
IP адрес представляется последовательностью четырех байтов. В адресе кодируется уникальный номер сети, а также номер компьютера (сетевого устройства в сети). Для представление содержимого IP адреса используется последовательность цифр:
где Ni – десятичное представление содержимого i – го байта адреса. Типы адресов A (номер сети <=126) — уникальные сети, которые исторически принадлежат крупным мировым корпорациям. С — самые распространенные. Некоторые из IP адресов являются зарезервированными, т.е. их интерпретация отличается от стандартной:
Протоколы TCP/IP были созданы для передачи данных через ARPANET, которая является сетью с коммутацией пакетов.
Пакет – это блок данных, который передаётся вместе с информацией, необходимой для его корректной доставки. Каждый пакет перемещается по сети независимо от остальных.
Дейтаграмма – это пакет протокола IP. Контрольная информация занимает первые пять или шесть 32-битных слов дейтаграммы. Это её заголовок (header). По умолчанию, его длина равна пяти словам, шестое является дополнительным. Для указания точной длины заголовка в нём есть специальное поле – длина заголовка (IHL, Internal Header Length).
Шлюз – устройство, передающее пакеты между различными сетями. Шлюзом может быть компьютер, который имеет >=2 сетевых адаптеров (каждый имеет свой IP адрес).
Маршрутизация – процесс выбора шлюза или маршрутизатора.
Компьютерные системы могут передавать данные только внутри той сети, к которой они подключены. Поэтому передача дейтаграмм из одной сети в другую идёт через шлюзы – от одного к другому. Внутри хоста данные проходят пути от уровня прикладных программ до уровня доступа к сети (и обратно). Дейтаграммы, которые переправляет шлюз, поднимаются только до межсетевого уровня. На этом уровне протокол IP, узнавая адрес получателя данных (на протяжении всего пути следования этот адрес не меняется – меняются промежуточные машины), принимает решение отправить дейтаграмму в одну из сетей, к которым подключен.
На рисунке показано, как используются шлюзы для ретрансляции пакетов:
[править] Транспортный уровень
Протокол контроля передачи (TCP, Transmission Control Protocol) – обеспечивает надежную доставку данных с обнаружением и исправлением ошибок и с установлением логического соединения.
Протокол пользовательских дейтаграмм (UDP, User Datagram Protocol) – отправляет пакеты с данными, «не заботясь» об их доставке.
TCP – надежная передача данных. При отправке TCP пакета идет подтверждение получения. Подтверждение должно прийти за некоторое детерминированное время. Если не пришло, то считается, что пакет потерялся. Обеспечивается порядок приема и передачи сообщений.
UDP не требует подтверждения доставки пакета.
TCP надежнее, но за это мы платим содержательной скоростью и нагрузкой на сеть. UDP быстрее, т.к. меньше мусора пересылается.
Вывод: UDP лучше для локальной сети, а TCP – для межсетевого взаимодействия.
[править] Уровень прикладных программ
На самой вершине архитектуры семейства протоколов TCP/IP находится уровень прикладных программ.
На основе TCP базируются прикладные протоколы, которые обеспечивают доступ и работу с заведомо корректной информацией, которая осуществляется в сети Интернет (которая является ненадежной коммуникационной средой).
Протоколы, опирающиеся на TCP:
- TELNET (Network Terminal Protocol), Протокол сетевого терминала, разработан для удаленного доступа к компьютерам сети (remote login).
- FTP (File Transfer Protocol), Протокол передачи файлов, используется для интерактивной передачи файлов между компьютерами сети.
- SMTP (Simple Mail Transfer Protocol), Простой протокол передачи почты. Основной протокол для обмена почтой, использующийся в Internet.
Протоколы, опирающиеся на UDP:
- DNS (Domain Name Service), Служба имен доменов, или просто Служба именования. С помощью этого протокола устанавливается взаимно однозначное соответствие между IP-адресами сетевых устройств и их именами.
- RIP (Routing Information Protocol), Протокол информации о маршрутизации. Маршрутизация данных (поиск путей их передачи от хоста-отправителя к хосту-получателю) в Internet является одной из важнейших функций семейства протоколов TCP/IP. RIP используется сетевыми устройствами для обмена информацией о маршрутизации.
- NFS (Network File System), сетевая файловая система. С помощью этого протокола компьютеры могут совместно использовать файлы, разбросанные по сети.