Особенности TCP/IP.
-открытые стандарты протоколов, разрабатываемые независимо от программного и аппаратного обеспечения;
- независимость от физической среды передачи;
-система уникальной адресации;
-стандартизованные протоколы высокого уровня для распространенных пользовательских сервисов.
Стек протоколов TCP/IP делится на четыре уровня:
I.Прикладной (application). Приложения, работающие со стеком TCP/IP, могут также выполнять функции уровней представления и частично сеансового модели OSI.
Распространенными примерами приложений являются программы telnet, ftp, WWW-серверы и клиенты (Интернет-браузеры), программы работы с электронной почтой. Для пересылки данных через сеть другому приложению оно обращается к тому или иному модулю транспортного уровня;
II.Транспортный (transport).Протоколы данного уровня обеспечивают прозрачную (сквозную) доставку данных между двумя прикладными процессами. Для передачи и получения данных, отправляемых друг другу, они используют межсетевой уровень. На транспортном уровне работают два основных протокола:
1. TCP (Transmission Control Protocol) - надежный протокол с установлением соединения: он управляет логическим сеансом связи (устанавливает, поддерживает и закрывает соединение) между процессами и обеспечивает надежную (безошибочную и гарантированную) доставку прикладных данных от процесса к процессу;
Таким образом, протокол TCPобеспечивает надежную доставку, безошибочность и правильный порядок приема передаваемых данных.
Протокол TCP (Transmission Control Protocol, Протокол контроля передачи) обеспечивает сквозную доставку данных между прикладными процессами, запущенными на узлах, взаимодействующих по сети.
Модуль TCP выполняет передачу непрерывных потоков данных между своими клиентами в обоих направлениях. Клиентами TCP являются прикладные процессы, вызывающие модуль TCP при необходимости получить или отправить данные процессу-клиенту на другом узле.
Протокол TCP рассматривает данные клиента как непрерывный неинтерпретируемый поток пакетов. TCP разделяет этот поток на части для пересылки на другой узел в TCP-сегментах некоторого размера. Для отправки или получения сегмента модуль TCP вызывает модуль IP.
Таким образом, TCP делит информацию, которую надо переслать, на несколько частей. Нумерует каждую часть, чтобы позже восстановить порядок. Чтобы пересылать эту нумерацию вместе с данными, он обкладывает каждый кусочек информации своей обложкой - конвертом, который содержит соответствующую информацию. Это и есть TCP-конверт. Получившийся TCP-пакет помещается в отдельный IP-конверт и получается IP-пакет, с которым сеть уже умеет обращаться.
Получатель (TCP-модуль (процесс)) по получении распаковывает IP-конверты и видит TCP-конверты, распаковывает и их и помещает данные в последовательность частей в соответствующее место. Если чего-то не достает, он требует переслать этот кусочек снова. В конце концов информация собирается в нужном порядке и полностью восстанавливается. Вот теперь этот массив пересылается выше к пользователю (на диск, на экран, на печать).
В сети Internet используется большое число и других протоколов, однако эту сеть часто называют TCP/IP сетью, так как эти два протокола являются важнейшими.
2. UDP (User Datagram Protocol) - протокол дейтаграмм пользователя - является ненадежным протоколом без установления соединения: это значит, что ни логический сеанс связи, ни надежная доставка прикладных данных этим протоколом не обеспечиваются. Фактически UDP не предоставляет никаких услуг, кроме мультиплексирования пакетов с прикладными данными - то есть направления данных тому или иному приложению в зависимости от номера порта. Услугами UDP пользуются, например, доменная система имен (DNS), сетевая файловая система NFS;
III. Сетевой (межсетевой, или Internet). Основным протоколом этого уровня является протокол IP (Internet Protocol). Этот протокол является центром, вокруг которого строится весь стек TCP/IP.
Протокол IPотвечает за поиск маршрута (или маршрутов) в Internet от одного компьютера к другому через множество промежуточных сетей, шлюзов и маршрутизаторов и передачу блоков данных по этим маршрутам.
Протокол IP является ненадежным протоколом без установления соединения. Это означает, что протокол IP не подтверждает доставку данных, не контролирует целостность полученных данных и не производит операцию квитирования (handshaking) - обмена служебными сообщениями, подтверждающими установку соединения с узлом назначения и его готовность к приему данных.
Протокол IP обрабатывает каждую дейтаграмму как независимую единицу, не имеющую связи ни с какими другими дейтаграммами в Internet. После того, как дейтаграмма отправляется в сеть, ее дальнейшая судьба никак не контролируется отправителем (на уровне протокола IP). Если дейтаграмма не может быть доставлена, она уничтожается. Узел, уничтоживший дейтаграмму, может оправить по обратному адресу ICMP-сообщение, о причине сбоя.
Одна из основных задач, решаемых протоколом IP, - маршрутизация дейтаграмм, т.е. определение пути следования дейтаграммы от одного узла сети к другому на основании адреса получателя.
Таким образом, протокол IP доставляет блоки данных, называемые дейтаграммами, от одного IP-адреса к другому через компьютерную сеть. IP-адрес является уникальным 32-битным идентификатором компьютера (точнее, его сетевого интерфейса). Данными для дейтаграммы является блок данных, передаваемых IP-модулю транспортным уровнем. IP-модуль предваряет эти данные заголовком, содержащим IP-адреса отправителя и получателя и другую служебную информацию, и сформированная таким образом дейтаграмма передается на уровень доступа к сети для отправки по каналу передачи данных;
IV. Уровень доступа к сети (network access), который выполняет следующие функции:
· отображение IP-адресов в физические адреса сети. Эту функцию выполняет протокол разрешения адресов ARP (Address Resolution Protocol);
· инкапсуляция IP-дейтаграмм в кадры для передачи по физическому каналу и извлечение дейтаграмм из кадров. При этом не требуется какого-либо контроля безошибочности передачи, поскольку в стеке TCP/IP такой контроль возложен на транспортный уровень или на само приложение;
· определение метода доступа к среде передачи, то есть способа, с помощью которого компьютер устанавливает свое право на произведение передачи данных;
· определение представления (кодирования) данных в физической среде;
· пересылка и прием кадра.
Часто в качестве уровня доступа к сети выступают целые протокольные стеки; тогда говорят об IP поверх ATM, IP поверх IPX и т. д.