网络层五大核心知识点

news2024/11/26 5:56:14

引言

在前面几期文章中,无论是UDP还是TCP,其实我们都在介绍 TCP/IP 模型的“传输层”,我们知道,数据在传输层完成相应的封装后就会来到网络层进行下一步的数据转发,那么数据在网络层又接受了哪些神秘的力量?下面就让我们来揭开网络层的神秘面纱!

一、地址管理

1、IP地址

IP 地址(Internet Protocol Address)是指互联网协议地址。IP地址是一个32位的二进制数,通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如:192.168.1.36

2、MAC地址

MAC 地址,即 Media Access Control Address,用于标识网络设备的硬件物理地址。主机具有一个或多个网卡,路由器具有两个或两个以上网卡;其中每个网卡都有唯一的一个MAC地址。长度为48位,及6个字节。一般用16进制数字加上冒号的形式来表示(例如:08:00:27:03:fb:19)

特殊的MAC地址:广播数据报的MAC地址为:FF:FF:FF:FF:FF:FF(注:广播数据报,发送一个广播数据报,表示对同网段所有主机发送数据报。)

二、子网划分

具体划分过程如下图(来源:涨芝士):

这里引入两个概念:

1、将 IP 地址和子网掩码进行“按位与”操作(二进制相同位,与操作,两个都是1结果为1,否则为0),得到的结果就是网络号。
2、将子网掩码二进制按位取反,再与 IP 地址位与计算,得到的就是主机号。

同时网络号主机号也是IP地址的两个重要组成部分。其中网络号用来标识网段(局域网);主机号用来标识局域网中的主机。

这里除了使用子网掩码的方式划分,还有一种古老的方式,将IP地址划分为以下5类:

注意:这种“粗糙”的划分方式,存在 IP 地址浪费的问题。例如在A、B类地址中,由于主机号长度过长,并且实际网络架设时,连接的主机数量又常远小于最大主机数,会造成大量 IP 地址浪费。

三、特殊IP地址

  1. 将IP地址中的主机地址全部设为0,就成为了网络号,代表这个局域网;
  2. 将IP地址中的主机地址全部设为1,就成为了广播地址,用于给同一个链路中相互连接的所有主机发送数据包;此时想这个IP地址发送UDP数据包,这个数据包就会被转发给整个局域网中所有主机(TCP不支持广播);
  3. 127.*的IP地址用于本机环回(loop back)测试,通常是127.0.0.1
  4. 主机号为1。如192.168.0.1一般作为网关IP

注意:TCP/IP 协议规定,不同子网之间无法直接通信,如果想要通信需要“网关”进行转发。通常路由器就担当“网关”这样一个角色。

四、解决 IP 地址不够用

由于IP地址是一个32位的二进制数,因此最大的IP地址数就为 2 32 2^{32} 232 次方,大约是 42亿9千万,而全球人口数量接近 80亿,IPV4 在2019年11月25日被正式分配完毕,为了解决IP地址不够用的问题当下主要有以下解决方案:

1、动态分配IP地址

设备上网才分配IP地址,不上网不分配。这种方案治标不治本,并没有增加 IP 数量,只能在一定程度上解决问题,不能彻底解决 IP 地址不够用的问题。

2、NAT机制

NAT技术当前解决IP地址不够用的主要手段,是路由器的一个重要功能。在探讨NAT技术之前,我们先了解以下3个概念:

  1. 内网(局域网)IP:10.*172.16.*-172.31.*192.168.*
  2. 外网 IP:除去内网 IP 剩下的IP地址均为外网 IP
  3. 全局IP要求唯一,但是私有(内网)IP不需要;在不同的局域网中出现相同的私有IP是完全不影响的。

NAT能够将私有IP对外通信时转为全局IP。也就是就是一种将私有IP和全局IP相互转化的技术方法,并且同一局域网在转化时会分配同一个全局IP,也就是说此时一个全局IP就代表当前局域网内所有的网络设备。下图IP转换过程:

那么问题来了,如果局域网内,有多个主机都访问同一个外网服务器,那么对于服务器返回的数据中,目的IP都是相同的。那么NAT路由器如何判定将这个数据包转发给哪个局域网的主机?此时NAPT就可以解决这个问题,通过使用使用 IP+port 来建立这个关联关系:

