网络原理(7)——以太网数据帧和DNS协议(数据链路层和应用层)

本文涉及的产品
.cn 域名,1个 12个月
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
简介: 网络原理(7)——以太网数据帧和DNS协议(数据链路层和应用层)

一、以太网数据帧(数据链路层)


       以太网横跨了数据链路层和物理层,这里只做简单介绍,因为普通程序员用不到这一块,除非是做交换机开发的;下图是数据帧的格式。

目的地址和源地址:和IP协议上表达意思差不多,但这里是mac地址。

数据:以太网数据帧的载荷最小46字节,最大1500字节;这里的大小限制是因为受到了物理设备的特性46字节是因为ARP1500字节是因为硬件的限制(和以太网的网口 / 网线这些物理设备有关系),称为“MTU”在IP数据报拆包组包的过程中,原因往往不是因为自身大小超过64KB了,而是因为MTU的原因。(数据链路层不仅仅只有以太网这种协议,还有许多其他的协议,不同的协议,MTU也会有所差异)。

类型:标识了载荷数据的含义。有以下三种(上图的三种):

       IP数据报:如果载荷类型是这个,此时以太网数据帧大概率是能够携带业务数据的报文(大概率携带的是业务数据,也可能携带的是syn这种)。

ARP和RARP可以认为这两个横跨了 网络层 和 数据链路层 的协议。

       ARP:效果是让路由器 / 交换机 建立一个内部的结构,可以通过映射,找到mac的地址,映射关系:IP -> mac(类似哈希表这种)。

       RARP:效果也是让路由器 / 交换机 建立一个内部的结构,也是映射,不过找到的是IP地址,映射关系:mac -> IP

       前面通过路由表,可以拿着IP查询下一步走哪个网络接口(通常指路由器的 WAN / LAN口);但也还需要根据当前环境,获取当前对应要转发的mac地址(需要知道通向的设备具体的mac地址)。

       数据链路层这里,引用的地址协议和IP协议不一样,它有它自己的独立的一套地址体系:mac地址(或物理地址)mac地址 和 IP地址是独立的两条地址体系

       其实这两个地址协议是可以合并在一起的,但是因为历史的原因,这两个地址协议是两伙人搞出来的,而且既然搞出来了,就拿出来用了。

       之前说的IP协议 侧重于 全局的转发,从起点到终点,这整个转发过程,是通过IP协议完成的;而mac协议 侧重于 局部的转发,两个相邻的设备之间的转发(一个电脑连着路由器,电脑和路由器就是相邻的关系)。

       因为mac地址是6个字节的地址,所以可以表示的地址的个数比IP地址多很多,大概是:42亿9000万 * 65535,所以mac地址还是很充足够用的,这里用的就是静态地址硬件设备网卡,在出厂的时候就已经把mac地址给写死,所以每个电脑设备上的mac地址都是唯一的网卡和mac地址也是一对一绑定的;基于mac地址,有些程序,可以通过mac地址来作为你机器的身份表示,例如外挂,只有在你电脑上插u盘才能用,其他电脑插上就不能用,原因就是制作外挂者这里的服务器,用户这边的客户端,服务器利用mac地址就知道哪些人是从自己这买的外挂,然后允许他用外挂(声明:制作外挂、售卖外挂均为违法行为,请遵纪守法,做好合法公民)

       mac地址是用16进制方式表示的,字节之间则是用 “-” 或 “:” 来分隔的,如图是我电脑上的mac地址(Windows系统的物理地址就是mac地址):

       这里的mac地址和IP地址也有其他方面的不同,如图是以太网数据帧:

      源 / 目的mac地址类似一个小阶段的目标,而源 / 目的IP是类似终极目标这种。举个例子:

我要去陕西,途中我要经过:广东 -> 湖南 -> 湖北 -> 陕西。

       这里有不同的阶段,对应不同的mac地址,但IP地址一直都是相同的,如下:

       广东 -> 湖南        源IP:广东,目的IP:陕西        源mac:广东,目的mac:湖南

       湖南 -> 湖北        源IP:广东,目的IP:陕西        源mac:湖南,目的mac:湖北

       湖北 -> 陕西        源IP:广东,目的IP:陕西        源mac:湖北,目的mac:陕西

       mac地址和IP地址的不同如上(还有其他的不同),mac地址这里侧重的是局部(相邻)的转发(两个相邻的设备)IP地址这里侧重的是全局的转发,从起到到终点,这转发的整一个过程。        


二、DNS协议(域名解析系统,应用层协议)


       如果使用IP地址来描述设备的地址,又长又难记,如果访问某个服务器,需要记住它的IP地址的话,就很难记住,也可能记混的现象;所以,有更好的方法:使用域名(word),通过域名,把域名转换成对应的IP地址,就好记很多,也不容易错。

       DNS协议就是域名解析的一个协议,在上古时期,那时候是通过host文件把域名和IP一一对应起来,每一行都有域名和IP每次访问某个域名,就会通过这个域名,在host文件中查找对应的IP,从而找到这个访问设备在网络中位置

       但是随着互联网发展的越来越快,域名和服务器都越来越多,此时维护的成本就很大,所以大佬们就干脆 搭建一个服务器,提供域名解析的功能(之前的host内容也放到服务器上了),你的设备想要访问某个域名,就会先到域名解析服务器(DNS服务器)上查一下,找到对应的IP,拿着这个IP访问即可。

       但是,全世界那么多人,如果都访问这个DNS服务器,那不会很容易挂了,它能抗住这么多请求吗?显然是不能的,其实DNS服务器并非只有一份,而是有很多份。如下解释:

       最开始的DNS服务器称为根域名服务器这里的内容最全然后各个国家的运营商,就根据这个根域名服务器的内容,搭建出镜像服务器网民上网时,一般就是访问你附近的运营商搭建的镜像DNS服务器,而镜像服务器也会定期从根DNS服务器中同步数据

       域名还分为一级,二级,三级.....,这样就可以控制每个服务器管理的数据都差不多,如图:

       上图的com是一级域名,sogou是二级域名,www是三级域名其中根域名服务器里的内容非常重要,如果把其中一部分内容删除掉,就可能会导致一个地区 / 一整个国家网络瘫痪,无法上网。而根域名服务器一共有13个,大部分都是美国人维护的,所以,这也是我国迫切要升级IPv6的原因。

       有时候会出现一种情况,QQ、微信能等的上去,但是网页却打不开,可能就是你附近的运营商的DNS服务器挂了,这时候我们可以换个DNS服务器地址,如:8.8.8.8,这是谷歌搞得一套DNS镜像服务器,换完后,可能就可以打开网页了。

