【javaEE】计算机网络数据链路层深度剖析与DNS域名系统


🎬 那我掉的头发算什么个人主页
🔥 个人专栏 : 《javaSE》《数据结构》《数据库》《javaEE》

⛺️待到苦尽甘来日


文章目录

数据链路层

以太网协议

以太网是一种数据链路层+物理层的协议,只要是通过网线进行上网,都会使用到以太网协议。

以太网数据帧格式


此处的地址,并不是指IP地址,而是mac地址。

mac地址与ip地址


对于我现在这台电脑来说,我的WIFI目前拥有的物理地址和IP地址如上。

mac地址是通过六个字节表示的,因此最大数量是2^32 * 2^16,大概在千万亿级别。所以目前来说mac地址是非常够用的,所以他没有使用NAT机制分配地址,而是每一个设备在出厂时就被内置了一个唯一的mac地址。它的作用其实和ip一样,都是为了唯一标识我们的设备。但是在实际使用中,二者的作用略有不同。

IP处于网络层,关注的是整个网络传输过程的路径,mac处于数据链路层,关注的是两个相互通信的设备之间的信息转发。

举个例子:

如图所示,我们假设一次信息传输中涉及到五个设备的名称以及地址如上。现在我们想要从A向E发送一个信息。

1.A-B

此时我们的数据包中报头部分的地址信息:

源ip:A

目的ip:E

源mac:A

目的mac:B

2.B-C

源ip:A

目的ip:E

源mac:B

目的mac:C

... ... ... ...

5.D-E

源ip:A

目的ip:E

源mac:D

目的mac:E

mac地址只会标识相邻节点的地址信息,因为它只能作用在数据链路层和物理层,受限制。ip地址标识整个传输过程中的起点和终点。


此处的类型表示的是载荷的类型,不同类型载荷数据格式不同。

帧尾四个字节表示校验和。

最大字节数1500。我们知道IP协议数据包最大长度是64KB,远大于数据链路层,理论上数据链路层根本承载不了IP数据包啊。

其实,IP在拆包的时候,并不是根据自身最大长度拆包的,而是根据以太网数据包的最大限制拆包,每个小包大小都在1500B以下,以此来避免数据缺失。

ARP协议

如果数据帧数据类型部分如上,则这个请求是一个ARP请求。

ARP请求传输的并非业务的逻辑,而是一些辅助功能,主要作用是根据IP地址找到MAC地址,以此来完成数据链路层的传输。

网络传输过程中,网络层是根据IP来转发数据的,数据链路层则需要MAC地址。但是IP协议数据包传下来的只有IP地址,我们仅仅拿到IP地址没法完成数据帧的转发。此时就需要ARP发挥作用:已知我们拥有下一个节点的IP地址,我们可以向下一个节点的本地网段的广播地址发送ARP请求,广播地址会把这个请求发给所有的设备,当有设备发现ARP请求包的目的IP与自己的一致,就发送一个ARP响应,告诉源主机自己的MAC地址。
(广播地址:同一个局域网中主机位全为一,如192.168.1.256或者10.256.256.256。像广播地址发送一个数据之后,会将这个数据转发给网络中的所有设备)

重要应用层协议

DNS

咱们都知道,每一个设备/服务器都拥有唯一的IP地址,我们在访问服务器时就是在访问这些IP地址。但是在日常搜索网站时,就比如百度,我们通常都是搜索www.baidu.com而并非xxx.xxx.xxx.xxx。这背后就是DNS的功劳,它能将域名映射成为机器可以识别的IP地址,让我们对于网站的地址记忆起来更加方便快捷。

在早期,网站很少,知名网站就那几个,大家完全可以把网站IP地址记忆下来,使用的时候输入即可。但是后来网站越来越多,根本记不住,于是有了DNS的概念。DNS开始时是使用本地的hosts文件来映射的,它会对我们输入的域名进行解析映射。后来因为网站越来越多并且hosts文件很难维护,所以hosts文件中的内容被提取出来,放到了一个DNS服务器上。我们每次访问域名时,先访问DNS服务器,把域名对应的IP拿到,再真正的访问服务器。
以上就是本博客全部内容!!

相关推荐
HLC++5 小时前
Linux文件操作
linux·运维·服务器
InfraSense5 小时前
多门店运维闭环全景架构:监控+告警+工单+SLA+复盘,一套最小可用系统怎么串起来
运维·msp
Sirius Wu5 小时前
当前主流 RAG 架构全景及轻量级向量库选型深度分析
运维·人工智能·架构·aigc
晚风予卿云月5 小时前
【Linux】进程控制(二)——进程等待 全方位详解
linux·运维·服务器·进程控制·进程等待
上天_去_做颗惺星 EVE_BLUE5 小时前
【新 Linux 服务器上手全攻略】系统巡检、存储规划与开发环境初始化
linux·运维·服务器·ubuntu·macos·centos
Titan20245 小时前
Linux文件系统
linux·服务器
团象科技5 小时前
出海内容创作链路实地调研 关于GPU服务器视频渲染的落地观察
运维·服务器
北京耐用通信5 小时前
耐达讯自动化工业网关:极简组态实现 Modbus 转 PROFINET 稳定通讯
人工智能·物联网·网络协议·自动化·信息与通信
c238565 小时前
linux文件权限深入了解(下)
linux·运维·服务器
Zh&&Li5 小时前
保姆级安装AI全自动渗透工具(pentestswarm)
linux·运维·服务器·人工智能