• 对TCP/IP协议的一些看法(6):ICMP协议


    今天是连续坚持的第六天写博客,给自己鼓励下,fighting!

    今天主要写下对IP层另一个比较重要的协议——ICMP协议的看法。ICMP全称为Internet control management protocol,即网络控制管理协议,其主要作用是向主机发送错误信息和一些控制信息。常见的错误信息包括网络不可达,主机不可达,路由不可用等。最常用的ICMP协议包括了ping和traceroute。以下图为例:

    在运行处输入cmd即可进入DOS界面。上面我来对主机10.13.22.232进行ping,由于与目标主机处于同一子网,可以看到目标主机进行了回应。一般windows和linux系统都显示4个回复信息,这个可以设置来改变。32字节表示报文的长度,ICMP协议是装载在IP报文中的,其头部包括IP抱头和ICMP报文头,后面才是ICMP数据。TTL表示生存时间,报文每经过一个路由器,其对应的TTL都要减1,直到为0后丢弃该报文。windows一般初始TTL为64,linux为255.

    traceroute与ping的原理类似,它类似于一种试探来建立连接。首先设TTL为1,这样经过一个路由器后就被抛弃。之后设为2,则经过两个路由器被丢弃,以此类推,直到设置某个值后刚好能连接目标主机,则实现了一条通信路径的建立。

    上述所说的ICMP差错报文在以下情况下不会产生:

    1.ICMP差错报文本身不产生ICMP差错报文,否则一直在网络中循环,浪费网络资源

    2.目的地址是多播或广播地址的IP数据包

    3.作为链路层广播的数据包

    4.不是IP分片的第一片

    5.源地址不是单个主机的数据包

    重要的几个ICMP差错报文包括:

    1.主机不可达,指路由器收到一份数据包但不能进行转发时产生

    2.端口不可达,目标端口与某个正在运行的进程不一样

    3.重定向报文,指IP数据包应该被送到另一个路由器,重定向可以让路由器建立更加完善的路由表

  • 相关阅读:
    Spring3.0 AOP 具体解释
    bcompare3+keygen
    解决git每次输入密码,设置gitlab、github默认push的用户名和密码
    15款免费WiFi入侵破解安全测试工具
    六款主流免费网络嗅探软件wireshark,tcpdump,dsniff,Ettercap,NetStumbler
    wan口mac=lan口mac加一,wlan是lan口mac加二
    MOUNT MACBOOK DISK (OSX / HFS+) ON UBUNTU 12.04 LTS WITH READ/WRITE
    /sbin/ifup: configuration for eth0 not found解决
    delete
    vbox安装mac os x
  • 原文地址:https://www.cnblogs.com/elninohjh/p/4227147.html
Copyright © 2020-2023  润新知