JavaEE初阶---网络原理(四)--IP协议/DNS协议
文章目录
- 1.初识网络层(了解即可)
- 2.地址管理
- 2.1动态分配
- 2.2网络地址转换
- 2.3IP-v6最终解
- 3.网段划分
- 4.以太网协议--数据链路层
- 5.DNS应用层协议
1.初识网络层(了解即可)
网络层做的事情就是下面的两个:
1)地址管理:就是对于这个地址的分配;
2)路由选择:两个节点之间的路径有很多,我们需要进行规划;
网络层主要就是学习这个IP协议:
IP-v4:这个图上面的4位版本;
IP-v6:如果上面的这个是6位版本就是我们的IP-v6;
上面的两个就是最常见的两个情况
3)16位总长度:IP数据包的总长度;
IP协议支持拆包组包的功能,协议自己是支持的,不需要我们自己手动实现;
4)16位标识:如果一个大包需要拆成多个小包,我们的小包的这个属性就是一样的;
13位偏移:越小数据越靠前,越大数据越靠后,对于我们的数据进行排序;
3位标记:是不是最后一个包,是否可以拆包;
上面的三个就是我们的IP协议实现的拆包组包的相关的设计~~
5)8位生存时间:我们的这个数据包还可以生存多久数据包转发经过路由器,经过一个,这个TTL就会-1,表 示我们可以经过的这个路由器的个数,经过这个之后还没有到达我们的目的地,就会被丢弃;
我们的数据包被创建出来的时候,这个TTL就会被分配一个固定的数值,然后被我们使用;
6)8位协议:查看我们的数据包是UDP数据包还是TCP数据包;
7)下面的这个是我们的IP里面最重要的,我们的这个IP地址就是一个32位的数据,只不过为了理解,写成了点分式的形式;
2.地址管理
IP地址,就是一个32位的整数,这个是有限的,但是我们的这个上网设备很多,但是又不可以重复,因此就会出现这个IP地址不够用的情况;近几年更是出现了物联网的情况,因此这个IP地址的使用就显得捉襟见肘;
如何缓解这个IP地址不够用的问题:
2.1动态分配
1)动态分配:提高IP地址的利用率,这个方案不可以根治我们的这个问题,只能说是一个过渡方案,但是这个方式在现在还是广泛存在的;
2.2网络地址转换
2)网络地址转换NAT:一个IP地址代表一批设备,而不是一个IP一个设备;
IP地址分为两类:
2.1)内网IP:10. 或者是172.16.-----172.31.或者是172.168.
内网IP之间是可以重复的;就是不同的局域网里面的这个IP是可以重复的,在这个局域网李米娜,我们的这个IP是不可以重复的;
2.2)外网IP:不可以重复,一个外网IP就是一个设备;
网络地址转换的过程:我们的一个局域网里面的这个电脑,经过这个运营商服务器的时候会进行这个IP的转换,我们的转换之后的这个IP才是可以进入这个广域网的,然后传输给我们的这个服务器;
我们的这个服务器收到的就是我们的转换之后的IP地址;
我们的这个服务器返回响应的时候,根据这个端口号分配给这个局域网里面的不同的电脑;
即使我们的局域网里面的这个不同设备的端口号也是一样的,这个时候经过路由器进行转换的时候,这个IP和这个端口号都会进行转换,否则我们到时候这个响应返回的时候无法根据这个端口号进行设备的区分,因此这个端口号会进行转换,但时候相应的时候再转换回去;路由器会记住这个端口号转换前后的这个映射的关系,方便到时候返回的时候可以把这个响应发送到对应的设备;
2.3IP-v6最终解
IP-V6使用16字节表示网络上面的地址;
4字节:2^(4*8);
16字节:2^(16*8)—这个数据其实就是非常非常大的;-----从根本上解决问题;
实际上这个IP-v6的普及程度非常低的,虽然他们的这个诞生时间相近;
IP-V4和我们的IP-v6不兼容,我们只能买新的路由器替换掉原理的这个,才可以使用我们的这个IP-v6,这个也是我们的这个IP-v6没有很大程度上进行普及的原因;
3.网段划分
IP地址====网络号(标识局域网)++主机号(标识这个局域网里面的设备);
192.168.1.10:这个IP里面的这个前面的三个部分就是我们的网络号,最后一个部分就是主机号(使用这个点号座位分隔符,分割为了4个部分);
相邻的局域网之间的这个网络号不可以是一样的;
4.以太网协议–数据链路层
数据链路层:通过网线,光纤进行通信进行通信----以太网,横跨数据链路层和物理层;
以太网数据帧:帧头+载荷+帧尾;
目的地址:这个里面的目的地址指的不是我们上面说的这个IP地址,而是一套新的机制—mac地址;
MAC地址是6字节,表示的这个数据的范围比我们的IP地址大了很多,目前来说,这个MAC地址还是够用的,不像我们的IP地址出现这个不够用的情况;
IP地址:整条路线的这个源IP和目的IP;
MAC地址:就是我们的这个局部非源IP和目的IP;
北京------》天津------》上海:
这个例子里面,我们的这个北京到天津的过程中;我们的源IP就是北京,但是目的不一定,如果是这个IP地址,这个时候就是上海,但是如果是我们的这个MAC地址,这个时候就是我们的天津;
因此这个IP地址是从全局进行考量,进行路径的规划,我们的这个MAC地址则是从局部进行处理的,这个是两者的区别;
5.DNS应用层协议
IP地址描述网络上面不同设备的位置;
IP地址不适合进行宣传,我们使用域名进行宣传www.baidu.com这样的就是域名;
域名IP之间的这个相互转换,根据可以接受的域名转换为这个IP,域名需要进行购买,100左右一年;
有的域名比较贵,例如我们熟知的靓号:8888,6666之类的这个;
之前使用host文件表示记录这个域名和IP之间的关系,但是这个方法现在已经不再使用了;
后来我们搞了这个DNS服务器,这个是一组服务器,我们想要对于这个IP和域名之间的这个转换进行更新的时候,直接对于这个一组服务器进行操作,但是又有新的问题:
如果对于这组服务器的访问量过大,这个时候我们的这组服务器是不是会出现问题,这个是经常常见的,因此我们出现了下面的两个解决方案:
1)开源:让这个网络运行商进行我们的这个镜像服务器的搭建,就是这个数据内容是一样的,但是不是直接和我们的原本的服务器进行交互,而是去和我们的镜像服务器去交互,这样就可以让我们的这些镜像服务器去缓解我们的真实的服务器的压力;
2)节流:我们让这个访问的设备进行数据缓存,例如我们这个电脑想要一段时间里面10次访问这个服务器,这个时候我们把这个第一次访问的数据存储到我们的这个本地缓存里面去,后续的这个操作直接在我们的这个本地缓存的基础上面进行操作,而不是直接和这个服务器进行交互;(让这个域名的更换,没有那么频繁);
相关文章:

