标签: openflow

基于流的路由和开放流

这可能不是典型的stackoverflow问题.

我的一位同事一直在猜测基于流的路由将成为网络中的下一个重点. Openflow提供了在大型应用,IT数据中心等中使用低成本交换机的技术; 取代思科,惠普等交换机和路由器.理论上,您可以使用简单的配置创建这些openflow交换机的层次结构,例如.没有生成树.开放流将仅使用交换机层次结构(无路由器)的知识将每个流路由到适当的交换机/交换机端口.该解决方案旨在为企业节省资金并简化网络.

问:他猜测这可能会极大地改变企业网络.出于多种原因,我持怀疑态度.我想听听你的想法.

networking network-programming network-protocols openflow

6
推荐指数
2
解决办法
6976
查看次数

软件定义的网络和OpenFlow

我正在尝试深入研究这些新概念,即SDN和OpenFlow.我不清楚的一件事是传统路由(OSPF,BGP等)如何在SDN中完成,或者它完全消失了,取而代之的是一些轻量级机制?

我会很感激任何提示,链接,以便更好地理解这一点.谢谢!

标记

networking openflow

6
推荐指数
1
解决办法
2316
查看次数

有哪些替代SDN控制器到POX可用?

我想获得有关可用的最佳开源SDN控制器的建议.我想实现并测试我在研究中的一些想法,所以我需要使用如下的模拟Mininet.事实上,我熟悉mininet并且能够处理它.但是,Mininet使用的POX控制器有点繁琐且用户不太友好,因此在管理网络拓扑和修改流程时,由于您需要从头开始硬编码所有内容(我是初学者),因此这将成为一项艰巨的任务.在Python中也是如此).是否有一个用户友好的SDN控制器,我可以使用而不是POX?我已经尝试了Floodlight,Opendaylight但是还没有真正准备好并涉及许多错误.

谢谢.

openflow mininet sdn

5
推荐指数
2
解决办法
3051
查看次数

了解Ryu OpenFlow控制器,mininet,WireShark和tcpdump

我是OpenFlow和SDN的新手.我需要帮助在Ubuntu或Debian机器上设置Ryu OpenFlow控制器并理解基本的Ryu应用程序.

注意:这个问题已经有了答案.

ubuntu debian openflow sdn ryu

5
推荐指数
1
解决办法
5501
查看次数

mininet中的端口号是如何确定的?

我有一个类似于下图所示的网络。

我的样本迷你网

这是网络的 python 代码:

net.addLink(s1, s2)
net.addLink(s2, s3)
net.addLink(s3, s4)
net.addLink(s4, s1)

net.addLink(s1, h1)
net.addLink(s3, h2)
Run Code Online (Sandbox Code Playgroud)

我将如何查找流表并将其添加到网络中?

例如下面是流表条目之一。如何确定 in_port 为 1,output 确定为 3?

ovs-ofctl add-flow s1 in_port=1,actions=output:3
Run Code Online (Sandbox Code Playgroud)

我无法理解端口号是如何确定的。

openflow mininet

5
推荐指数
2
解决办法
7615
查看次数

如果Openflow交换机中的同一流程有多个转发规则,该怎么办?

我正在尝试使用POX控制器来控制流的路径。我知道Open vSwitch将选择优先级最高的转发规则。但是,如果我为具有相同优先级的现有流插入新的转发规则,将会发生什么。Open vSwitch是否会随机选择一个匹配的规则?

pox openflow openvswitch sdn

5
推荐指数
1
解决办法
779
查看次数

ovs-vsctl和ovs-dpctl之间的区别

如果我要设置一个通过OpenFlow控制的开关设备,使用ovs-dpctlovs-vsctl的条件是什么?对于该名男子页OVS-dpctl说,使用OVS-vsctl如果OVS-vswitchd使用.

那么在什么情况下你会使用ovs-dpctl?你不能做什么呢?

一个后续问题是OF"数据路径"值的来源.这将是OF控制器用于识别OF开关的OF规范中的64位数字.是自动计算此值还是必须输入?

感谢您的帮助.

openflow openvswitch

4
推荐指数
2
解决办法
5496
查看次数

mininet 中的 POX:event.parsed 在 pox 中给出了什么?什么是 parse.next?

class l3_switch在l3_learning.py中, named中有一个方法_handle_PacketIn。现在我明白,此事件是当交换机收到与表中没有对应条目的数据包时联系控制器时的事件。

我不明白的是这里

packet = event.parsed
Run Code Online (Sandbox Code Playgroud)

现在 是什么packet.next意思isinstance(packet.next, ipv4)

def _handle_PacketIn (self, event):
    dpid = event.connection.dpid
    inport = event.port
    packet = event.parsed
    if not packet.parsed:
      log.warning("%i %i ignoring unparsed packet", dpid, inport)
      return

    if dpid not in self.arpTable:
      # New switch -- create an empty table
      self.arpTable[dpid] = {}
      for fake in self.fakeways:
        self.arpTable[dpid][IPAddr(fake)] = Entry(of.OFPP_NONE,
         dpid_to_mac(dpid))

    if packet.type == ethernet.LLDP_TYPE:
      # Ignore LLDP packets
      return

    if isinstance(packet.next, ipv4):
      log.debug("%i %i IP …
Run Code Online (Sandbox Code Playgroud)

python controller pox openflow mininet

4
推荐指数
1
解决办法
3223
查看次数

设置 ICMP 与 POX 控制器匹配


我正在尝试使用 POX 控制器向交换机添加流条目,我的代码是:

    fm = of.ofp_flow_mod()
    fm.match.in_port = 1
    fm.priority = 33001
    fm.match.dl_type = 0x800
    fm.match.nw_src = IPAddr("10.0.0.1")
    fm.match.nw_dst = IPAddr("10.0.0.5")

    fm.actions.append(of.ofp_action_output( port = 2 ) )
    event.connection.send( fm )
Run Code Online (Sandbox Code Playgroud)

但是,当我从 10.0.0.1 ping 到 10.0.0.5 时,没有回复。可能是什么问题?(我还为 ICMP 回复添加了对称流)

谢谢

arp icmp pox openflow mininet

3
推荐指数
1
解决办法
3564
查看次数

如何正确地将整数转换为bitstring?

我有一个问题:使用新的libs(loom,ofs_handler,of_driver)我需要发送设置消息给switch.我必须创建这样的记录:

-record(ofp_field, {
          class = openflow_basic :: ofp_field_class(),
          name :: ofp_field_type(),
          has_mask = false :: boolean(),
          value :: bitstring(),
          mask :: bitstring()
         }).
Run Code Online (Sandbox Code Playgroud)

但'value'必须是一个位串,我不知道如何正确地将端口号(例如8080,6633)转换为位串,因为我可以<<Port>>, <<Port:32/integer>>得到不同的结果.有没有人知道如何使它正确?
或者我必须使用binary:encode_unsigned

erlang integer openflow

3
推荐指数
1
解决办法
195
查看次数