目录
以太网协议
什么是以太网?
以太网的帧格式
什么是MAC地址?
MAC地址和IP地址的对比?
MTU(最大传输单元)限制
什么是MTU限制?
MTU对IP协议有什么影响?
MTU对UDP协议有什么影响?
MTU对TCP协议有什么影响?
ARP协议
什么是ARP协议?
ARP协议的作用是什么?
ARP协议的工作流程
以太网协议
什么是以太网?
“以太网”是一种技术标准,其中既包含了数据链路层的内容,也包含了物理层的内容。
以太网是当前应用最广泛的局域网技术。
除以太网之外,还有令牌环网、无线LAN等和以太网并列。
以太网的帧格式
以太网数据帧长度最小为46字节,最大为1500字节。
源地址和目的地址:是指网卡的硬件地址,也称为MAC地址。
帧协议类型,有三种值:
0800,对应IP协议
0806,对应ARP协议
8035,对应PARP协议
CRC检验码:位于数据帧的末尾,用于校验报头正确性。
什么是MAC地址?
MAC地址用于识别数据链路层中相连的节点。
MAC地址长度为48位(6个字节),通常使用16进制数字加上冒号表示。如:01:AB:23:CD:45:EF
MAC地址在出厂时就固定了,不能修改,通常是唯一的(虚拟机除外)。因此MAC可以作为一台网络设备的身份标识。
MAC地址和IP地址的对比?
IP地址描述的是路径的起点和终点;MAC地址描述的是路径中,某个区间的起点和终点。
IP协议用于整个通信过程的路径规划工作;以太网使用MAC地址,在两个相邻网络设备之间进行通信。
IP地址是可变的,MAC地址通常是不可变的。
MTU(最大传输单元)限制
什么是MTU限制?
MTU是指物理层对数据链路层传输数据帧长度的限制。
不同的数据链路层协议和对应的物理层之间,MTU限制也不同。
当数据包长度超过MTU限制,则会对数据包进行分片(fragmentation)。
MTU对IP协议有什么影响?
会对超过限制的长数据进行分包。
分包是指将长数据分为多个短数据,每个短数据包协议头中的16位标识(id)是相同的。
每个短数据包IP协议头中的3位标志字段,第2位为0时,表示允许分片;第3位表示结束标记,包未结束则为0,包已结束则为1。
到达目标地址时,会对多个短数据包按顺序重组,并一起返回传输层。
当某个短数据包丢失,则整个长数据包失效。
MTU对UDP协议有什么影响?
在经过网络层时,如果UDP数据报超过1500(包含报头),就会被分成多个IP数据报。
如果其中一个数据报丢失,则会导致数据接收失败。所以UDP数据报被分片时,传输失败的概率会大大增加。
MTU对TCP协议有什么影响?
TCP数据报不定长,但也不是无限制。MTU限制了单个TCP数据报的最大长度,称为MSS。
TCP建立连接时,通信双方会在SYN中进行MSS协商,协商交互双方能够接收的最大MSS值,MSS值记录在TCP首部的40字节变长选项中。
ARP协议
什么是ARP协议?
ARP协议是一个介于数据链路层和网络层之间的协议。
ARP数据包长度不足46字节时,会补充填充位,直到满足46字节。
ARP协议的作用是什么?
通讯前需要获得目标主机的IP地址、端口号和硬件地址。APR协议会记录目标主机的硬件地址,建立主机IP地址和MAC地址的映射关系(转发表)。因此通过IP地址就可以找到硬件地址。
ARP协议的工作流程
源主机发出ARP请求,询问某IP地址的硬件地址(MAC),并将请求广播到本地网段。
目的主机接收ARP请求,本机IP地址与请求中的IP地址相匹配时,则向源主机发送ARP应答数据包,并将本机MAC地址填写在数据包中。
每台主机都会维护一个ARP缓存表(可使用arp -a命令查看),用于记录IP地址和MAC地址的映射关系。
缓存表每个表项过期时间通常为20分钟,20分钟未通信则再次通信时需要重复上述步骤。