Приходит пакет IP размером 70, он уже больше. Внутри него пакет TCP.
Тут же указаны относительные цифры, то есть они относительные от первого числа, то есть,
чтобы каждый раз не писать большие цифры,
он установил соединение и просто сделал их относительными от единицы.
Мы передаем данные от телнета к неткату, от какого-то порта,
который он занял к 3000 размером 14 байт. В последовательности от 1-15 и аск 1.
Далее нам приходит пакет длиной ноль, который является подтверждением,
что он принял 15 байт пакет аск. Это является подтверждением того, что мы приняли данные.
Так же происходит, если передать в обратном направлении.
Собственно мы передаем данные от 3000-ного порта к 55 8 9 8,
6 байт, номер последовательности у него
1 7 и чтобы подтвердить корректную передачу этих данных,
нужно посылать от 55 8 9 8 пакет TCP аск с подтверждением, что принято корректно.
Допустим мы хотим разорвать логическое соединение и посмотрим, что происходит.
В итоге обменялись четырьмя пакетами, инициатором разрыва идеей является наше телнет, т.е.
55 8 9 8, он отправляет флаг f и говорит [inaudible] останови соединение. Он длиной ноль.
После этого ему отвечают, что окей, мы разрываем соединение
TCP пакетом аск также длинной ноль и в свою очередь другой клиент,
также отправляет пакет фин и ему отвечает подтверждением.
После этого можно считать, что соединение закрыто.
Теперь давайте посмотрим, что происходит в случае UDP.
Также начнем слушать на 3000-ном порту, только с флагом u, то есть использовать UDP.
И воспользуемся тут тоже неткатом, подключимся к UDP сокету 127 001 3000,
подключаемся, видим, что ничего не происходит, т.е.
соединение не происходило, мы просто сделали вид, что подключились.
Теперь отправим какой-то кусок данных.
Нам пришел всего один пакет, также он пришел в IP и внутри него завернут UDP пакет.
Он отправлен с порта 50 514, он уже другой, чем был у TCP,
то есть это просто порт, который заняла наша системная утилита.
Он пришёл в порт 3000 по протоколу UDP длиной 13 байт,
и внутри мы видим данные, которые мы передавали.
В итоге мы рассмотрели, как работают протоколы TCP и UDP
на практике и что происходит под капотом.