【Java EE初阶十九】网络原理(四)

4. 数据链路层

        数据链路层也有很多种协议,其中一个比较常见常用的,就是“以太网协议”(通过网线/光纤, 来通信所使用的协议叫做以太网协议,以太网是横跨数据链路层 + 物理层);

4.1 以太网数据帧格式

        帧头 + 载荷(IP 数据报)+ 帧尾,以太网数据帧格式如下图所示:

        如上图所示:

目的地址:6字节

源地址:6字节

        这里的6 个字节,不是 IP 地址,而是网络中的另一套地址体系,mac 地址(物理地址)

        由于最开始搞网络的时候,网络层协议和数据链路层协议,是各自独立的,所以地址这个东西就被搞了两份出来, 故此这俩地址就被用到了不同的场景中, mac 地址由于是 6 个字节,能表示的范围,比IP 地址大了6w 多倍。

        IP 地址虽然早都不够用了,但是 mac 还是够用的。目前来说,每个设备都是有唯一的 mac 地址(网卡出厂的时候,就写死的,一般来说也不能修改,mac 也可以作为一台网络设备的身份标识)

q1:IP 地址和 Mac 地址各自的用途是什么?
        IP 协议立足于全局,完成整个通信过程的路径规划工作。
        以太网则是关注于局部,即相邻两个设备之间的通信过程。

类型:

        描述载荷数据是一个啥样的数据,关于ip数据报的相关知识如下所示:

        像交换机这样的设备,收到以太网数据帧的时候,就需要进行转发,(这个转发过程就需要能够根据 mac 地址,判定出数据要走哪个网口),这里的网口是"物理意义"上插网线的口(IP 协议,路由器,走哪个网络接口,其实是抽象的概念,最终还是要在数据链路层才能决定是走哪个网口...)

        q2:具体如何转发?
        交换机内部也有一个数据结构"转发表”,和前面说的路由表有点像,但其实还是有一系列差别;转发表是一个简单的像 hash 这样的映射,转发表主要就是通过 arp 协议来生成的;

5. DNS 域名解析系统 

        使用 IP 地址,来描述设备在网络上的位置,IP 地址不适合进行宣传,所以引入了“域名"这样的方式来解决上述问题,将ip地址换成单词如:www.bilinili.com,所以需要有一套自动的系统,把域名翻译成 IP 地址(将域名和IP 想象成一组键值对);

        最早的域名解析系统,是通过一个简单的文件来实现的-->hosts 文件,如下图所示:

        

        hosts 文件来维护域名和ip 的映射关系,,非常不方便,于是就搭建了一套 DNS 系统(一组服务器),把上述这样的映射关系都保存到这个服务器中了;如果你想访问某个域名,就先给这个 DNS 服务器发起请求,查询一下当前域名对应的 ip, 然后再访问目标网站

        每时每刻都有很多设备需要进行 DNS 的请求,这一组服务器能抗住这么多的访问嘛?

        首先一个服务器硬件资源是有限的(CPU,内存,硬盘,网络带宽...),服务器处理每个请求,肯定都是要消耗一定的资源的。如果单位时间内,请求太多,消耗的总资源超过了机器本身的资源上限,这样机器就挂了,这种所谓的"高并发" 问题,我们有两种核心思路,如下所示:

        1.开源;搭建DNS系统的大佬,就开始号召各个网络运营商都可以自己搭建一组"DNS 镜像服务器",镜像服务器的数据, 都从他们这边来同步,当用户向DNS服务器发出请求时,此时用户就会优先访问离自己最近的镜像服务;

        2、节流.;让请求量变少,即让每个上网的设备都搞本地缓存。如果我的电脑 1min 之内要访问 10 次 www.bilibili.com,只是让第一次请求 DNS 即可,把请求得到的结果保存到本地;后面9次请求都使用第一次的结果即可;

        一般进行 DNS 解析,访问的都是就近的运营商的镜像;

        运营商的镜像服务器,经常会出现,"QQ 能用,网页打不开”的问题,这时候就需要修改电脑上的 DNS 服务器的地址。

ps:本次的内容就到这里了,如果大家感兴趣的话就请一键三连哦!!!

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

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

相关文章

从一到无穷大 #24 LogReducer:讨论日志中热点的影响,识别及在线解决方法

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。 文章目录 引言LogReducer系统性分析日志影响,原因在线日志缩减框架 反省总结 引言 …

提升起重机效率与降低维修成本:PreMaint预测性维护系统的应用

随着科技的不断发展,人工智能技术在各行各业都展现出了强大的应用潜力。在港口起重机设备的维护管理中,预测性维护系统是一项革命性的技术,为提升设备效率、降低维修成本提供了全新的解决方案。本文将深入探讨起重机预测性维护系统的原理、应…

nvm的相关属性以及用法

一、安装nvm的原因 nvm是一个命令行工具,用于管理和切换到不同版本的 Node.js。 二、安装nvm(node 版本管理工具) 1、注意: Windows 不支持 NVM,因为 NVM 仅在 Linux 和 Mac 上受支持。你将在 Windows 机器上使用的…

中小品牌项目管理软件排行榜:发现行业新秀与潜力股

