网络原理(3)--以太网协议,DNS

💕"Echo"💕
作者:Mylvzi
文章主要内容:网络原理(3)–以太网协议,DNS
在这里插入图片描述
在网络原理(2)中介绍了网络层中的一个重要的协议–ip协议,网络层关注的通信时的起点和终点,而数据链路层更加"底层"一些,关注的是传输过程中局部两个设备之间的传输,下面就进入到数据链路层的学习

一.以太网协议

以太网协议是指通过网线/光纤传输数据的协议

以太网协议是数据链路层中非常重要的一个协议,指的是通过网线这样的物理设备传输数据的协议,除了通过网线这样的物理设备传输数据,还可以通过WIFI/数据流量(4g/5g)进行传输,这些传输介质也有对应的协议,本文主要介绍以太网协议

以太网是一种常见的局域网技术,不仅是数据链路层的约束,也是物理层的约束(网线的水晶头就是通过以太网进行规范的),以太网协议会对有网络层传输过来的数据报进行进一步的封装,以下是以太网协议的数据报格式
在这里插入图片描述

帧尾 CRC(Cyclic Redundancy Check)

CRC是一种错误检验机制,用于检查数据在传输的过程中是否发生错误,类似与UDP协议中的校验和,通常位于以太网数据帧的帧尾,4个字节的大小

目的地址,源地址

此处的地址不再是ip地址,而是 mac地址,MAC 地址(Media Access Control address),中文翻译为媒体访问控制地址,是网络设备(如计算机、网络适配器、路由器等)的硬件标识符,每个网络设备都有唯一的一个mac地址

mac地址和ip协议的地址都是用于标识网络设备在网络中的地址,他们之间在定位上是有一定的冲突的,之所以会被保留下来两套地址,其实是一个历史发展问题,最开始的时候,数据链路层和网络层的发展是各自独立的,网络层中使用ip地址来描述网络设备的地址,数据链路层中使用mac地址标识,最后两套地址就都被保留下来

mac地址相较于ip地址有所不同,首先mac地址的大小是6个字节,可以表示的数据范围是 0 -2 ^ 48,表示的数据范围大约是ip地址的6w多倍,mac地址在现在也是够用的~,mac地址通常是在网卡出厂时就被写死了,每台设备只有唯一的一个mac地址

根据mac地址的标识,就能快速定位到设备的所在地,互联网不是法外之地,如果你发表不当言论,警察叔叔就可以根据mac地址快速定位到你的设备

mac地址和ip地址的另外一个区别在于ip地址在传输的过程中源ip和目的ip是不会发生变化的,但是源mac地址和目的mac地址是会随着传输过程中局部设备的不同发生改变的~
其实这也是网络层和数据链路层的一个区别,网络层关注的是起点和终点.数据链路层关注的是传输过程中局部两个节点的传输情况,以下是一个图解
在这里插入图片描述
mac地址由48位数字组成,通常是以16进制进行表示,每两个16进制数代表一个字节,如 01:23:45:67:89:ab。其中,前 24 位(前三个十六进制数)代表了设备的厂商识别码(OUI,Organizationally Unique Identifier),由 IEEE(Institute of Electrical and Electronics Engineers)分配,用于标识设备的制造厂商;后 24 位代表了设备的唯一序列号

类型

这个字段描述的是以太网数据报的载荷的类型,类型可以分为三类:
在这里插入图片描述
,
第一类就是我们之前学习过的ip协议的数据报,在这里面,以太网数据报承受的最大的ip数据报的大小是1500字节(这相较于ip协议数据报的最大字节数65535字节差距还是很大的~),这个数字也被称为MTU(Maximum Transmission Unit)最大传输单元,不同的数据链路层协议的MTU是不同的,且MTU的大小和传输过程中的物理设备也是相关的,不同的物理设备的最大的可传输量是不同的,可以把MTU理解为汽车的最大载重量,汽车在不同介质的路面上可以运输的最大重量是不同的,在泥路/公路/高速上的最大载重量均不同

剩下的两种类型的载荷都是辅助转发的数据报,不含有任何的业务逻辑,具体的作用就是辅助转发,对于交换机这样的设备来说,以太网的数据帧传输到交换机时,就要选择转发数据的网口,具体的转发过程是通过一个转发表实现的,转发表就类似于ip数据报转发过程中的路由表.转发表也是一种数据结构,转发表的具体内容就是通过上述的arp协议进行组织的~
在这里插入图片描述

二.DNS

DNS(Domain Name System)域名解析系统,也是应用层中非常重要的一个协议,用于将域名解析为对应的ip地址,

在网络中,人们使用ip地址(32位的数字)来定位和标识计算机设备,就像我们使用电话号联系他人一样.但是人们更加容易理解和记忆域名,而不是一串数字

