[Цзянван] [TCP] Анализ трехстороннего рукопожатия TCP

предисловие

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

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

отказ от ответственности

  • Для удобства некоторые изображения, используемые в этой статье, взяты из Интернета. Если есть какие-либо нарушения, пожалуйста, свяжитесь с блоггером, чтобы удалить их. Спасибо другим блоггерам за их фотографии.
  • Эта заметка используется для записи моего резюме этих знаний. Для облегчения будущей работы и учебы.
  • Если есть какие-либо нарушения, пожалуйста, сообщите об этом и немедленно удалите.

[Что это такое?

  • Трехстороннее рукопожатие TCP: относится к процессу установления TCP-соединения между клиентом и сервером.

【Почему?

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

  • Когда клиент и сервер устанавливают TCP-соединение, обе взаимодействующие стороны должны получать информацию друг от друга . Чтобы определить, что обе стороны являются объектами, необходимо установить связь друг с другом .

    • Информация, которую должны знать обе стороны, включает в себя
      1. Начальный порядковый номер передачи сообщения другой стороны .
      2. Размер буфера данных, отправленных другой стороной .
      3. Максимальная длина сегмента MSS , который может быть получен .
      4. Поддерживаемые параметры TCP

【Как это сделать?

первый

  • Клиент отправляет пакет SYN (seq=j) на сервер и переходит в состояние SYN_SENT , ожидая подтверждения от сервера.

    • SYN : синхронизировать порядковые номера.
      • seq : указывает серийный номер этого TCP-пакета.
    • SYN_SENT : указывает запрос на соединение.
  • [Доказательство] Клиент имеет возможность отправлять

второй раз

  • Когда сервер получает пакет Syn, он должен подтвердить SYN клиента (ack=j+1) и в то же время он также отправляет пакет SYN (seq=k), то есть пакет SYN+ ACK . на этот раз сервер переходит в состояние SYN_RECV .

    • ACK : указывает номер подтверждения этого пакета , который доказывает, что отправленные данные были подтверждены для правильного получения.
    • SYN_RECV : указывает, что сервер временно не может предоставлять обычные услуги TCP. Используйте это, чтобы отклонить другие запросы.
  • [Доказательство] Сервер имеет возможность отправлять, а клиент имеет возможность получать.

в третий раз

  • Клиент получает пакет SYN+ACK от сервера и отправляет пакет подтверждения ACK (ack=k+1) на сервер.После отправки пакета клиент и сервер переходят в состояние ESTABLISHED и завершают трехстороннее рукопожатие .

    • ESTABLISHED : указывает, что TCP-соединение установлено успешно.
  • [Доказательство] Сервер также имеет возможность получать

Acho que você gosta

Origin blog.csdn.net/weixin_45944495/article/details/130716162
Recomendado
Clasificación