JavaEE初阶---网络原理(四)--IP协议/DNS协议
文章目录 1.初识网络层(了解即可)2.地址管理2.1动态分配2.2网络地址转换2.3IP-v6最终解 3.网段划分4.以太网协议--数据链路层5.DNS应用层协议 1.初识网络层(了解即可) 网络层做的事情就是下面的两个: 1)地…...

LeetCode20:有效的括号
原题地址:. - 力扣(LeetCode) 题目描述 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合…...

简单介绍Class文件、Dex文件以及ELF文件
Class文件 Class文件是Java源代码文件经Java编译器编译后得到的Java字节码文件。对比Linux、Windows上的可执行文件而言,Class文件可以看作是Java虚拟机的可执行文件。 Dex文件 Dex文件是Android平台上与传统Class文件对应的Java字节码文件。Dex文件的核心内容与Cl…...

Vivo开奖了,劝退价。。
vivo 也开奖了,不过有小伙伴反馈是个劝退价,甚至不如隔壁的 oppo,要说这两家也是渊源颇深,一家是绿厂,一家是蓝厂,高管也都是早期步步高出来的。 给大家盘一下开奖的信息,方便大家横向做个对比&…...

鸿蒙打包hvigorw clean报错No npmrc file is matched in the current user folder解决
问题 在执行hvigorw clean等命令时,报错如下: Error: The hvigor depends on the npmrc file. No npmrc file is matched in the current user folder. Configure the npmrc file first解决方案 在用户当前目录下新建.npmrc文件,并配置如下…...

无人机救援系统基本组成
无人机救援系统基本组成 1. 源由2. 组成2.1 无人机载具2.1.1 多旋翼2.1.2 垂起固定翼2.1.3 智能避障2.1.4 物资投递 2.2 智能吊舱2.2.1 云台2.2.2 高清摄像2.2.3 红外热成像2.2.4 激光测距2.2.5 目标跟踪 2.3 通讯链路2.3.1 超长距离通信2.3.2 长距离通信2.3.3 中等距离通信 2.…...