DNS就充当着ip地址和域名的转换器,使我们可以直接通过域名访问网站,发送电子邮件,如如果我们想要访问百度的网站,可以直接输入域名:www.baidu.com

想要通过这种方式访问网站,就要存储域名和ip地址的映射关系(就像哈希表一样),最开始是通过电脑中的hosts文件来存储这种映射关系,但是这种方式不太方便,在网络中每天都发生着网站的创建和网站的销毁,一旦有网站信息的变动就要对每一台电脑的host文件进行修改,很繁琐

后来一些大佬们就创建出一台DNS服务器专门存储域名和ip地址的映射关系,如果用户想要通过域名发文网站,请求就会先发送到这个DNS服务器,DNS服务器就会根据传输过来的域名转换为对应的ip地址,从而完成访问

但是想一想,一台服务器处理数据的能力是有限的,所持有的资源也是有限的,全世界每天都有很多台设备尝试访问不同的网站,一个DNS服务器肯定不能够承受如此之高的访问量,这其实也就是网络中经常出现的高并发的问题,高并发就是服务器收到的请求远远超过服务器所能处理的能力,一旦超过,服务器就会崩溃,高并发问题的核心解决思路有两点:

  1. 开源:让不同地区的厂商搭建出各自的镜像DNS服务器,数据由根DNS服务器提供,用户在访问网站时就会采取就近原则,访问最近的镜像DNS服务器,根服务器只起到一个存储数据的作用
  2. 节流:尝试减少访问服务器的次数.让每一台设备都设置一个本地缓存,当我短时间内尝试访问一个网站时,系统只会在第一次访问该网站时访问DNS服务器,并将映射关系存储到电脑的本地缓存之中,剩下几次访问时可以直接通过本地缓存中的内容进行访问

DNS服务器由美国的一个机构控制,域名申请与销毁也都要通过该机构操作

以上就是网络原理(3)–以太网协议,DNS所有内容,下一篇我们将要介绍网络中重要的一个协议:HTTP!

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

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

相关文章

【Effective Objective - C 2.0】——读书笔记(四)

文章目录 二十三、通过委托与数据源协议进行对象间通信二十四、将类的实现代码分散到便于管理的数个分类之中二十五、总是为第三方的分类名称加前缀二十六、切勿在分类里面声明属性二十七、使用“class-continuation分类”隐藏实现细节二十八、通过协议提供匿名对象 二十三、通…

springboot187社区养老服务平台的设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

MySQL 基础知识(六)之数据查询(一)

目录 1 基本查询 1.1 查询相关列 (select * / 列名) 1.2 别名 (as) 1.3 去重 (distinct) 1.4 对列中的数据进行运算 (、-、*、/) 2 条件查询 (where) 2.1 等值查询 () 2.2 非等值查询 (>、<、>、<、!、><) 2.3 逻辑判断 (and、or、not) 2.4 区间判…

源码推荐:hello-algo @ github

github https://github.com/krahets/hello-algo 本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。全书采用动画图解&#xff0c;结构化地讲解数据结构与算法知识&#xff0c;内容清晰易懂&#xff0c;学习曲线平滑。算法源代码皆可一键运行&#xff0c;支…

上位机图像处理和嵌入式模块部署(借鉴与学习)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 对于很多学院派的同学来说&#xff0c;他们对市场的感觉一般是比较弱的。如果写一个软件的话&#xff0c;或者说开发一个项目的话&#xff0c;他们…

(一)【Jmeter】JDK及Jmeter的安装部署及简单配置

JDK的安装和环境变量配置 对于Linux、Mac和Windows系统&#xff0c;JDK的安装和环境变量配置方法略有不同。以下是针对这三种系统的详细步骤&#xff1a; 对于Linux系统&#xff1a; 下载适合Linux系统的JDK安装包&#xff0c;可以选择32位或64位的版本。 将JDK的安装包放置…

VueCLI核心知识3:全局事件总线、消息订阅与发布

这两种方式都可以实现任意两个组件之间的通信 1 全局事件总线 1.安装全局事件总线 import Vue from vue import App from ./App.vueVue.config.productionTip false/* 1.第一种写法 */ // const Demo Vue.extend({}) // const d new Demo()// Vue.prototype.x d // 把Dem…

RK3568平台开发系列讲解(实验篇)用户空间和内核空间数据交换

🚀返回专栏总目录 文章目录 一、用户空间和内核空间数据交换二、实验驱动代码三、应用测试代码沉淀、分享、成长,让自己和他人都能有所收获!😄 一、用户空间和内核空间数据交换 内核空间和用户空间的内存是不能互相访问的。但是很多应用程序都需要和内核进行数据的交换,…

【AI视野·今日NLP 自然语言处理论文速览 第七十八期】Wed, 17 Jan 2024

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 17 Jan 2024 (showing first 100 of 163 entries) Totally 100 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Deductive Closure Training of Language Models for Coherence, Accur…

