Материал: 840

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

100

двумя компьютерами. Он обеспечивает деление данных, передающихся от одного приложения к другому, на пакеты подходящего для сетевого уровня размера, подтверждение принятых пакетов, установку тайм-аутов, в течение которых должно прийти подтверждение на пакет, и так далее. Так как надежность передачи данных гарантируется на транспортном уровне, на прикладном уровне эти детали игнорируются. UDP предоставляет более простой сервис для прикладного уровня. Он просто отсылает пакеты, которые называются дейтаграммами (datagram) от одного компьютера к другому. При этом нет никакой гарантии, что датаграмма дойдет до пункта назначения. За надежность передачи данных, при использовании датаграмм отвечает прикладной уровень. Для каждого транспортного протокола существуют различные приложения, которые их используют.

4. Прикладной уровень (application layer) определяет детали каждого конкретного приложения. Существует несколько распространенных приложений TCP/IP, которые присутствуют практически в каждой реализации:

Telnet — удаленный терминал.

FTP, File Transfer Protocol — протокол передачи файлов.

SMTP, Simple Mail Transfer Protocol — простой протокол передачи электронной почты.

SNMP, Simple Network Management Protocol — простой протокол управления сетью.

6.1 Архитектура TCP/IP

На рис. 6.1 приведена схема взаимодействия двух сетевых приложений (FTP клиента с FTP сервером), расположенных в локальной сети на базе Ethernet. Сервер предоставляет некоторые типы сервиса клиентам. В данном случае это доступ к файлам на сервере.

С правой стороны на рис. 6.1 показано, что прикладной уровень обеспечивается пользовательским процессом, тогда как три нижних уровня обычно встроены в ядро операционной системы или реализованы аппаратно. Прикладной уровень обычно является приложением и взаимодействует с пользователем, а не занимается передачей данных по сети. Три нижних уровня ничего не

101

знают о работающих над ними приложениях, однако отвечают за все детали коммуникаций.

 

 

 

Application layer

 

 

 

 

FTP

Протокол FTP

FTP

процесс

клиент

сервер

пользователя

 

 

 

 

Transport layer

 

 

 

 

 

 

 

 

 

 

 

TCP

Протокол TCP

TCP

 

 

 

 

 

 

 

 

ядро

 

 

 

 

 

 

 

 

 

 

Network layer

 

 

 

ОС

 

 

 

 

 

 

 

 

IP

Протокол IP

IP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Link layer

 

 

 

 

Ethernet

Протокол Ethernet

Ethernet

Hardware

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

twisted pair / coaxial / fiber optic

Рис. 6.1 — Два хоста в локальной сети с работающим FTP

Наиболее простой путь осуществить межсетевое взаимодействие — это объединить две или более сетей с помощью маршрутизатора (router). Маршрутизатор представляет из себя программно-аппаратное устройство с собственной операционной системой. Огромное достоинство маршрутизаторов заключается в том, что они могут объединить сети, построенные на различных физических принципах: Ethernet, Token Ring, Point-to-Point, FDDI

и т.п.

Маршрутизаторы обеспечивают взаимодействие на уровне IP-протокола, что иллюстрирует разницу между конечной системой (end system) — это два компьютера на каждой стороне (рис. 6.1), и промежуточной системой (intermediate system), в данном случае это использование маршрутизатора для межсетевого взаимодействия (рис. 6.2).

102

FTP

 

 

 

 

Протокол FTP

 

FTP

 

клиент

 

 

 

 

 

сервер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Протокол TCP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TCP

 

 

 

 

 

 

TCP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

router

 

 

 

 

IP

 

 

 

 

 

 

IP

 

IP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ethernet

 

 

 

Ethernet

 

Token Ring

 

 

Token Ring

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ethernet

 

 

 

 

Token Ring

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 6.2 — Две сети, соединенные через маршрутизатор

Маршрутизатор, по определению, имеет два или несколько интерфейсов сетевого уровня (если он объединяет две или более сетей). Любая система с несколькими интерфейсами называется многоинтерфейсной (multihomed). Большинство реализаций TCP/IP позволяют компьютерам с несколькими интерфейсами функционировать в качестве маршрутизаторов. Однако компьютеры должны быть специально сконфигурированы, чтобы решать задачи маршрутизации.

