传统的网络架构:
三层:核心层、汇聚层、接入层;
核心层:高速转发、为多个汇聚层提供连通性,同时为整个网络提供灵活的L3路由网络;
汇聚层:提供防火墙、SSL卸载、入侵检测、网络分析等;
接入层:ToR交换机,与服务器物理连接;
经典的IP网络是逐跳转发数据的,转发数据时,每台路由器都要根据包头的目的地址查询路由表;
核心和汇聚之间需要高效率、高性能,进行优化:
引入多协议标签交换技术(MPLS),通过 LDP 标签分发协议;好比快递盒子,后续只需要读取标签,避免了传统路由网络中,每一跳都要打开盒子查看的额外开销;
路径计算元素协议(RSVP-TE)最大的优点是:收集整个网络的拓扑 和 链路状态信息;
缺点:资源利用率低,复杂度高、价格昂贵;
借鉴胖树 Fattree 和 CLOS 模型思想,衍生了 叶脊 spine - leaf 网络架构;高带宽、低延迟、非阻塞、可扩展的服务器到服务器连接;代表之一: Google B4网络;
Google B4 网络:
实现数据在各个园区的实时复制;由控制软件和白盒交换机构成;
三层构成:物理设备层(Switch Hardware)、局部网络控制层(Site Controllers)和全局控制层(Global)。
SDN原理:
ONF开放网络基金会,将SDN分为三层;
应用层是由包含了各种不同的的业务逻辑的应用构成的。
控制层主要负责数据平面相关资源的编排、调度、网络拓扑的维护以及状态信息管理等工作。
数据层相对来说逻辑更轻,主要负责数据的转发、处理以及运行时的一些状态收集工作。
开放网络操作系统 ONOS 组网实践:
SDN 分为控制面和数据面,对应到开源实现中 ONOS 就是控制面的具体实现,而 Mininet 对应的就是数据面实现。Mininet 是由斯坦福大学基于 Linux 容器架构开发的一个云原生虚拟化网络仿真工具。
使用 ONOS+Mininet 我们可以快速创建一个包含主机、交换机、SDN 控制器以及链路的虚拟网络,并且 Mininet 创建的交换机也是支持上文讲到的 OpenFlow 协议的,这也使得它具备了高度的灵活性。使用这个工具,我们可以在本地轻松搭建一个 SDN 开发、调试环境。
1、下载镜像Mininet Download/Get Started With Mininet - Mininet;
2、解压之后,导入到VM;
3、用户名 / 密码:mininet/mininet 即可登录;
4、安装docker;
sudo apt-get update sudo apt install curl sudo apt install ssh curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
5、拉取onos的镜像;
sudo docker pull onosproject/onos
6、创建Mininet容器连接onos;
先把容器的网络映射到虚拟机,docker run 的时候加上-p 8000:80 这样的参数;
sudo docker run -t -d -p 8181:8181 --name onos1 onosproject/onos;
7、获取onos容器ID:
8、通过容器id获取onos容器的IP;
9、得到IP后,使用ssh登录 onos;用户名密码都是 karaf;
ssh -p 8101 karaf@172.17.0.2 app activate org.onosproject.openflow #启用openflow app activate org.onosproject.fwd #启用forward转发功能
10、键盘CTRL+D退出onos登录,返回虚拟机,配置mininet,连接到onos;
sudo mn --topo tree,2 --controller remote,ip=172.17.0.2 #创建临时网络 pingall #网路连通性检测
11、onos查看拓扑:
打开URL:http://172.17.0.2:8181/onos/ui/login.html
(说明:先把容器的网络映射到虚拟机,再把虚拟机的网络映射到本地即可。docker run 的时候加上 -p 8000:80 这样的参数,就可以映射到虚机了,然后再改一下 VBox 的网络设置。)
(网络配置有问题;后续更新)
总结:
标签:24,Mininet,架构,操作系统,sudo,网络,docker,SDN,onos From: https://www.cnblogs.com/xuan01/p/17369348.html