【JavaEE】_网络层

目录

1. 网络层的工作

2. IP数据报

3. 地址管理

3.1 IP地址不够的问题

3.1.1 方案一:动态分配

3.1.2 方案2:NAT机制(网络地址转换)

3.1.2.1 将IP地址划分为2类

3.1.2.2  NAT转换的实现

3.1.3 方案3:IPV6地址

3.2 网段划分

3.2.1 分类的IP地址

3.2.2 无分类编址CIDR

4. 路由选择

4.1 距离向量算法

4.2 最短路径算法


1. 网络层的工作

网络层要完成的工作主要是两方面:

1. 地址管理:制定一系列规则通过地址,描述网络上一个设备的位置;

2. 路由选择:筛选或规划处更合适的路径供结点之间进行数据传输;

2. IP数据报

1. 版本字段:4位,值为4时表示IPV4,值为6时为IPV6;

2. 首部长度:4位,单位为4字节,即首部最大长度为4*0xf = 60字节;

3. 服务类型:8位,分别为3位优先权字段(已弃用),4位TOS字段和1位保留字段(必须置0);

        4位TOS字段分别为:最小延时,最大吞吐量,最高可靠性,最小成本,四位彼此冲突,只有一位可置为1,用于表示IP协议不同的形态。

4. 总长度:16位,单位为字节,表示首部与数据部分之和的长度,数据报最大长度为2^{^{16}}-1=65535字节;

5. 标识:16位,同一数据报的各分片数据报具有相同标识

6. 标志:3位,目前只有2位有实际意义:

        (1)MF:1表示后面还有分片,0表示这已是若干数据报片中的最后一个

        (2)DF:1表示不允许分片,0表示允许分片

7. 片偏移:13位,单位为8字节,表示某片在原始IP数据报中的相对位置

8. 生存时间:8位,缩写为TTL,单位为跳数,指明数据报在互联网中至多可以经过多少路由器,最大值为255。TTL减为0时还未到达目标结点,就会被丢弃掉。从而避免了无法交付的数据包无限制地在互联网中兜圈子;

9. 协议:8位,表示此数据报的载荷部分使用何种协议(UDP或TCP)

10. 首部检验和:16位:只检验数据报首部,不包括数据部分

11. 源地址:32位,发送IP数据报的主机的IP地址;

12.目的地址:32位接收IP数据报的主机的IP地址;

注:1. IP协议虽然存在64KB的限制,但IP协议通过标识、标志、片偏移三个字段,支持拆包组包功能

2. 区别版本字段与协议字段:

版本字段:表示IP协议的版本;

协议字段:表示将IP数据报应交给传输层的哪个协议;

3. 源地址与目的地址均为32位,可见IP地址本质就是一个32位的整数,为了方便理解,常写作点分十进制形式,8位二进制(一个字节)表示为一个十进制,用3点隔开;

3. 地址管理

3.1 IP地址不够的问题

IP地址是一个32位的整数,能够表达大约2^{32},大致为42亿九千万,互联网发展至今,能上网的设备早已超过这个最大限制,如何解决IP地址不够用的问题,是一个需要思考的问题。

3.1.1 方案一:动态分配

将IP地址动态分配给需要上网的设备,把当前不上网的设备的IP地址分配给需要上网的设备;

此方法只提高了IP地址的利用率,但并未增加IP地址的数目。

3.1.2 方案2:NAT机制(网络地址转换)

本质上是让一个IP地址代表一批设备。

3.1.2.1 将IP地址划分为2类

(1)内网IP(局域网):10.0.0.0/8,172.16.0.0/12,192.168.0.0/16为内网地址块

同一个局域网内部,内网IP之间不能重复

不同的局域网中,内网IP可以之间可以重复

(2)外网IP(广域网):其余的IP地址块均为外网IP

外网IP始终不允许重复,必须保证唯一性;

3.1.2.2  NAT转换的实现

