聚焦传统网络,学习SDN基础和案例

1,827 阅读14分钟

一、网络基础

1、网络组成三要素

【网线+网卡+协议栈】三要素,是组成“最小网络单元”的基础,缺一不可.

  • 网线提供物理介质,承载比特流/电信号(类似电话线承载语音流/模拟信号)
  • 网卡进行数据处理,例如将电脑磁盘的数据/字节转换为网线上的电流/比特,将比特流转换为数据
  • 协议栈作为沟通语言,实现通信过程中的数据解析、地址寻址、流控制等

2、网络通信三要素

【IP地址+端口号+传输协议】三要素,是网络中通信必不可少的角色。

  • IP地址即确定和哪台主机通信
  • 端口分为物理端口和逻辑端口,物理端口主要死网卡口(路由器、交换机等),逻辑端口是指确定进程(应用程序)
  • 传输协议指的是两种,TCP/UDP

3、中继器

  • 工作在物理层上的连接设备。可以将完全相同的两类网络互联,对数据信号进行中继和放大。
  • 缺点是中继器只有两个接口,只能连接两个终端主机。

4、集线器

  • 集线器可能理解为“多口中继器”,集线器是运作在OSI模型中的物理层,从任一个接收到的数据,可以往其他所有接口泛洪。
  • 缺点是集线器不能识别数据包的寻址信息和上层内容,无法对终端主机隔离,多个主机出于冲突域中,导致带乱利用率低

5、网桥

  • 网桥:链路层产品,可以记录终端主机MAC地址并生成MAC表(CAM表),根据MAC表转发主机之间的数据流。
  • 网桥能够进行冲突域隔离,有效的提高网络带宽利用率,不同接口间的数据不会互相冲突。
  • 缺点是网桥的接口有限,默认是两个接口,对网络的隔离冲突有限,无专用硬件处理数据而是采用CPU导致处理速度稍慢

6、交换机

  • 交换机:链路层产品,可以记录终端主机MAC地址并生成MAC表(CAM表),根据MAC表转发主机之间的数据流。
  • 交换机在网桥基础上升级和延伸,相比网桥,有以下优点: - 接口数量更密集,独立冲突域,带宽利用率大大增长
    - 采用专用ASIC硬件芯片进行高速转发 - 能够进行VLAN隔离(不仅仅可以隔离冲突域,而且可以通过VLAN隔离广播域)

7、路由器

  • 路由器:网络层产品,基于IP寻址,采用路由表实现数据转发
  • 路由器主要用于连接不同局域网(可以是不同介质,即令牌网和以太网互通),实现广播域隔离,也可以用于远程通信(广域网连接)
  • IP逻辑协议寻址机制是实现不同类型局域网连通的关键,不同局域网主机只要有配置IP地址,有合理网段规划,则可以通信,路由器在实现局域网之间通信时,会实现”介质翻转“和”路由转发“。

8、无线AC/AP

  • 无线AP(Access point)可以看成带有无线功能的交换机/路由器,能将有线信号转换成无线的设备都可以叫无线AP。指802.11协议的无线AP,即大家耳熟能详的WIFI。
  • 根据部署方式不同,分为胖AP和瘦AP。即AC(Wireless Access Point Controller)统一管理的就是瘦AP,其余都是胖AP。
  • 胖AP方案中,无线AP有独立的操作系统,独立调试无线热点所有配置。瘦AP中,无线AP仅具备无线信号发射的功能,所有命令调试全部集中在后台的AC/无线控制器中。
  • 小型无线网络(家用、小型企业)采用胖AP,大型无线网络(无线城市、无线校园网)采用瘦AP方案(AP+AC)

9、防火墙

  • 防火墙(Firewall):网络安全产品,对于网络进行安全访问限制,一般用于互联网边缘防黑客攻击
  • 根据防火墙的技术特征,可以分为包过滤、应用代理、状态检测防火墙。根据产品形态分为软件和硬件防火墙。
  • 路由器侧重地址翻转和路由策略,防火墙侧重安全隔离
  • 防火墙类似路由器,如上图:
    1. 一般中小型单位 互联网出口使用防火墙或者只使用路由器,功能多且便宜
    2. 特定行业内网出口 必须用路由器,政策要求和业务需要,如公安/法院/金融等
    3. 大型网络防火墙和路由器分开,如果都用防火墙,性能可能扛不住
    4. 路由器和防火墙两者都存在的情况下,一般都是路由器在最外层,防火墙一般会旁挂服务器,即DMZ区域,采用第一种架构,服务器在私网IP域,相对安全。黑客攻击首先需要穿透路由器的NAT,还需绕过防火墙的检测。
      某园区物联网网络架构

10、家庭网络拓扑

  • 说明:典型家庭网络拓扑一版只需要用到路由器,由路由器连接外网和提供wifi
  • 设备:无线路由器
  • 技术:NAT(网络地址转换)、PPPOE(以太网上的点对点协议,即无线路由器拨号协议)、DHCP(动态主机设置协议,用于内部网或网络服务供应商自动分配IP地址)

