【JavaEE初阶】网络原理(5)

欢迎关注个人主页:逸狼


创造不易,可以点点赞吗~

如有错误,欢迎指出~



目录

路由选择

数据链路层=>以太网

MTU

mac地址和IP地址的区别

空间范围不同

应用范围不同

ARP协议/ARP数据包

DNS(域名解析系统)


路由选择

每个路由器,无法知道整个网络结构的全貌,只能知道其中一小部分(每个路由器只知道他附近的设备是这样的情况)

路由器内部维护的重要数据->路由表,路由表类似hash一样,key相当于IP地址(网络号),value就是对应的网络接口,IP数据包到达路由器,就要进行查询路由表操作,IP数据包中的目的IP,查一查这个目的IP在路由表中是否存在,如果查到了,自然按照路由表指向的方向继续转发即可,否则,路由表,会有一个"默认表项->下一跳(指向了更高层级的路由器,认识的设备更广)",这个路由器也可能查不到,但也有下一跳...

 

数据链路层=>以太网

日常开发中,主要是应用层,传输层和应用层密切交互,传输层用到的也不少,网络层以及再往下,日常开发就很少涉及(除非开发交换机,运营商的工作人员)

"目的地址,源地址和类型" 共同构成了mac地址/物理地址,

  • 其中"类型"描述了载荷是什么样的数据; 类型为0806和8035时 不传输任何业务数据,而是给转发功能提供辅助措施
  • CRC是帧尾=>校验和
  • 数据链路层数据帧 的最大载荷长度是1500字节,相当于1.5kb

MTU

最⼤值1500称为以太⽹的最⼤传输单元(MTU),不同的⽹络类型有不同的MTU,MTU和硬件直接相关,不同的硬件设备对应到了不同的数据链路层协议,对应了不同的MTU. 

此处的MTU的限制,就会对上层协议(IP协议)产生直接影响, IP协议能拆包组包,实际上IP协议更多的应对MTU的限制,当一个IP数据包达到1500以上的时候,就会自动拆包了

mac地址和IP地址的区别

空间范围不同

mac地址使用6个字节表示,IP地址4个字节,空间范围比IP地址大了6w多倍,mac地址当前仍然可以给每个设备,都分配一个唯一的mac地址值

一般的网卡,在出厂时,mac地址就被分配好了(写死了,不能修改),所以mac地址可以作为设备的身份标识

应用范围不同

  • mac地址使用在数据链路层,用来实现两个相邻设备之间的数据转发(微观)
  • IP地址使用在网络层,立足于整个转发的流程,进行路径规划(宏观)

理论上,一套地址就能完成宏观和微观层次上的所有工作,实际上两个都留下了(历史遗留问题,IP和mac是两伙人同一段时间各自独立提出的,综合考虑,两者负责不同功能)

以太网的数据帧 里的mac地址,随着转发的过程,时刻发生改变(每经过一个交换机/路由器都会产生变化)

举个例子,从 西安=>吉林省白城市安广镇

ARP协议/ARP数据包

ARP协议可以视为是让当前设备,获取到周围设备IP地址和mac地址之间的映射关系

IP协议路由转发的过程都是拿着IP地址进行 查路由表=>得到的"网络接口"(抽象概念,更具体的传输给哪个mac地址的设备),这个环节就涉及到IP->mac

当前设备接入网络时,就会往广播地址发送ARP报文,收到ARP请求的设备就会返回ARP响应,响应中就会告知自己的IP和mac

DNS(域名解析系统)

DNS 即可以认为是 应用层协议,也可以认为是一套系统

域名代表了IP地址,存在对应关系,一般一个域名对应一个或者多个IP,也可能多个域名对应一个IP

虽然把IP地址写作点分十进制,但是仍然对人类不友好,所以进一步使用单词字符串来表示IP地址

域名转换成IP地址这样一套系统,就称为DNS

早期的DNS非常简单,通过一个文件(hosts)来实现

由于现在网站太多了,域名有很多,IP地址也有很多,靠文件来维护,不现实,不方便,为了解决上述问题,搭建了DNS服务器,把hosts文件放到DNS服务器里,当某个电脑需要进行域名解析,访问DNS服务器即可,

全世界每时每刻有大量设备都在访问DNS服务器 ,为了顶住这么大的访问量,多建设一些DNS服务器即可,多出来的DNS服务器称为"镜像服务器",全世界 有数不清的镜像服务器,往往是一些运营商/互联网公司维护,每个人上网时都会就近访问DNS服务器

针对数据变更,提前约定以某个服务器(根服务器)的数据为基准,一旦有变更,就修改这个基准服务器,其他服务器从基准服务器同步数据

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

图书管理系统汇报

【1A536】图书管理系统汇报 项目介绍1.用户登录注册功能1. 1用户角色管理2.图书管理功能2.1 添加图书2.2 编辑图书2.3 删除图书 3.图书搜索和筛选3.1 图书搜索3.2 图书筛选 4.图书借阅、图书归还4.1 图书借阅4.2 图书归还 5.用户信息管理5.1上传头像5.2修改头像5.3 修改密码 项…

清晰易懂的JavaScript进阶部分——DOM操作 (节点获取,节点属性修改,节点创建与插入,CSS样式的修改)

DOM操作(Document Object Model 文档对象模型)指的是通过JavaScript来操作网页的结构和内容。DOM提供了一种以文档树形式表示HTML或XML文档的方式,可以使用JavaScript来访问和修改网页的元素、属性和文本内容,且提供了一系列的函数…

服务器虚拟化

前言 服务器虚拟化是一种技术,它通过将一台物理服务器的软件环境分割成多个独立分区,使每个分区都能模拟出一台完整的虚拟服务器。这种技术利用虚拟化技术充分发挥服务器的硬件性能,提高运营效率,节约能源并降低经济成本。 通过…

