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

JavaEE初阶---网络原理(四)--IP协议/DNS协议

文章目录

  • 1.初识网络层(了解即可)
  • 2.地址管理
    • 2.1动态分配
    • 2.2网络地址转换
    • 2.3IP-v6最终解
  • 3.网段划分
  • 4.以太网协议--数据链路层
  • 5.DNS应用层协议

1.初识网络层(了解即可)

网络层做的事情就是下面的两个:

1)地址管理:就是对于这个地址的分配;

2)路由选择:两个节点之间的路径有很多,我们需要进行规划;

​ 网络层主要就是学习这个IP协议:

image-20241030215156220

​ 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位的数据,只不过为了理解,写成了点分式的形式;

image-20241030221244544

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和这个端口号都会进行转换,否则我们到时候这个响应返回的时候无法根据这个端口号进行设备的区分,因此这个端口号会进行转换,但时候相应的时候再转换回去;路由器会记住这个端口号转换前后的这个映射的关系,方便到时候返回的时候可以把这个响应发送到对应的设备;

image-20241031085242804

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.以太网协议–数据链路层

数据链路层:通过网线,光纤进行通信进行通信----以太网,横跨数据链路层和物理层;

以太网数据帧:帧头+载荷+帧尾

image-20241031095239639

目的地址:这个里面的目的地址指的不是我们上面说的这个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的总线互连 这幅图画得比较粗糙&#xff0…...

初始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可以用&#xf…...

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 设计和文档生成工具,使开发者能够轻松创建、…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...