ARP
发送数据的流程
- 网络层封装IP
- 数据链路层封装MAC
- 查找ARP高速缓存
- 广播 - 单播获取目的MAC
- 在实际网络的链路上传递数据时,必须使用MAC
- ARP协议:完成IP地址到MAC地址的映射
- 使用过程:
- 检查ARP高速缓存,有对应表项就写入MAC帧。
- 没有就用MAC地址为全1的帧封装并广播ARP请求分组,同一局域网中所有主机都能收到该请求。
- 目的主机收到请求后会向源主机单播ARP响应分组,源主机收到后将此映射写入ARP缓存(10-20min更新一次)
- 典型情况
- 主机A发给本网络上的主机B:ARP找B的MAC地址
- 主机A发给另一网络上的主机B:ARP找路由器的MAC地址
- 路由器发给本网络的主机A:ARP找A的MAC地址
- 路由器发给另一网络的主机B:ARP找路由器的MAC地址
- ARP协议是全自动的
- ARP协议处于网络层最下方,为网络层服务
DHCP
不考?摸了~
ICMP
- 支持主机和路由器
- 差错(或异常)报告 - 发送特定的ICMP报文
- 网络探寻
- 是网络层的一个顶层协议
分类
- 差错报告报文
- 终点不可达(无法交付)
- 时间超过(TTL=0)
- 参数问题(首部字段有问题)
- 改变路由(Redirect)(有更好的路由选择)
- 对于差错报告报文,不发送差错报告报文
- 只对第一个分片发送差错报告报文
- 对于组播地址的数据报不发送差错报告
- 对于特殊地址(环回、本主机)不发送差错报告报文
- 询问报文
- 回送(Echo)请求或回答
测试目的站是否可达以及了解相关状态 - 时间戳(Timestamp)请求或回答
用来请求时钟同步和测量时间
- 回送(Echo)请求或回答
应用
- ping(回送请求和回答报文)
- Traceroute(时间超过差错报告报文)