计算机网络读书笔记——网络层(2)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gc348342215/article/details/78453082

ICMP协议

ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层(TCP/UDP)使用。一些ICMP报文把差错报文返回给用户进程。ICMP协议可以被认为用于排除网络故障的协议。ICMP报文是在IP数据报内部被传输的:
1.jpg

ICMP所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同。ICMP报文的格式如下:
2.jpg

使用ICMP协议的ping程序
ping命令可以估算网络带宽是否畅通(即测试目的主机是否可达),ping程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答,我们称发送回显请求的ping程序为客户,而称被ping的主机为服务器。ICMP回显请求和回显应答报文格式如下:
3.png

TTL(time to live)
参考资料:
https://www.wikiwand.com/zh-hans/%E5%AD%98%E6%B4%BB%E6%99%82%E9%96%93

linux系统下的TTL默认为64
windows系统下的TTL默认为128
UNIX系统下的TTL默认为255

命令:

ping -l 200 [ip address] //发送数据大小为200字节的ICMP数据包
ping [ip address] -i 1   //设置本主机的TTL为1,一般情况下ping某主机时会提示TTL耗尽

PC1<–>[路由器1]<–>[路由器2]<–>PC2
若路由器1限制PC1向外发起连接,但是不限制外部向PC1发起连接,则会有如下情况和提示:
1. 若PC1向PC2发送ICMP报文(ping命令),则请求不可达。
2. 若PC2向PC1发送ICMP报文,能发过去ICMP报文,但是PC1回发时PC2接收不到回发的ICMP,则请求超时。

猜你喜欢

转载自blog.csdn.net/gc348342215/article/details/78453082