zoukankan      html  css  js  c++  java
  • 2019 SDN上机第6次作业

    一、使用Python脚本完成拓扑搭建,并连接ryu控制器。

    二。使用Ryu的REST API下发流表实现和第2次实验同样的VLAN

    
    curl -X POST -d '{
        "dpid": 1,
        "priority":1,
        "match":{
            "in_port":2
        },
        "actions":[
            {
                "type": "PUSH_VLAN",     
                "ethertype": 33024       
            },
            {
                "type": "SET_FIELD",
                "field": "vlan_vid",     
                "value": 4096            
            },
            {
                "type": "OUTPUT",
                "port": 1
            }
        ]
    }' http://127.0.0.1:8080/stats/flowentry/add
    
    
    curl -X POST -d '{
        "dpid": 1,
        "priority":1,
        "match":{
            "in_port":3
        },
        "actions":[
            {
                "type": "PUSH_VLAN",     
                "ethertype": 33024      
            },
            {
                "type": "SET_FIELD",
                "field": "vlan_vid",     
                "value": 4097            
            },
            {
                "type": "OUTPUT",
                "port": 1
            }
        ]
    }' http://127.0.0.1:8080/stats/flowentry/add
    
    
    curl -X POST -d '{
        "dpid": 1,
        "priority":1,
        "match":{
            "in_port":4
        },
        "actions":[
            {
                "type": "PUSH_VLAN",     
                "ethertype": 33024       
            },
            {
                "type": "SET_FIELD",
                "field": "vlan_vid",     
                "value": 4098            
            },
            {
                "type": "OUTPUT",
                "port": 1
            }
        ]
    }' http://127.0.0.1:8080/stats/flowentry/add
    
    
    
    
    curl -X POST -d '{
        "dpid": 1,
        "priority":1,
        "match":{
            "dl_vlan": "0"
        },
        "actions":[
            {
                "type": "POP_VLAN",     
            },
            {
                "type": "OUTPUT",
                "port": 2
            }
        ]
    }' http://localhost:8080/stats/flowentry/add
    
    #向端口3转发
    curl -X POST -d '{
        "dpid": 1,
        "priority":1,
        "match":{
            "dl_vlan": "1"
        },
        "actions":[
            {
                "type": "POP_VLAN",     
            },
            {
                "type": "OUTPUT",
                "port": 3
            }
        ]
    }' http://localhost:8080/stats/flowentry/add
    
    #向端口4转发
    curl -X POST -d '{
        "dpid": 1,
        "priority":1,
        "match":{
            "dl_vlan": "2"
        },
        "actions":[
            {
                "type": "POP_VLAN",     
            },
            {
                "type": "OUTPUT",
                "port": 4
            }
        ]
    }' http://localhost:8080/stats/flowentry/add
    
    
    #s2
    
    
    curl -X POST -d '{
        "dpid": 2,
        "priority":1,
        "match":{
            "in_port":2
        },
        "actions":[
            {
                "type": "PUSH_VLAN",     
                "ethertype": 33024      
            },
            {
                "type": "SET_FIELD",
                "field": "vlan_vid",    
                "value": 4096           
            },
            {
                "type": "OUTPUT",
                "port": 1
            }
        ]
    }' http://127.0.0.1:8080/stats/flowentry/add
    
    
    curl -X POST -d '{
        "dpid": 2,
        "priority":1,
        "match":{
            "in_port":3
        },
        "actions":[
            {
                "type": "PUSH_VLAN",     
                "ethertype": 33024       
            },
            {
                "type": "SET_FIELD",
                "field": "vlan_vid",     
                "value": 4097            
            },
            {
                "type": "OUTPUT",
                "port": 1
            }
        ]
    }' http://127.0.0.1:8080/stats/flowentry/add
    
    
    curl -X POST -d '{
        "dpid": 2,
        "priority":1,
        "match":{
            "in_port":4
        },
        "actions":[
            {
                "type": "PUSH_VLAN",     
                "ethertype": 33024       
            },
            {
                "type": "SET_FIELD",
                "field": "vlan_vid",     
                "value": 4098            
            },
            {
                "type": "OUTPUT",
                "port": 1
            }
        ]
    }' http://127.0.0.1:8080/stats/flowentry/add
    
    
    
    
    curl -X POST -d '{
        "dpid": 2,
        "priority":1,
        "match":{
            "dl_vlan": "0"
        },
        "actions":[
            {
                "type": "POP_VLAN",    
            },
            {
                "type": "OUTPUT",
                "port": 2
            }
        ]
    }' http://localhost:8080/stats/flowentry/add
    
    #向端口3转发
    curl -X POST -d '{
        "dpid": 2,
        "priority":1,
        "match":{
            "dl_vlan": "1"
        },
        "actions":[
            {
                "type": "POP_VLAN",     
            },
            {
                "type": "OUTPUT",
                "port": 3
            }
        ]
    }' http://localhost:8080/stats/flowentry/add
    
    #向端口4转发
    curl -X POST -d '{
        "dpid": 2,
        "priority":1,
        "match":{
            "dl_vlan": "2"
        },
        "actions":[
            {
                "type": "POP_VLAN",     
            },
            {
                "type": "OUTPUT",
                "port": 4
            }
        ]
    }' http://localhost:8080/stats/flowentry/add
    

    3.对比两种方法,写出你的实验体会

    ryu查看流表跟方便。

  • 相关阅读:
    perl 实现ascall 码转换
    perl 利用管道读取压缩文件内容
    perl 字符串比较操作符
    perl chomp 函数的真正作用
    RSQLite 操作sqlite数据库
    R 中的do.call 函数
    JavaMail发送和接收邮件API(详解)
    POP3_使用SSL链接邮箱并获取邮件
    MySql_delete同时删除多表相关联记录
    mybatis_mybatis写mapper文件注意事项
  • 原文地址:https://www.cnblogs.com/booob/p/11985099.html
Copyright © 2011-2022 走看看