DHCP

DHCP——动态主机配置协议
典型C/S架构协议,DHCP客户端使用UDP 68端口号进行通讯。DHCP服务器使用UDP 67号端口通讯。

这里DHCP服务器仅是一个身份角色的概念,因为DHCP本身要求是很低的,任何一台电脑,安装了DHCP服务器对应的应用程序,那台电脑就可以充当DHCP服务器的角色。不等同于真实的设备。不同于DNS服务器需要专业的设备。

DHCP客户端找DHCP服务器要IP协议。封装到四层的时候

Sport:68 Dport:67

DHCP服务器向客户端回数据包。封装到四层的时候

Sport:67 Dport:68

在不同的使用场景有不同的获取方法

第一种场景:DHCP客户端首次获取IP地址
此时不知道谁是DHCP服务器,自身也没有IP。

DHCP客户端发出:DHCP-Discover———广播包
 传输层

Sport:68

Dport:67

 网络层

SIP:0.0.0.0

DIP:255.255.255.255

数据链路层

SMAC:自身MAC

DMAC:全F

DHCP服务器发出:DHCP-offer———会携带一个可用的IP地址,并暂时会被DHCP客户端保留。(具备单播条件,但可单播也可广播,由某内涵字段决定)
Q:服务器一台,客户端多台,假如是广播包,如何区分谁的——> 有交易码eg:Transaction id 0X00000262f。

Q:暂且保留,防止多个DHCP存在,等待客户端反选

传输层

Sport:67

Dport:68

网络层

SIP:自己的

DIP:0.0.0.0

数据链路层

SMAC:自身MAC

DMAC:全F

DHCP客户端发出:DHCP-request———广播包(具备单播条件,但需要告诉对应服务器反选,且告诉其他服务器反选结果)存在身份字段,表名对某一服务器的反选
 

关于对DHCP-offer的反选,如果有多个DHCP服务器发送offer包,则DHCP客户端会选择第一个到达的offer。

DHCP服务器发出:DHCP-ACK。(可能单播也有可能广播)此时客户端真正拥有了该IP地址。
 

第二种场景:DHCP客户端再次获取IP地址
IP地址的所有权始终属于DHCP服务器,

比如设备断电,重新开机获取IP地址,属于该情况。由于设备具备存储功能

DHCP客户端发出:DHCP-request(renew)包(广播包)请求使用过的IP地址。

DHCP服务器发出:DHCP-ACK/DHCP-NACK(该IP地址被占用)

假如收到NACK,则重复第一种场景操作。

DHCP-Release  DHCP客户端主动放弃ip地址,还回ip地址

租期————24h(华为设备)体现在offer里
T1时间————租期的百分之50---12h
T2时间————租期的百分之87.5---21h
到T1时间,DHCP客户端联系服务器发出:DHCP-request————单播包
DHCP服务器回复ACK.租期恢复24h
到T2时间,DHCP客户端会以广播包发出:DHCP-request
到租期结束,会释放掉IP重新获取
在客户端获得ip后会发送几次arp请求且目标是自己ip==》用来通知其他设备且检测冲突

路由器最适合充当DHCP服务器

路由器ip通常手动设定基本写死,自身不存在ip获取问题
同时对应多广播域有利于更多设备,辐射面广
访问网站的过程
  一.设备接入校园网,通过DHCP协议自动获取IP地址(或者手工获取IP地址)
        1.DHCP客户端,发送DHCP-discover包。

                SIP:0.0.0.0        DIP:255.255.255.255

                SMAC:自己的MAC地址        DMAC:F:F:F:F

        交换机的处理:交换机接收到数据帧后 记录源mac与接口的对应关系到MAC地址缓存表。然后查看DMAC地址,发现是广播包进行进行泛洪,发送给除数据帧来源接口外的所有接口。

        路由器的处理:此处路由器充当DHCP服务器,首先路由器收到交换机转发的数据帧,查看DMAC是全F的广播包,拆开2层查看3层内容。因为3层头部的目标IP地址,是首先广播地址,路由器将解三层封装。根据三层头部信息,上层协议字段,将解封装后的数据段交给UDP模块进行处理。(我们说路由器是三层设备,是根据路由器转发数据包来说的)。UDP根据目标端口号67,路由器将解封装后的DHCP-discover报文交给对应的DHCP服务进行处理。

        2.DHCP服务器发送 DHCP-OFFER包——单播/广播(华为以单播发送,思科以广播发送)

                SPORT:67        DPORT:68

                SIP:自己的IP地址        DIP:目标的IP(给予的IP地址,或者受限广播地址)

                SMAC:自己的MAC地址        DMAC:F:F:F:F

        3.DHCP客户端接收到DHCP-OFFER包后,进行反选环节,选择使用第一个到达的包携带的IP地址,发送DHCP-request包——广播包
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值