• ICMP 概念


    前言

    打算从新整理网络这一块,那么我先把概念整理下来。

    正文

    ICMP是ip的一个组成。他传递差错报文以及其他需要注意的信息。主要用于反馈一些网络传输的问题。因为ip协议很容易丢包,那么icmp可以告诉我们的进程到底为什么丢。

    然后再细看一下icmp内部:

    8位类型表示什么类型的icmp。

    然后代码位是在前面类型的细分。

    判断是什么样的icmp,需要去查询icmp表。

    icmp 有两种报文,一种是查询类,比如说ping就是查询类,判断有没有通。

    那么icmp包括什么内容呢?icmp包括原来发送包的ip首部和ip首部后面的8个字节。

    ip首部是为了告诉到底是哪个包出现问题了,然后8个字节是因为tcp或者udp,他们的前面8个字节存放了他们应用程序端口的信息,这个时候操作系统才能给那个应用程序去处理。

    icmp什么时候不会产生差错报文?

    1.icmp报文如果出错了不会产生差错报文,所以不要完全指望icmp一定会给我们写的程序信息。

    2.目的地址是广播地址。

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

    4.不能作为ip的第一分片。因为如果不是ip的第一分片,里面是没有端口号的,那么发给原主机没有用。

    5.源地址不能是本身主机。

    然后后面16位是验证icmp有没有损失,这个校验损失不仅校验头部,同样校验数据,和ip协议那个16位不同,ip协议只校验头部有没有丢。

    好的,看个例子吧。

    上面类型是3,代码类型是3。类型是3是不可达,代码类型是端口不可达,事实上你查表即可。

    看下icmp里面的内容是什么。

    上面包含了原来发送的ip头部和udp的端口号。

    icmp就是这么回事,在工作中我们多用用查查自然就明白了。

  • 相关阅读:
    c语言学习指针变量
    SQL字符串函数
    [转]HttpWebRequest使用注意(发生阻塞的解决办法)
    Image.FormFile的锁文件解决
    不联网在win8安装framework3.5
    metro app损坏,修复以及商店速度慢的解决方法
    关于C#使用来电通的来电通内部原理浅析
    winform模拟qq聊天界面的小功能textbox1输入自动跳到textbox2
    C#下的路由器后台登录
    dropbox文件夹路径丢失变回默认文件的解决方法
  • 原文地址:https://www.cnblogs.com/aoximin/p/13381644.html
Copyright © 2020-2023  润新知