Тема. Стек протоколов TCP/IP
Состав стека протоколов TCP/IP
Сетями TCP/IP принято называть сети любого масштаба (глобальные или локальные), работающие на основе
стека протоколов TCP/IP вне зависимости от используемой
сетевой технологии.
Стек протоколов TCP/IP (англ. Transmission Control Protocol / Internet Protocol
– протокол управления передачей / межсетевой протокол) — согласованный набор сетевых протоколов, обеспечивающий взаимодействие узлов
в гетерогенных сетях.
Основу стека составляют протоколы TCP и IP.
Протоколы взаимодействуют друг с другом, образуя стек (англ. Stack, стопка).
Это означает, что протокол, располагающийся на вышележащем уровне,
работает «поверх» нижнего,
используя механизмы инкапсуляции нижнего уровня (см. рис. 22). Термин «инкапсуляция» в данном случае означает, что пакет, подготовленный для передачи вышележащим уровнем стека, размещается внутри пакета, создаваемого нижележащим уровнем – инкапсулируется.
Значительная часть технологии TCP/IP направлена на решение следующих
задач адресации:
· задача согласованного использования адресов различного типа (например,
преобразование IP-адреса в физический адрес узла или доменного имени – в IP-адрес);
· обеспечение уникальности адресов;
·
конфигурирование сетевых интерфейсов и сетевых приложений.
TCP (англ. Transmission Control
Protocol – протокол управления передачей) — один из основных
сетевых протоколов стека TCP/IP, предназначенный для управления передачей
данных в сетях и подсетях. TCP выполняет функции
протокола транспортного уровня
модели OSI.
TCP является транспортным механизмом, предоставляющим поток данных с предварительной установкой соединения. TCP обеспечивает достоверность получаемых данных и осуществляет повторный запрос
данных в случае их потери или устраняет дублирование при получении двух копий одного пакета
IP (англ. Internet Protocol –
межсетевой протокол) — маршрутизируемый протокол сетевого
уровня семейства TCP/IP.
Именно IP стал тем протоколом,
который объединил отдельные подсети во всемирную сеть Интернет. Неотъемлемой частью протокола является
адресация сети (IP-адресация).
Уровни модели OSI Протоколы группы
TCP/IP
Уровни стека TCP/IP
|
7 |
Прикладной |
Telnet, FTP, SMTP, HTTP,
POP3, IMAP, SMB |
Прикладной |
I |
|
6 |
Представления |
|||
|
5 |
Сеансовый |
TCP, UDP |
Транспортный |
II |
|
4 |
Транспортный |
|||
|
3 |
Сетевой |
IP, ICMP, RIP,
ARP |
Межсетевого взаимодействия |
III |
|
2 |
Канальный |
Ethernet, Token Ring, PPP, FDDI
и т.д. |
Сетевых интерфейсов |
IV |
|
1 |
Физический |
Рис. 25. Соответствие уровней
модели ISO/OSI и стека протоколов TCP/IP
UDP (англ. User Datagram
Protocol – протокол
пользовательских датаграмм) –
один из ключевых элементов стека TCP/IP. С UDP, компьютерные приложения могут посылать сообщения
(датаграммы) другим хостам по IP-сети без
необходимости предварительного сообщения для установки специальных каналов передачи или путей данных. UDP
использует простую модель передачи без
обеспечения надежности, упорядочивания или целостности данных. Таким образом, UDP предоставляет ненадежный
сервис, и датаграммы могут прийти не по порядку, дублироваться или
могут быть потеряны.
Прикладные протоколы
семейства TCP/IP
HTTP (англ. HyperText Transfer Prоtocоl – протокол передачи
гипертекста)
— протокол прикладного уровня передачи данных (изначально – в виде гипертекстовых документов). Основой HTTP является
технология «клиент- сервер»
Основным объектом манипуляции в HTTP является ресурс, на который указывает URI (англ. Uniform Resource
Identifier) в запросе клиента. Обычно такими
ресурсами являются хранящиеся на сервере файлы, но ими могут быть логические объекты или что-то
абстрактное.
SMTP (англ. Simple Mail
Transfer Protocol – простой протокол передачи
почты) — это широко используемый сетевой протокол, предназначенный для передачи
электронной почты в сетях TCP/IP.
В то время, как электронные почтовые сервера и другие агенты
пересылки сообщений используют SMTP для отправки и получения почтовых сообщений, работающие на пользовательском уровне клиентские почтовые
приложения обычно используют SMTP только для отправки сообщений
на почтовый сервер для ретрансляции. Для получения сообщений, клиентские приложения обычно используют
либо протокол POP, либо IMAP.
POP (англ. Post Office Protocol – протокол почтового
отделения) — стандартный Интернет-протокол прикладного уровня,
используемый клиентами электронной почты для извлечения электронного сообщения с удаленного сервера
по TCP/IP-соединению. При использовании программы- клиента электронной почты (почтовой станции) протокол POP
обеспечивает получение входящей
корреспонденции и также отвечает за синхронизацию почтового
ящика и его локальной
копии в ПК пользователя.
Протокол POP был разработан в нескольких версиях,
нынешним стандартом является
третья версия протокола
– POP3. Предыдущие версии протокола
(POP, POP2) устарели.
IMAP (англ. Internet Message
Access Protocol – протокол доступа
к Интернет-сообщениям) — протокол прикладного уровня для доступа
к электронной почте. Как и все прикладные протоколы IMAP базируется на транспортном протоколе
TCP.
Протокол IMAP предоставляет пользователю обширные возможности для работы
с почтовыми ящиками,
находящимися на центральном сервере. Почтовая программа, использующая этот протокол,
получает доступ к хранилищу
корреспонденции на сервере так, как будто эта корреспонденция расположена на компьютере получателя. Актуальная версия протокола
IMAP4.
Протоколы POP3 и IMAP4 являются
наиболее распространенными протоколами для получения электронной
почты. Практически все современные клиенты
и серверы электронной почты поддерживают оба стандарта, но при установлении сеанса взаимодействия с сервером электронной почты используется только один из возможных протоколов взаимодействия (или POP3, или
IMAP4).
FTP (англ. File Transfer Protocol – протокол передачи файлов) —
стандартный протокол,
предназначенный для передачи
файлов по TCP-сетям.
SMB (англ. Server Message Block – блок серверных сообщений) — сетевой протокол прикладного уровня для удалённого доступа
к файлам, принтерам и
другим сетевым
ресурсам, а также для межпроцессного взаимодействия. Иногда протокол
SMB называют также протоколом CIFS (англ. Common Internet File System – общая файловая система Интернета).
В настоящее время протокол SMB связан, главным
образом, с операционными системами Microsoft Windows,
где используется для реализации «Сети Microsoft Windows»
(англ. Microsoft Windows
Network) и
«Совместного использования файлов и принтеров» (англ. File and Printer Sharing).
Протокол SMB использует технологию клиент-сервер. Клиенты
соединяются с сервером,
используя протоколы TCP/IP (точнее протокол
NetBIOS через TCP/IP).
В 1992 году появился протокол
Samba, являющийся свободной реализацией протокола SMB для
UNIX-подобных операционных систем (Unix, SunOS,
FreeBSD, Linux). Благодаря использованию единого стандарта, сетевые узлы под управлением MS Windows (использующие SMB) и узлы под управлением UNIX-подобных операционных систем (использующие Samba),
могут осуществлять сетевое взаимодействие без существенных проблем.
ARP (англ. Address Resolution
Protocol – протокол определения адреса) — протокол
сетевого уровня, предназначенный для определения MAC-адреса по известному IP-адресу. Наибольшее распространение этот протокол получил
благодаря распространению сетей TCP/IP, построенных на основе технологии Ethernet.
Порты TCP и UDP
В протоколах TCP и UDP (протоколах стека TCP/IP) порт — идентифицируемый номером
системный ресурс, выделяемый приложению, выполняемому на некотором сетевом
узле, для связи с приложениями, выполняемыми на других сетевых узлах.
Необходимо понимать, что:
· все программы
для связи между собою посредством сети используют порты;
· порт в
каждый момент времени может быть занят только одним приложением.
Для каждого из протоколов TCP и UDP стандарт определяет возможность одновременного выделения на хосте до 65536 уникальных портов,
идентифицирующихся номерами от 0 до 65535. При передаче по сети номер порта в заголовке
пакета используется (вместе
с IP-адресом хоста) для адресации
конкретного приложения (и конкретного, принадлежащего ему, сетевого
соединения).
В обычной клиент-серверной модели приложение либо ожидает входящие данные (или запроса на
соединение; «слушает порт»; роль сервера), либо посылает
данные (или запрос на соединение) на известный порт, открытый приложением-сервером (роль клиента).
По умолчанию приложению выдается порт с произвольным (например, ближайшим
свободным, большим 1023) номером. При необходимости приложение может запросить конкретный (предопределённый) номер порта.
Так, Веб-серверы обычно открывают для ожидания соединения с клиентом предопределённый порт 80 протокола TCP (TCP 80).
|
Состояние |
Описание |
|
open |
программа-сервер
готова принимать подключения |
|
listen |
приложение «слушает» порт |
|
filtred |
файрвол или
иная причина не позволяет определить состояние порта |
|
closed |
порт закрыт для передачи |
Порты TCP не пересекаются с портами UDP. То есть, порт 1234
протокола TCP не будет
мешать обмену по UDP
через порт 1234.
Укажем наиболее
употребительные порты TCP (UDP):
· FTP: 21 (команды), 20 (данные)
· telnet: 23 (remote access)
· SMTP: 25
· SMTP с использованием SSL: 465
· DNS: 53 (UDP)
· DHCP: 67, 68 (UDP)
· HTTP: 80, 8080
· POP3: 110
· POP3 с использованием SSL: 995
· IMAP: 143
· IMAP с использованием SSL: 993
· HTTPS: 443
· MySQL: 3306
· BitTorrent: 6969, 6881–6889
Комментарии
Отправить комментарий