12、TCP、IP体系---ICMP与DHCP协议

一、ICMP网际控制报文协议

1、ICMP报文格式

在这里插入图片描述

2、ICMP报文种类

  • ICMP报文分为两种,即ICMP差错报告报文ICMP询问报文
  • ICMP 报文的前 4 个字节是统一的格式,共有三个字段:即类型、代码和检验和。接着的 4 个字节的内容与 ICMP 的类型有关。

3、五种ICMP差错报告报文

  • 终点不可达:当路由器或者主机不能交付数据报时,就向源点发送终点不可达报文
  • 源点抑制:当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢
  • 时间超过:当路由器收到生存时间为零的数据报时,除丢弃该数据报外,还要向源点发送时间超过报文
  • 参数问题:当路由器或者目的主机收到的数据报的首部中有的字段的值不正确时,丢弃数据报,并向源点发送参数问题报文
  • 改变路由:路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器

ICMP差错报文的数据字段内容:

在这里插入图片描述

不发送ICMP差错报文的几种况:

  • 对 ICMP 差错报告报文不再发送 ICMP 差错报告报文。
  • 对第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文。
  • 对具有特殊地址(如127.0.0.0 或 0.0.0.0)的数据报不发送 ICMP 差错报告报文。

4、 两种ICMP询问报文

  • 回送请求和回答报文:当路由器或主机向一个特定的目的主机发出回送请求报文,收到此报文的主机必须给源主机或者路由器发送ICMP回送回答报文。这种报文用来测试目的站是否可达。
  • 时间戳请求和回答报文:是请路由器或者主机回答当前的日期和时间,该报文可用来进行时钟同步和测量时间。

二、DHCP动态主机配置协议

**百度词条介绍:**https://baike.baidu.com/item/DHCP/218195?fromtitle=DHCP%E5%8D%8F%E8%AE%AE&fromid=1989741&fr=aladdin

1、简介

DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。

所具有的功能:

  • 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。
  • DHCP应当可以给用户分配永久固定的IP地址
  • DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)
  • DHCP服务器应当向现有的BOOTP客户端提供服务

三种IP分配机制:

  • 自动分配: DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。
  • 动态分配: DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用
  • 手工分配: 客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。

2、DHCP数据包格式

img

  • OP: 若是 client 送给 server 的封包,设为 1 ,反向为 2。
  • HTYPE: 硬件类别,Ethernet 为 1 。
  • HLEN: 硬件地址长度, Ethernet 为 6 。
  • HOPS:封包需经过 router 传送,每站加 1 ,若在同一网内,为 0。
  • TRANSACTION ID: DHCP 请求 时产生的数值,以作 DHCP响应时的依据。
  • **SECONDS: **Client 端启动时间(秒)。
  • FLAGS: 从0 到 15 共 16 bits ,最左一 bit 为 1 时表示 server 将以广播方式传送封包给 client ,其余尚未使用。
  • ciaddr: 要是 client 端想继续使用之前取得之 IP 地址,则列于这里。
  • yiaddr: 从 server 送回 client 之 DHCP OFFER 与 DHCPACK封包中,此栏填写分配给 client 的 IP 地址。
  • siaddr: 若 client 需要透过网络开机,从 server 送出之 DHCP OFFER、DHCPACK、DHCPNACK封包中,此栏填写开机程序代码所在 server 之地址。
  • giaddr: 若需跨网域进行 DHCP 发放,此栏为 relay agent 的地址,否则为 0。
  • chaddr: Client 之硬件地址。
  • sname: Server 之名称字符串,以 0x00 结尾。
  • file: 若 client 需要透过网络开机,此栏将指出开机程序名称,稍后以 TFTP 传送。

3、工作原理

DHCP协议采用UDP作为传输协议,主机发送请求消息到DHCP服务器的67号端口,DHCP服务器回应应答消息给主机的68号端口。

工作流程:

  • DHCP Client以广播的方式发出DHCP Discover报文。
  • 所有的DHCP Server都能够接收到DHCP Client发送的DHCP Discover报文,所有的DHCP Server都会给出响应,向DHCP Client发送一个DHCP Offer报文。 报文中的option字段会存放自己的IP地址以便于区分不同的DHCP server。
  • DHCP Client只能处理其中的一个DHCP Offer报文,一般的原则是DHCP Client处理最先收到DHCP Offer报文。 DHCP Client会发出一个广播的DHCP Request报文,在选项字段中会加入选中的DHCP Server的IP地址和需要的IP地址。
  • DHCP Server收到DHCP Request报文后,判断选项字段中的IP地址是否与自己的地址相同。如果不相同,DHCP Server不做任何处理只清除相应IP地址分配记录;如果相同,DHCP Server就会向DHCP Client响应一个DHCP ACK报文,并在选项字段中增加IP地址的使用租期信息。
  • DHCP Client接收到DHCP ACK报文后,检查DHCP Server分配的IP地址是否能够使用。如果可以使用,则DHCP Client成功获得IP地址并根据IP地址使用租期自动启动续延过程;如果DHCP Client发现分配的IP地址已经被使用,则DHCP Client向DHCPServer发出DHCP Decline报文,通知DHCP Server禁用这个IP地址,然后DHCP Client开始新的地址申请过程 。
  • DHCP Client在成功获取IP地址后,随时可以通过发送DHCP Release报文释放自己的IP地址,DHCP Server收到DHCP Release报文后,会回收相应的IP地址并重新分配。
    Client在成功获取IP地址后,随时可以通过发送DHCP Release报文释放自己的IP地址,DHCP Server收到DHCP Release报文后,会回收相应的IP地址并重新分配。
  • 在使用租期超过50%时刻处,DHCP Client会以单播形式向DHCP Server发送DHCPRequest报文来续租IP地址。如果DHCP Client成功收到DHCP Server发送的DHCP ACK报文,则按相应时间延长IP地址租期;如果没有收到DHCP Server发送的DHCP ACK报文,则DHCP Client继续使用这个IP地址。

猜你喜欢

转载自blog.csdn.net/qq_45590334/article/details/113947588