Анимация TCP/IP Анимация TCP/IP

Анимация TCP/IP , Связь TCP, UDP

Google Play Apple store


Связь TCP, UDP

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

Во время связи данные разбиваются на небольшие части, называемые пакетами. Затем к каждому пакету добавляется заголовок TCP или UDP.

* Сведения о TCP
TCP сначала устанавливает соединение между исходным и конечным компьютерами. Затем данные отправляются в виде пакета, который получатель получает и собирает в исходное состояние.Затем сверьте информацию в заголовке TCP с фактическими данными, чтобы убедиться в отсутствии ошибок. После подтверждения получатель будет каждый раз отвечать.
Если возникнут проблемы со связью, те же данные будут отправлены снова.

* Содержание заголовков TCP и UDP
«Порты источника и назначения»: номер порта ПК
«Последовательный номер»: номер исходящих данных. Он увеличивается на 1 для каждого байта.
«ACK No.»: прибавить 1 к полученному порядковому номеру.
«MSS (оption)»: максимальный размер данных (в байтах) пакета.
«Window»: размер данных, которые будут отправляться последовательно, не дожидаясь ACK.(Пример) Window (2000 байт) = MSS (1000 байт) * 2
«Checksum»: значение для проверки точности данных




TCP

Стандартное TCP-соединение


* Что касается «[(S) No.00]»,
«No.00» означает порядковый номер заголовка TCP. «(S)» означает номер последовательности на стороне сервера, а «(P)» означает номер на стороне ПК.

1.Когда ПК обращается к веб-серверу, сначала устанавливается TCP-соединение для связи между ПК и сервером.

2.Это соединение называется «3 way hand shake». Каждый начальный порядковый номер и размер MSS определяются во время установления соединения.

3.Устанавливается TCP-соединение

4.PC : Перейдите на сайт «http://www.ogumo.co.jp».(SYN) Запрашивает TCP-соединение. [(P)No.5600]

5.Server : (ACK) ОК. [(P)No.5601] (SYN) Я тоже запрашиваю TCP-соединение. [(S)No.3400]

6.PC : (ACK) ОК. [(S)No.3401]

7.PC : Соединение установлено.

8.Server : Соединение установлено.

9.Когда ПК или сервер отправляли сообщение «SYN», каждый начальный порядковый номер был установлен случайным образом.PC(5600),Server(3400)

10.PC : (PSH) Запросить данные веб-сайта.

11.Начать передачу данных веб-сайта.

12.PC : Размер запроса - 1 пакет, размер - 10 байт. [(P)No.5601-5610]

13.Запросы и ответы между ПК и сервером

14.Server : (ACK) ОК. [(P)No.5611] (PSH) Отправить данные сайта.(1 пакет, объем 1000 байт) [(S)No.3401-4400]

15.PC : Мы получили половину данных сайта.

16.PC : (ACK) ОК. [(S)No.4401]

17.Server : (PSH) Отправить вторую половину данных сайта (1 пакет, 1000 байт). [(S)No.4401-5400]

18.PC : Получены данные веб-сайта.

19.PC : (ACK) ОК. [(S)No.5401]

20.Завершение соединения

21.PC : (FIN) Завершить отображение веб-сайта.Размер запроса - 1 пакет, размер - 1 байт. [(P)No.5611]

22.Server : (ACK) ОК. [(P)No.5612]

23.Server : (FIN) Закрыть соединение. [(S)No.5401]

24.PC : (ACK) ОК. [(S)No.5402]

25.Server : Соединение закрыто.

26.PC : Связь окончена.



TCP беда

Возникла проблема во время TCP-связи.


* Что касается «[(S) No.00]»,
«No.00» означает порядковый номер заголовка TCP. «(S)» означает номер последовательности на стороне сервера, а «(P)» означает номер на стороне ПК.

1.Для краткости начните с уже установленного коммуникационного соединения.

2.Когда ПК или сервер отправляли сообщение «SYN», каждый начальный порядковый номер был установлен случайным образом.PC[5600],Server[3400].Эти числа увеличиваются на 1 во время трехстороннего рукопожатия.

3.PC : (PSH) Запросить данные веб-сайта.

4.Начать передачу данных веб-сайта.

5.PC : Размер запроса - 1 пакет, размер - 10 байт. [(P)No.5601-5610]

6.Запросы и ответы между ПК и сервером

