CN-Week8-Class

通过DHCP动态分配IP地址过程中需要交换哪些DHCP报文?这些报文直接封装到哪个协议的数据包中?封装这些报文的IP数据包的目的IP是什么?为什么?
在DHCP动态分配IP地址过程中,需要交换以下几种DHCP报文:
- DHCP发现报文(DHCP Discover):客户端发送此报文以发现可用的DHCP服务器。
- DHCP提供报文(DHCP Offer):DHCP服务器在收到DHCP发现报文后,向客户端发送此报文,提供可用的IP地址租约。
- DHCP请求报文(DHCP Request):客户端在收到DHCP提供报文后,向选定的DHCP服务器发送此报文,请求分配给自己的IP地址。
- DHCP确认报文(DHCP Acknowledgement):DHCP服务器在收到DHCP请求报文后,向客户端发送此报文,确认分配给客户端的IP地址租约。
这些DHCP报文被封装在IP数据包中,使用的是UDP协议。UDP协议位于IP协议之上,为DHCP报文提供可靠的数据传输。
封装这些DHCP报文的IP数据包的目的IP是广播地址(255.255.255.255),因为客户端在初始化阶段没有分配的IP地址,所以只能使用广播地址发送DHCP报文,以便DHCP服务器能够接收并回复。通过使用广播地址,确保DHCP服务器能够接收到相应的报文,进而进行IP地址的分配和交换。
一个路由器在转发IP分组的时候IP分组的哪些字段会发生修改?如何修改?
在转发IP分组时,路由器会根据目标IP地址和路由表进行转发决策,并且可能会修改IP分组的一些字段。被修改的字段包括:
- TTL字段:TTL(Time to Live)字段表示IP分组在网络中能够经过的最大跳数,每经过一个路由器,TTL字段的值会减一。路由器在转发IP分组时,会将TTL减一,并重新计算校验和。
- 源IP地址字段:通常情况下,路由器不会修改源IP地址字段,它会保留原始的源IP地址。
- 目标IP地址字段:路由器会根据目标IP地址进行转发决策,并将目标IP地址字段更新为下一跳路由器的IP地址。
- 校验和字段:路由器在转发IP分组时,会重新计算校验和字段,以保证数据完整性。
以上是常见的修改字段的情况,实际上,路由器在转发IP分组时可能还会修改其他字段,具体修改方式取决于路由器的配置和网络环境。

如果两个均使用私有IP地址的主机需要进行P2P通信?可能会遇到什么问题?怎么解决?
如果两个均使用私有IP地址的主机需要进行P2P通信,可能会遇到以下问题:
- NAT(网络地址转换)阻止了直接的通信:私有IP地址不能在Internet上直接路由。当两个主机试图通过NAT网关进行通信时,通常会被NAT阻止。
- 防火墙阻塞了P2P连接:防火墙可能会屏蔽P2P连接,以保护网络的安全性。
为了解决这些问题,可以采取以下方法:
- 使用UPnP(通用即插即用):通过启用UPnP功能,可以自动配置NAT设备,允许P2P通信。
- 使用端口映射:将P2P应用程序使用的端口映射到NAT设备上。这样,P2P通信的数据包就可以正确地路由到私有IP地址的主机。
- 使用中继服务器:如果两个主机无法直接通信,可以借助第三方中继服务器来中转通信。中继服务器将两个主机之间的数据包进行转发,使得通信得以建立。
- 穿越防火墙:使用一些特殊技术和协议,如STUN、TURN和ICE等,可以在防火墙后建立P2P连接,使得私有IP地址的主机能够直接通信。
请注意,每种方法的适用性和实施方式可能因网络环境和设备配置而异。具体的实施需要根据实际情况进行调整。
NAT穿透问题
一定会有在外面有公网地址,在支持NAT的另一端,这时候需要转换。但是这是一个一对多的问题,因为私网IP是可以重复的,所以需要端口来辅助完成区别。静态配置:端口映射。
某校园网有两个局域网,通过路由器R1/R2/R3互联之后接入Internet,S1和S2为以太网交换机,局域网采用静态IP地址配置。
- 为了让H2和H3能够访问Web服务器,R2需要进行什么配置?
可以利用ICMP协议实现哪些网络监测功能?怎么实现?
ICMP协议可以实现以下网络监测功能:
Ping(网络连通性测试):使用ICMP Echo请求消息来检测目标主机是否在线。Ping命令发送ICMP Echo请求消息到目标主机,目标主机接收到请求后返回ICMP Echo应答消息。
Traceroute(路径追踪):通过使用ICMP的Time-to-Live(TTL)字段,从源主机向目标主机发送一系列的UDP数据包。每个数据包在传输过程中的路由器都会将TTL减少,直到它达到0并被丢弃。源主机通过检测收到的ICMP TTL超时消息来确定数据包传输路径。
ICMP Jitter(延迟测量):利用ICMP消息的传输延迟来测量网络性能。通过发送ICMP Echo请求消息并记录请求发送和接收之间的时间差来获取延迟信息。
实现上述功能的方法如下:
Ping:使用ping命令或编写程序发送ICMP Echo请求消息,并接收目标主机的ICMP Echo应答消息。
Traceroute:使用traceroute命令或编写程序发送一系列的UDP数据包,并监听接收到的ICMP TTL超时消息,记录路由路径。
ICMP Jitter:通过编写程序发送ICMP Echo请求消息,并记录请求发送和接收之间的时间差,计算延迟值。
参考来源:
距离向量路由算法可能产生什么问题,怎么会发生这样的问题?怎么消除这个问题?
- 标题: CN-Week8-Class
- 作者: Molaters
- 创建于 : 2023-11-24 10:14:50
- 更新于 : 2023-10-19 11:38:14
- 链接: https://molaters.github.io/2023/11/24/计算机网络/CN-Week8-Class/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。