【发布时间】:2017-11-07 03:08:31
【问题描述】:
我正在尝试基于 OpenNetMon 的想法做一个延迟监控系统。我想要做的是向交换机注入一个数据包,以便该节点将数据包转发到另一台交换机,然后这个节点将其发送回控制器。最后,控制器将测量延迟。
为了区分这种探测数据包以进行测量,我将从 IPv4 数据包中修改 DSCP 字段。
我的想法是当 Opendaylight 控制器收到一个 PacketIn 时,这个会被复制,但 DSCP 字段被修改,然后copyed_packet/probe_packet 会将它发送到数据平面。
我可以从 PacketChain 中提取 RawPacket、EthernetPacket、IPv4Packet:
RawPacket rawPacket = null;
EthernetPacket ethernetPacket = null;
Ipv4Packet ipv4Packet = null;
for (PacketChain packetChain : packetReceived.getPacketChain()) {
if (packetChain.getPacket() instanceof RawPacket) {
rawPacket = (RawPacket) packetChain.getPacket();
} else if (packetChain.getPacket() instanceof EthernetPacket) {
ethernetPacket = (EthernetPacket) packetChain.getPacket();
} else if (packetChain.getPacket() instanceof Ipv4Packet) {
ipv4Packet = (Ipv4Packet) packetChain.getPacket();
}
}
如何发送这些数据包?
【问题讨论】:
标签: java sdn mininet opendaylight