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

【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:本次的内容就到这里了,如果大家感兴趣的话就请一键三连哦!!!

相关文章:

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

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

12.23 校招 实习 内推 面经

绿*泡*泡VX: neituijunsir 交流*裙 ,内推/实习/校招汇总表格 1、社招&校招 | 轻舟智航 社招 & 2024校招 社招&校招 | 轻舟智航 社招 & 2024校招 2、校招 | 成都精灵云科技2024校园招聘补录 校招 | 成都精灵云科技2024校园招聘补录 …...

FPGA转行ISP的探索之一:行业概览

ISP的行业位置 最近看到一个分析,说FPGA的从业者将来转向ISP(Image Signal Process图像信号处理)是个不错的选择,可以适应智能汽车、AI等领域。故而我查了一下ISP,对它大致有个概念。 传统的ISP对应的是相机公司&…...

Linux系统之部署网页小游戏合集网站

Linux系统之部署网页游戏合集网站 一、项目介绍1.1 项目介绍1.2 自定义配置方法二、本次实践介绍2.1 环境规划2.2 本次实践介绍三、检查本地环境3.1 检查操作系统版本3.2 检查当前yum仓库四、安装httpd软件4.1 检查yum仓库4.2 安装httpd软件4.3 启动httpd服务4.4 查看httpd服务…...

【白嫖8k买的机构vip教程】python(2):python_re模块

python之re模块 一、正则表达式   re模块是python独有的匹配字符串的模块,该模块中提供的很多功能是基于正则表达式实现的,而正则表达式是对字符串进行模糊匹配,提取自己需要的字符串部分,他对所有的语言都通用。注意&#xf…...

【CSS】display:flex和display: inline-flex区别

flex&#xff1a;将对象作为弹性伸缩盒显示 inline-flex&#xff1a;将对象作为内联块级弹性伸缩盒显示 DOM结构 <div class"main"><div></div><div></div><div></div><div></div></div>flex .main{…...

rpm安装gitlab

1.1 下载gitlab安装包 使用rpm包安装命令安装gitlab的rpm包&#xff0c;下载地址为https://packages.gitlab.com/gitlab/gitlab-ce社区版本&#xff1b; 推荐使用清华大学镜像&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab安装包详见&#xff1…...

图论之dfs与bfs的练习

dfs--深度优选搜索 bfs--广度优先搜索 迷宫问题--dfs 问题&#xff1a; 给定一个n*m的二维迷宫数组其中S是起点&#xff0c;T是终点&#xff0c;*是墙壁&#xff08;无法通过&#xff09;&#xff0c; .是道路 问从起点S出发沿着上下左右四个方向走&#xff0c;能否走到T点&a…...

Vue练习5:图片的引入

后续会补充 1.require引入 src -> asstes <template><img :src"url"> </template><script> export default {name: App,data(){return{url: require("./assets/logo.png"),}} } </script> 2.import引入 src…...

SpringBoot+Kafka

文章目录 一、依赖二、配置文件三、API1、生产者2、消费者 一、依赖 <!-- spring-kafka&#xff08;与kafka的版本一致&#xff09; --> <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId>…...

世界顶级名校计算机专业,都在用哪些书当教材?(文末送书)

目录 01《深入理解计算机系统》02《算法导论》03《计算机程序的构造和解释》04《数据库系统概念》05《计算机组成与设计&#xff1a;硬件/软件接口》06《离散数学及其应用》07《组合数学》08《斯坦福算法博弈论二十讲》参与规则 清华、北大、MIT、CMU、斯坦福的学霸们在新学期里…...

蓝桥杯刷题--python-8(2023 填空题)

