2019 SDN上机第6次作业

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

2019 SDN上机第6次作业_第1张图片

2019 SDN上机第6次作业_第2张图片

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

2019 SDN上机第6次作业_第3张图片


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

2019 SDN上机第6次作业_第4张图片

2019 SDN上机第6次作业_第5张图片

2019 SDN上机第6次作业_第6张图片

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

ryu查看流表跟方便。

你可能感兴趣的:(2019 SDN上机第6次作业)