IPv4基础知识

IPv4基础知识

IPv4地址

IPv4地址长度32位,四字节。IPv4地址包含网络号和主机号。

  • 网络号:唯一的标识了一条物理链路或逻辑链路,对于该链路相连的所有设备来说网络号部分是共同的。
  • 主机号:唯一标识了该链路上连接的具体设备。

1.按照主机数量分类

大型网络 A类网络 包含大量主机的网络。大型网络数量少
中型网络 B类网络 包含中等主机的网络。中型网络数量中等
小型网络 C类网络 包含少量主机的网络。小型网络数量多

A类地址—-首个八位组第一位总是被设置为0。0被作为缺省地址部分,127被保留为内部回送地址。—十进制范围1~126.

B类地址—-总是把左边前两位设置为01。—十进制范围128~191

C类地址-总是把左边前三位设置为110。—十进制范围192~223

保留地址包括:

10.0.0.0-10.255.255.255

172.16.0.0-172.31.255.255

192.168.0.0-192.168.255.255

在这里插入图片描述

2.地址掩码

地址掩码:表示整个数据链路的地址(其实就是网络号)

在这里插入图片描述

对于每一位IPv4地址位,设备都拿它与地址掩码的对应位进行布尔(AND 与)运算。通过向接口分配地址172.16.1.1 和掩码255.255.0.0.设备将会知道接口属于172.16.0.0.

3.子网和子网掩码

每个数据链路都必须有一个唯一的地址。所以用尽所有的IPv4地址,也只能给少于1700万个数据链路分配地址。

假如分配给网络的地址为B类地址172.21.0.0。五个数据链路将主机和路由器互联起来。将地址掩码设置为24位,被扩展了8位。

现在IPv4地址包括:网络部分,子网部分,主机部分。地址掩码变为子网掩码。

不是所有路由选择协议都支持子网地址。一些协议不能区别全0子网和主网络号,例如子网0 172.21.0.0 和主网IP地址 172.21.0.0

有类别路由选择协议也不能区分全1子网的广播地址和一个所有子网的广播地址。例如:全1子网172.21.255.0其广播地址172.21.255.255,;但是这也是主网172.21.0.0的所有子网上所有主机的广播地址。

子网划分正确表述“一个使用8位进行子网划分的B类地址”or“带有24位掩码的B类地址”

4.打破八位组界线

每次可以借任意位成为子网

在这里插入图片描述

5.IPv4报文

在这里插入图片描述

  • version—–指明IP版本号为4.这个字段长度为4位
  • Internet Header Length—指明在IPv4包头中以4字节为单位的块的数量。这个字段的长度是4位。因为一个IPv4报头的最小长度是20字节,所以IHL字段对的最小值为5.IPv4选项可以通过增加4字节来扩展最小的IPv4报头的长度。如果一个IPv4选项没有用完IPv4选项字段中所有的4个字节,剩下的字节将填充为0,以使得整个IPv4报头保持32位(4字节)的整数倍。当这个字段为最大值0xF时,IPv4报头包括了选项的最大长度是60(15×4)。
  • Type of service——指明了这个包在IPv4网络上通过路由器传输时,希望得到的服务类型。这个字段的长度为8位,它包含了优先、延迟、吞吐量和可靠性特征。
  • Total Length—–指明了IPv4包的全部长度(IPv4报头和IPv4有效载荷)并且不包括链路层的帧。这个字段的长度是16位,它标明了IPv4包的最大长度是65535字节。
  • Identification—–识别特殊的IPv4包。这个字段的长度是16位。识别字段在IPv4包的远端是可以选择的。如果IPv4包是分割开的,那么所有分片中将保留识别字段以便目的节点能够重新组装这些分片。
  • Flags—–标志用在分割处理时。这个字段的长度是3位,然而只有其中两位为当前使用所定义。有两个标志—–一个指明了IPv4包是否被分割,另一个指明了是否还有更多的分片在当前帧之后。
  • fragment offset——指明了分片相对于最初的IPv4有效载荷中偏移的位置。这个字段的长度是13位。
  • Time to Live—–指明了IPv4包在被丢弃之前能够通过的最大连接数。这个字段的长度是8位。生存期字段被用来作为时间计数器,根据消耗的TTL一个IPv4路由器确定了IPv4包向前传送要求的必要时间(秒)。q当TTL等于0时一个ICMP超时( Time Expired)报文将被传送到源IPv4地址,并且这个包会被丢弃。
  • Protocol——指明了高层协议。这个字段是8位。例如TCp使用的协议为6,UDP使用的协议为17,ICMP使用的协议时1.Protocol字段是用来把一个IPv4包进行多路分解到高层协议。
  • Header checksum——提供了只是对于IPv4头部的校验。这个字段的长度为16位。IPv4的有效载荷不包括这个校验计算作为有效载荷,他通常是包含自己的校验。每个IPv4节点接受到IPv4就检查其IPv4头部校验,如果校验检查失败就把这个IPv4包丢弃。当路由器向前传送一个IPv4包就一定会消耗TTL。因此在源站和目的站之间的每一跳,他头部校验都会被重新计算一次。
  • Source Address——-保存源主机的IPv4地址。32位
  • Destination Address—–保存目的端主机的IPv4地址。32位
    dress——-保存源主机的IPv4地址。32位
  • Destination Address—–保存目的端主机的IPv4地址。32位
  • Options——保存一个或者更多的IPv4选项。这个字段的长度是32位的倍数。如果IPv4的选项没有用到32位,必须将其填充到32位,以保持IPv4头是4字节块的整数倍,以便Internet Header Length字段对其进行说明。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100128.html原文链接:https://javaforall.net

