一段时间后,以太网突然停止工作,我终于能够重新配置 NVidia Jetson 上的网络。我希望通过了解下面几行中到底发生了什么,我可以更好地理解我的计算机与路由器通信时发生了什么。
- 监听和发送信息是什么意思?
- 什么是 xid?
- 为什么是端口 67?
- 谁在发送 DHCPDISCOVER,谁位于 255.255.255.255?
- 各种奇数间隔 3、5、12、67 是什么?
- 为什么最终会发出 DHCPREQUEST,以及谁决定了请求的 IP 地址?
ubuntu@tegra-ubuntu:~$ sudo ifdown eth0
RTNETLINK answers: No such process
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/eth0/00:04:4b:26:fd:7b
Sending on LPF/eth0/00:04:4b:26:fd:7b
Sending on Socket/fallback
DHCPRELEASE on eth0 to 10.0.0.1 port 67 (xid=0x7b85fd90)
ubuntu@tegra-ubuntu:~$ sudo ifup eth0
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/eth0/00:04:4b:26:fd:7b
Sending on LPF/eth0/00:04:4b:26:fd:7b
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x37e8201)
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5 (xid=0x37e8201)
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 12 (xid=0x37e8201)
DHCPREQUEST of 10.0.0.35 on eth0 to 255.255.255.255 port 67 (xid=0x37e8201)
DHCPOFFER of 10.0.0.35 from 10.0.0.1
DHCPACK of 10.0.0.35 from 10.0.0.1
bound to 10.0.0.35 -- renewal in 275106 seconds.
答案1
这看起来像是在释放 DHCP 地址(在 ifdown 上)然后获取 DHCP 地址(在 ifup 上)时的一组典型的 DHCP 客户端操作。
监听和发送部分与 DHCP 客户端将在哪些接口上进行操作(发送请求和监听响应)有关。
xid 定义在RFC2131- 它是一个事务号,允许 DHCP 客户端和服务器在消息交换期间保持一致。
您的客户端正在广播 DHCPDISCOVER,其中 255.255.255.255 是广播 IP 地址本地网络。这样它就可以找到 DHCP 服务器(如果本地网络上存在)。
端口 67 UDP 是标准 DHCP 端口。
客户端向服务器发送 DHCPREQUEST,尝试更新其最后已知的 IP 地址。服务器将客户端请求的 IP 地址连同 DHCPOFFER 一起发回。客户端使用 DHCPACK 向服务器确认,并最终将 UP 地址分配给 eth0。