网络原理(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,一经查实,立即删除!

相关文章

关于TypeError:无法读取null属性(读取‘isCE‘) -自定义组件库

关于TypeError:无法读取null属性(读取’isCE’) -自定义组件库 大家先看一下这个文章 https://cloud.tencent.com/developer/ask/sof/106913760 这个文章里面给了vite解决方案 这里我给出一个webpack解决方案 首先我建议你的组件库和你的项目进行vue版本锁定 第二补在你的vue.c…

假期作业 11

整理chmod、chgrp、chown指令的应用成文档 chmod 文件分类: bcd-lsp d 目录 - 普通文件 b 块设备驱动文件 磁盘 c 字符设备驱动文件 键盘 鼠标 l link 链接文件 软连接 硬连接 网络编程 s socket 套接字文件 网络编程 p pipe 管道文件 权限内容 r read w write - 无…

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

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

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

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

剑指大数据-企业级数据仓库项目实战

第1章 大数据与数据仓库概论 大数据生态圈分为7层,这7层可以概括为数据采集层、数据计算层、数据应用层3层结构。 第4章 用户行为数据采集模块 4.1日志生成 4.1.1数据埋点 用户行为日志的内容,主要包括用户的各项行为信息,以及行为所…

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;支…

超越Swagger和Postman:使用Visual Studio的.http文件轻松调试Web API

在软件开发过程中&#xff0c;调试Web API是至关重要的环节。传统上&#xff0c;开发人员经常使用Swagger或Postman等工具来测试API。然而&#xff0c;Visual Studio提供了一项内置功能&#xff0c;使用.http文件可以更快速、简便地调试Web API。本文将介绍如何使用Visual Stud…

Node.js开发-包管理工具

包管理工具 1) 概念2) npm3) 配置命令别名 1) 概念 管理『包』的应用软件&#xff0c;可以对「包」进行 下载安装 &#xff0c; 更新 &#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的安装包放置…

六、Java高级-泛型(二)

2、泛型的实现 2.1 泛型的使用 1、类或接口后面→泛型类/泛型接口&#xff08;参数化的类型&#xff09; 当类中的某个成员变量不确定时&#xff0c;可以考虑在类的上面声明泛型&#xff1b;当类/接口中某个非静态方法的形参或返回值不确定时。当类或接口中的某个/某些非静态…

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…

【算法】树状数组和线段树

文章目录 一、树状数组二、线段树 一、树状数组 O ( l o g n ) O(logn) O(logn) &#xff1a;单点修改、区间查询 与前缀和的区别&#xff1a; 前缀和是离线的&#xff0c;每次动态修改原数组某个元素&#xff0c;都需要重新求一遍前缀和&#xff0c;因此单点修改是 O ( n )…

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…

Mamba-UNet:用于医学图像分割的类似UNet的纯视觉Mamba网络

文章目录 摘要1、引言2、方法2.1、架构概述2.2、VSS 块2.3、编码器2.4、解码器2.5、瓶颈和跳跃连接3、实验与结果3.1、数据集3.2、实现细节3.3、基准方法3.4、评估指标3.5、定性结果3.6、定量结果4、结论摘要 在医学图像分析的最新进展中,卷积神

【手写数据库toadb】数据字典缓存的实现方法和接口分享,面向对象设计思想,接口单一化

412数据字典的缓存 ​专栏内容: 手写数据库toadb 本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。 本专栏会定期更新,对应的代码也会定期更新,每个阶段的代码会打上tag,方便…

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

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

2023年中国网络安全产业发展态势

文章目录 前言一、需求依然增长,市场竞争加剧二、产业增速放缓,融资市场降温三、产业结构变革,优化整合途径(一)电信运营商快速入场,互联网厂商加速网络安全领域布局。(二)网络安全商业模式在发生变化,网络安全运营服务、托管服务模式正在逐渐被客户认同。(三)国内安…