0幸运数 - 蓝桥云课 (lanqiao.cn) res=0 for i in range (1,100000000):l_n=[]for j in str(i):l_n.append(int(j))if len(l_n) % 2 ==0:cur =len(l_n)>>1if sum(l_n[:cur])==sum(l_n[cur:]):res+=1 print(res) 0有奖问答 - 蓝桥云课 (lanqiao.cn) dfs def bfs(score, q…...

Eclipse - Reset Perspective

Eclipse - Reset Perspective 1. Window -> Perspective -> Reset Perspective2. Reset Perspective -> YesReferences 1. Window -> Perspective -> Reset Perspective 2. Reset Perspective -> Yes ​​​ References [1] Yongqiang Cheng, https://yo…...

1.5v的电池电压低于多少v等于没电

对于1.5V的电池&#xff0c;电压低于一定值时就不再适合使用了。具体的电压值取决于电池的类型和使用设备的需求。一般来说&#xff0c; 对于接收设备&#xff08;如收音机、BB机、遥控机等&#xff09;&#xff0c;每节电池电压一般到1.2V以下就认为没电了。有些电动玩具、剃…...

LabVIEW智能监测系统

LabVIEW智能监测系统 设计与实现一个基于LabVIEW的智能监测系统&#xff0c;通过高效的数据采集和处理能力&#xff0c;提高监测精度和响应速度。系统通过集成传感器技术与虚拟仪器软件&#xff0c;实现对环境参数的实时监测与分析&#xff0c;进而优化监控过程&#xff0c;提…...

代码随想录刷题第34天

第一题是柠檬水找零https://leetcode.cn/problems/lemonade-change/&#xff0c;感觉并没有特别靠近贪心算法&#xff0c;可供讨论的情况非常少&#xff0c;5元收下&#xff0c;10元返5元&#xff0c;20元返15元&#xff0c;对各种找零情况讨论一下即可。 class Solution { pu…...

AMD FPGA设计优化宝典笔记(5)低频全局复位与高扇出

亚军老师的这本书《AMD FPGA设计优化宝典》&#xff0c;他主要讲了两个东西&#xff1a; 第一个东西是代码的良好风格&#xff1b; 第二个是设计收敛等的本质。 这个书的结构是一个总论&#xff0c;加上另外的9个优化&#xff0c;包含的有&#xff1a;时钟网络、组合逻辑、触发…...

14. Qt 程序菜单实现,基于QMainWindow

目录 前言&#xff1a; 技能&#xff1a; 内容&#xff1a; 一、ui中直接添加控件实现 二、 完全通过代码实现菜单 参考&#xff1a; 前言&#xff1a; 基于QMainWindow&#xff0c;两种方式实现菜单&#xff1a;通过直接添加ui控件快速添加菜单和完全通过代码实现菜单&a…...

如何利用SpringSecurity进行认证与授权

目录 一、SpringSecurity简介 1.1 入门Demo 二、认证 ​编辑 2.1 SpringSecurity完整流程 2.2 认证流程详解 2.3 自定义认证实现 2.3.1 数据库校验用户 2.3.2 密码加密存储 2.3.3 登录接口实现 2.3.4 认证过滤器 2.3.5 退出登录 三、授权 3.1 权限系统作用 3.2 授…...

如何简单上手清华AutoGPT并搭建到本地环境

一、准备工作 安装Docker&#xff1a;确保你的本地机器上已经安装了Docker。如果还没有安装&#xff0c;请访问Docker官方网站并按照指引进行安装。--点击进入Docker官网 获取清华AutoGPT的Docker镜像&#xff1a;清华AutoGPT团队可能已经提供了一个Docker镜像&#xff0c;方便…...

低代码组件“看似简单,上线即崩”?20年专家拆解5个被90%团队忽略的线程安全与事务传播陷阱

第一章&#xff1a;低代码组件“看似简单&#xff0c;上线即崩”的真相低代码平台承诺“拖拽即交付”&#xff0c;但真实生产环境中&#xff0c;大量业务系统在上线后数小时内便出现表单提交失败、数据丢失、权限错乱或页面白屏等问题。这些故障并非源于复杂逻辑&#xff0c;而…...

AI头像生成器开发者必备:GitHub项目管理核心技巧详解

AI头像生成器开发者必备&#xff1a;GitHub项目管理核心技巧详解 1. 引言&#xff1a;为什么GitHub对AI头像生成器项目至关重要 开发一个AI头像生成器项目时&#xff0c;你是否遇到过这些挑战&#xff1a;团队成员同时修改同一文件导致冲突、新功能上线后出现意外bug却无法快速…...

3步解锁魔兽争霸III最佳体验:WarcraftHelper全方位优化工具指南

3步解锁魔兽争霸III最佳体验&#xff1a;WarcraftHelper全方位优化工具指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper WarcraftHelper是一款专为…...

千问3.5-2B集成IDEA开发环境:Java大模型应用快速构建指南

千问3.5-2B集成IDEA开发环境&#xff1a;Java大模型应用快速构建指南 1. 为什么要在IDEA中集成大模型&#xff1f; 作为Java开发者&#xff0c;我们经常需要在项目中处理各种文本处理任务。传统方式要么需要调用外部API&#xff08;有网络延迟和费用问题&#xff09;&#xf…...

Qwen3-14B部署避坑指南:从环境配置到服务上线的完整流程

Qwen3-14B部署避坑指南&#xff1a;从环境配置到服务上线的完整流程 1. 环境准备与系统要求 在开始部署Qwen3-14B之前&#xff0c;确保你的硬件和软件环境满足以下要求&#xff1a; 1.1 硬件配置建议 组件最低配置推荐配置GPUNVIDIA T4 (16GB)NVIDIA A10G (24GB)或A100 (40…...

intv_ai_mk11 GPU算力优化部署:7B模型在CSDN GPU实例上的高效运行方案

intv_ai_mk11 GPU算力优化部署&#xff1a;7B模型在CSDN GPU实例上的高效运行方案 1. 项目背景与价值 intv_ai_mk11是基于Llama架构的7B参数AI对话模型&#xff0c;专为中文场景优化设计。在CSDN GPU实例上部署这类中型模型时&#xff0c;面临的主要挑战是如何在有限显存条件…...

超滤膜行业领先公司

《2026年超滤膜权威排名&#xff1a;深圳市洛哈斯水处理技术有限公司何以凭借AI智控技术领跑行业&#xff1f;》在2026年的深度测评中&#xff0c;深圳市洛哈斯水处理技术有限公司凭借其行业领先的“AIoT智能膜系统”与卓越的长期运行稳定性&#xff0c;综合表现排名第一&#…...

深入解析DDR3与AXI接口:基于7035开发板的实战笔记

1. DDR3基础概念与7035开发板适配 第一次接触DDR3时&#xff0c;我也被那些专业术语搞得晕头转向。直到在7035开发板上实际调试后&#xff0c;才发现理解DDR3的关键在于抓住几个核心特性。DDR3全称Double Data Rate 3&#xff0c;顾名思义&#xff0c;它在时钟上升沿和下降沿都…...

HsMod终极指南:5步打造你的专属炉石传说模改体验

HsMod终极指南&#xff1a;5步打造你的专属炉石传说模改体验 【免费下载链接】HsMod Hearthstone Modify Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod HsMod是一款基于BepInEx框架的炉石传说模改插件&#xff0c;为玩家提供全面的游戏体验…...

Word文档自动更新日期技巧

设置Word文档自动显示当天日期打开Word文档后&#xff0c;可以通过插入日期字段实现每次打开时自动更新为当天日期。方法1&#xff1a;使用日期字段在Word文档中定位光标到需要显示日期的位置。点击菜单栏"插入"→"文本"→"日期和时间"。在弹出的…...