如何在Linux下部署自己的ZFile开源网盘

ZFile 项目介绍 ZFile是一个功能强大、灵活的开源网盘系统,为用户提供安全便捷的文件存储和共享方案。 项目概述 ZFile由ZFile, Inc.开发和维护,基于Docusaurus构建。其用户友好的界面支持多种文件存储和共享功能,并具备高度的可定制性和扩…

StandardThreadExecutor源码解读与使用(tomcat的线程池实现类)

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Java源码解读-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 目录 目录 1.前言 2.线程池基础知识回顾 2.1.线程池的组成 2.2.工作流程 2…

VBA字典与数组第二十讲:如何在代码运行时创建数组

《VBA数组与字典方案》教程(10144533)是我推出的第三套教程,目前已经是第二版修订了。这套教程定位于中级,字典是VBA的精华,我要求学员必学。7.1.3.9教程和手册掌握后,可以解决大多数工作中遇到的实际问题。…

J2:ResNet50v2算法实战与解析

J2周:ResNet50V2算法实战与解析 论文解读1、ResNetV2结构与ResNet结构对比☕2、关于残差结构的不同尝试☕3、关于激活的尝试☕ Pytorch实现ResNet50V2算法1、导入库并设置GPU2、导入和检查数据3、划分数据集4、搭建ResNet-50V2模型Residual BlockStack(堆…

MFC图形函数学习04——画矩形函数

MFC中绘制矩形函数是MFC的基本绘图函数,它的大小和位置由左上角和右下角的坐标决定;若想绘制的矩形边框线型、线宽、颜色以及填充颜色都还需要其它函数的配合。 一、绘制矩形函数 原型:BOOL Rectangle(int x1,int y1,int x2,int y2); …

新手BUG:在声明了返回值的函数中不写返回值

本文对两个分别以int和string为返回值类型的函数进行分析,说明了在有返回值的函数中不写返回值会产生的问题。然后给出在编译阶段检查出这样的问题的办法。 一、背景 在软件测试环节发现,函数会在返回之前coredump。经过排查发现,在这个会…

机器人技术革新:人工智能的强力驱动

内容概要 在当今世界,机器人技术与人工智能的结合正如星星与大海,彼此辉映。随着科技的不断进步,人工智能不仅仅是为机器人赋予了“聪明的大脑”,更是推动了整个行业的快速发展。回顾机器人技术的发展历程,我们会发现…

外网访问 Immich 照片管理软件

Immich 是一个自托管的照片和视频备份的平台,它允许用户在私有服务器上存储、管理和分享他们的照片,视频等媒体文件。 第一步,本地部署安装 Immich 1,检查 Docker 服务状态,确保 Docker 正常运行。 systemctl statu…

电脑软件:推荐一款免费且实用的电脑开关机小工具

目录 一、软件简介 二、软件功能 三、软件特点 四、使用说明 五、软件下载 今天给大家推荐一款免费且实用的电脑开关机小工具KShutdown,有需要的朋友可以下载试一下! 一、软件简介 KShutdown是一款精巧且实用的定时自动关机小工具,对于…

Manus在虚拟现实仿真模拟中的应用案例分享

Manus虚拟现实手套作为一种高精度的人机交互设备,在仿真模拟领域展现出了巨大的应用潜力。通过提供实时、准确的手指动作捕捉数据,Manus手套为多个行业带来了前所未有的仿真体验,推动了技术发展和应用创新。 技术特点 1. 高精度手指跟踪 Ma…

ensp中acl的使用

拓扑图及其要求如下 基础配置 检查此上R2配置错误,undo重新写 检查手写配置无误 按要求写配置 要求1完成 因为一个接口的入或者出方向上 只能调用一张acl表格,所以要求二照样在R1上面写 要求3

5. STM32之TIM实验--输出比较(PWM输出,电机,四轴飞行器,智能车,机器人)--(实验5:PWM驱动直流电机)

作者:Whappy,日期:2024.10.29,决战STM32 直流电机的控制就比较简单了,只有数据线和地线,正接正转,反接反转,为了方便,本实验采用H桥电路来控制电机的正反转,H桥电路也很简单,就是4个MOS管构成的2路推挽输出电路. 注:基本上大功率器件,单片机基本上是无法驱动的,都是要靠一部分…

Python基础知识汇总(建议收藏再观看)!

1.执行脚本的两种方式 Python a.py 直接调用Python解释器执行文件 chomd x a.py ./a.py #修改a.py文件的属性,为可执行,在用 ./ 执行a.py 文件 2、简述位、字节的关系 1bytes8bit ,2**8256,可以代表256中变化, 3、简述 ascii、unicode、…

Java中IO的高级操作

目录 缓冲流 缓冲字节输入流: 缓冲字节输出流: 缓冲字符输入流: 缓冲字符输出流: 转换流 转换流字符输入: 转换流字符输出: 练习案例: 打印流 字节打印流: 字符打印流&a…

Matlab高光谱遥感

原文链接:Matlab高光谱遥感https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247623643&idx5&sne4557ed43728f851140b100f42286988&chksmfa8da23ccdfa2b2a4d795bf4087f672faaa7082d1f52e046616ab7bf196a6eef89ea553d06b1&token1392391660&…

ssm+jsp663数学课程评价系统的设计与开发

博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…

openssl-ec-chn命令手册

openssl-ec命令处理EC(Elliptic Curve,椭圆曲线)密钥。使密钥可以在各种形式之间转换,并打印出其组件。注意:OpenSSL使用“SEC 1:椭圆曲线密码学(Elliptic Curve Cryptography)”中指定的私钥格…