相关文章
|
9天前
|
设计模式 监控 Java
解析Spring Cloud中的断路器模式原理
解析Spring Cloud中的断路器模式原理
|
1天前
|
网络协议 算法 程序员
提高网络稳定性的关键:TCP滑动窗口与拥塞控制解析
**TCP可靠传输与拥塞控制概要:** 小米讲解TCP如何确保数据可靠性。TCP通过分割数据、编号段、校验和、流量控制(滑动窗口)和拥塞控制(慢开始、拥塞避免、快重传、快恢复)保证数据安全传输。拥塞控制动态调整窗口大小,防止网络过载,提升效率。当连续收到3个相同ACK时执行快重传,快恢复避免剧烈波动。关注“软件求生”获取更多技术内容。
14 4
提高网络稳定性的关键:TCP滑动窗口与拥塞控制解析
|
3天前
|
SQL 安全 网络安全
网络安全与信息安全:从漏洞到防护的全方位解析
【7月更文挑战第14天】在数字时代的浪潮中,网络安全与信息安全成为维护社会稳定和保护个人隐私的关键。本文深入探讨了网络环境中常见的安全漏洞、先进的加密技术以及提升安全意识的有效策略。通过分析最新的网络攻击案例和防御手段,旨在为读者提供一套实用的网络安全知识体系,帮助公众和企业构建更为坚固的信息安全防线。
|
4天前
|
域名解析 存储 网络协议
一次读懂网络分层:应用层到物理层全解析
**网络五层模型简介:** 探索网络服务的分层结构,从应用层开始,包括HTTP(网页传输)、SMTP(邮件)、DNS(域名解析)和FTP(文件传输)协议。传输层涉及TCP(可靠数据传输)和UDP(高效但不可靠)。网络层由IP(路由数据包)、ICMP(错误报告)和路由器构成。数据链路层处理MAC地址和帧传输,物理层规定了电缆、连接器和信号标准。了解这些基础,有助于深入理解网络运作机制。
15 5
|
4天前
|
SQL 安全 网络安全
数字堡垒的裂缝与防御:网络安全漏洞解析与加密技术应用
【7月更文挑战第13天】在数字化浪潮中,网络安全漏洞如同潜藏的陷阱,威胁着信息资产的安全。本文将深入剖析常见的网络攻击手段和安全漏洞,揭示它们背后的原因和影响。同时,探讨加密技术如何成为守护数据安全的利剑,以及提升个人与企业的安全意识在防范网络风险中的关键作用。通过案例分析和策略建议,旨在为读者提供一套实用的网络安全知识框架,强化数字世界的防护壁垒。
|
5天前
|
网络协议 程序员 定位技术
学习网络的第一步:全面解析OSI与TCP/IP模型
**网络基础知识概览:** 探索网络通信的关键模型——OSI七层模型和TCP/IP五层模型。OSI模型(物理、数据链路、网络、传输、会话、表示、应用层)提供理论框架,而TCP/IP模型(物理、数据链路、网络、传输、应用层)更为实际,合并了会话、表示和应用层。两者帮助理解数据在网络中的传输过程,为网络设计和管理提供理论支持。了解这些模型,如同在复杂的网络世界中持有了地图。
13 2
|
1天前
|
存储 安全 网络安全
网络安全漏洞解析与防御策略:加密技术与安全意识的重要性
在数字化时代,网络安全成为维护个人隐私和企业资产的关键防线。本文深入探讨了网络安全漏洞的成因及其对信息安全构成的威胁,并分析了加密技术在保护数据安全中的作用。同时,强调了提升公众及企业员工的安全意识的必要性,以及如何通过教育和政策来构建更为坚固的网络安全环境。
|
2天前
|
网络协议 数据安全/隐私保护 Python
在通讯系统工程中,这通常包括硬件、软件、网络协议、数据传输等多个方面的设计和实现。
在通讯系统工程中,这通常包括硬件、软件、网络协议、数据传输等多个方面的设计和实现。
11 0
|
3天前
|
网络协议 安全 Python
我们将使用Python的内置库`http.server`来创建一个简单的Web服务器。虽然这个示例相对简单,但我们可以围绕它展开许多讨论,包括HTTP协议、网络编程、异常处理、多线程等。
我们将使用Python的内置库`http.server`来创建一个简单的Web服务器。虽然这个示例相对简单,但我们可以围绕它展开许多讨论,包括HTTP协议、网络编程、异常处理、多线程等。
8 0
|
6天前
|
安全 算法 网络安全
网络安全与信息安全:从漏洞到防御的全方位解析
在数字化时代,网络安全和信息安全的重要性日益凸显。本文将从网络安全漏洞、加密技术、安全意识等方面进行全面的知识分享,旨在帮助读者更好地理解网络安全和信息安全的重要性,并掌握相应的防护措施。
9 0

推荐镜像

更多