• IP协议详解


    目录

    一、IP协议头格式

    二、IP地址、Mac地址

    2.1 IPv4

    2.2 IPv6

    2.3 Mac地址

    三、IP路由转发

    四、IP分包及组包


    一、IP协议头格式

    IP协议是网络层的重点协议。这里主要列举一下16位标识与3位标志以及13位片偏移。

    16位标识(id):唯一的标识主机发送的报文。如果IP报文在数据链路层被分片了,那么每
    一个片里面的这个id都是相同的。
    3位标志字段:第一位保留(保留的意思是现在不用,但是还没想好说不定以后要用到)。第
    二位置为1表示禁止分片,这时候如果报文长度超过MTU,IP模块就会丢弃报文。第三位表
    示"更多分片",如果分片了的话,最后一个分片置为1,其他是0。类似于一个结束标记。
    13位分片偏移(framegament offset):是分片相对于原始IP报文开始处的偏移。其实就是
    在表示当前分片在原报文中处在哪个位置。实际偏移的字节数是这个值 * 8 得到的。因此,
    除了最后一个报文之外,其他报文的长度必须是8的整数倍(否则报文就不连续了)。

    二、IP地址、Mac地址

    IP地址组成

    IP地址的组成分为两部分,网络号和主机号

    • 网络号:标识网段,保证相互连接的两个网段具有不同的标识;
    • 主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号;

    通过合理设置网络号和主机号,就可以保证在相互连接的网络中,每台主机的IP地址都是唯一的

    分类

    将IP地址分为五类

    子网掩码

    子网掩码格式和IP地址一样,也是一个32位的二进制数。其中左边是网络位,用二进制数字“1”表示,1的数目等于网络位的长度;右边是主机位,用二进制数字“0”表示,0的数目等于主机位的长度。子网掩码也可以使用二进制所有高位1相加的数值来表示,如以上子网掩码也可以表示为24。

    2.1 IPv4

    由于IPv4的局限性,导致ip地址在分配的过程中出现不足的现象。为了解决IPv4的局限性,采取NAT+动态分配的机制解决IPv4地址不足的现象。

    这里的动态分配涉及到内网以及外网。内网是局域网组成的,在同一个局域网中动态分配的ip地址不能重复,但是在不同的局域网中是允许存在相同的IP的。外网IP是唯一表示,不能出现相同的外网IP。

    • 外网设备可以不需要任何的NAT与其他的外网设备进行通信。
    • 内网设备不能访问其他的内网设备
    • 外网设备不能访问内网设备
    • 内网设备可以访问外网设备

    2.2 IPv6

    这里不对IPv6做过多的介绍,因为现在的IPv6目前没有全面的启用,IPv6相对于IPv4来说只是多了许多IP地址而已。

    2.3 Mac地址

    Mac地址这里主要就是与IP地址进行一个对比,由于Mac地址是6字节48位所以这里不会有Mac地址不足的现象,所以Mac能够直接的决定电脑的网卡号,而且每个电脑有且只有一个Mac地址。

    三、IP路由转发

    IP协议的一个核心任务是数据报的路由,即决定发送数据报到目标机器的路径。

    从右往左分析上图,当IP模块接收到来自数据链路层的IP数据报是,它首先对该数据报的头部做CRC校验,确认无误之后就分析其头部的具体信息。

    四、IP分包及组包

    由于在数据链路层承载的数据量是一定的,所以当超出范围的时候就会进行分包和组包。

    分包:利用16位标识将分包的数据进行同一标识

    组包:利用13位的片偏移将分包的顺序确定好。同时利用3位标志确定是否是分包,以及确定分包中的最后一个包。

  • 相关阅读:
    阿斯达年代记三强争霸服务器没反应 安装中发生错误的解决方法
    如何在一台电脑上运行两个及以上Tomcat服务器
    河南省工业互联网大赛(复赛) wp
    LibTorch | 使用神经网络求解一维稳态对流扩散方程
    文件系统实现
    一文搞懂泛型——泛型简介/优点/上界/通配符
    Element Plus中Cascader 级联选择器(选择任意一级选项 - 更改下拉框选中方式)
    清空flowable的表定义的相关表
    Gstreamer应用开发实战指南(五)
    探索VR数字展厅,对企业未来展示新模式
  • 原文地址:https://blog.csdn.net/x2656271356/article/details/132830573