[Основы сети] 9. Стек TCP/IP

TCP/IP

TCP/IP – это аббревиатура термина Transmission Control Protocol/Internet Protocol (Протокол управления передачей/Межсетевой протокол). Фактически TCP/IP не один протокол, а множество, стек протоколов.

В сети, работающей на основе TCP/IP, информация передается в виде дискретных блоков, называемых IP-пакетами или IP-дейтаграммами. По существу TCP/IP скрывает маршрутизаторы и базовую архитектуру сетей от пользователей, так что всё это выглядит как одна большая сеть. Подключения к сети Ethernet распознаются по MAC адресам. Подключения к интрасети идентифицируются IP-адресами. Взяв IP-адрес удаленного компьютера, компьютер в интрасети или в Internet может отправить данные на него, как будто они составляют часть одной и той же физической сети.

IP – самый фундаментальный протокол из комплекта TCP/IP. Он передает IP-дейтаграммы и обеспечивает выбор маршрута, по которому дейтаграмма будет следовать из пункта А в пункт B.

IP-дейтаграмма

Структура стека TCP/IP

В предыдущей статье о модели OSI, было упомянуто, что: модель OSI – теоретическая модель, при помощи которой можно описать любую модель сети. На практике используется модель TCP/IP. Почему TCP/IP ? Потому что в процессе эволюции теперь только эта модель получила безоговорочное признание с её достоинствами и недостатками. Поэтому более углублённо имеет смысл изучать именно эту модель – стек TCP/IP.

Стек TCP/IP в некоторых источниках обозначают еще как модель DoD (Department of Defence), в зарубежных источниках эта модель называется только так, в том числе и Cisco оперирует именно этим обозначением.
TCP_IP_model
Как видим из структурных схем, модель стека TCP/IP состоит из 4 уровней, которые соответствуют описанию и функционалу модели OSI, которую мы уже изучили. Особо внимание стоит уделить протоколам стека TCP/IP.

Структура стека TCP/IP

На схеме указаны базовые, основополагающие протоколы, на которых держится весь Интернет, включая локальные сети, Ethernet.

Большую часть времени мы потратим на изучение этих протоколов, технологии TCP/IP

Model-TCP_IP

Канальный уровень (link layer)

Это сама сетевая карточка или антенна. То есть передатчик и приемник. У него есть физический адрес для идентификации этой сетевой карты. Кабели, коннекторы тоже относятся сюда. Это среда, которая свяжет компьютер с другими участниками.

Этот уровень также вычисляет максимальное расстояние, на которое пакеты возможно передать, частоту сигнала, задержку ответа. Все это — физические свойства среды передачи информации. На канальном уровне самым распространенным протоколом является Ethernet.

Межсетевой уровень (internet layer)

Здесь присутствует IP-адрес. Его еще называют логическим адресом устройства в сети. При помощи него можно связаться с компьютером, на котором запущен этот самый браузер, а значит, и достучаться до самого приложения. Имея данный адрес, он является участником сети и может связываться с другими участниками

Транспортный уровень (transport layer)

У приложения или службы должен быть порт, который он слушает и по которому с ним можно связаться.

Постоянные резиденты транспортного уровня — протоколы TCP и UDP, они занимаются доставкой информации.

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

UDP (протокол пользовательских датаграмм) — ненадежный, он занимается передачей автономных датаграмм. UDP не гарантирует, что всех датаграммы дойдут до получателя. Датаграммы уже содержат всю необходимую информацию, чтобы дойти до получателя, но они все равно могут быть потеряны или доставлены в порядке отличном от порядка при отправлении.

UDP обычно не используется, если требуется надежная передача информации. Использовать UDP имеет смысл там, где потеря части информации не будет критичной для приложения, например, в видеоиграх или потоковой передаче видео. UDP необходим, когда делать повторный запрос сложно или неоправданно по каким-то причинам.

Протоколы L3 не интерпретируют информацию, полученную с верхнего или нижних уровней, они служат только как канал передачи, но есть исключения. RSVP (Resource Reservation Protocol, протокол резервирования сетевых ресурсов) может использоваться, например, роутерами или сетевыми экранами в целях анализа трафика и принятия решений о его передаче или отклонении в зависимости от содержимого.

Прикладной уровень (application layer)

В модели TCP/IP отсутствуют дополнительные промежуточные уровни (представления и сеансовый) в отличие от OSI. Функции форматирования и представления данных делегированы библиотекам и программным интерфейсам приложений (API). Когда службы или приложения обращаются к библиотеке или API, те в ответ предоставляют набор действий.

Протоколы прикладного уровня действуют для большинства приложений. Они предоставляют услуги пользователю или обмениваются данными с «коллегами» с нижних уровней по уже установленным соединениям. Здесь для большинства приложений созданы свои протоколы, например HTTP для передачи гипертекста по сети, SMTP для передачи почты, FTP для передачи файлов и прочие.

Ссылки

TCP и UDP, или Два столпа Интернета
Устройство TCP/Реализация SYN-flood атаки