Если два хоста X
и Y
подключены к Интернету с NAT. Оба NAT относятся к типу с ограничением конуса.
Теперь предположим, что есть сервер Z
в котором хранятся все переведенные публичные адреса X
и Y
. Обе X
и Y
могут получить переведенные общедоступные IP-адреса друг друга из Z
.
Сейчас X
хочет поговорить с Y
, но X
не могу отправить сообщение Y
с помощью Y
общедоступный IP-адрес, потому что Y
NAT ограничен конусом.
Но если оба X
и Y
отправить сообщение друг другу одновременно, тогда их сообщение может достигнуть X
и Y
.
Кто-нибудь может сказать мне, почему это происходит ??
Это происходит потому, что NAT с ограничением по конусу позволяет отвечать только тогда, когда трафик исходит от внутреннего адреса. Требование состоит в том, что внутренний адрес отправляет исходный SYN, затем состояние будет храниться в таблицах NAT в течение определенного периода времени, в течение которого внешний клиент (в данном случае за другим NAT с ограничением конуса) может ответить им, отправив пакеты на сопоставленный порт / адрес. Поскольку они оба выполняют это действие, у обоих будет открыто окно подключения.