• 关于数据链路层(初步)


    以太网帧格式

            源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是48位,是在网卡出厂时固
    化的;
            帧协议类型字段有三种值,分别对应载荷的形式,有IPARPRARP
            帧末尾是CRC校验码。
    那么网络层的地址与数据链路层的地址有什么区别呢?其实是网络层考虑的是整体的转发过程,数据链路层考虑的是局部的(相邻)的转发。如从起始地到北京有许多路线,网络层就是对其进行规划,选择那条路线去北京,中间就要经过许多地方,最后才到北京,与之相对的,源IP就是该起始地,目的IP为北京。而数据链路层则考虑的是中间的出行工具,你可以先做飞机到一个地方,再作客车到另一个地方,最后做高铁到北京,这就是数据链路层要考虑的,与之相对的,源MAC就是其起始地,目的MAC就是要到达的下一个中转站,这样持续下去,目的MAC最终就是北京。同样的,一个主机既有MAC地址,也有IP地址,同时这两个地址不可能相同,MAC地址为6个字节,IP地址为4个字节。MAC地址一般使用16进制表示。
            一个以太网数据帧的数据最大长度为1500,大概也就1kb多一点,它受限于硬件,换成其他的硬件,也就需要搭配其他的数据链路层协议,这里的最大值可能会不一样,而这个最大值称为MTU,由于稍微大一点的传输层/应用层数据报都大于1kb,因此IP数据报的分包和组包就是为了MTU而弄出来的,一般IP数据报分包不是因为自身长度达到64kb,而是因为MTU。
            
    认识 MTU
    MTU 相当于发快递时对包裹尺寸的限制。这个限制是不同的数据链路对应的物理层,产生的限制。 以太网帧中的数据长度规定最小46字节,最大1500字节,ARP数据包的长度不够46字节,要
    在后面补填充位; 最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU; 如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对数据包进行分片;不同的数据链路层标准的MTU是不同的;
    DNS
            域名解析系统,要访问服务器,就得知道服务器的IP地址,这极其不方便, 且不能表达地址组织信息, 是人们发明了 域名 ,并通过 域名系统 来映射域名和 IP地址。 网络通信发送数据时,如果使用目的主机的域名,需要先通过 域名解析 查找到对应的 IP 地址: 域名解析的过程,可以简单的理解为:发送端主机作为域名系统树形结构的一个子节点,通过域名 信息,从下到上查找对应 IP 地址的过程。如果到根节点(根域名服务器)还找不到,即找不到该主 机。域名解析使用DNS 协议 来传输数据。 DNS 协议是应用层协议,基于传输层 UDP TCP 协议来实现。
  • 相关阅读:
    基于openEuler虚拟机本地执行mugen测试脚本
    iOS Xcode15 适配:Other Linker Flags:-ld_classic
    二进制部署k8s集群-过程中的问题总结(接上篇的部署)
    Cloud整合Zookeeper代替Eureka
    配电房监测系统:智能化电力管理的关键
    pnpm : 无法加载文件 E:\Soft\PromSoft\nodejs\node_global\pnpm.ps1,
    redis集群最少使用三个主节点和使用16384个槽以及主节点数量不超过1000的原因
    跟着医生学php:为什么tr的间距无法设定?
    Redis-SSM之spring注解式缓存
    Redis实现分布式锁方案
  • 原文地址:https://blog.csdn.net/LTY3301398968/article/details/133843664