11、中小型企业网络架构

  • 说明:总部属于中型企业架构,分部属于小型企业架构
  • 设备:
    1. 总部:路由器、交换机、防火墙、瘦AP(无线AC+AP)、服务器
    2. 分布:路由器、交换机
  • 技术:
    1. 总部:VLAN、MSTP、VRRP、WIFI、NAT、VPN、TRUNK、DHCP、ACL等
    2. 分部:VLAN、VPN、WIFI
  • 解决思路:
  1. 使用子网划分来对每个部门进行规划,每一个部门单独一个24位的子网断,保证连续性,即使后续有新增加的员工,24位有254个地址,可以保证能正常使用,并且连续性可以方便做汇总、与一些策略的控制。
  2. 冗余性的实现,可以利用MSTP+VRRP技术实现链路的冗余性与网关的热备功能,并且核心之间链路起链路聚合,提高带宽。
  3. 安全性的实施,可以利用ACL与端口隔离技术 来进行部署,当然也可以高级点,dot1x、DHCP snooping+DAI+IPSGD等技术。一般情况下用ACL与端口隔离技术即可,除非有特殊需求在使用后续的。
  4. 使用AC+AP的三层旁挂架构组件无线网络,实现内部网络使用5G接入网络,而访问则使用2.4G频率,并且实现,访客只能访问公司提供的WEB页面与Internet访问,并且要求无线访客区之间实现隔离。
  5. 利用浮动路由+NQA或者ip-link技术实现自动切换
  6. 使用IPSEC技术实现总部与分部之间的互访,通过加密验证等机制来保证数据的安全性
  7. 部署L2TP Over IPSEC实现出差员工能够拨入到内网,访问特定的资源。
  8. 开启Telnet或者SSH功能,实现访问,并且用ACL限制只能特点的主机访问。

11、运营商网络脉络

  • 说明:运营商网络主要通过城域网架构实现,是互联网最中心的承载网络,不同运营商采用AS自治系统隔离和相连,通过BGP协议交换路由,采用MPLS实现标签交换
  • 设备:交换机、路由器
  • 技术:OSPE/ISIS、BGP、MPLS、Multicast、TE/Qos、SNMP等

12、名词解释

MSTP:基于SDH技术的多业务传送平台(MSTP),实现局域网业务的接入、处理和传送,进行统一控制和管理 DHCP:是一个局域网的网络协议,使用UDP协议工作,用于内部网或网络服务供应商自动分配IP地址;给用户用于内部网管理员作为对所有计算机作中央管理的手段 VRRP:虚拟路由冗余协议,解决局域网中配置静态网关出现单点失效现象的路由协议 OSPE:路由协议一种,开放式最短路径优先,用于在单一自治系统(AS)内决策路由 ISIS:分级的链接状态路由协议,和OSPF相似,使用Hello协议寻找毗邻节点,使用一个传播协议发送链接信息 SNMP:简单网络管理协议,由三部分组成,被管理的设备,SNMP代理,网络管理系统(NMS) DS-TE:是网络级QOS 保证的主要技术,要求网络设备具备DS-TE 功能,即流量控制技术。 Qos:服务质量,指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力, 是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题的一种技术。 在正常情况下,如果网络只用于特定的无时间限制的应用系统,并不需要QoS,比如Web应用,或E-mail设置等。 ACL:访问控制列表,是路由器和交换机接口的指令列表,用来控制端口进出的数据包。ACL适用于所有的被路由协议,如IP、IPX、AppleTalk等。

二、SDN介绍

1、传统网络存在的问题

1.1 硬件升级难题

纵观网络设备的诞生,传统网络行业按需发展,即根据暴露的问题然后去研发解决这个问题。同时,网络硬件研发周期长,迭代和升级也远远跟不上软件。 在传统网络行业中,话语权是掌控在网络设备商手上的,如思科、华为、新华三等。底层对于用户来说,是完全封闭的,如同黑盒子般,无法去掌控。

1.2 网管系统的不足

传统的主流网络方案中,一般是配置网管服务器,网络设备(路由器、交换机、防火墙)和网管系统部署SNMP协议,通过网管系统对全网进行可视化拓扑发现、配置管理、链路质量检测。 然而,SNMP作为简单网络管理协议,更多侧重于网络设备的监控。而不是部署和配置。一般仅仅对IDC机房的故障进行告警,无法通过网管服务器去自动配置。

1.3 流量分配不均衡

同时,针对互联网公司的链路流量分配不均衡,也没有一个很好的解决方案,可分配均衡的一大难点,又在于流量的可视化。

  1. 常规流控产品只能实现部分带宽分配可视化,常规网管系统只能实现链路故障检测,无法带宽可视化
  2. 全网流量可视化是带宽智能调配的基础

1.4 网络设备本身问题

