目录
1. 认识以太网
1.1 以太网帧格式
2. 认识MTU
2.1 MTU对IP协议的影响
2.2 MTU对UDP协议的影响
2.3 MTU对TCP协议的影响
3. ARP协议
3.1 ARP协议的作用
3.2 ARP协议的工作流程
1. 认识以太网
- 以太网是一种局域网的技术规范,而不是一种具体的网络,以太网既包含了数据链路层的内容,也包含了一些物理层的内容,如:规定网络拓扑结构,访问控制方式,传输速率等
- 以太网中的网线必须使用双绞线,传输速率有10M,100M,1000M等
- 以太网是当前应用最广泛的局域网技术,和以太网并列的有令牌环网,无线LAN等
文章图片
- 源地址和目的地址为网卡的硬件地址(MAC地址),长度为48位,网卡出场时就确定了
- 帧协议类型字段有三种,为IP,ARP,RARP
- 帧尾是CRC校验码
- 以太网帧中的数据长度规定最小为46字节,最大1500字节,ARP数据包的长度不够46字节,要在后面补充填位
- 最大值1500称为以太网的最大传输单元(MTU),不同的网络类型有不同的MTU
- 如果一个数据包从以太网路由到拨号链路上,数据包长度大于拨号链路的MTU了,则需要对数据包进行分片
- 不同的数据链路层标准的MTU是不同的
- 将较大的IP包分成多个小包,并给每个小包打上标签
- 每个小包IP协议头的16位标识(id)都是相同的
- 每个小包的IP协议头的3位标志字段中,第2位置为0表示允许分片,第3位来表示结束标记(当前是否是最后一个小包,是的话置1,不是置0)
- 到达对端后,再将这些小包按顺序进行重组,拼装到一起返回给传输层
- 一旦这些小包中任意一个小包丢失,接收端的重组就会失败,但是IP层不会负责重新传输数据
2.3 MTU对TCP协议的影响
- TCP数据报也不能无限大,也受限于MTU,TCP单个数据报的最大长度称为MSS(双方约定最大传输端大小)
- TCP建立连接的时候,通信双方会进行MSS协商,双方在发送的SYN的时候在TCP头部写入自己能支持的MSS值
- 双方知道对方的MSS值后,选择min(MSS,MTU)值作为最终的MSS
- 如果真实发送的数据超过MSS,就会分片,如果任意一个分片丢包,整个数据报就没用了,但是TCP协议有超时重传机制会重新发生,所以丢包的影响不大
3.1 ARP协议的作用
- 发送数据到同网段主机时,目的IP和目的端口肯定都知道,但是可能不知道目的主机的MAC,这时候基于ARP缓存表通过目的主机IP找到对应目的主机MAC(找不到就喊话)
- 发送数据到不同网段主机时,先往网关设备发,也要基于ARP协议通过网关IP找到网关MAC
- 网关设备封装完数据报,根据路由功能,找到下一跳设备的IP,此时基于网关设备的ARP缓存表,通过IP找到下一跳设备得MAC
文章图片
- 源主机发出ARP请求,询问“IP地址是192.168.0.1的主机的硬件地址是多少”,并将这个请求广播到本地网段(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播
- 目的主机接收到广播的ARP请求,发现其中的IP地址与本机相符,则发送一个ARP应答数据包给源主机,将自己的硬件地址填写在应答包中
- 每台主机都维护一个ARP缓存表,可以用arp -a命令查看。缓存表中的表项有过期时间(一般为20分钟),如果20分钟内没有再次使用某个表项,则该表项失效,下次还要发ARP请求来获得目的主机的硬件地址
推荐阅读
- 科技|网络安全与Kali(Sqlmap数据库注入实战)
- 网络安全技术|Linux操作系统(含命令大全)
- 网络安全技术|【网络安全】最全渗透学习攻略
- 产品功能|微软关闭基本身份验证,对企业与员工有什么影响()
- Authing|Authing 实践 | 授权管理使企业用户登录更容易
- 基础|HCIP--路由策略实验
- 网络编程|TCP/IP网络编程(8) 基于Linux的多进程服务器
- 网络|开源linux_对技术的热爱导致Linux和开源
- 网络|计算BDP值和wnd值