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

本文涉及的产品
.cn 域名,1个 12个月
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
简介: 网络原理(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!


目录
相关文章
|
1天前
|
存储 缓存 负载均衡
elasticsearch写入流程和请求检索流程原理全方位解析
elasticsearch写入流程和请求检索流程原理全方位解析
22 8
|
1天前
|
安全 网络协议 算法
Android网络基础面试题之HTTPS的工作流程和原理
HTTPS简述 HTTPS基于TCP 443端口,通过CA证书确保服务器身份,使用DH算法协商对称密钥进行加密通信。流程包括TCP握手、证书验证(公钥解密,哈希对比)和数据加密传输(随机数加密,预主密钥,对称加密)。特点是安全但慢,易受特定攻击,且依赖可信的CA。每次请求可能复用Session ID以减少握手。
13 2
|
1天前
|
存储 并行计算 算法
深入解析Java并发库(JUC)中的Phaser:原理、应用与源码分析
深入解析Java并发库(JUC)中的Phaser:原理、应用与源码分析
11 3
|
1天前
|
存储 监控 NoSQL
MongoDB索引解析:工作原理、类型选择及优化策略
MongoDB索引解析:工作原理、类型选择及优化策略
10 1
|
17小时前
|
存储 关系型数据库 MySQL
MySQL Doublewrite Buffer(双写缓冲区)深入解析:原理及作用
MySQL Doublewrite Buffer(双写缓冲区)深入解析:原理及作用
8 0
|
21小时前
|
域名解析 网络协议 定位技术
DNS自动择优:提升网络体验的新途径
DNS自动择优是智能选择最佳DNS解析路径的技术,基于网络状况、服务器负载等因素优化响应速度和稳定性。虽不增加带宽,但能减少延迟,提高访问速度,尤其在处理远距或高负载服务器时效果明显。通过选择支持该服务的DNS提供商并调整设备设置即可启用。在复杂网络环境中,DNS自动择优可提升用户体验。
|
1天前
|
SQL Java 数据库连接
MyBatis插件深度解析:功能、原理、使用、应用场景与最佳实践
MyBatis插件深度解析:功能、原理、使用、应用场景与最佳实践
4 0
|
1天前
|
缓存 监控 安全
深入解析Elasticsearch中脚本原理
深入解析Elasticsearch中脚本原理
5 0
|
1天前
|
安全 Java
深入解析Lombok中的@SneakyThrows注解原理
深入解析Lombok中的@SneakyThrows注解原理
8 0
|
1天前
|
存储 SQL 关系型数据库
MySQL行格式原理深度解析
MySQL行格式原理深度解析
5 0

热门文章

最新文章

推荐镜像

更多