点击登录

    Mininet中VLC传输评价

    教研动态 norbert 5554次浏览 已收录 0个评论 扫描二维码

    该文在这篇文章基础上修改的,亲测可以实现传输,将在更复杂的网络拓扑上测试。详细过程见这里,后面会修改完善。

    评价环境

    实验评价的环境如下图所示,Mininet拓扑由两台主机(h1和h2)和一台交换机组成(运行在虚拟机中)。h1和交换机间的链路为无损的,h2与交换机间的链路是有损的且丢失率为5%。在该实验中,h1和h2可运行VLC RTP发送端程序,并发送视频数据包给宿主机的VLC客户端。如此,我们可在宿主机VLC客户端中观察视频的传输质量。结论:h2发送的视频质量较低。

    实验脚本

    具体不多做解释了,对Mininet不熟悉的可以看这里

    #!/usr/bin/env python
    import os
    from mininet.net import Mininet
    from mininet.node import Controller, RemoteController
    from mininet.cli import CLI
    from mininet.link import TCLink
    from mininet.link import Intf
    from mininet.log import setLogLevel, info
     
    def myNetwork():
        net = Mininet( topo=None, build=False)
        info( '*** Adding controller\n' )
        net.addController(name='c0')
        info( '*** Add switches\n')
        s1 = net.addSwitch('s1')
        info( '*** Add hosts\n')
        h1 = net.addHost('h1', ip='0.0.0.0')
        h2 = net.addHost('h2', ip='0.0.0.0')
        info( '*** Add links\n')
        net.addLink(h1, s1, cls=TCLink, bw=10, delay='1ms', loss=0)
        net.addLink(h2, s1, cls=TCLink, bw=10, delay='1ms', loss=5)
        info( '*** Starting network\n')
        net.start()
        os.popen('ovs-vsctl add-port s1 enp0s5')
        h1.cmdPrint('dhclient '+h1.defaultIntf().name)
        h2.cmdPrint('dhclient '+h2.defaultIntf().name)
        CLI(net)
        net.stop()
     
    if __name__ == '__main__':
        setLogLevel( 'info' )
        myNetwork()
    

    上述代码中的enp0s5为虚拟机的虚拟网卡,请根据实际修改(可能为eth0)。


    网站内容采用BY-NC-SA协议分享 , 转载请注明: Mininet中VLC传输评价
    喜欢 (4)
    [norbert_jxl@163.com]
    分享 (0)

    您必须 登录 才能发表评论!