OVS流表实现arp代答

OpenFlow与ARP交互解析
物理拓扑

在这里插入图片描述
1、PC封包:源ip:10.1.1.2,目的ip:20.1.1.2,源mac:fe:fe:fe:fe:fe:aa,目的mac:不知道,此时数据层将这个不完整的包缓存,发arp报文,注意,主机内核会检测到是跨网段访问,arp请求的是网关ip对应的mac

2、ARP报文组成:数据层(源mac:fe:fe:fe:fe:fe:aa,目的mac:ff:ff:ff:ff:ff:ff)+ ARP头部(发送者ip:10.1.1.2,发送者mac:fe:fe:fe:fe:fe:aa,接收者ip:10.1.1.2(网关ip),接收者mac:00::00:00:00:00:00)

3、网关设备收到后将PC的ip和mac存到arp表,并单播回复arp包:数据层(源mac:fe:fe:fe:fe:fe:bb,目的mac:fe:fe:fe:fe:fe:aa)+ arp头(发送者ip:10.1.1.2,发送者mac:fe:fe:fe:fe:fe:bb,接收者ip:10.1.1.1,接收者mac:fe:fe:fe:fe:fe:aa)
4、PC收到网关的arp回包后,将20.1.1.2和fe:fe:fe:fe:fe:bb存到arp表

核心流表显示

cookie=0x1, duration=142927.790s, table=11, n_packets=0, n_bytes=0, priority=24576,arp,arp_tpa=10.1.0.5,arp_op=1 actions=move:NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[],
set_field:fe:fe:fe:fe:fe:fc->eth_src,load:0x2->NXM_OF_ARP_OP[],move:NXM_NX_ARP_SHA[]->NXM_NX_ARP_THA[],set_field:fe:fe:fe:fe:fe:fc->arp_sha,
move:NXM_OF_ARP_SPA[]->NXM_OF_ARP_TPA[],set_field:10.1.0.5->arp_spa,load:0->NXM_OF_IN_PORT[],resubmit(,3)

匹配项:

arp:arp协议
arp_tpa:arp请求的目的ip
arp_op:ARP请求(值为1)、ARP应答(2)、RARP请求(3)、RARP应答(4)

执行项

NXM_OF_ETH_SRC[]->NXM_OF_ETH_DST[]:将源mac放入目的mac
set_field:fe:fe:fe:fe:fe:fc->eth_src:将fe:fe:fe:fe:fe:fc放入源mac
0x2->NXM_OF_ARP_OP[]:ARP应答(2)
NXM_NX_ARP_SHA[]->NXM_NX_ARP_THA[]:将arp request外层源mac放入arp reply的目的mac
set_field:fe:fe:fe:fe:fe:fc->arp_sha:将fe:fe:fe:fe:fe:fc放入arp reply头部的源mac
move:NXM_OF_ARP_SPA[]->NXM_OF_ARP_TPA[]:arp request的源ip放入arp reply目的ip
set_field:10.1.0.5->arp_spa:将已知10.1.0.5放入源ip
load:0->NXM_OF_IN_PORT[]:收到的arp包从进来时的接口转发回去

在这里插入图片描述

ip netns add ns1
ip l a veth0 type veth peer name ovs-veth0
ip l s veth0 netns ns1
ovs-vsctl add-br br-int
ovs-vsctl add-port br-int ovs-veth0
ip l s ovs-veth0 up
ip netns exec ns1 ip a a 10.0.0.2/24 dev veth0
ip</
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值