3、使用IPV6

IPV4使用4个字节,32位来表示IP地址。IPV6使用16个字节,128位来表示IP地址,经过简单计算,大约是:2^32*2^32*2^32*2^32这个数字无比巨大,甚至说给世界上每一粒沙子都分配一个IP地址都搓搓有余。

但是对当前来说,有余IPV6和IPV4协议并不兼容,使用IPV6需要升级硬件,成本较高,又由于NAT技术的使用目前极大缓解了IPV4的困境,所以IPV6目前还多处于预备阶段,尚未启用。

五、路由选择

对于网络数据传输,不是想象中那样,数据直接从源主机到达目的主机,而是类似在地图中,从A到B的过程:

IP地址描述的是路途总体的起点和终点。而行进也必须一个地点一个地点的前进,由MAC地址来描述路途上每一个区间的起点和终点。

IP数据报在进行网络转发过程中,和上述情况类似,就是一个逐渐问路的过程,每个路由器只认识周围的情况,很可能不清楚目的IP所在的位置,此时路由器就会指出一条路径(路由表中的“下一条”表项),将数据报引向更上一级的路由器中,重复上述过程,最终会逐渐逼近目标,最终实现数据报的转发。

其实在“下一跳”寻址的过程中,还会使用到一个关键的协议:ARP协议。

ARP是一个介于数据链路层和网络层之间的协议,ARP协议建立了IP地址与MAC地址的映射关系

在数据链路层,寻找下一跳设备MAC地址的过程,称为ARP寻址

下面是具体的寻址过程:

  1. 主机和路由器中都保存了一张ARP缓存表:通过IP地址可以找到对应的MAC地址。
  2. 根据下一跳设备的IP地址,在ARP缓存表中能找到对应的MAC地址,则可以设置目的MAC并发送数据报。
  3. 如果找不到,则发送ARP广播数据报:目的MAC为广播地址,询问下一跳设备的MAC地址。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1049393.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

心法利器[102] | 大模型落地应用架构的一种模式

心法利器 本栏目主要和大家一起讨论近期自己学习的心得和体会,与大家一起成长。具体介绍:仓颉专项:飞机大炮我都会,利器心法我还有。 2022年新一版的文章合集已经发布,累计已经60w字了,获取方式看这里&…

SAP替代物料的解决方案详解

说明: SAP中的替代有三种: A物料和B物料可以互相替代,但是由物料计划部门自由控制使用A还是使用B;在某个产品中,当物料A不够时,才用B;当物料A用完后,将永远不再用,而是用物料B取代A…

CYEZ 模拟赛 7

A 弹珠 妙妙题。 先每个组分一个小球。等价于 n − k n-k n−k 拆分为任意个 [ 1 , k ] [1,k] [1,k] 的数的方案数。 本质是根据面积的转换,直观解释: 完全背包即可。代码。 B C 总结

机器人制作开源方案 | 家庭清扫拾物机器人

作者:罗诚、李旭洋、胡旭、符粒楷 单位:南昌交通学院 人工智能学院 指导老师:揭吁菡 在家庭中我们有时无法到一些低矮阴暗的地方进行探索,比如茶几下或者床底下,特别是在部分家庭中,如果没有及时对这些阴…

设计加速!11个Adobe XD插件推荐!

你是否一直在寻找可以提升 Adobe XD 工作流程和体验的方法?如果是,一定要试试这些 Adobe XD 插件!本文将介绍 11 款好用的 Adobe XD 插件,这些插件可以为 UI/UX 设计添加很酷的新功能,极大提升你的工作效率和产出。让我…

Linux 常用基本命令

1.走近Linux系统 开机登录 开机会启动许多程序。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 关机 在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟…

大模型深挖数据要素价值:算法、算力之后,存储载体价值凸显

文 | 智能相对论 作者 | 叶远风 18.8万亿美元,这是市场预计2030年AI推动智能经济可产生的价值总和,其中大模型带来的AI能力质变无疑成为重要的推动力量。 大模型浪潮下,业界对AI发展的三驾马车——算力、算法、数据任何一个维度的关注都到…

23 mysql index 查询

