目录
🐕今日良言:跨过困难,去迎接更好的自己.
🐳一、以太网桢格式
🐳二、DNS
🐕今日良言:跨过困难,去迎接更好的自己.
🐳一、以太网桢格式
数据链路层考虑的是相邻两个节点(通过网线/光纤/无线直接相连的两个设备)之间的传输
数据链路层的典型协议也很多,其中最知名的就是"以太网".
以太网协议规定了数据链路层,也规定了物理层的内容.
我们使用的网线就叫做"以太网线"(遵守以太网协议的网线)
接下来,先来看一下以太网桢的格式:
以太网数据帧 = 桢头+载荷+桢尾
桢头:包括目的地址 源地址 类型
这里的不是使用IP表示地址了,而是使用了一个mac地址(物理地址),这个是和IP地址完全独立的另外一套地质体系.
mac地址:6个字节(比IPv4地址要大很多)当前每个设备都会有一个唯一的mac地址.
这个mac地址不是动态分配的,而是网卡出厂的时候就会被设置好的.
类型:帧协议类型字段有三种值,分别对应IP、ARP、RARP;
IP:普通的以太网数据帧的载荷部分就是一个完整的IP数据报.
ARP:载荷部分是一个ARP报文
这是另外的一个协议:ARP协议,通过这个协议,就可以让路由器/转发机可以认识局域网里面的其它设备.
ARP 不是一个单纯的数据链路层的协议,而是一个介于数据链路层和网络层之间的协议;ARP协议建立了主机 IP地址 和 MAC地址 的映射关系:通过ARP协议会在交换机/路由器 里面建立一个表,这个表相当于一个hash表,能够建立出IP和mac之间的映射关系.
RARP:载荷部分是一个RARP报文
载荷:一个完整的IP数据报.
既然有了IP地址,为什么还要有mac地址呢?
假设只有一套地址体系(比如IP地址和以太网都使用IP地址/mac地址)完全可以.
但是,在最初大佬们研发初代的协议栈的时候,研发网络层协议的大佬和研发数据链路层协议的大佬是两伙人,于是就各自研发除了一套地址体系.所以当前就演化成了两套地址体系相互配合的现状.
IP用来描述整个传输过程中的起点和终点.
mac用来描述两个相邻节点(起点和终点).
数据链路层考虑的是两个相邻节点之间怎么走.
接下来介绍一下MTU:
MTU是一个数据链路层的数据帧能够承载数据的最大长度(载荷的长度)
载荷具体多长,和使用的物理介质有很大关系,当然也和数据链路层使用的协议有很大关系.
比如以太网协议 MTU 1500字节.
正是这个MTU引起了IP协议来进行分包组包,IP的分包组包通常不是根据这个IP最大长度64Kb来分的, 大概率情况下,数据链路层的MTU都比64kb要小.
🐳二、DNS
这里补充一个应用层的协议:DNS 域名解析系统
这个协议也是当前互联网的基石.
什么是域名呢?
实际上就是网址.比如:www.baidu.com
要访问网络上的服务器需要使用的是IP地址,但是IP地址不好记,于是使用一些简单的单词构成字符串来表示这个地址.
每个域名都对应了一个/N个 IP地址.
所以说,就需要将域名和IP地址给对应上.
1).最原始的做法:使用hosts文件.
像hash表一样,建立了IP和域名的映射关系.
早期的时候,互联网上的服务器寥寥无几,此时每个用户手动维护自己的hosts文件够用了,
但是,后来互联网蓬勃发展,现在的网站成千上万,每天都有新的网站诞生,也有旧的网站消亡,此时再使用手工维护已经不靠谱了.
于是,大佬们搞了个DNS服务器.
2).DNS服务器
当用户想访问某个域名的时候,就自动请求一下DNS服务器,DNS服务器就进行查询,把得到的结果返回给用户(这个返回的结果就是一个具体的IP地址).
如果电脑的DNS服务器的配置不对,或者DNS服务器挂了,此时就会出现一种情况:
QQ能用,但是网页会打不开...
此时,就可以进行配置:
注意:此处是自动获取的----->从路由器获取.
从路由器上获取到DNS以后,就可以对域名进行正确解析了,如果这里挂了,就会出现上述情况(QQ能用,但是网页打不开)
当前要求网站的域名不能重复(保证唯一).那么全世界这么多网站,如何保证唯一呢?
针对域名进行分级.
一级域名 二级域名 三级域名
域名分级了,DNS服务器也分级了.
有一级域名的DNS服务器,也有二级、三级的..
域名只要有一级不重复即可.
如果某个用户想要注册一个网站,就需要申请一个域名,然后想要将域名和服务器的IP关联起来就需要将用户的数据写到DNS服务器里.
但是全世界有千千万万个DNS服务器,这些服务器的数据都来自于:根域名服务器.
除了根域名服务器以外,其他的都是"镜像服务器",数据要从根域名服务器这里同步.
这里再补充一个网络层的协议:DHCP协议
这个协议是组网的时候,规定的一个自动分配IP地址的协议.
组网的时候,局域网里面的每个设备的IP地址都是可以手动配置的,但是手动配置太过于麻烦,于是大佬们就制定了这个DHCP协议,用来自动分配IP地址.
电脑上设置自动获取IP地址,此时就是基于DHCP,让路由器来给电脑分配个IP地址.