Анимация TCP/IP , Связь TCP, UDP
Связь TCP, UDPTCP и UDP - это правила для управления передачей данных. TCP управляет связью более строго, чем UDP. Следовательно, TCP подходит для связи, требующей точности, а UDP - для связи, требующей скорости.Во время связи данные разбиваются на небольшие части, называемые пакетами. Затем к каждому пакету добавляется заголовок TCP или UDP.* Сведения о TCPTCP сначала устанавливает соединение между исходным и конечным компьютерами. Затем данные отправляются в виде пакета, который получатель получает и собирает в исходное состояние.Затем сверьте информацию в заголовке 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 : Просмотрел видео.
|