注:(1)如果当前局域网呢有多个主机访问一个网站服务器,即使两个数据报的源IP均为NAT路由器映射后的外网IP,但这个数据报的端口号一般都是不同的(临时分配),故而NAT路由器会结合端口号将服务器返回的响应返回给目标主机

(2)即使极小概率下,这多个设备的端口号如果也相同,在NAT路由器进行内网IP向外网IP进行映射并替换时,如果发现多个设备具有相同的目的IP与目的端口就会检查它们的端口号是否相同,如果相同,也会实现端口号的替换,以区分不同的内网设备。

(3)NAT机制最大的优势是一个纯软件的方案,无需硬件加持。

(4)NAT机制下,局域网内部的设备能够主动访问外网的设备,但外网的设备无法主动访问内网的设备

当前的网络环境就是结合NAT+动态分配的方式来解决IP地址不够用的问题;

3.1.3 方案3:IPV6地址

IPV6采用16字节(128位)来表示IP地址,表示范围为0~2^{128}-1,能表示的地址范围非常庞大;

IPV6的引入大大地扩展了地址空间,但这种地址扩充方案并未得到广泛应用,因为IPV6与IPV4不兼容,如需支持IPV6需要更换设备,导致向IPV6的过渡进程是比较缓慢的。

我国的IPV6普及程度是非常高的,国家也非常推荐使用IPV6。

一方面,在互联网公司的互联网产品中的一些app首屏加载页已经显示支持IPV6,比如手机淘宝;

另一方面,民用宽带也在积极升级,近几年新装的宽带都是直接赠送IPV6路由器的。

一般情况下IPV6虽然被支持,但并没有默认开启;

3.2 网段划分

一个IP地址分为网络号与主机号两部分,其中网络号标识了一个局域网,主机号标识了局域网中的一个设备

3.2.1 分类的IP地址

注意:1. 主机号全为0表示当前的局域网,不能分配给具体的主机;

2. 主机号全为1表示当前网络上的所有主机,表示广播地址,不能分配给具体的主机。

3. 以127开头的IP是环回IP,最常用的是127.0.0.1,表示设备本身,常用于测试代码

这种分类的IP地址由于网络号的位数是固定的,因此管理简单,使用方便,转发分组迅速。

3.2.2 无分类编址CIDR

1. CIDR的记法为:{<网络前缀>,<主机号>};

2. 斜线记法表示为:IPV4地址/网络前缀所占的比特数,如:

128.14.35.7/20 = 10000000 00001110 00100011 00000111;

3. 子网掩码:在斜线记法中,斜线后面的数字就是地址掩码中1的个数,把二进制的IP地址与地址掩码进行按位AND运算即可得出网络地址,如:

/20 地址块的地址掩码是:11111111 11111111 11110000 00000000;

4. 路由选择

路由选择用于描述IP协议(IP数据报)的转发过程。

每个路由器内部都有一个数据结构的路由表,根据数据报中的IP地址查路由表;

其中的动态路由算法有:

4.1 距离向量算法

4.2 最短路径算法

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何写出别人写不出的内容(译)

&#xff08;译者序&#xff1a;这篇文章不只是写作&#xff0c;对信息获取、阅读也都有启发。随着社交媒体和 AI 的发展&#xff0c;人们越来越被动的接收海量信息&#xff0c;如何主动查找与整理对自己有用的内容&#xff0c;将是一个不可或缺的能力。&#xff09; 原文&…

VMware清理拖拽缓存 Ubuntu硬盘情况占用分析

这两天在尝试编译Linux源码&#xff0c;我在win上将源码下载下来然后复制到ubuntu上&#xff0c;这一步我粗略看到了三种方法&#xff1a;安装VM tools&#xff0c;就可以使文件正常的在win和ubuntu中复制剪切&#xff1b;使用scp命令将win和linux系统链接起来&#xff1b;使用…

一文彻底搞懂布隆过滤器

