标签:不同 响应 strong arp 文件名 冲突 you 查看 action
DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,分配IP地址和其他网络参数;
DHCP三种角色:DHCP Client、DHCP Relay和DHCP Server;
DHCP端口:Client UDP68---->Server,Server UDP67---->Client;
DHCP8种报文:DHCP DISCOVER、DHCP OFFER、DHCP REQUEST、DHCP ACK、DHCP NAK、DHCP DECLINE、DHCP RELEASE、DHCP INFORM
OP(OP code):1字节,OP=1客户端请求报文,OP=2服务器响应报文;
htype(Hardware Type):1字节,硬件类型
hlen(Hardware Length):1字节,硬件地址长度,以太网为6,48位;
hops:1字节,表示DHCP报文经过的DHCP Relay的数目,hops≤16;
xid:4字节,DHCP客户端选取的随机数,使DHCP服务器的回复与DHCP客户端的报文相关联
secs(seconds):2字节,表示客户端从开始获取地址或地址续租更新后所用的时间,单位是秒。
flags:2字节,16bit,只有最高位有意义;0表示客户端请求服务器以单播形式发送响应报文;1表示客户端请求服务器以广播形式发送响应报文;
ciaddr(client ip address):客户端IP;
yiaddr(your ip address):服务器分配给客户端IP;
siaddr (server ip address):DHCP客户端获得启动配置信息的服务器的IP地址;
giaddr(gateway ip address):表示第一个DHCP中继的IP地址;
chaddr (client hardware address):表示客户端的MAC地址;
sname (server host name):表示客户端获取配置信息的服务器名字;
file (file name):表示客户端需要获取的启动配置文件名;
options:表示DHCP的选项字段,最多为312字节;1字节Type+1字节Length+Value(由Length决定)
options53决定了DHCP报文了类型,很多option代码代表了不同的意思;
第一阶段:Client广播Discover---->同网段所有设备或Relay;
第二阶段:Server会比较一下Client希望的租期和自己配置的租期,提供一个时间短的租期;
第三阶段:如收到多个Offer,只接第一个,Request(Server标识符、客户端IP地址)广播通知所有Server;
第四阶段:Client收到ACK,发送免费ARP确认是否地址冲突;
如冲突Client发送Decline---->Server,之前过程重来;
如Server收到Request,发现无法提供这个IP了,Server发送NAK---->Client,之前过程重来;
过程与无中继基本相同,不同点如下:
第一阶段:收到Discover,检查hops,大于16则丢弃;giaddr=0,填入接收Discover接口的IP,否则不修改;修改DHCP目的IP为下一跳Relay或DHCP Server;
第二阶段:提供giaddr同网段IP地址,向giaddr标识的Relay单播发送Offer,Relay检查广播标志位如置1,则广播Offer,如未置1,则单播发给Client;
第三、四阶段同上;
Client 发送Request(Option50填入之前用过的IP)---->Server;
Server通过查看自身MAC和IP对应记录决定是否给Client续用,如果可以---->ACK,否则沉默,直到客户端重新发送Discover报文;
Client 租期50%单播发送Request---->Server,Server 发送ACK---->Client,则续租成功;
Client 租期87.5%如还未收到ACK,广播发送Request---->Server,Server 发送ACK---->Client,则续租成功;
Client 租期100%如还未收到ACK,或者在以上过程种收到NAK,Client重新发送DHCP DISCOVER报文请求新的IP地址;
Client 租期到期前不想继续使用IP,DHCP RELEASE---->Server; Client 发送DHCP INFORM---->请求更新配置信息;
类似IPv4中DHCP,基于UDP,IPv6不使用广播,使用组播报文;
分配类型:
1、手动配置
2、无状态自动地址分配(利用NDP)
3、DHCPv6有状态自动配置
4、DHCPv6无状态自动配置(利用NDP获取地址,利用DHCPv6获取除地址以外的其他参数)
报文:
msy-type报文类型,总共13种;1Solicit2Advertise3Request4Confirm5Renew6Rebind7Reply8Release9Decline10Reconfigure11Information-Request12Relay-Forward13Relay-Reply
transaction-ID:DHCPv6交互ID,这是个随机值,要保证服务器响应和客户端请求两者交互ID一致,如果服务器主动发起的报文ID为0;
options:DHCPv6的选项字段;
无状态自动配置:即插即用,可以配置多个地址进行网络无缝迁移,利用RS、RA报文实现。
无状态自动配置,没有DHCP的情况下,设备自己生成IPv6地址
路由器发现功能用来发现与本地链路相连的设备,并获取与地址自动配置相关的前缀和其他配置参数。
在IPv6中,IPv6地址可以支持无状态的自动配置,即主机通过某种机制获取网络前缀信息,然后主机自己生成地址的接口标识部分。路由器发现功能是IPv6地址自动配置功能的基础,主要通过以下两种报文实现:
IPv6主机无状态自动配置过程:
利用Solicit报文来定位DHCPv6服务器,收到Advertise报文后根据优先级确定使用哪个DHCPv6服务器,接着通过Request/Reply报文交互完成地址申请和分配。
客户端发送Solicit报文中携带Rapid Commit选项,DHCPv6支持快速分配就直接回复Reply,如果不支持按照四部交互执行。
IPv6地址获得过程如2.1描述
客户端以组播方式发送Information-Request报文,该报文中携带Option Request选项,指定DHCPv6客户端需要从DHCPv6服务器获取的配置参数。DHCPv6服务器单播发送Reply报文,将网络配置参数返回给DHCPv6客户端。
这个全称叫DHCPv6前缀代理DHCPv6 PD(Prefix Delegation)是一种前缀分配机制,通俗的说是分配网段的。
过程类似DHCPv6的有状态地址分配,过程分四步:
1、DHCPv6 PD Client 发送Solicit报文,请求;
2、DHCPv6 PD Server发送Advertise报文确认可以提供前缀;
3、根据收到的多个Advertise报文选优先级高的,并向该服务器发送DHCPv6 request;
4、服务器回复Reply报文将地址前缀分配给客户端使用。
如果客户端携带了Rapid Commit过程同DHCPv6两步交互
1、客户端先向FF02::1:2(组播地址)的请求报文;
2、中继将收到的报文封装在Relay-Forward报文的中继消息选项(Relay Message Option)中,并将Relay-Forward报文发送给DHCPv6服务器或下一跳中继;
3、如果客户端和中继不在同一链路,则重新构造一个新的Relay-Forward报文,并将Relay-Forward报文发送给DHCPv6服务器或下一跳中继;
4、Server从客户端收到Relay-Forward后解析出DHCPv6客户端请求,将应答封装到Relay-reply的中继消息选项中,并将Relay-reply发给中继;
5、DHCPv6中继从Relay-Reply报文中解析出DHCPv6服务器的应答,转发给DHCPv6客户端。
DHCPv6服务器为DHCPv6客户端分配的地址是有租约的,租约由生命期(包括地址的首选生命期和有效生命期构成)和续租时间点(IA的T1、T2)构成。有效生命周期前,续租,否则失效。
客户端在T1时刻发送Renew(T1推荐为0.5生命期)
服务器回复Reply则可以续约,如果未收到回复,则如下图
客户端在T2时刻,向服务器组播发送Rebind(T2推荐0.8生命期),收到回复继续使用。
否则,在生命周期到达后,地址失效不能再用
标签:不同 响应 strong arp 文件名 冲突 you 查看 action
原文地址:https://www.cnblogs.com/liuhongru/p/12048496.html