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

子网划分核心原理 (网络原理1)

本章节将要讲解的是网络层协议:

        IP协议是网络层最核心的协议,它主要解决数据传输中主机到主机的问题,而TCP是解决进程到进程的问题。

  • IP = 目标网络+目标主机

        路由器负责把数据从一个子网(局域网)路由到另一个子网,传统路由器只具备网络层及以下的功能。当代路由器已经是小型计算机了。

基本概念:

  • 主机:配有IP地址,也要进⾏路由控制的设备;
  • 路由器:即配有IP地址,⼜能进⾏路由控制;
  • 节点:主机和路由器的统称;

 IP协议报头

内核源码:

struct iphdr {unsigned char	version : 4;unsigned char	ihl : 4;unsigned char	tos;unsigned short	tot_len;unsigned short	id;unsigned short	frag_off;unsigned char	ttl;unsigned char	protocol;unsigned short	chksum;IPADDR			src_addr;IPADDR			dst_addr;
};

4位版本:标识IP的版本,IPv4 的值为4,IPv6 的值为6

4位首部长度:表示报头的长度

        因为报头的选项长度是不确定的,所以报头长度就不是固定的,需要首部长度来标识报头的长度。

        首部长度:4bite位(0~15),基本单位是4字节,也就是说首部长度需要乘以4字节才是所表示的报头长度,所以它能表示的长度范围是[0*4,15*4]字节。如上图TCP报头至少是20字节,x*4 = 20,x=5;即首部长度范围[5,15]。tcp报头长度一定能整除4字节。

8位服务类型

        定义数据包的优先级和服务类型

16位总长度:整个数据包的长度,即报头+有效载荷

16位标识,3位标志,13位偏移分片有关,到后续文章分片技术进行讲解。

8位生存时间

        本质是计数器,数据包每经过一个路由器减 1,归零时丢弃。目的是防止因路由环路导致数据包无限循环(如 TTL=64 时最多经过 64 跳)。

8位协议

        标识上层协议类型(如 TCP、UDP、ICMP),接收方需知道将数据交给哪个上层协议处理(例如 6=TCP,17=UDP)。

16位首部校验和

        校验 IP 报头是否传输错误,确保报头字段(如目标 IP、协议类型)未被篡改或损坏。例如:电会产生磁场,会影响另一个线的流动,导致bite位反转,波峰变成波谷。

32位源/目的IP地址

        标识发送方和接收方的逻辑地址,互联网依赖 IP 地址寻址,确保数据包能路由到正确目标,源地址用于回复或错误报告(如 ICMP)。

选项字段

        扩展功能(如记录路由、时间戳),用于调试或特殊需求(现较少使用,因增加路由器处理负担)。

  • 注意:IP版本基本上都是IPV4,IPV4和IPV6不兼容。
  • 注意:IP不解决可靠性问题,但要保证交付的是正确的报文。

子网划分

        共识:网络本身是几十年发展的产物,在网络建设时,是经历了几十年的规划建设的!—— 网络是被设计过的。

        把一个局域网比作是学校,把主机比作是学生,IP比作是学号。我们拿着IP在网络中找到一个主机,和拿着学号在学校里找到一个学生差不多。我们并不是拿着学号去找学生一个一个比对,把所有人都遍历一遍,这样效率太低了。而是在学号上做特殊设计,比如

        学号 = 学院号 + 班级号 + 班级内序号

这样就只需要做三轮比对就能快速找到对应的学生。

数据如何在网络中找到对端主机呢?

举个例子,比如数统院李四捡到了学生证,学号是0625866,找到并归还给对应学生的过程如下:

        李四捡到学生证,发现学号开头是06,他知道绝对不是他们院的,但并不知道是那个院,只能交给学生会主席,学生会看到后知道是机械学院的,然后给隔壁学生会传,同样的一直传的机械学院,机械学生会看到是06开头后知道是给咱们院的,然后根据学号的后几位找到对应的学生张三。

  • 张三、李四:通信主机
  • 单个学院:局域网(内网,子网)
  • 整个学校:广域网(外网,公网)
  • 学院主席:路由器
  • 学号:IP地址;学号=院号+院内编号;IP=网络位+主机位
  • 张三->学生会主席:内网转发
  • 学生会主席->校群:公网转发
  • 划分学院:子网划分
  • 学校:运营商

        学校的各种机制:学院、院号、学号等等在我们没有上大学时已经设计过好了,等上大学直接给我分配学号。同样的当我们上网时会给主机分配IP,当我们退出网络,这个IP就会分配给其他人使用。

