当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux DHCP协议实现过程

Unix/Linux
FreeBSD 数据转移办法
Freebsd 下运行QQ For Linux 的方法
FreeBSD, Debian, CentOS一个网卡绑定多个IP
freebsd下切换到root下 su: Sorry 的解决办法
Freebsd挂载光驱和软驱
FREEBSD下运行调试asterisk
一些 freebsd 的常用命令
笔记本上安装freebsd的小知识
FreeBSD系统下添加中文字体
FreeBSD挂载DOS分区,正确显示中文
FreeBSD挂载DOS分区时显示中文的方法
freebsd7.0安装系统图解(最新版)
服务器的时间同步设置方法
FreeBSD FTP 的架设教程
FreeBSD mpd VPN服务器安装步骤
更新FreeBSD Port Tree的几种方法小结
portupgrade 中文手册(翻译)
freebsd 服务器 ARP绑定脚本
在Ubuntu系统中定制 Compiz Fusion 特效
Ubuntu 7.10 绑定IP及MAC地址

Unix/Linux 中的 Linux DHCP协议实现过程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-16   浏览: 177 ::
收藏到网摘: n/a

我特别喜欢Linux启动的时候屏幕上一行一行的提示。它把系统正在干的所有事情都告诉了我们,不像Windows,自检完了就给个进度条,背后干啥都不让我们知道。

  DHCP协议部分实现过程如下

  ①:DHCP 服务器被动打开 UDP 端口 67,等待客户端发来的报文。

  ②:DHCP 客户从 UDP 端口 68发送 DHCP 发现报文。

  ③:凡收到 DHCP 发现报文的 DHCP 服务器都发出 DHCP 提供报文,因此 DHCP 客户可能收到多个 DHCP 提供报文。

  ④:DHCP 客户从几个 DHCP 服务器中选择其中的一个,并向所选择的 DHCP 服务器发送 DHCP 请求报文。

  ⑤:被选择的 DHCP 服务器发送确认报文DHCPACK,进入已绑定状态,并可开始使用得到的临时 IP 地址了。

  书面上的文字怎么说我们都会觉得有点晦涩,虽然这个解释其实已经非常明了了。

  不过前几天启动linux的时候,我注意到了这个小细节,linux启动过程中把这个步骤一步一步在屏幕上输出,我觉得能让我们看的更直观,就截了个图,呵呵。

  如下图:

  Linux操作系统启动界面揭秘DHCP协议实现过程

  这个图里面,我上面说的从第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真是个好东西。