Я пытаюсь понять, как сетевой стек (TCP/IP) обрабатывает сообщение UDP для localhost. Я предполагаю, что оно спускается по стеку и достигает уровня IP, если оно видит localhost, то отправляет его обратно вверх по стеку?
Я также пытаюсь понять, как сетевой стек (TCP/IP) обрабатывает UDP-сообщение, предназначенное для вашей собственной сетевой карты? Если моей сетевой карте назначен адрес 192.168.0.1, а исходный и конечный адреса совпадают, что происходит? Выходит ли это за рамки оборудования, насколько далеко в стеке это вообще идет?
Любой источник Linux, где описаны подобные вещи, будет высоко оценен!!
решение1
Он не достигает оборудования. В первом случае он обрабатывается в интерфейсе обратной связи, linux/drivers/net/loopback.c. Во втором случае он обрабатывается в любом драйвере, который поддерживает вашу сетевую карту. Вы можете использовать "netstat -i", чтобы увидеть статистику, связанную с каждым интерфейсом, и такие вещи, как netcat, чтобы генерировать трафик к ним и от них.