git入门教程
git入门教程1:git简介git入门教程2:git发展历史git入门教程3:安装配置git入门教程4:git工作流程git入门教程5:git仓库操作git入门教程6:git基本版本控制git入门教程7:git与远程仓库的交互git入门…...

AMBA:AHB_Slave_Mux的解析与HREADY、HREADYOUT
相关阅读 AMBAhttps://blog.csdn.net/weixin_45791458/category_12800219.html?spm1001.2014.3001.5482 简介 从1999年的AMBA2发布以来,AHB协议中就存在数据选择器,如图1所示的AHB2协议的总线互连。 图1 AHB2的总线互连 这幅图画得比较粗糙࿰…...

初始Linux (2) : 权限
1. su [用户名]及权限概念 Linux中有两种用户:普通用户、超级用户 超级用户可以再 linux 系统下做任何事情,不受限制;而普通用户只能做有限的事情。 可以使用指令:su -快速进入root账户,但需要输入相关密码。 超级用…...

在Mac下安装时间序列软件Hector
1.软件介绍 Hector 是一款开源软件,专用于 GNSS 时间序列数据的处理与分析,广泛应用于地球科学研究。它帮助研究人员从 GNSS 数据中提取长期趋势、周期性成分,并建模噪声特性,用于地壳形变、地震影响和气候变化等方面的研究。Hec…...

JVM1.8内存模型
一、内存模型概览 本文介绍的是JDK1.8的内存模型。1.8同1.7相比,最大的差别就是元空间取代了永久代。元空间的本质和永久代类似,都是堆JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元空间并不存在虚拟机中,而是…...

windows C#-类型系统(上)
C# 是一种强类型语言。 每个变量和常量都有一个类型,每个求值的表达式也是如此。 每个方法声明都为每个输入参数和返回值指定名称、类型和种类(值、引用或输出)。 .NET 类库定义了内置数值类型和表示各种构造的复杂类型。 其中包括文件系统、网络连接、对象的集合和…...

