|
|
Строка 6: |
Строка 6: |
| [[IP utility (Linux)]] | | [[IP utility (Linux)]] |
|
| |
|
| = TCP и сети = | | = сети = |
|
| |
|
| [https://mikrotik.wiki/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B8%D1%8F:%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B:TCP Хорошо описано в вики микротика!] | | [[сети]] |
| | |
| * New – Новое соединение. Пакет, открывающий новое соединение, никак не связанное с уже имеющимися сетевыми соединениями, обрабатываемыми в данный момент маршрутизатором.
| |
| * Established – Существующее соединение. Пакет относится у уже установленному соединению, обрабатываемому в данный момент маршрутизатором.
| |
| * Related – Связанное соединение. Пакет, который связан с существующим соединением, но не является его частью. Например, пакет, который начинает соединение передачи данных в FTP-сессии (он будет связан с управляющим соединением FTP), или пакет ICMP, содержащий ошибку, отправляемый в ответ на другое соединение.
| |
| * Invalid – Маршрутизатор не может соотнести пакет ни с одним из вышеперечисленных состояний соединения.
| |
| | |
| == Состояние сеанса TCP ==
| |
| | |
| {| class="wikitable" text-align: left"
| |
| !colspan="2" | Состояния сеанса TCP
| |
| |-
| |
| |width="120px"|'''CLOSED'''
| |
| |Начальное состояние узла. Фактически фиктивное
| |
| |-
| |
| |'''LISTEN'''
| |
| |Сервер ожидает запросов установления соединения от клиента
| |
| |-
| |
| |'''SYN-SENT'''
| |
| |Клиент отправил запрос серверу на установление соединения и ожидает ответа
| |
| |-
| |
| |'''SYN-RECEIVED'''
| |
| |Сервер получил запрос на соединение, отправил ответный запрос и ожидает подтверждения
| |
| |-
| |
| |'''ESTABLISHED'''
| |
| |Соединение установлено, идёт передача данных
| |
| |-
| |
| |'''FIN-WAIT-1'''
| |
| |Одна из сторон (назовём её узел-1) завершает соединение, отправив сегмент с флагом FIN
| |
| |-
| |
| |'''CLOSE-WAIT'''
| |
| |Другая сторона (узел-2) переходит в это состояние, отправив, в свою очередь сегмент ACK и продолжает одностороннюю передачу
| |
| |-
| |
| |'''FIN-WAIT-2'''
| |
| |Узел-1 получает ACK, продолжает чтение и ждёт получения сегмента с флагом FIN
| |
| |-
| |
| |'''LAST-ACK'''
| |
| |Узел-2 заканчивает передачу и отправляет сегмент с флагом FIN
| |
| |-
| |
| |'''TIME-WAIT'''
| |
| |Узел-1 получил сегмент с флагом FIN, отправил сегмент с флагом ACK и ждёт 2*MSL секунд, перед окончательным закрытием соединения
| |
| |-
| |
| |'''CLOSING'''
| |
| |Обе стороны инициировали закрытие соединения одновременно: после отправки сегмента с флагом FIN узел-1 также получает сегмент FIN, отправляет ACK и находится в ожидании сегмента ACK (подтверждения на свой запрос о разъединении)
| |
| |-
| |
| |}
| |
|
| |
|
| = tcpdump = | | = tcpdump = |