Как стать автором
Обновить

Сложно о простом. Самые популярные протоколы и принципы их работы. ARP, ICMP, IGMP, TCP, UDP, SCTP, DNS и DHCP. Часть 1

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров35K
Всего голосов 57: ↑56 и ↓1+71
Комментарии14
11

Комментарии 14

>>DNS использует протокол транспортного уровня UDP.

Информация, прямо скажем, неполна, если уж мы тут сложно о простом.

Если есть чем дополнить, велком. А так это довольно простой протокол.

Довольно простой? Это как посмотреть. Но дополнить стоило хотя бы использованием и TCP тоже, а заодно уж и про механизмы фоллбека с UDP на TCP через TC флаг.

Если посмотреть на протокол http, то dns уже кажется не таким сложным. TCP fallback используется если размер ответа более 512 байт (трансфер зоны).

Замечание хорошее, чуть позже исправлю текст

А как же протокол месяца - NTP ?

Если действительно интересно, могу дополнить статью.

Так к какому же уровню относится ARP, если он может работать и без L3?

У arp пакета нет ip адресов, он работает только на L2 уровне

ARP
Who was 192.168.1.3
Tell 192.168.1.1

А разве в такой постановке вопроса отвечающий не должен будет сам поинтересоваться:

Who was 192.168.1.1
Tell 192.168.1.3

просто чтобы ответ отправить? После чего возникает успешный дедлок.

Нет, он ответ может напрямую на MAC-адрес отправителя послать.

ARP Запрос на самом деле содержит не только IP адреса источника но и его MAC.

Широковещательный запрос состоит из src мак-адреса источника и dst мак-адреса ff:ff:ff:ff:ff:ff. Как только получатель видит широковещательный пакет со своим ip-адресом, он записывает мак-адрес источника в свою мак-таблицу (arp таблица) и отправляет ответ уже на известный ему мак.

вспомнилась классика времён начала интернтов

"Уровни протоколов: Чистое поле. Нужно перейти от одного края к другому. Строится огромная арка, внутри арки мостовая, посреди мостовой кладут ж/д полотно, к рельсам приваривают сваи и на них ставят огромную гранитную глыбу с туннелем внутри, в туннеле прокладывают трубу диаметром полметра, по которой ты и ползешь пока горит спичка к президенту (сжатый и с коррекцией ошибок)."

Всё же 3-way handshake для TCP разумнее переводить тройным или трёхэтапным рукопожатием (или согласованием), ведь там нет никакой третьей стороны. (Пример - глава 3.4 из RFC 793.)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий