
DHCP的工作原理.doc
7页在我自己PC机上面抓包的过程1拓扑图在R1的F 0/0口抓包,R2作为DHCP服务器分析,在F 0/0口抓包的过程,解析DHCP工作原理首先,PC机向局域网发出一个广播,DHCP DISCOVER ,如图所示,在这个阶段,pc机用源为0.0.0.0的ip 向局域网发出广播;看下帧格式PC--------------> DHCP ServerDHCP使用的是UDP协议它的二层源地址是:cc:00:0e:d0:00:00 目的地址:全f 二层是广播那么我们看下,fa 0/0口的信息R1#sh interfaces fa 0/0FastEthernet0/0 is up, line protocol is up Hardware is AmdFE, address is cc00.0ed0.0000 (bia cc00.0ed0.0000)看这些就行了,它的源mac地址就是fa 0/0的mac地址;现在看下三层的信息PC上没有IP地址,所以用0.0.0.0暂时作为IP地址发送广播,寻找dhcp服务器,其中携带了自己的MAC地址这儿,可以看出,客户端发送的端口是68 ,server接收的端口是67。
它携带的信息有:源Mac地址,再看下这儿,也就是这个过程它的源MAC地址是cc:01:0e:d0:00:00 目的地址是广播地址:全f接下来,看下r2上fa 0/0的mac,判断下它是不是从r2 上发出的,也就是说它是不是从dhcp服务器上发出的R2#sh interfaces fa 0/0FastEthernet0/0 is up, line protocol is up Hardware is AmdFE, address is cc01.0ed0.0000 (bia cc01.0ed0.0000)现在,很清楚了,它是从DHCP服务器上发出的,DHCP 服务器发出这个有什么意义呢?它的源地址是56.1.1.254,也就是网关地址,从服务器上发出的,目的地址是56.1.1.1 这是一个request,询问是否有56.1.1.1 ,如果没有,继续下一步然后,DHCP---------------->Offer PC这个过程先看2层,源是DHCP服务器,目的地址是广播地址或者组播地址;然后看下三层,源是56.1.1.254 目的是广播那么,它携带了那些信息呢?如图,DHCP 服务器的IP地址; 消息类型,主机号,租用时间,续约时间,rebinding tme,掩码,网关,第三步,PC--------------->REQUEST DHCP SERVER先看2层信息,源是PC,目的是广播三层,源地址是:0.0.0.0 说明它还没有获得地址,目的是:255.255.255.255Request携带的信息有:DHCP主机,要租用的IP地址,租期,主机名第四步,DHCP SERVER---------->ACK PC2层信息,源地址:DHCP 目的:ff:ff:ff:ff:ff:ff3层,源地址:56.1.1.254 目的:255.255.255.255至此,DHCP server 将IP地址分配给了PC机。
这是一个无故ARP用来告诉其他PC,我是56.1.1.1这个是有PC机发出的无故(Gratuitous ARP,GARP)ARP也称为无为ARP主机有时会使用自己的IP地址作为目标地址发送ARP请求这种ARP请求称为无故ARP,GARP,主要有两个用途: (1)检查重复地址(如果收到ARP响应表明存在重复地址) (2)用于通告一个新的数据链路标识当一个设备收到一个arp请求时,发现arp缓冲区中已有发送者的IP地址,则更新此IP地址的MAC地址条目 因为它不是经过其他主机的ARP请求广播后发出的ARP广播,所以叫无故ARP,也有人叫免费ARP。
