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

简介: 网络原理(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!


目录
相关文章
|
2月前
|
机器学习/深度学习 算法 测试技术
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
本文探讨了基于图的重排序方法在信息检索领域的应用与前景。传统两阶段检索架构中,初始检索速度快但结果可能含噪声,重排序阶段通过强大语言模型提升精度,但仍面临复杂需求挑战
88 0
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
|
2月前
|
监控 应用服务中间件 Linux
掌握并发模型:深度揭露网络IO复用并发模型的原理。
总结,网络 I/O 复用并发模型通过实现非阻塞 I/O、引入 I/O 复用技术如 select、poll 和 epoll,以及采用 Reactor 模式等技巧,为多任务并发提供了有效的解决方案。这样的模型有效提高了系统资源利用率,以及保证了并发任务的高效执行。在现实中,这种模型在许多网络应用程序和分布式系统中都取得了很好的应用成果。
96 35
|
2月前
|
网络协议 安全 Devops
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
Infoblox DDI (NIOS) 9.0 - DNS、DHCP 和 IPAM (DDI) 核心网络服务管理
74 4
|
3月前
|
机器学习/深度学习 存储 算法
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
反向传播算法虽是深度学习基石,但面临内存消耗大和并行扩展受限的问题。近期,牛津大学等机构提出NoProp方法,通过扩散模型概念,将训练重塑为分层去噪任务,无需全局前向或反向传播。NoProp包含三种变体(DT、CT、FM),具备低内存占用与高效训练优势,在CIFAR-10等数据集上达到与传统方法相当的性能。其层间解耦特性支持分布式并行训练,为无梯度深度学习提供了新方向。
138 1
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
|
3月前
|
网络协议
为何UDP协议不可靠?DNS为何选择UDP?
总的来说,UDP和TCP各有优势,选择哪种协议取决于应用的具体需求。UDP可能不如TCP可靠,但其简单、快速的特性使其在某些场景下成为更好的选择。而DNS就是这样的一个例子,它利用了UDP的优势,以实现快速、高效的名字解析服务。
164 14
|
4月前
|
传感器 人工智能 监控
反向寻车系统怎么做?基本原理与系统组成解析
本文通过反向寻车系统的核心组成部分与技术分析,阐述反向寻车系统的工作原理,适用于适用于商场停车场、医院停车场及火车站停车场等。如需获取智慧停车场反向寻车技术方案前往文章最下方获取,如有项目合作及技术交流欢迎私信作者。
275 2
|
4月前
|
编解码 监控 网络协议
RTSP协议规范与SmartMediaKit播放器技术解析
RTSP协议是实时流媒体传输的重要规范,大牛直播SDK的rtsp播放器基于此构建,具备跨平台支持、超低延迟(100-300ms)、多实例播放、高效资源利用、音视频同步等优势。它广泛应用于安防监控、远程教学等领域,提供实时录像、快照等功能,优化网络传输与解码效率,并通过事件回调机制保障稳定性。作为高性能解决方案,它推动了实时流媒体技术的发展。
162 5
|
4月前
|
XML JavaScript Android开发
【Android】网络技术知识总结之WebView,HttpURLConnection,OKHttp,XML的pull解析方式
本文总结了Android中几种常用的网络技术,包括WebView、HttpURLConnection、OKHttp和XML的Pull解析方式。每种技术都有其独特的特点和适用场景。理解并熟练运用这些技术,可以帮助开发者构建高效、可靠的网络应用程序。通过示例代码和详细解释,本文为开发者提供了实用的参考和指导。
119 15
|
4月前
|
负载均衡 JavaScript 前端开发
分片上传技术全解析:原理、优势与应用(含简单实现源码)
分片上传通过将大文件分割成多个小的片段或块,然后并行或顺序地上传这些片段,从而提高上传效率和可靠性,特别适用于大文件的上传场景,尤其是在网络环境不佳时,分片上传能有效提高上传体验。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
4月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

推荐镜像

更多