为什么要子网划分?

        快速高效的找到对应的主机通信。路由报文本质是查找主机,查找的本质:淘汰的过程。那么淘汰效率越高,查找效率就能越高。完成子网划分后可以根据网络号一次淘汰大量的主机,缩小查找范围,而不是一个一个的去遍历。

  • 注意:路由器即属于子网1也属于子网2。
  • 注意:在同一个子网内,网络号一定相同,主机号一定不同。
  • 注意:路由器至少要配两个IP(两张网卡)。
  • 注意:路由器IP的主机标识往往都是1。

分类划分法

        IP地址占4字节,也就是32个比特位,我们知道IP是由网络位和主机位组成的,所以需要区分出那些位是网络位,那些位是主机位。

最早期使用分类划分法进行划分,如下:

        整个IP分为三个部分,开头部分是用来区分该IP是属于哪一类,中间这一部分标识的是网络位,最后几位标识的是主机位。

为什么要分类?不同国家和地区对网络位和主机位的数量需求不同。

        IP地址是四字节,只能表示1到42亿左右,,而全球人口已经到了80.2亿IP成了一种稀缺资源。各个国家运营商都在抢,抢到后就可以构建自己的子网。

        以上是最早期的IP划分方式,有很多缺点,有的国家拿到了某一类IP,但可能网络位或主机位用不完,造成浪费等等。

该方式划分得太粗了,太浪费,所以有了新的划分方式。使用子网掩码。

子网掩码

子网掩码:以若干个1开头以0为结尾的数字。IP地址跟子网掩码进行按位与得到网络号。如下:

        子网掩码存在的意义?把网络划分得更细,更灵活。通过设定子网掩码中1的个数就能划分出网络位与主机位。

子网掩码和IP地址(网络号)要配置到路由器内部。

主机号0和全F已经作为特殊用途使用,真正标识主机的只有

        子网范围=2^(子网掩码中0的个数)-2

个。主机号为0,则IP表示网络号。如果为全F,表示广播地址(所有主机)。

  • 注意:两种划分方式不冲突,而是互补。
  • 注意:子网掩码的划分方式只是提高了利用率,没有提高上限。
  • 注意:因为IPv4稀缺,提出了IPv6,占16字节。中国在推广。其次现在NAT技术几乎已经解决了IPv4稀缺的问题。

关于NAT技术和分片技术,在下一期文章讲解。

非常感谢您能耐心读完这篇文章。倘若您从中有所收获,还望多多支持呀!74c0781738354c71be3d62e05688fecc.png

http://www.lryc.cn/news/594637.html

相关文章:

  • Windows Server2022下使用SQL Server2019开发版搭建高可用集群
  • 如何用纯 HTML 文件实现 Vue.js 应用,并通过 CDN 引入 Element UI
  • 【js(3)】执行上下文/作用域链/垃圾回收与内存泄漏/闭包
  • Vue组件之间通信
  • C语言运算符优先级“潜规则”
  • 数据库的介绍和安装
  • HTTP,HTTPS
  • 文件的写出操作|文件的追加写入操作|文件操作的综合案例
  • mac安装node的步骤
  • IDEA 同时修改某个区域内所有相同变量名
  • 跑腿小程序|基于微信小程序的跑腿平台小程序设计与实现(源码+数据库+文档)
  • Taro 生命周期相关 API 详解
  • Idea或Pycharm上.idea的忽略提交的问题总结
  • Linux初识网络
  • 用 STM32 的 SYSTICK 定时器与端口复用重映射玩转嵌入式开发
  • 分布在内侧内嗅皮层(MEC)的带状细胞对NLP中的深层语义分析有什么积极的影响和启示
  • 微服务的编程测评系统-身份认证-管理员登录前端
  • .NET依赖注入IOC你了解吗?
  • 智能体性能优化:延迟、吞吐量与成本控制
  • 机器阅读理解(MRC)全面解析:任务分类、评估指标与57个数据集资源盘点
  • Nacos安装单例模式
  • 西门子 SIMATIC S7-1500 数字量输入模块:深度剖析与应用指南
  • ABQ-LLM:用于大语言模型的任意比特量化推理加速
  • Zabbix 企业级分布式监控系统深度解析
  • Android 单编 framework 相关产物输出介绍
  • 3.组合式API父子通信
  • OpenAI开发的一款实验性大型语言模型(LLM),在2025年国际数学奥林匹克竞赛(IMO)中达到了金牌水平
  • 什么是商业智能BI数据分析的指标爆炸?
  • 悬镜安全将受邀参加2025开放原子开源生态大会
  • “融合进化,智领未来”电科金仓引领数字化转型新纪元