链路层:负责相邻设备间的数据帧传输---Ethernet--交换机
以太网协议字段:源mac地址,目的mac地址,网络层协议,数据,CRC校验和
相邻设备之间传输定位--通过mac地址来完成
mac地址:uint8_t mac[6]--48位--定位标识相邻的物理设备的物理网卡地址
如何获取相邻设备的mac地址?
arp协议--介于网络层和链路层的协议
通过广播arp请求数据,数据中带有相邻设备IP地址(网关地址);去请求对应主机的MAC地址
相邻的设备都能收到这个arp数据,若ip地址不是自己的,则丢弃;若是自己的ip地址;组织
arp响应数据,填充进入自己的mac地址,发送出去
局域网的arp欺骗攻击
arp获取到mac地址后,会在主机上进行短时间的缓存(因为ip地址是动态分配的,因此不会长时间缓存)
MTU: 最大传输单元
tcp在传输层会进行数据分段,通信双方协商mss
mss=mtu-iphdr-tcphdr
获取对方mss和自己的mss进行对比,选择其中较小的一个作为mss
MTU对tcp/udp的影响:
tcp双方协议的mss大小就是根据mtu决定的--tcp在传输层根据mss大小进行数据分段
udp若数据长度 大于mss小于64k-20-8 则会造成网络层数据分片;udp在分片重组的时候,若一个分片丢失,会导致
整个udp数据报被丢弃;udp数据传输的时候,最好进行计算最大报文传输大小(mtu-iphdr-udphdr),最好在应
用层将数据进行分包;因为不分包就会在网络层进行数据分片,分片越多数据丢失的概率就越高
网络通信--链路层
最新推荐文章于 2022-03-06 13:51:00 发布