文章目录 1. 基本原理2. 布隆过滤器的优点3. 布隆过滤器的缺点4. 布隆过滤器的应用场景 布隆过滤器&#xff08;Bloom Filter&#xff09;是一种空间高效的概率数据结构&#xff0c;用于判断一个元素是否在一个集合中。它使用位数组和一系列哈希函数来实现。 1. 基本原理 首先…

数学之函数的基础性内容的学习

函数是一个很重要的内容 无数的科学家为其进行前赴后继 伽利略&#xff08;比萨斜塔“高空抛物”&#xff09;&#xff0c;笛卡尔&#xff0c;牛顿&#xff0c;莱布尼兹&#xff0c;约翰伯努利&#xff0c;欧拉&#xff0c;傅里叶&#xff0c;迪利克雷&#xff08;德国数学家…

《Linux 简易速速上手小册》第3章: 文件系统与权限(2024 最新版)

文章目录 3.1 Linux 文件系统结构3.1.1 重点基础知识3.1.2 重点案例&#xff1a;设置一个 Web 服务器3.1.3 拓展案例 1&#xff1a;日志文件分析3.1.3 拓展案例 2&#xff1a;备份用户数据 3.2 理解文件权限3.2.1 重点基础知识3.2.2 重点案例&#xff1a;共享项目文件夹3.2.3 拓…

Java之拦截器interceptor

1. 概念 2. 步骤 第一步 第二步 参考资料 https://www.bilibili.com/video/BV1m84y1w7Tb?p168&vd_source705343a89f38d5c0d895383ccf38a5d6

单调队列优化DP问题

目录 1.滑动窗口 2.最大子序和 3.旅行问题 4.烽火传递 5.绿色通道 6.修剪草坪 7.理想的正方形 1.滑动窗口 154.给定一个大小为 n≤106 的数组。 有一个大小为 k 的滑动窗口&#xff0c;它从数组的最左边移动到最右边。 你只能在窗口中看到 k 个数字。 每次滑动窗口向…

理解JAVA EE设计模式

理解JAVA EE设计模式 在Web应用程序的设计和开发阶段,开发人员在开发类似的项目时可能会遇到相似的问题。每名开发人员可能会遇到的问题找出不同或相似的解决方案。但是,这导致一些时间和精力浪费在为相似的问题寻找解决方案上。因此,要啊节省时间和精力,需要记录常见问题…

HBM产业链,爆了!

2023年&#xff0c;随着AI GPU 以及与AI相关的各类需求激增&#xff0c;HBM价格“逆势暴涨”。2024年&#xff0c;HBM依旧“状态火热”&#xff0c;带动产业链公司股价“水涨船高”。 周二&#xff0c;SK海力士股价再涨5%&#xff0c;三星涨1.5%&#xff1b;上游芯片设备生产商…

DVWA-old (老版本)csrf

csrf lowmedium low 打开burp抓包&#xff0c;发现是get请求&#xff0c;尝试在burp中修改密码&#xff0c;发下可以直接修改成功 根据url地址栏中的信息构造链接 &#xff0c;将此链接放在.html为后缀的文件并将此文件放在本地www目录下&#xff0c;在保持登陆状态点击此链接…

pytorch花式索引提取topk的张量

文章目录 pytorch花式索引提取topk的张量问题设定代码实现索引方法gather方法验证 补充知识expand方法gather方法randint pytorch花式索引提取topk的张量 问题设定 或者说&#xff0c;有一个(bs, dim, L)的大张量&#xff0c;索引的index形状为(bs, X)&#xff0c;想得到一个(…

APP inventor零基础移动应用开发

1.Android平台简介 Android由谷歌和开放手机联盟共同创建的一款针对手机的开源软件工具包 主要特色 ---开放性 – 丰富的硬件选择 – 开发商不受任何限制 – 无缝集成互联网服务 App Inventor是由Google公司开发的一款在线开放的Android编程工具软件&#xff0c;通过图形化…