长春个人网站制作公司菏泽做企业网站
- 作者: 五速梦信息网
- 时间: 2026年03月21日 05:07
当前位置: 首页 > news >正文
长春个人网站制作公司,菏泽做企业网站,找人做网站怕侵权,文本编辑器 网站DHCP动态获取 IP 地址
我们的电脑通常都是通过 DHCP 动态获取 IP 地址#xff0c;大大省去了配 IP 信息繁琐的过程。 客户端首先发起 DHCP 发现报文#xff08;DHCP DISCOVER#xff09; 的 IP 数据报#xff0c;由于客户端没有 IP 地址#xff0c;也不知道 DHCP 服务器的…DHCP动态获取 IP 地址
我们的电脑通常都是通过 DHCP 动态获取 IP 地址大大省去了配 IP 信息繁琐的过程。 客户端首先发起 DHCP 发现报文DHCP DISCOVER 的 IP 数据报由于客户端没有 IP 地址也不知道 DHCP 服务器的地址所以使用的是 UDP 广播通信其使用的广播目的地址是 255.255.255.255端口 67 并且使用 0.0.0.0端口 68 作为源 IP 地址。DHCP 客户端将该 IP 数据报传递给链路层链路层然后将帧广播到所有的网络中设备。 DHCP 服务器收到 DHCP 发现报文时用 DHCP 提供报文DHCP OFFER 向客户端做出响应。该报文仍然使用 IP 广播地址 255.255.255.255该报文信息携带服务器提供可租约的 IP 地址、子网掩码、默认网关、DNS 服务器以及 IP 地址租用期。 客户端收到一个或多个服务器的 DHCP 提供报文后从中选择一个服务器并向选中的服务器发送 DHCP 请求报文DHCP REQUEST进行响应回显配置的参数。 最后服务端用 DHCP ACK 报文对 DHCP 请求报文进行响应应答所要求的参数。
一旦客户端收到 DHCP ACK 后交互便完成了并且客户端能够在租用期内使用 DHCP 服务器分配的 IP 地址。
如果租约的 DHCP IP 地址快期后客户端会向服务器发送 DHCP 请求报文 服务器如果同意继续租用则用 DHCP ACK 报文进行应答客户端就会延长租期。 服务器如果不同意继续租用则用 DHCP NACK 报文客户端就要停止使用租约的 IP 地址。
可以发现DHCP 交互中全程都是使用 UDP 广播通信。 那如果 DHCP 服务器和客户端不是在同一个局域网内路由器又不会转发广播包那不是每个网络都要配一个 DHCP 服务器 所以为了解决这一问题就出现了 DHCP 中继代理。有了 DHCP 中继代理以后对不同网段的 IP 地址分配也可以由一个 DHCP 服务器统一进行管理。 DHCP 客户端会向 DHCP 中继代理发送 DHCP 请求包而 DHCP 中继代理在收到这个广播包以后再以单播的形式发给 DHCP 服务器。 服务器端收到该包以后再向 DHCP 中继代理返回应答并由 DHCP 中继代理将此包广播给 DHCP 客户端 。
因此DHCP 服务器即使不在同一个链路上也可以实现统一分配和管理IP地址。 NAT网络地址转换
IPv4 的地址是非常紧缺的在前面我们也提到可以通过无分类地址来减缓 IPv4 地址耗尽的速度但是互联网的用户增速是非常惊人的所以 IPv4 地址依然有被耗尽的危险。
于是提出了一种网络地址转换 NAT 的方法再次缓解了 IPv4 地址耗尽的问题。
简单的来说 NAT 就是同个公司、家庭、教室内的主机对外部通信时把私有 IP 地址转换成公有 IP 地址。 NAPT 上图中那不是 N 个私有 IP 地址你就要 N 个公有 IP 地址 确实是普通的 NAT 转换没什么意义。
由于绝大多数的网络应用都是使用传输层协议 TCP 或 UDP 来传输数据的。
因此可以把 IP 地址 端口号一起进行转换。
这样就用一个全球 IP 地址就可以了这种转换技术就叫网络地址与端口转换 NAPT。 图中有两个客户端 192.168.1.10 和 192.168.1.11 同时与服务器 183.232.231.172 进行通信并且这两个客户端的本地端口都是 1025。
此时两个私有 IP 地址都转换 IP 地址为公有地址 120.229.175.121但是以不同的端口号作为区分。
于是生成一个 NAPT 路由器的转换表就可以正确地转换地址跟端口的组合令客户端 A、B 能同时与服务器之间进行通信。
这种转换表在 NAT 路由器上自动生成。例如在 TCP 的情况下建立 TCP 连接首次握手时的 SYN 包一经发出就会生成这个表。而后又随着收到关闭连接时发出 FIN 包的确认应答从表中被删除。
NAT 潜在的问题
由于 NAT/NAPT 都依赖于自己的转换表因此会有以下的问题 外部无法主动与 NAT 内部服务器建立连接因为 NAPT 转换表没有转换记录。 转换表的生成与转换操作都会产生性能开销。 通信过程中如果 NAT 路由器重启了所有的 TCP 连接都将被重置。
解决方案
解决的方法主要有两种方法。 第一种改用 IPv6
IPv6 可用范围非常大以至于每台设备都可以配置一个公有 IP 地址就不搞那么多花里胡哨的地址转换了但是 IPv6 普及速度还需要一些时间。 第二种 NAT 穿透技术
NAT 穿越技术拥有这样的功能它能够让网络应用程序主动发现自己位于 NAT 设备之后并且会主动获得 NAT 设备的公有 IP并为自己建立端口映射条目注意这些都是 NAT设备后的应用程序自动完成的。 说人话就是客户端主动从 NAT 设备获取公有 IP 地址然后自己建立端口映射条目然后用这个条目对外通信就不需要 NAT 设备来进行转换了。 ICMP互联网控制报文协议
网络包在复杂的网络传输环境里常常会遇到各种问题。
当遇到问题的时候总不能死个不明不白没头没脑的作风不是计算机网络的风格。所以需要传出消息报告遇到了什么问题这样才可以调整传输策略以此来控制整个局面。
ICMP 主要的功能包括确认 IP 包是否成功送达目标地址、报告发送过程中 IP 包被废弃的原因和改善网络设置等。 在 IP 通信中如果某个 IP 包因为某种原因未能达到目标地址那么具体的原因将封装为 ICMP 返回通知。 ICMP 的这种通知消息会使用 IP 进行发送 。
因此从路由器 2 返回的 ICMP 包会按照往常的路由控制先经过路由器 1 再转发给主机 A 。收到该 ICMP 包的主机 A 则分解 ICMP 的首部和数据域以后得知具体发生问题的原因。
ICMP 类型
ICMP 大致可以分为两大类 一类是用于诊断的查询消息也就是「查询报文类型」 另一类是通知出错原因的错误消息也就是「差错报文类型」 拓展ping —— 查询报文类型ICMP的使用
在日常生活或工作中我们在判断与对方网络是否畅通使用的最多的莫过于 ping 命令了。而ping 就是基于 ICMP 协议工作的 ping 命令执行的时候源主机首先会构建一个 ICMP 回送请求消息数据包。
ICMP 数据包内包含多个字段最重要的是两个 第一个是类型对于回送请求消息而言该字段为 8 另外一个是序号主要用于区分连续 ping 的时候发出的多个数据包。
每发出一个请求数据包序号会自动加 1。为了能够计算往返时间 RTT它会在报文的数据部分插入发送时间。 然后 ICMP 协议将这个数据包连同地址 192.168.1.2 一起交给 IP 层。IP 层以 192.168.1.2 作为目的地址本机 IP 地址作为源地址协议字段设置为 1 表示是 ICMP 协议再加上一些其他控制信息构建个 IP 数据包。 接下来需要加入 MAC 头。如果在本地 ARP 映射表中查找出 IP 地址 192.168.1.2 所对应的 MAC 地址则可以直接使用如果没有则需要发送 ARP 协议查询 MAC 地址获得 MAC 地址后由数据链路层构建一个数据帧目的地址是 IP 层传过来的 MAC 地址源地址则是本机的 MAC 地址还要附加上一些控制信息依据以太网的介质访问规则将它们传送出去。 主机 B 收到这个数据帧后先检查它的目的 MAC 地址和本机的 MAC 地址对比如符合则接收否则就丢弃。
接收后检查该数据帧将 IP 数据包从帧中提取出来交给本机的 IP 层。同样IP 层检查后将有用的信息提取后交给 ICMP 协议。
主机 B 会构建一个 ICMP 回送响应消息数据包回送响应数据包的类型字段为 0序号为接收到的请求数据包中的序号然后再发送出去给主机 A。 在规定的时候间内源主机如果没有接到 ICMP 的应答包则说明目标主机不可达如果接收到了 ICMP 回送响应消息则说明目标主机可达。
此时源主机会检查用当前时刻减去该数据包最初从源主机上发出的时刻就是 ICMP 数据包的时间延迟。
针对上面发送的事情总结成了如下图 当然这只是最简单的同一个局域网里面的情况。如果跨网段的话还会涉及网关的转发、路由器的转发等等。
但是对于 ICMP 的头来讲是没什么影响的。会影响的是根据目标 IP 地址选择路由的下一跳还有每经过一个路由器到达一个新的局域网需要换 MAC 头里面的 MAC 地址。
说了这么多可以看出 ping 这个程序是使用了 ICMP 里面的 ECHO REQUEST类型为 8 和 ECHO REPLY 类型为 0。 IGMP 因特网组管理协议 ICMP 跟 IGMP 是一点关系都没有的就好像周杰与周杰伦的区别 在前面我们知道了组播地址也就是 D 类地址既然是组播那就说明是只有一组的主机能收到数据包不在一组的主机不能收到数组包怎么管理是否是在一组呢那么就需要 IGMP 协议了。 IGMP 是因特网组管理协议工作在主机组播成员和最后一跳路由之间如上图中的蓝色部分。
IGMP 报文向路由器申请加入和退出组播组默认情况下路由器是不会转发组播包到连接中的主机除非主机通过 IGMP 加入到组播组主机申请加入到组播组时路由器就会记录 IGMP 路由器表路由器后续就会转发组播包到对应的主机了。
IGMP 工作机制
IGMP 分为了三个版本分别是IGMPv1、IGMPv2、IGMPv3。
接下来以 IGMPv2 作为例子说说常规查询与响应和离开组播组这两个工作机制。
常规查询与响应工作机制 路由器会周期性发送目的地址为 224.0.0.1表示同一网段内所有主机和路由器 IGMP 常规查询报文。主机1 和 主机 3 收到这个查询随后会启动「报告延迟计时器」计时器的时间是随机的通常是 0~10 秒计时器超时后主机就会发送 IGMP 成员关系报告报文源 IP 地址为自己主机的 IP 地址目的 IP 地址为组播地址。如果在定时器超时之前收到同一个组内的其他主机发送的成员关系报告报文则自己不再发送这样可以减少网络中多余的 IGMP 报文数量。路由器收到主机的成员关系报文后就会在 IGMP 路由表中加入该组播组后续网络中一旦该组播地址的数据到达路由器它会把数据包转发出去。
离开组播组工作机制
离开组播组的情况一网段中仍有该组播组 主机 1 要离开组 224.1.1.1发送 IGMPv2 离组报文报文的目的地址是 224.0.0.2表示发向网段内的所有路由器路由器 收到该报文后以 1 秒为间隔连续发送 IGMP 特定组查询报文共计发送 2 个以便确认该网络是否还有 224.1.1.1 组的其他成员。主机 3 仍然是组 224.1.1.1 的成员因此它立即响应这个特定组查询。路由器知道该网络中仍然存在该组播组的成员于是继续向该网络转发 224.1.1.1 的组播数据包。
离开组播组的情况二网段中没有该组播组 主机 1 要离开组播组 224.1.1.1发送 IGMP 离组报文。路由器收到该报文后以 1 秒为间隔连续发送 IGMP 特定组查询报文共计发送 2 个。此时在该网段内组 224.1.1.1 已经没有其他成员了因此没有主机响应这个查询。一定时间后路由器认为该网段中已经没有 224.1.1.1 组播组成员了将不会再向这个网段转发该组播地址的数据包。
- 上一篇: 长春seo网站排名优化泉州网站建设论坛
- 下一篇: 长春火车站到吉大二院网站上的缩略图怎么做清晰
相关文章
-
长春seo网站排名优化泉州网站建设论坛
长春seo网站排名优化泉州网站建设论坛
- 技术栈
- 2026年03月21日
-
长春cms建站快看点自媒体平台
长春cms建站快看点自媒体平台
- 技术栈
- 2026年03月21日
-
长安镇网站建设单位网站建设必要性
长安镇网站建设单位网站建设必要性
- 技术栈
- 2026年03月21日
-
长春火车站到吉大二院网站上的缩略图怎么做清晰
长春火车站到吉大二院网站上的缩略图怎么做清晰
- 技术栈
- 2026年03月21日
-
长春火车站地下停车场收费标准全国十大装修公司排行榜
长春火车站地下停车场收费标准全国十大装修公司排行榜
- 技术栈
- 2026年03月21日
-
长春火车站地址网站风格和功能设计方案
长春火车站地址网站风格和功能设计方案
- 技术栈
- 2026年03月21日
