DHCP 分配地址过程文档格式.docx

上传人:b****5 文档编号:20976876 上传时间:2023-01-26 格式:DOCX 页数:10 大小:49.43KB
下载 相关 举报
DHCP 分配地址过程文档格式.docx_第1页
第1页 / 共10页
DHCP 分配地址过程文档格式.docx_第2页
第2页 / 共10页
DHCP 分配地址过程文档格式.docx_第3页
第3页 / 共10页
DHCP 分配地址过程文档格式.docx_第4页
第4页 / 共10页
DHCP 分配地址过程文档格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

DHCP 分配地址过程文档格式.docx

《DHCP 分配地址过程文档格式.docx》由会员分享,可在线阅读,更多相关《DHCP 分配地址过程文档格式.docx(10页珍藏版)》请在冰豆网上搜索。

DHCP 分配地址过程文档格式.docx

此广播报文采用传输层的UDP68号端口发送(封装的目的端口为UDP68号端口),经过网络层IP协议封装后,源IP地址为0.0.0.0(因为此时还没有分配IP地址),目的IP地址为255.255.255.255(有限广播IP地址)。

如下是一个DHCPDISCOVER报文封装的IP报头示例,可以看到 

DestinationAddress(目的地址)是 

255.255.255.255,而SourceAddress(源地址)是 

0.0.0.0。

IP报头中的其它字段含义大家可以参见本书第7章7.3.4节相关内容。

IP:

ID=0x0;

Proto=UDP;

Len:

328

Version=4(0x4)

HeaderLength=20(0x14)

ServiceType=0(0x0)

Precedence=Routine

...0....=NormalDelay

....0...=NormalThroughput

.....0..=NormalReliability

TotalLength=328(0x148)

Identification=0(0x0)

FlagsSummary=0(0x0)

.......0=Lastfragmentindatagram

......0.=Mayfragmentdatagramifnecessary

FragmentOffset=0(0x0)bytes

TimetoLive=128(0x80)

Protocol=UDP-UserDatagram 

!

---使用UDP传输层协议

Checksum=0x39A6

SourceAddress=0.0.0.0 

---源IP地址为0.0.0.0

DestinationAddress=255.255.255.255 

----目的IP地址为255.255.255.255

Data:

Numberofdatabytesremaining=308(0x0134)

【经验之谈】在以上DHCPDISCOVER报文中IP报头中的目的地址(DestinationAddress)是255.255.255.255这个有限广播地址。

这个有限广播地址就是代表任意一个IPv4子网的广播地址,当然是发送报文的主机所在的子网和DHCP服务器所在子网的广播地址,但因为此时DHCP客户端并不知道DHCP服务器所在的是哪个子网。

下面所有其它DHCP报文中的255.255.255.255地址的含义也是一样的。

至于IP报头中的源地址(SourceAddress),由于当前DHCP客户端主机并未分配具体的IP地址,所以只能用具有任意代表功能的0.0.0.0地址来表示了。

下面所有其它DHCP报文中指定的0.0.0.0地址的含义也是一样的。

因为此时,DHCP客户端没有分配到IP地址,也不知道DHCP服务器或DHCP中继的IP地址,所以在DHCPDISCOVER报文中Ciaddr(客户端IP地址)、Yiaddr(被分配的DHCP客户端IP地址)、Siaddr(下一个为DHCP客户端分配IP地址的DHCP服务器地址)、Giaddr(DHCP中继IP地址)这四个字段均为0.0.0.0,如下所示。

另外,从中可以看到,在CHADDR字段和DHCP选项中ClientIdentifier字段中都标识了DHCP客户端网卡MAC地址。

DHCP:

Discover 

(xid=21274A1D)

OpCode 

(op) 

=1(0x1)

HardwareType 

(htype) 

=1(0x1)10MbEthernet

HardwareAddressLength(hlen)=6(0x6)

Hops 

(hops) 

=0(0x0)

TransactionID 

(xid) 

=556223005(0x21274A1D)

Seconds 

(secs) 

Flags 

(flags) 

=1(0x1) 

!

---标志位置1,代表以广播方式发送

1...............=Broadcast

ClientIPAddress(ciaddr)=0.0.0.0

Your 

IPAddress(yiaddr)=0.0.0.0

ServerIPAddress(siaddr)=0.0.0.0

Relay 

IPAddress(giaddr)=0.0.0.0

ClientEthernetAddress(chaddr)=08002B2ED85E

ServerHostName 

(sname) 

=<

Blank>

BootFileName 

(file) 

MagicCookie=[OK]

OptionField 

(options)

DHCPMessageType 

=DHCPDiscover 

---DHCP报文类型为DHCPDiscover

Client-identifier 

=(Type:

1)08002b2ed85e

HostName 

=JUMBO-WS 

---DHCP服务器主机名

ParameterRequestList=(Length:

7)010f032c2e2f06

Endofthisoptionfield

(2)提供阶段:

即DHCP服务器向DHCP客户端提供预分配IP地址的阶段。

网络中的所有DHCP服务器接收到客户端的DHCPDISCOVER报文后,都会根据自己地址池中IP地址分配的优先次序选出一个IP地址,然后与其它参数一起通过传输层的UDP67号端口,在DHCPOFFER报文中以广播方式发送给客户端(目的端口是DHCP客户端的UDP68号端口)。