使用项目管理软件可以帮助企业提高工作效率,降低成本,提升竞争力。在项目管理软件中,不仅有大品牌如Zoho Projects、Microsoft Project、Jira等,还有一些小品牌的软件也备受关注。本文就为大家介绍在项目管理软件排行榜中小品牌榜…

09_Java集合

一、Java集合框架概述 一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用Array存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态…

如何在Linux系统中配置并优化硬盘的RAID

在Linux系统中配置和优化硬盘的RAID技术可以帮助提高数据存储性能和安全性。RAID(Redundant Array of Independent Disks)技术通过将多个硬盘组合起来,以增加性能、容量或冗余度,提高数据的可靠性和可用性。本文将介绍如何在Linux…

6.s081 学习实验记录(十)file system

文章目录 一、Large files简介提示实验代码实验结果 二、Symbolic links简介提示实验代码实验结果 首先切换到 fs 分支 $ git fetch$ git checkout fs$ make clean 一、Large files 简介 该实验需要我们增大xv6文件的最大大小,目前xv6的最大文件大小为 268个块&…

WordPress主题YIA在广告位添加图片广告时下方有空白怎么办?

YIA主题设置中默认有4个广告位,而侧边栏的广告位由站长自行添加。boke112百科在这些广告位添加图片广告后发现图片下方有空白,导致下方的两个角没有变圆角,看起来也有点不好看。具体如下图所示: 其实,这个问题就是典型…

挑战杯 地铁大数据客流分析系统 设计与实现

文章目录 1 前言1.1 实现目的 2 数据集2.2 数据集概况2.3 数据字段 3 实现效果3.1 地铁数据整体概况3.2 平均指标3.3 地铁2018年9月开通运营的线路3.4 客流量相关统计3.4.1 线路客流量排行3.4.2 站点客流量排行3.4.3 入站客流排行3.4.4 整体客流随时间变化趋势3.4.5 不同线路客…

跟着pink老师前端入门教程(JavaScript)-day01

一、计算机编程基础 (一)编程语言 1、编程 编程:就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。 计算机程序:就是计算机所执行的一系列的指令集合,而程序全部…

嵌入式学习 C++ Day5、6

嵌入式学习 C Day5、6 一、思维导图 二、作业 1.以下是一个简单的比喻,将多态概念与生活中的实际情况相联系: 比喻:动物园的讲解员和动物表演 想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴…

UVa1359/LA3491 Hills

题目链接 本题是2005年ICPC亚洲区域赛杭州欧赛区的H题 题意 平面上有 n(n≤500)条线段,其中每条线段的端点都不会在其他线段上。你的任务是数一数有多少个“没有被其他线段切到”的三角形(即小山)。如下图所示&#x…

【Vitis】Vitis性能优化的开源库

Vitis HLS简介 Vitis™HLS是一种高层次综合工具,支持将C、C和OpenCL™函数硬连线到器件逻辑互连结构和RAM/DSP块上。 Vitis HLS可在Vitis应用加速开发流程中实现硬件内核,并使用C/C语言代码在VivadoDesign Suite中为赛灵思器件设计开发RTL IP。 【Vitis…

不坑盒子 助力高效办公的Office插件

不坑盒子简介 很多朋友在工作过程中需要对Word文档进行编辑处理,如果想让Word排版更有效率可以试试小编带来的这款不坑盒子软件,是一个非常好用的办公工具,拥有近百项功能的Word,wps插件,支持Office 2010以上的版本&a…

【plt.bar绘制条形图or柱状图】:从入门到精通,只需一篇文章!【Matplotlib可视化】

【📊plt.bar绘制条形图】:从入门到精通,只需一篇文章!【Matplotlib】 利用Matplotlib进行数据可视化示例 🌵文章目录🌵 🔍 一、初识plt.bar:条形图的基本概念💡 二、plt.…

Maven - Plugins报错的正确解决之道

背景: 正确解决之道: 在自己本地Maven的安装目录中找到自己的仓库地址目录:直接搜索自己报错的插件文件,把它们删除,如图: 接着回到IDEA点击Maven刷新按钮重新加载即可:已解决 反例&#xff1…

【机构vip教程】Appium自动化(2):Python+Appium环境搭建

windows下搭建pythonappium环境 搭建过程步骤如下: 1、安装jdk并配置好环境变量(jdk版本1.8以上) 2、安装android-sdk并配置好环境变量;具体步骤见:https://www.cnblogs.com/YouJeffrey/p/15243705.html 3、安装安…

浅谈js事件机制

事件是什么?事件模型? 原始事件模型(DOM0级) HTML代码中指定属性值:在js代码中指定属性值:优点:缺点: IE 事件模型DOM2事件模型 对事件循环的理解 宏任务(Macrotasks&…

Three.JS教程5 threejs中的材质

Three.JS教程5 threejs中的材质 一、什么是Three.js材质?二、Three.js的材质类型1. 材质类型2. 材质的共用属性(1).alphaHash : Boolean(2).alphaTest : Float(3).alphaToCoverage : Boolean&am…

白酒:制曲工艺的微生物多样性及其作用

在云仓酒庄豪迈白酒的制曲工艺中,微生物多样性是一个关键要素。曲是白酒生产中的重要配料,它由小麦、麸皮等原料制成,经过微生物的发酵和生长而形成。微生物的多样性和相互作用对曲的品质和白酒的口感具有重要影响。 首先,微生物多…