前言 这里主要是 探究一下 explain $sql 中各个 type 诸如 const, ref, range, index, all 的查询的影响, 以及一个初步的效率的判断 这里会调试源码来看一下 各个类型的查询 需要 lookUp 的记录 以及 相关的差异 此系列文章建议从 mysql const 查询 开始看 测试表结构…

ubuntu 20 安装 CUDA

1. 查看需要安装的cuda版本 nvidia-smi cuda的版本信息如下图所示 2. 去官网下载对应版本的CUDA 官网:CUDA Toolkit Archive | NVIDIA Developer 弹出以下界面,依次点击以下按钮 得到以下内容: 复制下载链接,下载cuda11到本…

适用于 ONLYOFFICE 的智谱 AI 插件现已发布

很高兴向您介绍智谱 AI 插件,现已在我们的插件市场上线!它是开源之夏 (OSPP) 计划的成果,由专注投入的参与者林剑波同学开发。智谱 AI 实质上与 ChatGPT 插件功能相同,但它是为与中国的 AI 无缝协作而量身打造。 关于智谱 AI 这款…

Linux系统编程(1)

父子进程通过两个管道进行通信。 伪代码 #include <unistd.h> void client(int, int), server(int, int);int main(int argc, char** argv) {int pipe1[2], pipe2[2];pid_t childpid;Pipe(pipe1);Pipe(pipe2);if ((childpid Fork()) 0) {// childClose(pipe1[1]);Close…

LeetCode 盛最多水的容器 双指针

原题链接&#xff1a; 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题面&#xff1a; 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与…

uni-app:canvas-绘制图形2

效果 代码 <template><view><!-- 创建了一个宽度为300像素&#xff0c;高度为200像素的canvas元素。canvas-id属性被设置为"firstCanvas"&#xff0c;可以用来在JavaScript中获取该canvas元素的上下文对象。 --><canvas style"width:200px…

NPDP和PMP证书有啥区别?建议考哪个?

最近分享了很多项目经理和产品经理的问题&#xff0c;有宝子疑问关于这两个职位最热门的证书——PMP和NPDP究竟有什么区别&#xff1f;如何判断自己应该选择哪个&#xff1f;今天胖圆从证书性质&#xff0c;适合人群以及相关考试信息来给大家解读一下&#xff0c;两者有什么不同…

魔兽世界安装插件后进游戏闪退的一个原因。

最近体验了几个私服的WOW&#xff0c;在找插件的时候&#xff0c;总是会遇到wow群里老哥问一个经典的插件问题&#xff0c;进游戏后提示The user interface is using more than 48MB of memory.Set Script Memory to 0 in the character selection screen;然后有个倒计时&#…

(windows10)设置环境变量简化EVOSUITE的运行

对于可执行的jar evosuite-1.1.0.jar&#xff0c;可以在命令行使用jave -jar执行它 然而&#xff0c;每次进入到jar包所在的目录&#xff0c;有点繁琐&#xff0c;这个命令看上去也有点点长。 那么我们可以设置环境变量EVOSUITE来取代这个命令&#xff0c;也即 set EVOSUITEja…

飞致云开源社区月度动态报告(2023年9月)

自2023年6月起&#xff0c;中国领先的开源软件公司FIT2CLOUD飞致云以月度为单位发布《飞致云开源社区月度动态报告》&#xff0c;旨在向广大社区用户同步飞致云旗下系列开源软件的发展情况&#xff0c;以及当月主要的产品新版本发布、社区运营成果等相关信息。 飞致云开源大屏…

顺序读写函数的介绍:fread fwrite

目录 函数介绍&#xff1a; fwrite&#xff1a; 参数说明&#xff1a; 函数大意&#xff1a; 举例&#xff1a; 文件效果&#xff1a; fread&#xff1a; 函数大意&#xff1a; 举例&#xff1a; 结果展示&#xff1a; 函数介绍&#xff1a; fwrite&#xff1a; 参数说明…

基于SSM+Vue的开放式教学评价管理系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

美美游玩规划

2023年的国庆 游玩规划&#xff1a; 时间安排是9月29日到10月2日上午&#xff1b; 可以有三个整天加一个上午&#xff0c;上午可以去一个近一点的地方&#xff1b; 可能要去的景点&#xff1a; 天安门广场、颐和园、西单购物中心、故宫、天坛公园、 毛主席纪念堂&#xff08;2…