7.Server : (ACK) ОК. [(P)No.5611] (PSH) Отправить данные сайта.(1 пакет, объем 1000 байт) [(S)No.3401-4400]

8.Некоторые данные отсутствуют.

9.PC : Невозможно восстановить данные.

10.PC : Фактический объем полученных данных составляет 800 байт. Он уменьшился на 200 байт.

11.PC : Потерянный порядковый номер [(S)No.4201-4400]

12.PC : Это вызывает ошибку Checksum. В этом случае ПК не может отправить ACK.

13.Server : (PSH) Поскольку ACK не возвращается по прошествии определенного периода времени, тот же пакет отправляется снова. [(S)No.3401-4400]

14.PC : (ACK) ОК. [(S)No.4401]

15.Server : (PSH) Отправить данные сайта.(1 пакет, объем 1000 байт) [(S)No.4401-5400]

16.PC : Получены данные веб-сайта.

17.PC : (ACK) ОК. [(S)No.5401]

18.PC : Пакет ACK потерян.

19.Server : (PSH) Поскольку ACK не возвращается по прошествии определенного периода времени, тот же пакет отправляется снова. [(S)No.4401-5400]

20.PC : (ACK) Получены данные веб-сайта.

21.Server : ACK получен. [(S)No.5401] Все данные сайта отправлены.

22.Прерывание соединения опущено.



TCP Window

Настройка «Window size» обеспечивает непрерывную связь.


* Что касается «[(S) No.00]»,
«No.00» означает порядковый номер заголовка TCP. «(S)» означает номер последовательности на стороне сервера, а «(P)» означает номер на стороне ПК.

1.Для краткости начните с уже установленного коммуникационного соединения.

2.Когда соединение установлено, определяются порядковый номер, MSS и «Window size». Window = MSS * 2. Следовательно, данные сайта отправляются дважды подряд без получения ACK.

3.Начать передачу данных веб-сайта.

4.PC : (PSH) Запросить данные веб-сайта.

5.PC : Размер запроса - 1 пакет, размер - 10 байт. [(P)No.5601-5610]

6.Запросы и ответы между ПК и сервером

7.Последовательно отправляет данные сайта в соответствии с «Window size» до получения ACK.

8.Server : (ACK) ОК. [(P)No.5611] (PSH) Отправить данные сайта.(1 пакет, объем 1000 байт) [(S)No.3401-4400]

9.Server : (PSH) Отправить следующий пакет. [(S)No.4401-5400]

10.PC : (ACK) Мы получили половину данных сайта.

11.Server : ACK получен. [(S)No.4401]

12.PC : (ACK) Получены данные веб-сайта.

13.Server : ACK получен. [(S)No.5401] Все данные сайта отправлены.

14.Прерывание соединения опущено.

15.Время связи было сокращено из-за установки «Window size».



TCP Window беда

Некоторые проблемы возникают, когда установлен «Window size».


* Что касается «[(S) No.00]»,
«No.00» означает порядковый номер заголовка TCP. «(S)» означает номер последовательности на стороне сервера, а «(P)» означает номер на стороне ПК.

1.Для краткости начните с уже установленного коммуникационного соединения.

2.Когда соединение установлено, определяются порядковый номер, MSS и «Window size». Window = MSS * 2. Следовательно, данные сайта отправляются дважды подряд без получения ACK.

3.Начать передачу данных веб-сайта.

4.PC : (PSH) Запросить данные веб-сайта.

5.PC : Размер запроса - 1 пакет, размер - 10 байт. [(P)No.5601-5610]

6.Запросы и ответы между ПК и сервером

7.Последовательно отправляет данные сайта в соответствии с «Window size» до получения ACK.

8.Server : (ACK) ОК. [(P)No.5611] (PSH) Отправить данные сайта.(1 пакет, объем 1000 байт) [(S)No.3401-4400]

9.PC : Получены данные веб-сайта. [(S)No.3401-4200] Некоторые данные отсутствуют.

10.Server : (PSH) Отправить следующий пакет. [(S)No.4401-5400]

11.Некоторые данные отсутствуют.

12.Server : Сервер ожидает первого ACK. [(S)No.4401]

13.PC : (ACK) Мы получили вторую половину данных сайта. [(S)No.4401-5400]

14.PC : Возвращается только второй ACK.«ACK No.» означает, что ПК запрашивает первый пакет. [(S)No.3401]

