IP层关联协议之ICMP

                                              ICMP

     ICMP是IP层协议(曾经被面试官问到的问题我不知道,个哈哈哈哈),他的使用是为了有效地转发数据报和提高交付成功的机会。ICMP作为IP层数据报的数据,加上数据报的首部,组成ICMP报文发送出去。ICMP允许主机或者路由器报告差错情况和提供有关异常情况的报告。

    

    ICMP报文的种类:ICMP差错报告报文和ICMP询问报

    

    ICMP差错报告报文有五种:

    (1)终点不可达当路由器或者主机不能交付数据报时就向源点发送终点不可达报文

    (2)源点抑制当路由器或者主机由于拥塞而丢弃数据报的时候就先源点发送源点抑制报文,使源点知道应该降低报文的发送速率。

    (3)时间超时当路由器收到生存时间为0的数据报的时候除丢弃该数据报外,就向源点发送时间超时报文。当终点在预先规定的时间内不能收到一个数据包的全部数据报片段时就把已经收到的所有数据报丢弃,并向源点发送时间超时报文

    (4)参数问题当路由器或者主机收到的数据报中的有的字段不正确时就丢弃该数据报,并向源点发送参数问题报文。

    (5)改变路由路由器把改变路由的报文发送给主机,让主机知道下次应该将数据报发送到另外的路由器。

      一般连接在一个路由器上的主机数很多,这些主机不和路由器定期交换路由信息。在主机启动时都有一个默认路由IP地址。不管数据发送到哪儿都先发到这个路由器,这个路由器通过和其他路由交换信息而直到每一个数据报的最佳路由。当默认路由发现主机发往某个目的地址的数据报的最佳路径不应该经过默认路由而是另一个路由器时他就向主机发送路由改变报文。这时候主机中就会增加一条路由信息。

       ICMP数据字段

      

       提取收到数据报的前8个字节是为了得到运输层的端口号以及运输报文的发送序号。这些信息对源点通知高层协议有用。

       有以下几种情况不应发送ICMP差错报告报文:

      (1)对ICMP差错报文报文不应再发送差错报告报文。

      (2)对第一个分片的数据报的所有后续数据报分片均不发送ICMP差错报告报文

      (3)对具有多播地址的数据报都不发送ICMP差错报告报文

      (4)对具有特殊地址的数据报不发送ICMP差错报告报文。

        常用的ICMP询问报文:

       (1)回送请求和回答

               ICMP回送请求报文是由主机或者路由器向一个特定的目的主机发送的询问。收到此报文的主机必须给源主机或者路由器发送ICMP回送回答报文。这种询问报文是用来测试目的站点是否可达以及了解其相关状态

       (2)时间戳请求和回答

               请求某个主机或者路由器回答当前的日期和时间。用来进行时钟同步和测量时间

      

       

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值