计算机网络七层xie,关于网络传输协议:计算机网络基础七网络层ICMP协议

文章内容概览

ICMP协定详解

网际管制报文协定(Internet Control Message Protocol)

该协定次要是用于辅助IP协定进行数据传输的

ICMP协定能够报告错误信息或者异常情况

ICMP的报文数据是通过封装在IP数据报中进行数据传输的。ICMP的报文分为两个局部:ICMP报文首部和ICMP报文数据

ICMP报文首部

类型:次要指的是ICMP报文的品种(次要有两大类,后边会进行阐明)

代码:次要是指,不同的ICMP报文品种具体有哪些谬误

校验和:次要是校验报文在整个传输中,是否存在谬误

在前边介绍IP协定首部中,有一个8位协定,它表明的是IP数据所携带的具体数据是什么协定的。ICMP的字段值为1

如果IP协定传输的数据是ICMP数据的话,那么,将会在协定中写入1

ICMP协定报文的两个品种

过错报告报文

网络不可达:IP地址能够示意一个网络,当主机号全为0时就示意的是某一个网络,如果整个网络不可达,就会报告一个类型为3,具体代码为0的ICMP协定报文

主机不可达:如果计算机A要和计算机B进行通信,而计算机B是关机的状态,就会呈现主机不可达的状况

网络重定向:传输给某一个网络的数据,可能不能走该网络了,须要进行重定向

主机重定向:如果发送的报文,主机告知不能解决,请发送到另外一个主机

询问报文

回送申请或应答:次要是验证网络是否通。假如计算机A要和计算机B进行通信,A会发送一个空的数据给B,如果B收到,就给一个回应

工夫戳申请或应答:当须要进行工夫同步时,会用到这个

ICMP协定的利用

Ping利用

在前边的文章中有应用到ping命令来查看网络的响应工夫和TTL。这部分次要是介绍ping的原理是什么

ping利用次要是应用ICMP的询问报文,它会发送回送申请或应答类型的报文。当应用ping命令的时候,它首先会组装一个IP协定的报文,而后在IP的数据报中组装ICMP的询问报文,而后通过数据链路层发送进来,这个就是ping利用的原理

通常咱们会应用ping命令来查看本地的网络是否通,或者网络品质是怎么样的。平时在家中,如何呈现网络故障,咱们也会应用ping命令来进行排查

第一步会先ping本地回环地址127.0.0.1(如果没有返回,阐明协定栈有问题,这个时候可能须要重装系统,或重新安装协定栈)

如果上一步失常返回,则ping网关地址(也就是路由器地址)。如果计算机是处于内网的话,个别就是ping 192.168.0.1或者ping 192.168.1.1。如果上一步ping网关也是通的,阐明本机到路由器是通的,如果不通,阐明网线或者wifi是有问题的

如果ping网关是通的,则ping远端地址(比方百度)。如果不通,则阐明在你家到ISP之间网络是故障的,这个时候就须要分割电信或挪动或联通

Traceroute利用

Traceroute能够探测IP数据报在网络中走的门路,在IP协定详解这篇文章中,有介绍到计算机是连贯在虚构互联网络中的,咱们并不关怀数据报在网络中通过了哪些门路。然而,如果须要对网络故障进行排查的话,Traceroute利用能够提供更高级的性能,使咱们更理解网络是怎么样的

Traceroute利用原理

在前边介绍IP首部时,首部里边有一个TTL,表明IP数据报文在网络中的寿命,每通过一个设施,TTL减1,当TTL为0时,网络设备必须抛弃该报文

当TTL为0时,网络设备必须抛弃该报文。然而,并没有通知抛弃的时候应该怎么解决。理解了ICMP报文之后能够晓得,如果网络设备要抛弃报文,将会发送一个ICMP起点不可达过错报文。也就是说,它会报告一个谬误,通知源端主机,报文传输产生了谬误,这样源主机才会察觉到问题。下边是一个例子

借助前边用到的一个图,该图批示了从计算机A到计算机B的网络走向,前边的文章中提到,数据报文是一跳一跳的传输的,因而它会先后跳到中型网络=》大型网络=》中型网络=》小型网络=》计算机B。

Traceroute利用奇妙的利用了ICMP过错不可达报文的作用,为了探测数据报走过的门路,它首先会封装一个TTL为1的IP报文。在上图中,计算机A发送了一个TTL为1的报文之后,达到中型网络之后就会发现TTL为0了,此时就会往源机器(也就是A)收回一个ICMP过错不可达报文。此时,计算机A会记录该中型网络的IP。此时Traceroute会再封装一个TTL为2的申请报文,当数据达到大型网络之后,TTL为0了。大型网络会抛弃该报文,并且向源机器收回一个ICMP过错不可达报文。此时计算机A又会记录大型网络的IP。TTL会顺次的减少,直到收到了失常的回应,示意说计算机A发送的报文,曾经被B收到了。此时,计算机A曾经收到了所有的门路机器的信息,此时就能够输入数据报在网络中走过的门路了

因而,Traceroute利用奇妙的利用了ICMP过错不可达报文的作用,每次将TTL加1,直到达到指标机器,记录通过的每一个机器的IP,因而来获取门路。这就是Traceroute利用的原理

看一波实际操作,在windows中能够应用tracert+域名/IP的命令来查看输入。Mac中有自带的工具能够应用

首先是能够看到百度的地址为:182.61.200.7。而后packets下边第一跳就是我的内网路由器地址192.168.0.1。第二跳来到的是113.45.64.1,这个应该就是小区的内网IP。后边的每一跳所通过的IP,能够间接在百度上搜一下是哪里的IP

如果想看到更加具体的跨省门路,能够追踪拜访github.com,因为这个服务器在美国,所以会比较慢

在疾速变动的技术中寻找不变,才是一个技术人的外围竞争力。知行合一,实践联合实际

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值