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

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 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!


目录
相关文章
|
12天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的奥秘:探索神经网络的核心原理
本文将深入浅出地介绍深度学习的基本概念,包括神经网络的结构、工作原理以及训练过程。我们将从最初的感知机模型出发,逐步深入到现代复杂的深度网络架构,并探讨如何通过反向传播算法优化网络权重。文章旨在为初学者提供一个清晰的深度学习入门指南,同时为有经验的研究者回顾和巩固基础知识。
35 11
|
6天前
|
存储 缓存 Java
什么是线程池?从底层源码入手,深度解析线程池的工作原理
本文从底层源码入手,深度解析ThreadPoolExecutor底层源码,包括其核心字段、内部类和重要方法,另外对Executors工具类下的四种自带线程池源码进行解释。 阅读本文后,可以对线程池的工作原理、七大参数、生命周期、拒绝策略等内容拥有更深入的认识。
什么是线程池?从底层源码入手,深度解析线程池的工作原理
|
2天前
|
网络协议 网络虚拟化
接收网络包的过程——从硬件网卡解析到IP
【9月更文挑战第18天】这段内容详细描述了网络包接收过程中机制。当网络包触发中断后,内核处理完这批网络包,会进入主动轮询模式,持续处理后续到来的包,直至处理间隙返回其他任务,从而减少中断次数,提高处理效率。此机制涉及网卡驱动初始化时注册轮询函数,通过软中断触发后续处理,并逐步深入内核网络协议栈,最终到达TCP层。整个接收流程分为多个层次,包括DMA技术存入Ring Buffer、中断通知CPU、软中断处理、以及进入内核网络协议栈等多个步骤。
|
2天前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
17 3
|
2天前
|
监控 安全 网络安全
网络安全的盾与剑:漏洞防御与加密技术解析
【9月更文挑战第17天】在数字时代的浪潮中,网络安全成为保护数据和隐私的关键防线。本文深入浅出地探讨了网络安全的两大支柱:漏洞防御和加密技术,旨在提升公众的安全意识并分享防护策略。我们将从基础概念出发,逐步深入到技术细节,不仅阐释原理,还提供实际案例分析,帮助读者构建起一道坚固的数字防御墙。
17 3
|
8天前
|
存储 安全 算法
网络安全与信息安全的全方位解析
在现代社会,随着信息技术的飞速发展,网络安全和信息安全问题日益凸显。本文将通过浅显易懂的语言和具体的实例,全面解析网络安全漏洞、加密技术以及安全意识等方面的知识,帮助读者提升对网络安全与信息安全的认知和应对能力。
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
深度剖析深度神经网络(DNN):原理、实现与应用
本文详细介绍了深度神经网络(DNN)的基本原理、核心算法及其具体操作步骤。DNN作为一种重要的人工智能工具,通过多层次的特征学习和权重调节,实现了复杂任务的高效解决。文章通过理论讲解与代码演示相结合的方式,帮助读者理解DNN的工作机制及实际应用。
|
7天前
|
网络协议 Linux 应用服务中间件
Socket通信之网络协议基本原理
【9月更文挑战第14天】网络协议是机器间交流的约定格式,确保信息准确传达。主要模型有OSI七层与TCP/IP模型,通过分层简化复杂网络环境。IP地址全局定位设备,MAC地址则在本地网络中定位。网络分层后,数据包层层封装,经由不同层次协议处理,最终通过Socket系统调用在应用层解析和响应。
|
8天前
|
网络协议 网络架构 数据格式
TCP/IP基础:工作原理、协议栈与网络层
TCP/IP(传输控制协议/互联网协议)是互联网通信的基础协议,支持数据传输和网络连接。本文详细阐述了其工作原理、协议栈构成及网络层功能。TCP/IP采用客户端/服务器模型,通过四个层次——应用层、传输层、网络层和数据链路层,确保数据可靠传输。网络层负责IP寻址、路由选择、分片重组及数据包传输,是TCP/IP的核心部分。理解TCP/IP有助于深入掌握互联网底层机制。
34 2
|
9天前
|
机器学习/深度学习 人工智能 TensorFlow
深入骨髓的解析:Python中神经网络如何学会‘思考’,解锁AI新纪元
【9月更文挑战第11天】随着科技的发展,人工智能(AI)成为推动社会进步的关键力量,而神经网络作为AI的核心,正以其强大的学习和模式识别能力开启AI新纪元。本文将探讨Python中神经网络的工作原理,并通过示例代码展示其“思考”过程。神经网络模仿生物神经系统,通过加权连接传递信息并优化输出。Python凭借其丰富的科学计算库如TensorFlow和PyTorch,成为神经网络研究的首选语言。
12 1

推荐镜像

更多