三层转发基础
简介
三层转发就是路由器的转发,根据路由表进行报文转发。
IP协议
我们通常所说的IP指的是IPv4协议,关于编码格式和报文格式可以看我对IPv4 / IPv6的学习笔记:
学习笔记——TCP/IP基础(IPv4/IPv6简介)
MAC地址
MAC地址值得是网卡的硬件地址,具有全球唯一性。关于MAC地址,可以看我对二层转发的学习笔记
学习笔记——二层转发基础
ARP
ARP协议(Address Resolution Protocol,地址解析协议)。是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
ARP报文主要包含ARP请求报文和ARP应答报文两种,通常情况下ARP请求是广播报文,ARP应答为单播报文。
通常情况下ARP请求只对同一网段的IP触发,因此如果目的设备何原设备直连(或同一网段),则直接对目的设备触发ARP请求,若果非直连(或同一网段),则对网关触发ARP请求。
ARP报文格式
以太网目的地址(DMAC) | 以太网源地址(SMAC) | 帧类型 | 硬件类型 | 协议类型 | 硬件地址长度 | 协议地址长度 | op | 发送端以太网地址(SMAC) | 发送端IP地址(SIP) | 目的以太网地址(DMAC) | 目的IP地址(DIP) |
---|---|---|---|---|---|---|---|---|---|---|---|
6字节 | 6 | 2 | 2 | 2 | 1 | 1 | 2 | 6 | 4 | 6 | 4 |
其中前3部分(DMAC/SMAC/帧类型)是以太网(二层)头部,后面是28字节的ARP请求/应答报文。
帧类型:ARP报文的值固定为0x8000
协议类型:ARP报文的协议类型值固定为0x0800
ARP请求报文是广播报文,所以DMAC地址为(ffff-ffff-ffff)。
op为1时为ARP请求报文,op为2时为ARP应答报文。