优化策略模式,提高账薄显示的灵活性和扩展性

接着上一篇文章&#xff0c;账薄显示出来之后&#xff0c;为了提高软件的可扩展性和灵活性&#xff0c;我们应用策略设计模式。这不仅仅是为了提高代码的维护性&#xff0c;而是因为明细分类账账薄显示的后面有金额分析这个功能&#xff0c;从数据库后台分析及结合Java语言特性…

2024幻兽帕鲁服务器创建教程_阿里PK腾讯超简单

幻兽帕鲁官方服务器不稳定&#xff1f;自己搭建幻兽帕鲁服务器&#xff0c;低延迟、稳定不卡&#xff0c;目前阿里云和腾讯云均推出幻兽帕鲁专用服务器&#xff0c;腾讯云直接提供幻兽帕鲁镜像系统&#xff0c;阿里云通过计算巢服务&#xff0c;均可以一键部署&#xff0c;鼠标…

vscode 提取扩展时出错。XHR failed

检查 vscode 设置中的代理服务器&#xff0c;位置如下图 清空 vocode 中的 Proxy&#xff0c;我黄线框的部分&#xff0c;内容清空。 检查电脑系统环境变量&#xff0c;是否设置了 http_proxy 和 https_proxy&#xff0c;如果有设置&#xff0c;则删除这两项&#xff0c;下载完…

《区块链公链数据分析简易速速上手小册》第4章:交易数据分析(2024 最新版)

文章目录 4.1 解析交易输入和输出4.1.1 基础知识4.1.2 重点案例&#xff1a;追踪比特币交易4.1.3 拓展案例 1&#xff1a;以太坊交易的输入输出解析拓展案例1&#xff1a;以太坊交易的输入输出解析步骤1: 连接到以太坊网络步骤2: 获取交易数据步骤3: 解析交易输入结论 4.1.4 拓…

Uipath 调用Python 脚本程序详解

Python 活动概述 UiPath.Python.Activities 是一个新的活动包&#xff0c;创建它是为了支持直接从工作流运行 Python 脚本和方法。 其包含以下活动&#xff1a; Python 作用域(Python Scope) - 为 Python 活动提供作用域的容器。 加载 Python 脚本(Load Python Script) - 将 P…

中国电子学会2023年12月份青少年软件编程Scratch图形化等级考试试卷四级真题(含答案)

2023-12 Scratch四级真题 分数&#xff1a;100 题数&#xff1a;24 分数&#xff1a;60min 一、单选题(共10题&#xff0c;共30分) 1.运行下列程序&#xff0c;输入“abcdef”&#xff0c;程序结束后&#xff0c;变量“字符串”是&#xff1f;&#xff08;B&#xff09;(3…

代码随想录刷题笔记 DAY 26 | 组合总和 No.39 | 组合求和 II No.40 | 分割回文串 No.131

文章目录 Day 2501. 组合总和&#xff08;No. 39&#xff09;1.1 题目1.2 笔记1.3 代码 02. 组合求和 II&#xff08;No. 40&#xff09;2.1 题目2.2 笔记2.3 代码 03. 分割回文串&#xff08;No. 131&#xff09;3.1 题目3.2 笔记3.3 代码 Day 25 01. 组合总和&#xff08;No…

Java入门高频考查基础知识9(银盛15问万字参考答案)

JAVA刷题专栏&#xff1a;http://t.csdnimg.cn/9qscL 目录 一、Springcloud的工作原理 三、注册中心心跳是几秒 四、消费者是如何发现服务提供者的 五、多个消费者调⽤用同⼀接口&#xff0c;eruka默认的分配⽅式是什么 六、springboot常用注解&#xff0c;及其实现 七、…

ClickHouse--10--临时表、视图

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.临时表1.1 特征1.2 创建一个临时表 2.视图2.1 普通视图2.2 物化视图 1.临时表 1.1 特征 ClickHouse 支持临时表&#xff0c;临时表具备以下特征&#xff1a; 当…

【JAVA WEB】JavaScript(WebAPI)--DOM基本概念 获取元素 点击事件 键盘事件

目录 什么是WebAPI DOM的基本概念 DOM是什么 DOM树 获取元素 querySelector querySelectorAll 事件 事件初识 基本概念 事件三要素 点击事件 键盘事件 什么是WebAPI 前端学习的 JS 分成三个大的部分 ECMAScript&#xff1a;基础语法部分DOM API&#xff1a;操作…

鸿蒙开发系列教程(十九)--页面内动画(2)

组件内转场动画 组件的插入、删除过程即为组件本身的转场过程&#xff0c;组件的插入、删除动画称为组件内转场动画。通过组件内转场动画&#xff0c;可定义组件出现、消失的效果。 transition(value: TransitionOptions) 参数可以定义平移、透明度、旋转、缩放这几种转场样…