【酷狗音乐】逆向登录参数分析
mid、uuid参数 从cookie里面取值kg_mid,没有就生成 dfid也是从cookie里面取的kg_dfid 清空cookie dfid "-"也是可以的 md5加密了一个随机uuid import uuid import hashlibuuid1 str(uuid.uuid4())def md5_encrypt(text):return hashlib.md5(text.enco…...

Jenkins面试整理-Jenkins Pipeline 是什么?
Jenkins Pipeline 是一种将 Jenkins 中的持续集成和持续交付(CI/CD)流程定义为代码的方式。Pipeline 提供了一种灵活、可维护的方式,通过脚本来描述构建、测试、部署等流程。Jenkins Pipeline 使用 Groovy 作为脚本语言,并可以通过 Jenkinsfile 来定义和管理流水线。 Jenki…...

RHCE第三次实验
要求 (1)学生信息网站只有song和tian两人可以访问,其他用户不能访问。 (2)访问缴费网站实现数据加密基于https访问。 架设一台NFS服务器,并按照以下要求配置 1、开放/nfs/shared目录,供所…...

基于LORA的一主多从监测系统_4G模块上巴法云
临时添加一个更新,更换云平台为巴法云,事情的起因是因为阿里云这个老六,早上睡了一觉起来发短信告诉我云平台给我停了,得交钱,好嘛,不过也没办法现在这基本都收费,当然还有onenet可以用…...

pip使用
pip全称pip install package,是python第三方包sitepackage管理的工具,安装,卸载第三方包。安装python时可以选择安装pip,或自己安装pip 查看pip是否安装:pip --version 安装pip :pip python -m pip install --upgrade…...

Django ORM详解:外键使用(外键逻辑关联)与查询优化
Django数据库迁移 # 创建迁移 python manage.py makemigrations your_app_name # 应用迁移 python manage.py migrate # 查看迁移状态 python manage.py showmigrations # 回滚迁移 python manage.py migrate your_app_name 0001 # 修改表后,删除迁移记录和表删除迁移记录后重…...

【Python】实战:使用input()从键盘获取一个字符串,判断这个字符串在列表中是否存在(函数体不能使用in),返回结果为True或False
使用input()从键盘获取一个字符串,判断这个字符串在列表中是否存在(函数体不能使用in),返回结果为True或False def exists_in_list(input_string, str_list):# 遍历列表中的每个元素for item in str_list:if item input_string: # 如果当前元素等于输…...

【YApi】接口管理平台
一、简介 YApi 是一个用于前后端开发团队协作的 API 管理平台,帮助团队更加高效地进行 API 接口的设计、测试、文档管理和版本控制等工作。 YApi 主要功能: API 设计和管理:提供 API 设计和文档生成工具,使开发者能够轻松创建、…...

QNAP威联通NAS忘记密码怎么办?
创作立场:原创不易,拒绝搬运~ hello 大家好,我是你们的老伙伴,稳重的大王~ 如题:在使用QNAP 威联通NAS期间,如果忘记密码,怎么去找回密码呢? 每台QNAP 威联通NAS,在机器…...

MySQL FIND_IN_SET 函数详解
文章目录 1. 基本语法2. 使用场景3. 实战示例3.1 基础查询示例3.2 与其他函数结合使用3.3 动态条件查询 4. 性能考虑5. 常见问题和解决方案5.1 大小写敏感问题5.2 空值处理5.3 模糊匹配 6. 总结 1. 基本语法 FIND_IN_SET 函数的基本语法如下: FIND_IN_SET(str, st…...

【零售和消费品&厨房】厨房食材检测图像分割系统源码&数据集全套:改进yolo11-goldyolo
改进yolo11-RepNCSPELAN等200全套创新点大全:厨房食材检测图像分割系统源码&数据集全套 1.图片效果展示 项目来源 人工智能促进会 2024.10.30 注意:由于项目一直在更新迭代,上面“1.图片效果展示”和“2.视频效果展示”展示的系…...

自制田字格word
背景 孩子上小学要开始学认字了,每周有好多字要打印,要是直接拿一张A4纸去打印,字的排版就显得尤为重要,排过来排过去,总感觉不够正式。就想去网上搜一个可以下载的田字格模板。某度搜了半天,倒是搜到一堆…...

微软官方 .NET 混淆软件 Dotfuscator
微软官方 .NET 混淆软件 Dotfuscator 1、前言2、Dotfuscator 特色2.1、强大的保护2.2、不需要顾问2.3、世界一流的支持2.4、广泛的平台支持 3、Dotfuscator 功能介绍3.1、.NET Obfuscator3.2、篡改防御和提示3.3、监控性能和使用情况3.4、Silverpght XAML Obfuscatio3.5、WPF B…...

19 Docker容器集群网络架构:二、etcd 集群部署
文章目录 Docker容器集群网络架构:二、etcd集群离线部署2.1 准备工作2.1.1 上传etcd2.1.2 解压etcd2.1.3 拷贝文件到/usr/local/bin2.1.4 创建相关目录并赋权2.2 创建etcd集群2.2.1 创建etcd配置文件2.2.2 配置etcd服务文件2.2.3 启动ectd服务2.3 查看etcd集群成员2.3.1 查看e…...

React + SpreadJS 开发时常见问题
在使用React与SpreadJS进行开发时,可能会遇到各种各样的问题。以下是一些常见的问题及其解决建议: 1. SpreadJS初始化失败 问题描述: 有时候SpreadJS的初始化可能会失败,特别是在React组件的生命周期内不当的初始化时机。 解决…...

docker 调用宿主机实现关机
Docker调用宿主机关机命令或调用宿主机程序,这涉及到了Docker容器与宿主机之间的通信和资源共享技术。具体来说,这种技术或通讯方式主要通过以下几种方法实现: 一、使用数据卷 Docker允许使用-v或--volume选项将宿主机上的目录或文件挂载到…...

51单片机--- 16*32点阵滚动显示
实验目标:51单片机驱动74LS183控制16*32点阵滚动显示 实验步骤: 在Proteus里画出原理图 在Keil里用C语言编写程序 在Proteus中导入HEX文件,启动仿真 74LS138 简介...

渗透测试-百日筑基—文件上传篇特征截断渲染%00绕过——下篇
目录 day10-渗透测试文件上传篇&绕过&特征&截断&渲染 一、黑名单大小写绕过代码分析 1、获取文件后缀名进行判断,如果后缀在这个字典里就禁止上传。 2、黑名单大小写绕过攻击 二、利用 windows 系统特征绕过上传 1、windows 系统特征绕过漏洞…...