P4编程 仿真实现IPv4与IPv6数据包的解析转发

实验设置:

mininet上仿真实现两台虚拟主机h1 h2
python scapy实现发包(send.py)和收包(receive.py)
P4程序实现在中间对包进行解析,打印出数据包的类型和内部信息,最终进行转发。

实验步骤:

首先,在VM上配好虚拟机以及P4的环境,并将代码存在虚拟机中:



然后打开虚拟机的终端Teminal,用ls命令查看目录下的文件:



用cd命令进入代码所在的目录下,并再次查看有什么文件:

通过./命令运行脚本run.sh,里面内置了mininet,输入密码(myp4)以后按回车执行:



在mininet中建立h1,h2两个主机的一个拓扑:


将h2作为接收数据包的主机,./运行receive.py:

在h1中使用send.py,指定一个目的地址10.0.2.10,附属一个任意内容texttexttext:

最终h1发送的IPV4数据包被h2接收,p4程序在其中起到了一个交换机解析转发的作用,获取了内部的信息:


你可能感兴趣的:(P4编程 仿真实现IPv4与IPv6数据包的解析转发)