Одна из основных задач объединения сетей заключается в том, чтобы скрыть все детали физического процесса передачи информации между приложениями, находящимися в разных сетях. Поэтому нет ничего удивительного в том, что в объединенных сетях (см. рис. 6.2), прикладные уровни не заботятся (и не должны заботиться) о том, что один компьютер находится в сети Ethernet, а другой в сети Token Ring с маршрутизатором между ними. Даже если бы между сетями было 20 маршрутизаторов и различные типы физического соединения, приложения работали бы точно так же. Подобная концепция, при которой детали физического объединения сетей скрыты от приложений, определяет мощность и гибкость такой технологии объединения сетей.

103

Существует еще один метод объединения сетей — с помощью мостов (bridge). В этом случае сети объединяются на канальном уровне, тогда как маршрутизаторы объединяют сети на сетевом уровне. Стоит отметить, что объединение TCP/IP сетей в настоящее время осуществляется в основном с помощью маршрутизаторов, а не с помощью мостов. Поэтому мы более подробно рассмотрим маршрутизаторы.

6.2 Протоколы, пакеты и инкапсуляция TCP/IP

В действительности, семейство протоколов TCP/IP объединяет значительно больше протоколов. TCP и UDP — два основных протокола транспортного уровня. Оба используют IP в качестве сетевого уровня (рис. 6.3). Протокол IP предоставляет ненадежный сервис. Это означает, что в процессе своей работы протокол передает пакет от источника к пункту назначения, однако не предоставляет никаких гарантий того, что пакет дойдет по назначению.

Application layer

 

 

 

 

 

 

 

клиентский

 

клиентский

 

клиентский

 

клиентский

 

процесс

 

процесс

 

процесс

 

процесс

 

 

 

 

 

 

 

 

Transport layer

TCP UDP

Network layer

IGMP IP ICMP

Link layer

ARP

аппаратный

интерфейс RARP

среда передачи

Рис. 6.3 — Различные протоколы на разных уровнях стека TCP/IP

104

TCP, с другой стороны, предоставляет надежный транспортный уровень, который пользуется ненадежным сервисом IP. Чтобы обеспечить подобный сервис, TCP выставляет тайм-ауты и осуществляет повторные передачи, отсылает и принимает подтверждения и так далее. Транспортный уровень и сетевой уровень несут различную ответственность за передачу данных.

UDP отправляет и принимает дейтаграммы (datagram). Дейтаграмма это блок информации (определенное количество байт информации, которое указывается отправителем), который отправляется от отправителя к приемнику. В отличие от TCP, UDP является ненадежным протоколом. Не существует гарантий, что дейтаграмма достигнет конечной точки назначения.

IP это основной протокол сетевого уровня. Он используется как TCP, так и UDP. Каждый блок информации TCP и UDP, который передается по объединенным сетям, проходит через IP уровень в каждой конечной системе и в каждом промежуточном маршрутизаторе. На рис. 6.3 показаны приложения, которые имеют прямой доступ к IP. Такой доступ используется довольно редко, но существует возможность его осуществить (некоторые ранние протоколы маршрутизации были разработаны именно подобным образом). Также в процессе экспериментов при создании новых транспортных уровней используется возможность доступа к протоколу IP.

ICMP является дополнением к протоколу IP. Он используется IP уровнем для обмена сообщениями об ошибках и другой жизненно важной информацией уровня IP. Несмотря на то, что ICMP используется в основном IP уровнем, приложения также могут получить доступ к ICMP. Протокол управления группами

Internet (IGMP — Internet Groupe Management Protocol), исполь-

зуется при групповой адресации: при этом UDP датаграммы рассылаются нескольким получателям.

Протокол определения адреса (ARP — Address Resolution Protocol) и обратный протокол определения адреса (RARP —

Reverse Address Resolution Protocol) это специализированные про-

токолы, используемые только с определенным типом сетевых интерфейсов (такие как Ethernet и Token ring). Они применяются для преобразования формата адресов, используемого IP уровнем в формат адресов, используемый сетевым интерфейсом.

Источник: https://studfile.net/preview/16438503/