(0)
上一篇 2021年4月14日 上午8:00
下一篇 2021年4月14日 下午12:00


相关推荐

  • python实现图书管理系统(课设)

    python实现图书管理系统(课设)图书管理系统图书管理系统某图书馆所藏图书如表 1 所示 书号 书名 出版社 作者 价格 库存 10001 C 语言程序设计 清华大学出版社 张三 51

    2026年3月19日
    1
  • linux rsyslog配置_syslog配置

    linux rsyslog配置_syslog配置在centos7中,默认的日志系统是rsyslog,它是一个类unix计算机系统上使用的开源工具,用于在ip网络中转发日志信息。rsyslog采用模块化设计,是syslog的替代品。rsyslog具有如下特点:实现了基本的syslog协议。直接兼容syslogd的syslog.conf配置文件在同一台机器上支持多个rsyslogd进程丰富的过滤功能,可将消息过滤后再转发灵活的配置选项,配置文件中可…

    2026年3月9日
    7
  • ds1302实时时钟lcd1602显示_电子时钟单片机

    ds1302实时时钟lcd1602显示_电子时钟单片机DS1302时钟模块LCD1602显示DS1302时钟模块相关介绍基本介绍时序图DS1302时钟模块相关介绍基本介绍DS1302可慢速充电实时时钟芯片包含实时时钟/日历和31字节的非易失性静态RAM。它经过一个简单的串行接口与微处理器通信。实时时钟/日历可对秒,分,时,日,周,月,和年进行计数,对于小于31天的月,月末的日期自动进行调整,还具有闰年校正的功能。时钟可以采用24小时格式或带AM(上午)/PM(下午)的12小时格式。31字节的==RAM==可以用来临时保存一

    2025年7月16日
    6
  • MIPI协议的DCS指令格式[通俗易懂]

    MIPI协议的DCS指令格式[通俗易懂]虽然读了几遍MIPIPHY/DSI/DCS标准,还是有点糊涂,把DataType和DCScommand有些混淆,浪费了不少的时间。ILI9488的指令中把DCSPacket的组成用图示展示了出来,非常直观,真是一图胜千言啊!回头再看DSI的文字描述就印象深刻了,巨坑啊!!!

    2022年5月27日
    38
  • Java学习之继承与抽象篇

    Java学习之继承与抽象篇0x00前言前面讲到了面向对象,面向对象的三大特性是封装、继承、多态。那么这次就来讲讲继承。0x01继承概述:多个类中存在相同属性和行为时,将这些内容抽取到单独一

    2021年12月11日
    47
  • 数学建模及其基础知识详解(化学常考知识点)

    @[TOC]自动根据文章标题生成目录一、综合评价方法根据各评价方法所依据的理论基础,现代综合评价方法大致分为以下四大类:1、专家评价方法2、运筹学与其他数学方法2.1、层次分析法(AHP)2.2、模糊综合评判法(FCE)2.3、数据包络分析法(DEA)3、基于统计和经济的方法3.1、TOPSIS评价法,优化可用熵权法3.2、主次分析法和因子分析法主成分分析法通过克服相关性、重叠性,用较少的变量来代替原来较多的变量,而这种代替可以 反映原来多个变量的大部分信息,这实际上是一

    2022年4月13日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号