客户端通过封装在帧中的目的MAC地址(也就在DHCPDISCOVER报文中的CHADDR字段值)的比对来确定是否接收该帧。

但这样一来,理论上DHCP客户端可能会收到多个DHCPOFFER报文(当网络中存在多个DHCP服务器时),但DHCP客户端只接受第一个到来的DHCPOFFER报文。

DHCPOFFER报文经过IP协议封装后的源IP地址DHCP服务器自己的IP地址,目的地址仍是255.255.255.255广播地址,使用的协议仍为UDP。

下面是一个DHCPOFFER报文的IP报头示例。

ID=0x3C30;

Identification=15408(0x3C30)

Protocol=UDP-UserDatagram

Checksum=0x2FA8

SourceAddress=157.54.48.151

DestinationAddress=255.255.255.255

在DHCPOFFER报文中,Ciaddr字段值仍为0.0.0.0,因为客户端仍没有分配到IP地址;

Yiaddr字段已有值了,这是DHCP服务器为该客户端预分配的IP地址;

因为此时仍没有得到客户端确认,所以Siaddr字段值仍为0.0.0.0;

因为没有经过DHCP中继服务器,所以Giaddr字段值仍为0.0.0.0。

另外,在 

DHCP可选项部分,可以看到由服务器随 

IP 

地址一起发送的各种选项。

在这种情况下,服务器发送的是子网掩码、默认网关(路由器)、租约时间、WINS 

服务器地址(NetBIOS 

名称服务)和 

NetBIOS 

节点类型。

下面是一个DHCPOFFER报文示例。

Offer 

=2(0x2)

(flags) 

1...............= 

Broadcast

IPAddress(yiaddr)=157.54.50.5

ClientEthernetAddress(chaddr)=08002B2ED85E

=DHCPOffer 

---DHCP报文类型为DHCPOffer

SubnetMask 

=255.255.240.0 

---所分配IP地址的子网掩码为255.255.240.0

RenewalTimeValue(T1)=8Days, 

0:

00:

00 

---想要继续租约原来分配的IP地址,则提出续约申请的期限为8天

RebindingTimeValue(T2)=14Days, 

0:

---如果上次申请续约失败,再次申请绑定原来分配到的IP地址的期限为14天

IPAddressLeaseTime 

=16Days, 

---租约期限为16天,也就是DHCP客户端可使用此IP地址的最长时间为16天

ServerIdentifier 

=157.54.48.151 

---DHCP服务器的IP地址为157.54.48.151

Router 

=157.54.48.1 

---默认网关IP地址为157.54.48.1

NetBIOSNameService 

=157.54.16.154 

---DNS服务器IP地址为157.54.16.154

NetBIOSNodeType 

=(Length:

1)04

(3)选择阶段:

即DHCP客户端选择IP地址的阶段。

如果有多台DHCP服务器向该客户端发来DHCPOFFER报文,客户端只接受第一个收到的DHCPOFFER报文,然后以广播方式发送DHCPREQUEST报文。

在该报文的“RequestedAddress”选项中包含DHCP服务器在DHCPOFFER报文中预分配的IP地址,对应的DHCP服务器IP地址等。

这样也就相当于同时告诉得其他DHCP服务器,它们可以释放已提供的地址,并将这些地址返回到可用地址池中。

在DHCPOFFER报文封装的IP协议头部中,客户端的 

Source 

Address仍然是 

0.0.0.0,数据包的 

Destination 

仍然是 

255.255.255.255。

但在DHCPOFFER报文中Ciaddr、Yiaddr、Siaddr、Giaddr 

字段的地址均0.0.0.0,大家自己分析一下为什么,很简单的。

下面是一个DHCPOFEER报文头部和DHCPOFFER报文示例。

ID=0x100;

Identification=256(0x100)

Protocol=UDP-UserDatagram

Checksum=0x38A6

SourceAddress=0.0.0.0

Request 

=DHCPRequest

=(Type:

RequestedAddress 

=157.54.50.5

=157.54.48.151

=JUMBO-WS

(4)确认阶段:

即DHCP服务器确认分配级DHCP客户端IP地址的阶段。

某个DHCP服务器在收到DHCP客户端发来的DHCPREQUEST报文后,只有DHCP客户端选择的服务器会进行如下操作:

如果确认将地址分配给该客户端,则以广播方式返回DHCPACK报文;

否则返回DHCPNAK报文,表明地址不能分配给该客户端。

在DHCP 

服务器发送的DHCPACK报文的IP协议头部,Source 

Address是 

DHCP 

服务器IP地址,DestinationAddress仍然是广播地址255.255.255.255。

在DHCPACK报文中的Yiaddr字段包含要分配给客户端的IP地址,而Chaddr和DHCP:

ClientIdentifier字段是发出请求的客户端中网卡的MAC地址。

同时在选项部分也会在DHCPOFFER报文中把所分配的IP地址的子网掩码、默认网关、DNS服务器、租约期、续约时间等信息加上。

ID=0x3D30;

Identification=15664(0x3D30)

Checksum=0x2EA8

ACK 

(xid=21274A1D)

Transactio

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1