当前位置: 首页 > news >正文

网络层之IP数据报格式、数据报分片、IPv4、子网划分和子网掩码

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您:
想系统/深入学习某技术知识点…
一个人摸索学习很难坚持,想组团高效学习…
想写博客但无从下手,急需写作干货注入能量…
热爱写作,愿意让自己成为更好的人…

文章目录

  • 前言
  • 一、IP数据报格式
  • 二、分片例题
  • 三、IPv4地址
    • 1、分类的IP地址
    • 2、特殊IP地址
    • 3、私有IP地址(本地IP地址)
  • 四、子网掩码
  • 五、使用子网时分组的转发
  • 总结


前言

在这里插入图片描述
IP数据报格式

在这里插入图片描述
最大传送单元MTU
链路层数据帧可封装数据的上限。以太网的MTU是1500字节。
在这里插入图片描述

分类的IP地址的弱点:

  • 1.IP地址空间的利用率有时很低。
  • 2.两级IP地址不够灵活。

一、IP数据报格式

在这里插入图片描述

  • 1Byte=8bit
  • 版本:IPv4/IPv6
  • 首部长度:单位是4B,最小为5。
  • 区分服务:指示期望获得哪种类型的服务。
  • 总长度:首部+数据,单位是1B
  • 标识:同一数据报的分片使用同一标识。
  • 标志:只有2位有意义x_ _
    • 中间位DF (Don’t Fragment) :
      • DF=1,禁止分片
      • DF=0,允许分片
    • 最低位MF (More Fragment) :
      • MF=1,后面“还有分片”
      • MF=0,代表最后一片/没分片
  • 片偏移:指出较长分组分片后,某片在原分组中的相对位置。以8B位单位。(除了最后一个分片,每个分片长度一定是8B的整数倍。)
  • 生存时间(TTL) :IP分组的保质期。经过一个路由器-1,变成0则丢弃。
  • 协议:数据部分的协议。
    在这里插入图片描述
  • 首部检验和:只检验首部。
  • 源IP地址和目的IP地址:32位。
  • 可选字段:0~40B ,用来支持排错、测量以及安全等措施。
  • 填充:,全0,把首部补成4B的整数倍。(当前面都配置好后没有达到4B的整数倍,那么就补充0)

二、分片例题

在这里插入图片描述

三、IPv4地址

IP地址:全世界唯一的32位/4字节标识符,标识路由器主机的接口。

IP地址::={<网络号>,<主机号>}
在这里插入图片描述

1、分类的IP地址

在这里插入图片描述
在这里插入图片描述

2、特殊IP地址

在这里插入图片描述

3、私有IP地址(本地IP地址)

在这里插入图片描述
路由器对目的地址是私有IP地址的数据报一律不进行转发。

要想让私有IP地址进行联网,那么就需要网络地址转换NAT。

网络地址转换NAT(Network Address Translation):在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,它至少有一个有效的外部全球IP地址

在这里插入图片描述

四、子网掩码

在这里插入图片描述
常用的数据
在这里插入图片描述
例题1:
已知IP地址是141.14.72.24,子网掩码是255.255.192.0,求网络地址。如果子网掩码是255.255.224.0,求网络地址。

解答:
子网掩码为255.255.192.0时
网络地址就是IP地址与子网掩码相与(同1为1,遇0为0)
141.14.72.24与255.255.192.0相与时前两位与255想与不变,还是141.14
而72与192相与就是:
01001000
11000000
—————
01000000
所以,第三位是64,第四位24与0相与还是0。
所以网络地址是141.14.64.0

子网掩码为255.255.224.0时
网络地址就是IP地址与子网掩码相与(同1为1,遇0为0)
141.14.72.24与255.255.224.0相与时前两位与255想与不变,还是141.14
而72与224相与就是:
01001000
11100000
—————
01000000
所以,第三位是64,第四位24与0相与还是0。
所以网络地址是141.14.64.0

例题2:
某主机的IP地址为180.80.77.55,子网掩码为255.255.252.0。若该主机向其所在子网发送广播分组,则目的地址可以是(D) .
A.180.80.76.0
B.180.80.76.255
C.180.80.77.255
D.180.80.79.255

解答:
该主机向其所在子网发送广播分组,广播分组的特点就是主机号全为1。
此时就解析子网掩码,通过子网掩码判断子网号的位数和主机号的位数:
255.255.252.0中的252拆分为11111100,所以前22位是子网号,后10位是主机号。判断出来后就拆分IP地址:180.80.77.55,前两个B不用去管,拆分第三个B:77=>01001101,将前六位分出是010011,如果想要实现广播分组,那么主机号就要全为1,所以将后面的十位全为1,第三个B就是01001111即79。
所以目的地址可以是180.80.79.255。

五、使用子网时分组的转发

路由表中:

  • 1.目的网络地址
  • 2.昌的网络子网掩码
  • 3.下一跳地址

路由器转发分组的算法:

  • 1.提取目的IP地址
  • 2.是否直接交付
  • 3.特定主机路由
  • 4.检测路由表中有无路径
  • 5.默认路由0.0.0.0
  • 6.丢弃,报告转发分组出错

在这里插入图片描述


总结

以上就是网络层之IP数据报格式、数据报分片、IPv4、子网划分和子网掩码的相关知识点,希望对你有所帮助。
积跬步以至千里,积怠惰以至深渊。时代在这跟着你一起努力哦!

相关文章:

  • 数据结构初阶之二叉树的详细解析
  • MySQL常见的存储引擎(InnoDB、MyISAM)data目录下(.frm,.myi,.myd)
  • 海云安参与制定《信息安全技术 移动互联网应用程序(App)软件开发工具包(SDK)安全要求》标准正式发布
  • 编织魔法世界——计算机科学的奇幻之旅
  • 虚拟数据优化器VDO
  • 漫步者开放式耳机怎么样?南卡、漫步者开放式耳机哪个好?
  • Python-文件操作详解
  • 一对一互相聊天
  • 【多线程】线程的三种常见创建方式
  • jenkins-cicd基础操作
  • SpringBoot第56讲:SpringBoot集成文件 - 集成EasyExcel之Excel导入导出
  • php中WebSocket简单使用
  • 外包干了2个多月,技术明显有退步了。。。。。
  • Day52力扣打卡
  • 拨号连接bat命令和拨号错误623,系统无法找到此连接的电话簿项的解决方法
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • Mysql优化
  • Sublime text 3 3103 注册码
  • 阿里云前端周刊 - 第 26 期
  • 规范化安全开发 KOA 手脚架
  • 将回调地狱按在地上摩擦的Promise
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 设计模式 开闭原则
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 想写好前端,先练好内功
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • Java总结 - String - 这篇请使劲喷我
  • #QT(TCP网络编程-服务端)
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • ()、[]、{}、(())、[[]]命令替换
  • (9)目标检测_SSD的原理
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (转) Face-Resources
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • . Flume面试题
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .NET简谈设计模式之(单件模式)
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .pop ----remove 删除
  • /proc/vmstat 详解
  • @Autowired注解的实现原理
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [Assignment] C++1
  • [BUUCTF]-PWN:[极客大挑战 2019]Not Bad解析
  • [BZOJ2850]巧克力王国
  • [C#]手把手教你打造Socket的TCP通讯连接(一)
  • [C++进阶篇]STL中vector的使用