首页 运维 网络学院 查看内容

从Linux启动界面看DHCP协议实现过程

2009-6-30 10:12 679 0

摘要:   我特别喜欢Linux启动的时候屏幕上一行一行的提示。它把系统正在干的所有事情都告诉了我们,不像Windows,自检完了就给个进度条,背后干啥都不让我们知道。  (所以研究操作系统原理用的一般都是开...
关键词: nbsp 报文 DHCP 服务器 Linux 255.255 端口 明了 DHCPACK 客户

  我特别喜欢Linux启动的时候屏幕上一行一行的提示。它把系统正在干的所有事情都告诉了我们,不像Windows,自检完了就给个进度条,背后干啥都不让我们知道。  (所以研究操作系统原理用的一般都是开源的Linux ^_^)  前几天又在楼下旧书店淘了一本《计算机网络》,谢希仁编著的,貌似也很有名。  书中说的DHCP协议部分实现过程如下  ①:DHCP 服务器被动打开 UDP 端口 67,等待客户端发来的报文。  ②:DHCP 客户从 UDP 端口 68发送 DHCP 发现报文。  ③:凡收到 DHCP 发现报文的 DHCP 服务器都发出 DHCP 提供报文,因此 DHCP 客户可能收到多个 DHCP 提供报文。  ④:DHCP 客户从几个 DHCP 服务器中选择其中的一个,并向所选择的 DHCP 服务器发送 DHCP 请求报文。  ⑤:被选择的 DHCP 服务器发送确认报文DHCPACK,进入已绑定状态,并可开始使用得到的临时 IP 地址了。  书面上的文字怎么说我们都会觉得有点晦涩,虽然这个解释其实已经非常明了了。  不过前几天启动linux的时候,我注意到了这个小细节,linux启动过程中把这个步骤一步一步在屏幕上输出,我觉得能让我们看的更直观,就截了个图,呵呵。  如下图:   这个图里面,我上面说的从第2步到第5步都非常明了(第一步是服务端的,我们看不到),端口,MAC,状态这些都清楚的标明了。  DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 4 //第2步,发送DHCP发现报文  DHCPOFFER from 192.68.116.254                                            //第3步,收到DHCP提供报文  DHCPREQUEST on eth0 to 255.255.255.255 port 67                //第4步,发送DHCP请求报文  DHCPACK from 192.168.116.254                                              //第5步,收到DHCP确认报文DHCPACK  bound to 192.168.116.128 -- renewal in 826 seconds               //已绑定,826秒应该是0.5T,也就是IP租用期的一半,到时间就再次发送请求更新租用期  done.  Linux真是个好东西。
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部