网络设备通过“网路协议”进行对话,如OSPF、BGP、MPLS、MSTP等,建立连接会通过三个步骤:邻居建立、信息共享、路径选择。 而由于大部分的网络设备采用“分布式架构”,每次交互都会根据“路径算法(如SPF算法)”选择最优的路径。

但是选择路径时,只能选择最短,不能根据流量等因素加以区分。同时,由于每个交换机都会有自己的控制器,也会消耗一部分的转发性能。

2、SDN定义

  • SDN:即软件定义网络,是一种网络设计理念
  • 网络设备可以集中式管理,可编程,控制和转发分离。即可定义为SDN
  • SDN框架由应用层、控制层、转发层(基础设施层)组成,其中应用层提供应用和服务(网管、安全、流控等),控制层统一管理和控制(协议计算、策略下发、链路信息等)、转发层提供硬件设备(交换机、路由器、防火墙)进行数据转发
  • 基于REST API的北向接口负责面向应用,提供网络抽象,使得网络具备软件编程的能力。南向接口主要负责面向基础设施层,主要提供Openflow流。

注意:控制层接口也属于北向接口

3、SDN vs 传统网络

第一条就不阐述了,SDN的基础。 第二条如下图。

第三条主要是SDN可以通过代码写脚本实现转发策略,如C/JAVA/Python。 第四条开放接口也很好理解,基于开放协议的方案是当前SDN实现的主流方案。 第五条网络虚拟化,即虚拟化平台是介于数据网络拓扑和租户控制器之间的中间层,为了实现虚拟化,虚拟化平台需要对物理网络资源进行抽象虚拟化,其中包括拓扑虚拟化,节点资源虚拟化和链路资源虚拟化。

4、SDN案例----谷歌B4

  • 目的:区分高优先级和低优先级流量然后分配带宽
  • 说明:控制该网络的系统分为三个层次:物理设备层(Switch Hardware)、局部网络控制层(Site Controller)和全局控制层(global)。一个Site就是一各数据中心。第一层的硬件交换机和第二层的Controller在每个数据中心的内部出口的地方都有部署,而第三层的SDN网关和TE服务器则是在一个全局统一的控制器。
  • 详解:
    1. 第一层的硬件交换机是Google自己设计的。交换机里面运行了OpenFlow协议,但是它并非仅仅使用了一般的OpenFlow交换机最常使用的ACL表,而是用了TTP(Table Typing Patterns)方式,包括ACL表、路由表、Tunnel表等。但是向上提供的是OpenFlow接口。这些交换机会把BGP/IS-IS协议报文发送到Controller供Controller处理。
    2. 第二层最为复杂,该层在每个数据中心出口并不是只有一台服务器,而是有一个服务器集群,每个服务器上都运行一个Controller,Google用的Controller是基于分布式的Onix Controller来改造的。一台交换机可以连接到多个Controller,但是只有其中一个处于工作状态(Master),一个控制器控制多台交换机,一个名叫Paxos的程序用来进行leader选举(即选举Master)
    3. 第三层中,全局的TE服务器通过SDN Gateway从各个数据中心的控制器收集链路信息,从而掌握路径信息,这些路径被以IP-In-IP Tunnel的方式创建而不是TE最经常使用的MPLS Tunnel,通过Gateway到Onix Controller,最终下发到交换机中。当一个新业务数据要开始传输的时候,应用程序会评估该应用所需要耗用的带宽,为它选择一条最优路径(比如负载最轻的但非最短路径即不丢包但时延大),然后把这个应用对应的流通过Controller下发到交换机,从而整体上使链路带宽利用率到达最优。

三、拓展:NVF、NV和SDN的关系

先了解三个概念之间的释义。

  • NVF:网络设备虚拟化
  • NV:网络虚拟化
  • SDN:软件定义网络

NFV是ETSI(即欧洲电信标准化协会)旨在通过采用通用硬件及在其上流行的虚拟化技术,,来取代目前由电信设备厂商给运营商提供的专用硬件设备,从而降低网络建设的昂贵成本支出。NFV的目标就是通用服务器替代专用电信设备(路由器、交换机等)。 NV是云计算发展所必然产生的技术,即针对公有云中快速部署、自动化以及自服务成了必然的需求:

  • 多租户隔离
  • 单租户的不同应用之间安全性要保障
  • 根据云平台的应用要求配置网络策略,同时迁移时自动转移策略。

SDN中即虚拟化平台是介于数据网络拓扑和租户控制器之间的中间层,为了实现虚拟化,虚拟化平台需要对物理网络资源进行抽象虚拟化,其中包括拓扑虚拟化,节点资源虚拟化和链路资源虚拟化。

总结:SDN = NV > NVF 即云计算的虚拟网络利用SDN的思想,同时,SDN针对是面,而NVF针对的是点,在未来,SDN与NFV都是大势所趋,可能会出现在Controller控制下用通用服务器作为网元形成的网络,既实现了SDN,又是NFV。

四、参考资源

1、51CTO课程————《SDN从入门到精通》 2、《Google数据中心B4网络具体实现》 3、漫谈SDN,NFV与NV