网络安全科普
当前位置: 网站首页 >> 网络安全科普 >> 正文

网络基础知识-最大传送单元MTU

2021年12月25日  点击:[]

10335数最大传送单元MTU

MTU

最大传输单元MTU(Maximum Transmission Unit)

数据链路层的数据帧不是无限大的(因此MTU描述的就是最大可传输的数据帧)



设置MTU的好处

数据帧过大或者过小都会影响传输的效率(常用的以太网的MTU一般为1500字节)


在前边了解过计算机网络的性能时,介绍到时延

总时延 = 发送时延 + 传播时延 + 排队时延 + 处理时延

1

如果数据帧过大,总时延就会增大,这样就导致发送端和接收端处理信息的时间过长


如果过小的话也不行,假设每次发1个字节,那么1500个字节就需要发送1500次,虽然每个数据发送的总时延减少了,但是重复1500次,这个也会影响通信的效率,所以数据帧过大或过小都会影响数据传输效率


路径MTU

假设计算机A给计算机B传输数据,需要经过多个小型网络。假设计算机A给计算机B传输数据的话,那么路径的MTU由谁决定的呢?如下图



计算机和小型网络之间以及小型网络和小型网络之间的数字是MTU,那么整个路径的MTU就是受最小的MTU影响的,称之为木桶效应。所以整个路径的MTU就是1492


以太网协议详解

上边介绍了数据链路层中的数据封装成帧、透明传输、差错检测以及MTU。了解完这些,还不能让我们知道数据链路层是如何进行数据传输的,以太网协议是数据链路层非常常用的一种协议。在学习具体某一层的协议时,我们是希望可以屏蔽其它层的一些细节,比如我们在学习数据链路层的协议时,就不需要关注物理层是如何进行比特流的传输的,我们甚至可以认为比特流是由某一台机器的数据链路层直接传输到另一台机器的数据链路层的,以此来简化理解




假设有下边这么一个网络拓扑,图中有A、B、C三台计算机,这三个计算机通过一个路由器进行连接。假设此时A需要向C发送数据,数据是如何到达的C的?路由器怎么知道计算机A的数据要发送给谁?这个就是本部分要了解的内容




本部分主要由两个主要内容


MAC地址

以太网协议

MAC地址

MAC地址(物理地址、硬件地址)

每一个设备都拥有唯一的一个MAC地址(可以理解成设备的身份证)

MAC地址共48位,通常用十六进制表示

可以通过ifconfig -a(windows使用 ipconfig /all)来查看本机所有硬件设备的地址


以太网协议

以太网(Ethernet)是一种使用广泛的局域网技术

以太网是一种应用于数据链路层的协议

使用以太网可以完成相邻设备的数据帧传输

以太网数据格式


主要由五个部分组成:


目的地址、源地址:前边两个部分就是前边提到的MAC地址,下边的6,表示占用6个字节(48位)

类型:类型表明的是帧数据是哪个协议的数据,如果是网络层的数据的话,类型就是0800;如果帧数据是ARP协议的请求或应答数据,它的类型就是0806;如果是RARP的协议数据,那类型就是8035

帧数据:就是具体发的数据

CRC:这个是前边介绍到的循环冗余校验码

MAC地址表

MAC地址表是一个映射,会把MAC地址具体的映射到硬件接口。了解了MAC地址表,就可以解决最开始提到的那个问题了



当A要给C发送消息的时候,在路由器E中有一个MAC地址表,表中记录了每一个MAC地址映射到了哪一个接口。所以A给C发数据的整个过程就是:


A通过网卡发送数据帧

数据帧到达路由器,路由器取出前6个字节(目的地址)

路由器匹配MAC地址表,找到对应的网络接口

路由器通过目的地址匹配到的接口来发送数据帧


如果MAC地址表,不知道C的硬件接口具体是哪一个,该怎么办?



这个问题的过程就是:


路由器E检查MAC地址表,发现没有MAC地址C的信息

E将广播A的数据包到除A以外的接口

E将收到来自B、C的回应,并将MAC地址记录下来

对于比较复杂的网络拓扑,通过MAC地址表就不能解决跨设备的数据传输



因为通过MAC地址表只能进行相邻物理节点之前的数据传输,所以,如果A要给C发送数据,靠MAC地址表是完成不了的(E只能知道A、D、F的地址)。解决跨设备的数据传输就需要学习网络层的更多内容


在快速变化的技术中寻找不变,才是一个技术人的核心竞争力。知行合一,理论结合实践


地址:内蒙古呼和浩特市新城区爱民街49号(010051) 电话:0471-6576288     您是第 位访客

2017 imut.edu.cn 蒙ICP备05000412