数据链路层

    • 数据链路层
    • MTU
    • DNS协议

数据链路层

越往底层;离我们应用级人员也就越远;我们所能做的事情也就越少;所以会介绍的更为简单
数据链路层:负责相邻两个节点之间的数据传输;最知名的协议 “以太网”
数据链路层_第1张图片
类型:有三种类型;IP,ARP,RARP
CRC:校验码
ARP:
1:通过mac寻址
ARP是用于局域网络中将IP地址映射到MAC地址的协议。当一台设备需要发送数据到另一台设备,它会知道目标设备的IP地址。因为局域网络中的数据链路层使用的是MAC地址来寻址,所以发送设备需要知道目标设备MAC地址才能成功传输数据。
2:找到mac地址
ARP的主要作用是帮助发送设备解析(解释)目标设备的IP地址,并获得它的MAC地址。这个过程就像在路由器或交换机上建立一张表格,将IP地址与MAC地址进行映射,这张表格通常被称为ARP缓存或ARP表。当发送设备需要向某个IP地址发送数据时,它首先查找本地的ARP缓存,看是否已经知道目标IP地址对应的MAC地址。如果缓存中有对应关系,就可以直接发送数据;如果没有,发送设备将发送ARP请求,向局域网络中的所有设备询问:谁知道这个IP地址的MAC地址是什么?
3:找不到;问其它设备
其他设备在收到ARP请求后,如果发现自己的IP地址与请求中的IP地址匹配,就会回复ARP响应,告诉发送设备相应的MAC地址。发送设备收到响应后,就可以将IP地址与MAC地址的映射关系存储在ARP缓存中,以便以后使用。

ip地址和mac地址:两伙大佬搞的两套体系
ip:描述传输过程的起点和终点,使用的是网络逻辑地址。
mac:描述相邻两个节点的起点和终点,给网络硬件设备使用的网络物理地址;用冒号十六进制表示;例如:20-7B-D2-1F-FD-F7

MTU

MTU代表最大传输单元,数据链路层中的一个概念,表示在网络上可以一次性传输的最大数据包的大小。以字节数为单位。
因为这个MTU引起IP协议的分包组包;IP协议的分包组包通常是根据这个MTU来分的;不是按64kb分的;而MTU都比64kb小

为什么需要这样的一个概念呢?
想象一下;如果没有这样子的标准;那么传的包太大怎么办;如果拆分;怎么拆了;会不会拆成很多个包;比如一辆车能装10吨货物;你200吨货物拆成1000辆车去运载。
网络效率:数据包分片和重组会增加网络开销,降低了网络的效率和性能。
碎片:分片后的数据包片段可能会在网络中散布,这可能导致数据包的丢失或延迟。碎片也可能需要更多的处理和资源。
一致性:不同的设备和节点可能有不同的MTU设置,这会导致通信问题。为了确保网络通信的一致性,需要协商或配置适当的MTU。
安全性:网络攻击者可以利用大量小数据包来占用网络带宽,这是分段攻击的一种形式。通过设置适当的MTU,可以降低此类攻击的影响。

DNS协议

DNS是应用层协议:用于将域名转换为IP地址。它充当了互联网的“电话簿”,允许我们使用人类可读的域名来访问互联网上的各种资源,而不需要记住复杂的IP地址。
DNS服务器:当你访问某个域名的时候;就自动请求一下DNS服务器;它会帮你查询;把得到的结果(具体IP地址)给你
当你发现;网页打不开;但是QQ程序能使用;怎么解决呢?

数据链路层_第2张图片
DNS是通过域名分级的;这样子全球那么多网站保证唯一;一级域名,二级域名,三级域名;整体不重复即可
数据链路层_第3张图片
如果浏览器输入一个www.baidu.com回车会经历哪些流程呢?
1:解析协议;看看URL的开头是什么协议(http、HTTPS等)浏览器根据协议类型决定采取什么方式获取资源

2:解析域名;URL可能是IP或者是域名;浏览器需要把把域名转成IP地址。
2.1:浏览器先查本地DNS缓存;看看有没有该域名对应的IP地址
2.2:如果没有;向DNS 服务器发出请求,以获取域名对应的 IP 地址。
2.3:如果本地 DNS 服务器也没有该域名对应的 IP 地址,则会向根 DNS 服务器发送请求,以获取该域名的权威 DNS 服务器。
2.4:接着本地 DNS 服务器会向权威 DNS 服务器发出请求,获取该域名对应的 IP 地址,并将结果返回给浏览器

3:解析端口号;URL中可以包含端口号,如果没有指定端口号,浏览器会默认使用协议的默认端口号

4:解析路径;资源的路径,浏览器会向服务器请求这个路径对应的资源。

5:传递查询字符串;URL 中还可以包含查询字符串,它是用来传递参数的。浏览器会将查询字符串中的参数发送给服务器,以便服务器进行处理。

6:解析锚点;URL 中还可以包含锚点,用于定位页面的特定位置。浏览器会将锚点信息保存在浏览器历史记录中,以便用户在后续访问时能够直接跳转到指定位置。
URL中的锚点是指URL中的一个标识符,通常以"#"符号后跟一个名称,例如:https://example.com/page#section1。锚点通常用于在网页中指向特定部分,这样用户可以快速导航到该部分,而无需滚动整个页面。

7:请求资源;当浏览器解析完 URL 之后,浏览器会帮我们构建请求;就会向服务器发送请求,请求相应的资源。

8:接收资源;服务器接收到浏览器的请求之后,会返回相应的资源。浏览器会将资源下载到本地,然后解析和渲染页面,最终呈现给用户。

你可能感兴趣的:(网络,网络)