ТОП 10:

Стеком протоколов TCP/IP называют набор сетевых протоколов, используемых в интернет.



В этом стеке различают несколько уровней, и протоколы высокого уровня всегда базируются на протоколах более низких
уровней.

В самом низу находятся физический уровень и канальный уровень. Пример протокола — Ethernet, описывающий передачу данных по коаксиальному кабелю или витой паре. Протоколы этих уровней обычно реализуются на уровне железа, например в сетевой карте компьютера.

Выше идёт сетевой уровень, где находится протокол IP, описывающий структуру сети и доставку пакетов.

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

IP

IP — протокол, лежащий в основе интернета, его название так и расшифровывается: Internet Protocol.

Согласно протоколу, каждый узел в сети имеет свой IP адрес, состоящий из 4х байт и обычно записываемый как n.n.n.n

Каждый узел напрямую «видит» только узлы в своей подсети, с «похожими» адресами (подробнее см. Маска подсети). А другим узлам он передает пакеты через промежуточные узлы — Маршрутизаторы.

Посмотреть, как выглядит маршрут пакета от вашего компьютера к другим узлам, можно с помощью команды traceroute (Linux) / tracert (Windows).

 

TCP

TCP протокол базируется на IP для доставки пакетов, но добавляет две важные вещи:

установление соединения — это позволяет ему, в отличие от IP, гарантировать доставку пакетов порты — для обмена пакетами между приложениями, а не просто узлами

 

TCP-соединение

Соединение начинается с handshake (рукопожатия)

Узел A посылает узлу B специальный пакет SYN — приглашение к соединению

B отвечает пакетом SYN-ACK — согласием об установлении соединения

A посылает пакет ACK — подтверждение, что согласие получено

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

«Соединение» означает, что узлы помнят друг о друге, нумеруют все пакеты, идущие в обе стороны, посылают подтверждения о получении каждого пакета и перепосылают потерявшиеся по дороге пакеты.

Для узла A это соединение называется исходящим, а для узла B — входящим.

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

 

Порт

Сетевой порт — условное число от 1 до 65535, указывающее, какому приложению предназначается пакет.

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

 

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

Использование портов позволяет независимо использовать TCP протокол сразу многим приложениям на одном и том же компьютере.

Использование портов

Клиентом называют приложение, которое пользуется каким-то сервисом, предоставляемым другим приложением — Сервером, обычно на удаленном компьютере. Практически всегда клиент начинает исходящие соединения, а сервер ожидает входящих соединений (от клиентов), хотя бывают и исключения.\\

Сервер при запуске сообщает Операционной Системе, что хотел бы «занять» определенный порт (или несколько портов). После этого все пакеты, приходящие на компьютер к этому порту, ОС будет передавать этому серверу. Говорят, что сервер «слушает» этот порт.

Клиент, начиная соединение, выпрашивает у своей ОС какой-нибудь незанятый порт во временное пользование, и указывает его в посланных пакетах как порт источника. Затем на этот порт он получит ответные пакеты от сервера.

Таким образом, сервер: слушает на определённом порту, заранее известном клиенту занимает этот порт всё время, пока не завершит работу об IP адресе и номере порта клиента узнаёт из приглашения, посланного клиентом

Клиент: заранее знает IP адрес и порт сервера выбирает у себя произвольный порт, который освобождает после окончания соединения посылает приглашение к соединению

UDP

UDP — это ещё один протокол транспортного уровня. Он тоже базируется на IP и тоже использует порты, но в отличие от TCP он не устанавливает соединений и не требует подтверждения получения каждого пакета.

Поэтому пакеты могут теряться или приходить в неправильном порядке. Зато этот протокол быстрее и использует меньше ресурсов.

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

Прикладные протоколы

Большинство прикладных протоколов базируется на TCP.

У многих протоколов прикладного уровня для серверов определены стандартные порты, используемые по умолчанию.
Самые известные прикладные протоколы и их стандартные порты:

HTTP — основой протокол всемирной паутины (TCP порт 80)

SMTP — протокол пересылки почты (TCP порт 25)

FTP — протокол для обращения к FTP серверу (TCP порт 21)

DNS — протокол сопоставления доменных имен IP адресам (UDP порт 53)

Благодаря использованию стандартных портов мы можем набирать в браузере адреса веб серверов и не указывать порт — наши браузеры сами добавляют стандартный номер порта.
Например, адрес http://www.mytestwebsite.org/ на самом деле полностью выглядит так: http://www.mytestwebsite.org:80/

Разумеется, стандартный — не значит обязательный. Практически во всех прикладных протоколах можно указать серверу слушать произвольный номер порта. Правда, тогда этот номер уже указывать обязательно, например http://www.mytestwebsite.org:8080/

Понятие IP-адреса

IP-адрес (сокращение от англ. Internet Protocol Address) — уникальный идентификатор (адрес) устройства (обычно компьютера), подключённого к локальной сети или интернету.

IP-адрес представляет собой 32-битовое (по версии IPv4) или 128-битовое (по версии IPv6) двоичное число. Удобной формой записи IP-адреса (IPv4) является запись в виде четырёх десятичных чисел (от 0 до255), разделённых точками, например, 192.168.0.1. (или 128.10.2.30 — традиционная десятичная форма представления адреса, а 10000000 00001010 00000010 00011110 — двоичная форма представления этого же адреса).

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

IP-адрес состоит из двух частей: номера сети и номера узла. В случае изолированной сети её адрес может быть выбран администратором из специально зарезервированных для таких сетей блоков адресов (192.168.0.0/16, 172.16.0.0/12 или 10.0.0.0/8). Если же сеть должна работать как составная часть Интернета, то адрес сети выдаётся провайдером либо pегиональным интернет-регистратором (Regional Internet Registry, RIR). Существует пять RIR: ARIN - обслуживающий Северную Америку; APNIC, обслуживающий страны Юго-Восточной Азии; AfriNIC, обслуживающий страны Африки; LACNIC, обслуживающий страны Южной Америки и бассейна Карибского моря; и RIPE NCC, обслуживающий Европу, Центральную Азию, Ближний Восток. Региональные регистраторы получают номера автономных систем и большие блоки адресов у IANA, а затем выдают номера автономных систем и блоки адресов меньшего размера локальным интернет-регистраторам (Local Internet Registries, LIR), обычно являющимся крупными провайдерами.

Номер узла в протоколе IP назначается независимо от локального адреса узла. Маршрутизатор по определению входит сразу в несколько сетей. Поэтому каждый порт маршрутизатора имеет собственный IP-адрес. Конечный узел также может входить в несколько IP-сетей. В этом случае компьютер должен иметь несколько IP-адресов, по числу сетевых связей.
Таким образом, IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.

Классы IP-адресов

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

На рисунке показана структура IP-адреса разных классов.

 

Первый байт адреса полностью определяет класс сети:

A: (0000 0000 — 0111 1111)2 (0 — 127)10 мнемоника — local network 127.0.0.0/8

B: (1000 0000 — 1011 1111)2 (128—191)10

C: (1100 0000 — 1101 1111)2 (192—223)10

D: (1110 0000 — 1110 1111)2 (224—239)10 мнемоника — multicast 224.0.0.0/4

 







Последнее изменение этой страницы: 2016-04-26; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 34.205.93.2 (0.009 с.)