SDN aprendizaje + + MiniNet OpenDaylight

SDN

SDN Introducción

SDN a la red definida por software, literalmente, toda la red se convertirá en SDN (NE solo) abrir en la dirección vertical, la normalización, programable, de modo que sea más fácil de usar, más eficiente de los recursos de la red.

En la arquitectura tradicional, conmutadores y routers tienen que operar en la ejecución de la totalidad de la red de inteligencia bajo el control de 6000 tipos de protocolos distribuidos. Esto significa que incluso si sólo hay un elemento de red agrega un nuevo acuerdo, todos los demás elementos de la red también tienen que hacer cambios estructurales apropiados. De hecho, añadir un nuevo protocolo en la red a menudo toman años para finalizar el proceso de normalización de la implementación real.

MiniNet

¿Cuál es MiniNet

MiniNet por algún nodo terminal virtual (finales hosts), conmutadores, routers conectados entre sí en un simulador de red, que utiliza la tecnología de virtualización de peso ligero permite que el sistema puede ser comparable a la red real.

MiniNet puede crear fácilmente una red de apoyo de SDN: Trabajo de equipo host como un real, como, puede usar ssh para iniciar la sesión, inicie el programa de aplicación puede enviar paquetes de datos al puerto Ethernet, el paquete será un interruptor, un router recibe y procesa . Con esta red, la flexibilidad para agregar nuevas características para la red y pruebas asociadas, y luego fácilmente implementarlo en entornos de hardware reales.

MiniNet Instalación e implementación

instalación de la máquina virtual de MiniNet

  1. Descargar MiniNet Espejo: https://github.com/mininet/mininet/releases
  2. Descargar software de máquina virtual. VirtualBox , VMware Workstation
  3. imagen de instalación

instalación local (recomendado)

Tirando de la fuente de Git

git clone git://github.com/mininet/mininet

Instalación MiniNet, según MiniNet / util / install.sh -h seleccione Ver

mininet/util/install.sh -n3V 2.5.0

Después de completar la instalación, utilice la instalación de prueba MiniNet comando se ejecutó correctamente

sudo mn --test pingall

SDN_Command

MiniNet paquete de instalación (el más conveniente)

MiniNet paquete de instalación en Ubuntu

sudo apt install mininet/precise-backports

Problemas encontrados durante la instalación

Mininet_Q1.png

Puerto tip 6653 está ocupado

sudo service openvswitch-testcontroller stop

comando interno interactivo

Crear una topología por defecto después mn uso sudo entra en el interactivo

help #查看帮助命令
net #查看链路信息
nodes #查看网络里面有多少节点以及有什么节点
links #查看链路健壮性,看看某条链路是不是在正常工作
pingall #测试所有主机间通信
pingpair #只验证前两个主机连通性-
dump #节点信息
intfs #网络接口信息
iperf h1 h2 #测试H1 H2的带宽
link s1 s2 up#禁用或开始节点间的链路
iperfudp bw h1 h2 #测试H1 H2 的UDP带宽
xterm h1 #节点开启可视化操作
py net.addSwtich("s1") #执行python 表达式

experimentos py

Añadir un h3 y conectado a s1

py net.addHost('h3') #添加一个主机h3
py net.addLink(s1,net.get('h3')) #将s1 和 h3连接起来
py s1.attach('s1-eth3') #添加接口s1-eth3
py net.get('h3').cmd('ifconfig h3-eth0 10.3') #给h3设置ip
py dump #查看设备的信息
#发现我们的h3并没有显示我们设置的IP 依然为none
#我们需要h1 ping h3命令,让设备发现他的ip。在dump即可查看正确的设备信息。

OpenDaylight

1. Instalación dependencias ODL

  sudo apt-get update
  sudo apt-get install openjdk-8-jdk

2. Descargar OpenDaylight controlador: http://www.opendaylight.org/software/downloads

 tar zxvf distribution-karaf-0.3.0-Lithium.tar.gz

3. Configurar entorno Java

vi abierta / etc / profile

Agregue el código siguiente

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64

JRE_HOME=$JAVA_HOME/jre

CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export JAVA_HOME JRE_HOME CLASS_PATH PATH

archivo de origen

source /etc/profile

4. Comprobar si la instalación es correcta

CD de distribución-karaf-0.3.0-litio

./bin/karaf ejecución

Después de la implementación exitosa

odl.png

tabla de flujo

La imagen muestra la topología actual

objetivos experimentales son:

h1 no puede h2 de ping

dpctl del-flows
#清除所有流表,也可以使用sh ovs-ofctl s1  del-flows 针对S1删除流表
dpctl add-flow in_port=1,actions=output:2 
#让1端口添加output 2端口
dpctl add-flow in_port=2,actions=output:3,output:1 
#让2端口添加output 3,1端口
dpctl add-flow in_port=3,actions=output:2
#让3端口添加output 2端口

Introduzca resultados pingall

1   ->  h2 X 
h2  ->  h1 h3 
h3  ->  X  h2 

Uno de los experimentos más

objetivos de la misión es hacer H1 y H2 a través, H3 y H4 pase, H1 y H3 razonable.

De acuerdo con los objetivos de la misión, que es el único huésped en el mismo interruptor se puede comunicar.

h1 S2 está conectado al puerto 2

h2 está conectado a la tercera s2 puerto

s3 h3 conectado al puerto 2

h4 s3 puerto de conexión 3

Mientras el interruptor no pueden comunicarse entre sí. 1,3 puerto del conmutador. Eliminar todo tabla de flujo, el intercambio añadió 2, 3.

dpctl del-flows 
dpctl add-flow in_port=2,actions=output:3
dpctl add-flow in_port=3,actions=output:2

pingall resultados:

h1 -> h2 X X 
h2 -> h1 X X 
h3 -> X X h4 
h4 -> X X h3

Con otra idea

S1 desde el router para descartar la totalidad del puerto 1 se puede lograr.

 sh ovs-ofctl add-flow s1 priority=50,in_port=1,action=drop

Supongo que te gusta

Origin www.cnblogs.com/skyxmao/p/12653335.html
Recomendado
Clasificación