I
iknowabc
Unregistered / Unconfirmed
GUEST, unregistred user!
在下目前正在研究DHCP,看了RFC2131/2132后,用SNIFFER在一个DHCP 的局域网中抓包。
有下面几个不懂的地方,请指教!
配置:
DHCP Server :WINNT 自带,SP6
DHCP Client: WIN XP 的ipconfig/release ,ipconfig/renew
DHCP Server与Client不在同一子网,通过三层交换机的Relay。
同时在client/server两端抓包。
1.发现有时候Client发出的release包是广播包,需要relay传向Server
(有时候是发单播包)
按照协议,Release时,Client当时有地址,应该直接向Server发单播包。
为什么有时候会发广播包。
2.正常情况下,没有抓到Client 向Server发的DHCP INFORM包,请问什么时候Client才
向Server发DHCPINFORM?Server返回什么给Client,是当前IP与MAC/CLientID绑定中的对应的参数吗?
RFC2131中并没有讲细节,希望那位知道细节的高人详细指点!
3.DHCP Client每次发DHCP Discover包以及SELECTING状态的DHCP REQUEST包为什么不把广播位置1,
尽管Server每次都广播返回(因为当时Client没有地址嘛)?按协议应该把广播位置1哦。
4.按照RFC2132中,对Discover中Client的Requested IP Address,当Server无法返回这个IP给Client时,
按协议,可以返回一个其他地址并写入DHCP OFFER。只有在Client的Request包(init-reboot状态)的
Requested IP Address不能满足时才发DHCP NAK包给Client。
但是我发现,有的时候,sniffer抓的包中,Client的discover包中的Requested IP Address不能满足时,
它并不理会(选择)Server的offer包(offer中提供了另一个空闲的IP),而继续发Discover包,似乎
总想找到能提供Requested IP Address的offer似的。
5.在步骤4中,Server能满足Requested IP Address(这个IP空闲),按照协议应该返回这个IP给客户,
而不管DHCP RELAY的子网是否与这个IP一致。但是NT 的DHCP Server 总是返回一个与Relay ip的子网
一致的IP,而不是Requested IP Address,尽管Requested IP Address是空闲的。
按照协议是Requested IP Address优先考虑,而nt 的dhcp server是Relay优先。
6.如果受不到Release包,Client会同时出现在DHCP Server的Scope中两次。
这是通过两次ipconfig/release ,ipconfig/renew实现,其中发第二次release拔断网线。
从server端的sniffer中可以看到第二次release没有收到。
7.如果Server在1/2租期之前收到Client的request包(renewing状态),那么这时是否应该延长Client的租用lease呢?
尽管在下知道ms 的 nt DHCP Server与标准不大一样,但是还是想知道这些问题的答案。
在下也想知道,这样问题可以在哪些地方咨询。
有下面几个不懂的地方,请指教!
配置:
DHCP Server :WINNT 自带,SP6
DHCP Client: WIN XP 的ipconfig/release ,ipconfig/renew
DHCP Server与Client不在同一子网,通过三层交换机的Relay。
同时在client/server两端抓包。
1.发现有时候Client发出的release包是广播包,需要relay传向Server
(有时候是发单播包)
按照协议,Release时,Client当时有地址,应该直接向Server发单播包。
为什么有时候会发广播包。
2.正常情况下,没有抓到Client 向Server发的DHCP INFORM包,请问什么时候Client才
向Server发DHCPINFORM?Server返回什么给Client,是当前IP与MAC/CLientID绑定中的对应的参数吗?
RFC2131中并没有讲细节,希望那位知道细节的高人详细指点!
3.DHCP Client每次发DHCP Discover包以及SELECTING状态的DHCP REQUEST包为什么不把广播位置1,
尽管Server每次都广播返回(因为当时Client没有地址嘛)?按协议应该把广播位置1哦。
4.按照RFC2132中,对Discover中Client的Requested IP Address,当Server无法返回这个IP给Client时,
按协议,可以返回一个其他地址并写入DHCP OFFER。只有在Client的Request包(init-reboot状态)的
Requested IP Address不能满足时才发DHCP NAK包给Client。
但是我发现,有的时候,sniffer抓的包中,Client的discover包中的Requested IP Address不能满足时,
它并不理会(选择)Server的offer包(offer中提供了另一个空闲的IP),而继续发Discover包,似乎
总想找到能提供Requested IP Address的offer似的。
5.在步骤4中,Server能满足Requested IP Address(这个IP空闲),按照协议应该返回这个IP给客户,
而不管DHCP RELAY的子网是否与这个IP一致。但是NT 的DHCP Server 总是返回一个与Relay ip的子网
一致的IP,而不是Requested IP Address,尽管Requested IP Address是空闲的。
按照协议是Requested IP Address优先考虑,而nt 的dhcp server是Relay优先。
6.如果受不到Release包,Client会同时出现在DHCP Server的Scope中两次。
这是通过两次ipconfig/release ,ipconfig/renew实现,其中发第二次release拔断网线。
从server端的sniffer中可以看到第二次release没有收到。
7.如果Server在1/2租期之前收到Client的request包(renewing状态),那么这时是否应该延长Client的租用lease呢?
尽管在下知道ms 的 nt DHCP Server与标准不大一样,但是还是想知道这些问题的答案。
在下也想知道,这样问题可以在哪些地方咨询。