美文网首页
【转载】三个有用的Mininet配置实例

【转载】三个有用的Mininet配置实例

作者: 王力_9541 | 来源:发表于2018-01-04 12:13 被阅读355次

    Mininet是一个有用的网络仿真/模拟平台,对于进行SDN测试和应用开发非常有帮助。使用Mininet可以创建不同类型的网络拓扑结构。本文介绍三种用于SDN测试时比较流行的拓扑配置。

    1.单交换机(Single switch)

    下面的命令创建具有1个交换机,交换机上连接3台主机的网络拓扑结构。每个主机被分配静态IP地址和MAC地址。

    $ sudo mn --arp --topo single,3 --mac --switch ovsk --controller remote
    

    上面的命令中有几个重要的参数需要注意:

    • -mac:自动设置MAC地址,MAC地址与IP地址的最后一个字节相同
    • -arp:为每个主机设置静态ARP表,例如:主机1中有主机2和主机3的IP地址和MAC地址ARP表项,主机2和主机3依次类推。
    • -switch:使用OVS的核心模式
    • –controller:使用远程控制器,可以指定远程控制器的IP地址和端口号,如果不指定则默认为127.0.0.1和6633

    创建完拓扑后即可使用ping命令进行测试:h1 ping h2
    注意:如果没有指定控制器的话,是ping不通的)

    mininet_single_switch1

    单个交换机网络拓扑

    2.两个线性连接的交换机(Two linear swtiches)

    下面的命令创建具有2个交换机,两个交换机下面个连一个主机,交换机之间再互连起来。

    $ sudo mn --topo linear --switch ovsk --controller remote
    
    
    mininet_single_switch1

    两个交换机线性拓扑

    3.负载均衡器器(Load-balancer)

    下面的命令创建的拓扑结构:1个交换机,交换机上连接3个服务器(server)和1个客户端(client)。控制器充当负载均衡器,控制客户端先服务器请求时,由控制器控制客户端真正访问的哪一个服务器。但是,有一些额外的步骤需要注意。

    $ sudo mn --arp --topo single,4 --mac --switch ovsk --controller remote
    
    
    • 虚拟IP/MAC(Virtual IP/MAC): 为负载均衡器选择一个virtual IP (VIP) 和 MAC 地址。这个VIP是客户端需要发起HTTP请求的目的IP地址。控制向交换机下发规则,去重写客户端的目的IP(即VIP),以指定具体访问哪一个网络服务器。为了达到这个目的,需要在客户端主机上为VIP设置一条ARP表项。如果‘h1′ 充当客户端,10.0.0.5是VIP,下面的命令用于在h1上添加静态ARP表项:

    mininet> h1 arp -s 10.0.0.5 00:00:00:00:00:05

    • 服务器的配置: -arp参数非常重要,用于为每个主机设置静态ARP表项。除此之外,还需要在mininet中运行下面的命令(启动HTTPServer):

    mininet> h2 python -m CGIHTTPServer &
    mininet> h3 python -m CGIHTTPServer &
    mininet> h4 python -m CGIHTTPServer &

    • Warm-up controller learning: After the hosts are up, it is important to make the controller learn the location of each host. You can do this through a pingall command in mininet:

    mininet> pingall

    • 客户端发起HTTP请求: In our custom VM, we have CGI script configured to report back which server is handling a particular client request. Thus, when a client performs the following command, you will receive the IP address of the handling server.

    mininet> h1 curl http://10.0.0.5:8000/cgi-bin/serverip.cgi

    mininet_load_balancer1

    负载均衡器网络拓扑

    备注:文章转自sdnhub

    相关文章

      网友评论

          本文标题:【转载】三个有用的Mininet配置实例

          本文链接:https://www.haomeiwen.com/subject/ljhrnxtx.html