15.PC : Если на ПК будет отправлен другой пакет данных сайта, будет возвращен тот же ACK. [(S)No.3401]

16.Server : Если один и тот же ACK возвращается несколько раз подряд или истекает время ожидания, сервер отправляет пакет снова. [(S)No.3401-4400]

17.Server : (PSH) Отправить тот же пакет еще раз, потому что предыдущий номер ACK все еще был отправлен. [(S)No.3401-4400]

18.PC : (ACK) Получены данные веб-сайта. [(S)No.3401-4400]

19.Server : ACK получен. [(S)No.5401] Все данные сайта отправлены.

20.Прерывание соединения опущено.

21.Если данные не отправлены правильно, получатель ожидает недостающих данных и продолжает сообщать отправителю тот же номер ACK.



UDP

Связь по протоколу UDP. Этот пример представляет собой предыдущие веб-видео.


1.Прежде чем вы сможете начать загрузку видеоданных с помощью UDP, ваш компьютер должен использовать TCP для доступа к веб-сайту, на котором публикуется видео. Я кратко объясню TCP.

2.PC : (PSH) Запросить данные веб-сайта.

3.Server : (ACK)+(PSH) Отправить данные сайта.

4.PC : (ACK) Получены данные веб-сайта.

5.Соединение установлено, данные сайта загружены по TCP. Видеоданные еще не загружены.

6.PC : (PSH) Нажмите кнопку, чтобы воспроизвести видео.

7.Server : (ACK) ОК.

8.Это соединение для TCP-связи. UDP оно не требуется. Я не буду показывать его здесь для иллюстрации.

9.Это видеоприложение отправляет данные по UDP.

10.Server : Это видеоприложение отправляет данные по UDP.

11.PC : Получение и отображение видеоданных.

12.Server : Отправить следующие данные, не проверяя данные и не дожидаясь ответа.

13.Server : Это видеоприложение отправляет данные по UDP.

14.Видеоданные отправляются друг за другом.

15.PC : Получение и отображение видеоданных.

16.Server : Это видеоприложение отправляет данные по UDP.

17.UDP-соединение внезапно прервано из-за манипуляций с ПК. С этого момента данные будут отправляться по TCP.

18.PC : (PSH) Нажимает кнопку завершения.

19.Server : (ACK) ОК.

20.PC : Просмотрел видео.



UDP беда

Неполадка возникает во время связи по UDP.


1.Прежде чем вы сможете начать загрузку видеоданных с помощью UDP, ваш компьютер должен использовать TCP для доступа к веб-сайту, на котором публикуется видео. Я кратко объясню TCP.

2.PC : (PSH) Запросить данные веб-сайта.

3.Server : (ACK)+(PSH) Отправить данные сайта.

4.PC : (ACK) Получены данные веб-сайта.

5.Соединение установлено, данные сайта загружены по TCP. Видеоданные еще не загружены.

6.PC : (PSH) Нажмите кнопку, чтобы воспроизвести видео.

7.Server : (ACK) ОК.

8.Это соединение для TCP-связи. UDP оно не требуется. Я не буду показывать его здесь для иллюстрации.

9.Это видеоприложение отправляет данные по UDP.

10.Server : Это видеоприложение отправляет данные по UDP.

11.PC : Получение и отображение видеоданных.

12.Server : Отправить следующие данные, не проверяя данные и не дожидаясь ответа.

13.Server : Это видеоприложение отправляет данные по UDP.

14.Видеоданные отправляются друг за другом.

15.PC : Получение и отображение видеоданных.

16.Server : Это видеоприложение отправляет данные по UDP.

17.Если данные потеряны, они не будут проверяться UDP.

18.Однако, поскольку объем данных записан в заголовке UDP, приложение может распознать его и настроить для решения проблемы.

19.UDP-соединение внезапно прервано из-за манипуляций с ПК. С этого момента данные будут отправляться по TCP.

20.PC : (PSH) Нажимает кнопку завершения.

21.Server : (ACK) ОК.

22.PC : Просмотрел видео.



Реальная сеть / Веб-сайт, SSL / Почта / FTP / VPN /

Устройство / DNS / LAN, DHCP, NAT / IP-адрес / порт ПК /

Уровень TCP/IP / Связь TCP, UDP / Связь IP / Начальный экран


us / es / cn / ja / kr / de / fr / pt / it / ru / ar / Ogumo top