⽹络知识梳理--OSI七层⽹络与TCPIP五层⽹络架构及⼆层三层⽹
络
作为⼀个合格的运维⼈员,⼀定要熟悉掌握OSI七层⽹络和TCP/IP五层⽹络结构知识。
废话不多说!下⾯就逐⼀展开对这两个⽹络架构知识的说明:
⼀、OSI七层⽹络协议
OSI是Open System Interconnect的缩写,意为开放式系统互联。
OSI参考模型各个层次的划分遵循下列原则:
1)根据不同层次的抽象分层
2)每层应当有⼀个定义明确的功能
3)每层功能的选择应该有助于制定⽹络协议的国际标准。
4)各层边界的选择应尽量节省跨过接⼝的通信量。
5)层数应⾜够多,以避免不同的功能混杂在同⼀层中,但也不能太多,否则体系结构会过于庞⼤
6)同⼀层中的各⽹络节点都有相同的层次结构,具有同样的功能。
7)同⼀节点内相邻层之间通过接⼝(可以是逻辑接⼝)进⾏通信。
8)七层结构中的每⼀层使⽤下⼀层提供的服务,并且向其上层提供服务。
9)不同节点的同等层按照协议实现对等层之间的通信。
根据以上标准,OSI参考模型分为(从上到下):
物理层->数据链路层->⽹络层->传输层->会话层->表⽰层->应⽤层。
1)物理层涉及在信道上传输的原始⽐特流。
2)数据链路层的主要任务是加强物理层传输原始⽐特流的功能,使之对应的⽹络层显现为⼀条⽆错线路。发送包把输⼊数据封装在数据帧,按顺序传送出去并处理接收⽅回送的确认帧。
3)⽹络层关系到⼦⽹的运⾏控制,其中⼀个关键问题是确认从源端到⽬的端如何选择路由。
4)传输层的基本功能是从会话层接收数据⽽且把其分成较⼩的单元传递给⽹络层。
5)会话层允许不同机器上的⽤户建⽴会话关系。
6)表⽰层⽤来完成某些特定的功能。
7)应⽤层包含着⼤量⼈们普遍需要的协议。
各层功能见下表:
七层模型的每⼀层都具有清晰的特征。基本来说:
1)第七⾄第四层(应⽤层->表⽰层->会话层->传输层)处理数据源和数据⽬的地之间的端到端通信,
2)第三⾄第⼀层(⽹络层->数据链路层->物理层)处理⽹络设备间的通信。
另外:
OSI模型的七层也可以划分为两组:
1)上层(层7、层6和层5,即应⽤层->表⽰层->会话层)。上层处理应⽤程序问题,并且通常只应⽤在软件上。最⾼层,即应⽤层是与终端⽤户最接近的。
2)下层(层4、层3、层2和层1,即传输层->⽹络层->数据链路层->物理层)。下层是处理数据传输的。物理层和数据链路层应⽤在硬件和软件上。最底层,即物理层是与物理⽹络媒介(⽐如说,电线)最接近的,并且负责在媒介上发送
第7层-应⽤层
定义了⽤于在⽹络中进⾏通信和数据传输的接⼝ - ⽤户程式;
提供标准服务,⽐如虚拟终端、⽂件以及任务的传输和处理;
应⽤层为操作系统或⽹络应⽤程序提供访问⽹络服务的接⼝。应⽤层协议的代表包括:Telnet、FTP、HTTP、SNMP等。
第6层-表⽰层
掩盖不同系统间的数据格式的不同性;
指定独⽴结构的数据传输格式;
数据的编码和解码;加密和解密;压缩和解压缩
这⼀层主要解决拥护信息的语法表⽰问题。它将欲交换的数据从适合于某⼀⽤户的抽象语法,转换为适合于OSI系统内部使⽤的传送语法。即提供格式化的表⽰和转换数据服务。数据的压缩和解压缩,加密和解密等⼯作都由表⽰层负责。
第5层-会话层
管理⽤户会话和对话;
控制⽤户间逻辑连接的建⽴和挂断;
报告上⼀层发⽣的错误
这⼀层也可以称为会晤层或对话层,在会话层及以上的⾼层次中,数据传送的单位不再另外命名,⽽是统称为报⽂。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建⽴和维护应⽤之间通信的机制。如服务器验证⽤户登录便是由会话层完成的。
第4层-处理信息的传输层
管理⽹络中端到端的信息传送;
通过错误纠正和流控制机制提供可靠且有序的数据包传送;
提供⾯向⽆连接的数据包的传送;
第4层的数据单元也称作数据包(packets)。但是,当你谈论TCP等具体的协议时⼜有特殊的叫法,TCP的数据单元称为段 (segments)⽽UDP 协议的数据单元称为“数据报(datagrams)”。这个层负责获取全部信息,因此,它必须跟踪数据单元碎⽚、乱序到达的数据包和其它在传输过程中可能发⽣的危险。第4层为上层提供端到端(最终⽤户到最终⽤户)的透明的、可靠的数据传输服务。所为透明的传输是指在通信过程中传输层对上层屏蔽了通信传输系统的具体细节。传输层协议的代表包括:TCP、UDP、SPX等。
第3层-⽹络层
定义⽹络设备间如何传输数据;
根据唯⼀的⽹络设备地址路由数据包;
提供流和拥塞控制以防⽌⽹络资源的损耗
在计算机⽹络中进⾏通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信⼦⽹。⽹络层的任务就是选择合适的⽹间路由和交换结点,确保数据及时传送。⽹络层将数据链路层提供的帧组成数据包,包中封装有⽹络层包头,其中含有逻辑地址信息- -源站点和⽬的站点地址的⽹络地址。
如果你在谈论⼀个IP地址,那么你是在处理第3层的问题,这是“数据包”问题,⽽不是第2层的“帧”。IP是第3层问题的⼀部分,此外还有⼀些路由协议和地址解析协议(ARP)。有关路由的⼀切事情都在这第3层处理。地址解析和路由是3层的重要⽬的。⽹络层还可以实现拥塞控制、⽹际互连等功能。在这⼀层,数据的单位称为数据包(packet)。⽹络层协议的代表包括:IP、IPX、RIP、OSPF等。
第2层-数据链路层(DataLinkLayer):
定义操作通信连接的程序;
封装数据包为数据帧;
监测和纠正数据包传输错误
在物理层提供⽐特流服务的基础上,建⽴相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上⽆差错的传输,并进⾏各电路上的动作系列。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作⽤包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。在这⼀层,数据的单位称为帧(frame)。数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。
第1层-物理层(PhysicalLayer)
定义通过⽹络设备发送数据的物理⽅式;
作为⽹络媒介和设备间的接⼝;
定义光学、电⽓以及机械特性。
规定通信设备的机械的、电⽓的、功能的和过程的特性,⽤以建⽴、维护和拆除物理链路连接。具体地讲,机械特性规定了⽹络连接时所需接插件的规格尺⼨、引脚数量和排列情况等;电⽓特性规定了在物理连接上传输bit流时线路上信号电平的⼤⼩、阻抗匹配、传输速率距离限制等;功能特性是指对各个信号先分配确切的信号含义,即定义了DTE和DCE之间各个线路的功能;规程特性定义了利⽤信号线进⾏bit流传输的⼀组操作规程,是指在物理连接的建⽴、维护、交换信息是,DTE和DCE双放在各电路上的动作系列。在这⼀层,数据的单位称为⽐特(bit)。属于物理层定义的典型规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。
⼆、TCP/IP
TCP/IP(传输控制协议/⽹间⽹协议)是⽬前世界上应⽤最为⼴泛的协议,它的流⾏与Internet的迅猛发展密切相关。
TCP/IP最初是为互联⽹的原型ARPANET所设计的,⽬的是提供⼀整套⽅便实⽤、能应⽤于多种⽹络上的协议,事实证明TCP/IP做到了这⼀点,它使⽹络互联变得容易起来,并且使越来越多的⽹络加⼊其中,成为Internet的事实标准。
TCP/IP协议族包含了很多功能各异的⼦协议。为此我们也利⽤上⽂所述的分层的⽅式来剖析它的结构。
TCP/IP层次模型共分为四层:应⽤层->传输层->⽹络层->数据链路层。
各层功能见下表
TCP(Transmission Control Protocol:传输控制协议)和UDP(User Datagram Protocol:⽤户数据报协议)协议属于传输层协议。其中:
1)TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双⼯操作和多路复⽤。通过⾯向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进⾏数据发送;
2)UDP则不为IP提供可靠性、流控或差错恢复功能。⼀般来说,TCP对应的是可靠性要求⾼的应⽤,⽽UDP对应的则是可靠性要求低、传输经济的应⽤。
应⽤层
应⽤层是所有⽤户所⾯向的应⽤程序的统称。ICP/IP协议族在这⼀层⾯有着很多协议来⽀持不同的应⽤,许多⼤家所熟悉的基于Internet的应⽤的实现就离不开这些协议。如我们进⾏万维⽹(WWW)访问
⽤到了HTTP协议、⽂件传输⽤FTP协议、电⼦邮件发送⽤SMTP、域名的解析⽤DNS协议、远程登录⽤Telnet协议等等,都是属于TCP/IP应⽤层的;就⽤户⽽⾔,看到的是由⼀个个软件所构筑的⼤多为图形化的操作界⾯,⽽实际后台运⾏的便是上述协议。
传输层
这⼀层的的功能主要是提供应⽤程序间的通信,TCP/IP协议族
在这⼀层的协议有TCP和UDP。
⽹络层
TCP/IP协议族中⾮常关键的⼀层,主要定义了IP地址格式,从⽽能够使得不同应⽤类型的数据在Internet上通畅地传输,IP协议就是⼀个⽹络层协议。
⽹络接⼝层
这是TCP/IP软件的最低层,负责接收IP数据包并通过⽹络发送之,或者从⽹络上接收物理帧,抽出IP数据报,交给IP层。
===============================================
TCP⽀持的应⽤协议主要有:Telnet、FTP、SMTP等;
UDP⽀持的应⽤层协议主要有:NFS(⽹络⽂件系统)、SNMP(简单⽹络管理协议)、DNS(主域名称系统)、TFTP(通⽤⽂件传输协议)等。TCP/IP协议与低层的数据链路层和物理层⽆关,这也是TCP/IP的重要特点。
===============================================================================
TCP连接建⽴-断开的过程说明(可以参考:)
TCP连接的端点叫做套接字(socket)或插⼝,即(IP地址:端⼝号),每⼀条TCP连接唯⼀地被通信两端的两个端点(即两个套接字)所确定。
TCP的运输连接有三个阶段,即连接建⽴、数据传送、连接释放。
TCP连接建⽴的过程要使每⼀⽅能够确定对⽅的存在:主动发起连接建⽴的应⽤进⾏叫做客户(client),被动等待连接建⽴的应⽤进程叫做服务器(server),连接建⽴的过程叫做三次握⼿。
假设A为客户,B为服务器,A发送⼀个报⽂给B,B发回确认,然后A再加以确认,来回共三次,成为“三次握⼿”。三次握⼿建⽴连接~
所谓三次握⼿(Three-Way Handshake)即建⽴TCP连接,就是指建⽴⼀个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建⽴。在socket编程中,这⼀过程由客户端执⾏connect来触发,整个流程如下图所⽰:
1)第⼀次握⼿:Client将标志位SYN置为1,随机产⽣⼀个值seq=J,并将该数据包发送给Server,Client进⼊SYN_SENT状态,等待Server确认。
2)第⼆次握⼿:Server收到数据包后由标志位SYN=1知道Client请求建⽴连接,Server将标志位SYN和ACK都置为1,ack=J+1,随机产⽣⼀个值seq=K,并将该数据包发送给Client以确认连接请求,Server进⼊SYN_RCVD状态。
3)第三次握⼿:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建⽴成功,Client和Server进⼊ESTABLISHED状态,完成三次握⼿,随后Client与Server之间可以开始传输数据了。
SYN攻击解释:
三次握⼿过程中,Server发送SYN-ACK之后,收到Client的ACK之前的TCP连接称为半连接(half-open connect),此时Server处于
SYN_RCVD状态,当收到ACK后,Server转⼊ESTABLISHED状态。SYN攻击就是Client在短时间内伪造⼤量不存在的IP地址,并向Server不断地发送SYN包,Server回复确认包,并等待Client的确认,由于源地址是不存在的,因此,Server需要不断重发直⾄超时,这些伪造的SYN包将产时间占⽤未连接队列,导致正常的SYN请求因为队列满⽽被丢弃,从⽽引起⽹络堵塞甚⾄系统瘫痪。SYN攻击时⼀种典型的DDOS攻击,检测SYN攻击的⽅式⾮常简单,即当Server上有⼤量半连接状态且源IP地址是随机的,则可以断定遭到SYN攻击了,使⽤如下命令可以让之现⾏:
#netstat -nap | grep SYN_RECV
---------------------------------------------------
连接的释放需要发送四个包,因此成为“四次挥⼿”,四次挥⼿断开连接。客户端或服务器都可以主动发起挥⼿动作。
所谓四次挥⼿(Four-Way Wavehand)即终⽌TCP连接,就是指断开⼀个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。在socket编程中,这⼀过程由客户端或服务端任⼀⽅执⾏close来触发,整个流程如下图所⽰:
由于TCP连接时全双⼯的,因此,每个⽅向都必须要单独进⾏关闭,这⼀原则是当⼀⽅完成数据发送任
务后,发送⼀个FIN来终⽌这⼀⽅向的连接,收到⼀个FIN只是意味着这⼀⽅向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这⼀⽅向也发送了FIN。⾸先进⾏关闭的⼀⽅将执⾏主动关闭,⽽另⼀⽅则执⾏被动关闭,上图描述的即是如此。
1)第⼀次挥⼿:Client发送⼀个FIN,⽤来关闭Client到Server的数据传送,Client进⼊FIN_WAIT_1状态。
2)第⼆次挥⼿:Server收到FIN后,发送⼀个ACK给Client,确认序号为收到序号+1(与SYN相同,⼀个FIN占⽤⼀个序号),Server进⼊CLOSE_WAIT状态。
3)第三次挥⼿:Server发送⼀个FIN,⽤来关闭Server到Client的数据传送,Server进⼊LAST_ACK状态。
4)第四次挥⼿:Client收到FIN后,Client进⼊TIME_WAIT状态,接着发送⼀个ACK给Server,确认序号为收到序号+1,Server进⼊CLOSED状态,完成四次挥⼿。
上⾯是⼀⽅主动关闭,另⼀⽅被动关闭的情况(由⼀⽅发起挥⼿),实际中还会出现同时发起主动关闭的情况,具体流程如下图(同时挥⼿):
为什么连接的时候是三次握⼿,关闭的时候却是四次握⼿?
这是因为当Server端收到Client端的SYN连接请求报⽂后,可以直接发送SYN+ACK报⽂。其中ACK报⽂是⽤来应答的,SYN报⽂是⽤来同步的。
但是关闭连接时,当Client端发送FIN报⽂仅仅表⽰它不再发送数据了但是还能接收数据,Server端收到FIN报⽂时,很可能并不会⽴即关闭SOCKET,所以只能先回复⼀个ACK报⽂,告诉Client端,"你发的FIN报⽂我收到了"。只有等到我Server端所有的报⽂都发送完了,我才能发送FIN报⽂,因此不能⼀起发送。故需要四步握⼿。
----------------------------------------------------
三、OSI七层⽹络与TCP/IP五层⽹络的区别与联系
除了层的数量之外,开放式系统互联(OSI)模型与TCP/IP协议有什么区别?
开放式系统互联模型是⼀个参考标准,解释协议相互之间应该如何相互作⽤。TCP/IP协议是美国国防部发明的,是让互联⽹成为了⽬前这个
样⼦的标准之⼀。
开放式系统互联模型中没有清楚地描绘TCP/IP协议,但是在解释TCP/IP协议时很容易想到开放式系统互联模型。
两者的主要区别如下:
1)TCP/IP协议中的应⽤层处理OSI模型中的第五层、第六层和第七层的功能。
2)TCP/IP协议中的传输层并不能总是保证在传输层可靠地传输数据包,⽽OSI模型可以做到。
3) TCP/IP协议还提供⼀项名为UDP(⽤户数据报协议)的选择。UDP不能保证可靠的数据包传输。
===============================================================================
先简单对⽐下⼆层⽹络和三层⽹络的区别:
1)不同⽹段的ip通信,需要经过三层⽹络。相同⽹段的ip通信,经过⼆层⽹络;
osi参考模型与tcp ip模型的异同2)⼆层⽹络仅仅通过MAC寻址即可实现通讯,但仅仅是同⼀个冲突域内;三层⽹络需要通过IP路由实现跨⽹段的通讯,可以跨多个冲突域;
3)⼆层⽹络的组⽹能⼒⾮常有限,⼀般只是⼩局域⽹;三层⽹络则可以组⼤型的⽹络。
4)⼆层⽹络基本上是⼀个安全域,也就是说在同⼀个⼆层⽹络内,终端的安全性从⽹络上讲基本上是⼀样的,除⾮有其它特殊的安全措施;
三层⽹络则可以划分出相对独⽴的多个安全域。
5)很多技术相对是在⼆层局域⽹中⽤得多,⽐如DHCP、Windows提供的共享连接等,如需在三层⽹络上使⽤,则需要考虑其它设备的⽀持
(⽐如通过DHCP中继代理等)或通过其它的⽅式来实现。
=============================⼆层⽹络与三层⽹络的详细对⽐============================
⽹络结构的变化过程:
a)按照物理拓扑结构分类,⽹络结构经历了总线型、环型、星型、树型、混合型等结构。
b)按照逻辑拓扑结构分类,⽹络结构经历了⼆层⽹络架构、三层⽹络架构以及最近兴起的⼤⼆层⽹络架构。
传统的数据交换都是在OSI 参考模型的数据链路层发⽣的,也就是按照MAC 地址进⾏寻址并进⾏数据转发,并建⽴和维护⼀个MAC 地址表,
⽤来记录接收到的数据包中的MAC 地址及其所对应的端⼝。此种类型的⽹络均为⼩范围的⼆层⽹络。
⼀、⼆层⽹络的⼯作流程:
1)数据包接收:⾸先交换机接收某端⼝中传输过来的数据包,并对该数据包的源⽂件进⾏解析,获取其源MAC 地址,确定发放源数据包主机
2)传输数据包到⽬的MAC 地址:⾸先判断⽬的MAC 地址是否存在,如果交换机所存储的MAC 地址表中有此MAC 地址所对应的端⼝,那么直接将数据包发送给这个端⼝;如果在交换机存储列表中不到对应的⽬的MAC 地址,交换机则会对数据包进⾏全端⼝⼴播,直⾄收到⽬的设备的回应,交换机通过此次⼴播学习、记忆并建⽴⽬的MAC 地址和⽬的端⼝的对应关系,以备以后快速建⽴与该⽬的设备的联系;
3)如果交换机所存储的MAC 地址表中没有此地址,就会将数据包⼴播发送到所有端⼝上,当⽬的终端给出回应时,交换机⼜学习到了⼀个新的MAC 地址与端⼝的对应关系,并存储在⾃⾝的MAC 地址表中。当下次发送数据的时候就可以直接发送到这个端⼝⽽⾮⼴播发送了。
以上就是交换机将⼀个MAC 地址添加到列表的流程,该过程循环往复,交换机就能够对整个⽹络中存在的MAC 地址进⾏记忆并添加到地址列表,这就是⼆层(OSI ⼆层)交换机对MAC 地址进⾏建⽴、维护的全过程。
从上述过程不难看出,传统的⼆层⽹络结构模式虽然运⾏简便但在很⼤程度上限制了⽹络规模的扩⼤,由于传统⽹络结构中采⽤的是⼴播的⽅式来实现数据的传输,极易形成⼴播风暴,进⽽造成⽹络的瘫痪。这就是各个计算机研究机构所⾯临的“⼆层⽹络存在的天然瓶颈”,由于该瓶颈的存在,使得⼤规模的数据传输和资源共享难以实现,基于传统的⼆层⽹络结构也很难实现局域⽹络规模化。
为了适应⼤规模⽹络的产⽣于发展,基于分层、简化的思想,三层⽹络模式被成功设计推出。三层⽹络架构的基本思想就是将⼤规模、较复杂的
⽹络进⾏分层次分模块处理,为每个模块指定对应的功能,各司其职,互不⼲扰,⼤⼤提⾼了数据传输的速率。
⼆、三层⽹络结构的设计,顾名思义,具有三个层次:核⼼层、汇聚层、接⼊层。下⾯将对三个层次的作⽤分别进⾏说明。
1)核⼼层:在互联⽹中承载着⽹络服务器与各应⽤端⼝间的传输功能,是整个⽹络的⽀撑脊梁和数据传输通道,重要性不⾔⽽喻。因此,⽹络对于核⼼层要求极⾼,核⼼层必须具备数据存储的⾼安全性,数据传输的⾼效性和可靠性,对数据错误的⾼容错性,以及数据管理⽅⾯的便捷性和⾼适应性等性能。在核⼼层搭建中,设备的采购必须严格按需采购,满⾜上述功能需求,这就对交换机的带宽以及数据承载能⼒提出了更⾼的要求,因为核⼼层⼀旦堵塞将造成⼤⾯积⽹络瘫痪,因此必须配备⾼性能的数据冗
余转接设备和防⽌负载过剩的均衡过剩负载的设备,以降低各核⼼层交换机所需承载的数据量,以保障⽹络⾼速、安全的运转。
2)汇聚层:连接⽹络的核⼼层和各个接⼊的应⽤层,在两层之间承担“媒介传输”的作⽤。每个应⽤接⼊都经过汇聚层进⾏数据处理,再与核⼼层进⾏有效的连接,通过汇聚层的有效整合对核⼼层的荷载量进⾏降低。根据汇聚层的作⽤要求,汇聚层应该具备以下功能:实施安全功能、⼯作组整体接⼊功能、虚拟⽹络过滤功能等。因此,汇聚层中设备的采购必须具备三层⽹络的接⼊交换功能,同时⽀持虚拟⽹络的创建功能,从⽽实现不同⽹络间的数据隔离安全,能够将⼤型⽹络进⾏分段划分,化繁为简。
3)接⼊层:接⼊层的⾯向对象主要是终端客户,为终端客户提供接⼊功能,区别于核⼼层和汇聚层提供各种策略的功能。接⼊层的主要功能是规划同⼀⽹段中的⼯作站个数,提⾼各接⼊终端的带宽。在搭建⽹络架构时,既要考虑⽹络的综合实⽤性,也要考虑经济效益,因此在接⼊层设备采购时可以选择数据链路层中较低端的交换机,⽽不是越⾼端越昂贵越好。
随着近年来互联⽹的应⽤规模急剧扩张,对数据传输的要求也越来越⾼,基于数据整合的云计算技术逐渐受到⼈们的关注。计算机⽹络作为当今社会各种信息的传输媒介,其组成架构也即将发⽣重⼤变⾰。鉴于传统三层⽹络VLan 隔离以及STP 收敛上的缺陷,传统⽹络结构急需打破。现有研究机构开始致⼒于新型⾼效⽹络架构的研发与探索,结合早期的扁平化架构的原有⼆层⽹络与现有三层⽹络的优缺点提出了⼤
⼆层⽹络架构。
===============================⼤⼆层⽹络==============================
1)为什么需要⼤⼆层⽹络
传统的三层数据中⼼架构结构的设计是为了应付服务客户端-服务器应⽤程序的纵贯式⼤流量,同时使⽹络管理员能够对流量流进⾏管理。⼯程师在这些架构中采⽤⽣成树协议(STP)来优化客户端到服务器的路径和⽀持连接冗余,通常将⼆层⽹络的范围限制在⽹络接⼊层以下,避免出现⼤范围的⼆层⼴播域;
虚拟化从根本上改变了数据中⼼⽹络架构的需求,既虚拟化引⼊了虚拟机动态迁移技术。从⽽要求⽹络⽀持⼤范围的⼆层域。从根本上改变了传统三层⽹络统治数据中⼼⽹络的局⾯。具体的来说,虚拟化技术的⼀项伴⽣技术—虚拟机动态迁移(如VMware的VMotion)在数据中⼼得到了⼴泛的应⽤,虚拟机迁移要求虚拟机迁移前后的IP和MAC地址不变,这就需要虚拟机迁移前后的⽹络处于同⼀个⼆层域内部。由于客户要求虚拟机迁移的范围越来越⼤,甚⾄是跨越不同地域、不同机房之间的迁移,所以使得数据中⼼⼆层⽹络的范围越来越⼤,甚⾄出现了专业的⼤⼆层⽹络这⼀新领域专题。
思考两个问题:
a)IP及MAC不变的理由?
对业务透明、业务不中断
b)IP及MAC不变,那么为什么必须是⼆层域内?
IP不变,那么就不能够实现基于IP的寻址(三层),那么只能实现基于MAC的寻址,既⼆层寻址,⼤⼆层,顾名思义,此是⼆层⽹络,根据MAC地址进⾏寻址
2)传统的⼆层⽹络⼤不起来的原因
在数据中⼼⽹络中,“区域”对应VLAN的划分。相同VLAN内的终端属于同⼀⼴播域,具有⼀致的VLAN-ID,⼆层连通;不同VLAN内的终端需要通过⽹关互相访问,⼆层隔离,三层连通。传统的数据中⼼设计,区域和VLAN的划分粒度是⽐较细的,这主要取决于“需求”和“⽹络规模”。
传统的数据中⼼主要是依据功能进⾏区域划分,例如WEB、APP、DB,办公区、业务区、内联区、外联区等等。不同区域之间通过⽹关和安全设备互访,保证不同区域的可靠性、安全性。同时,不同区域由于具有不同的功能,因此需要相互访问数据时,只要终端之间能够通信即可,并不⼀定要求通信双⽅处于同⼀VLAN或⼆层⽹络。
传统的数据中⼼⽹络技术, STP是⼆层⽹络中⾮常重要的⼀种协议。⽤户构建⽹络时,为了保证可靠性,通常会采⽤冗余设备和冗余链路,这样就不可避免的形成环路。⽽⼆层⽹络处于同⼀个⼴播域下,
⼴播报⽂在环路中会反复持续传送,形成⼴播风暴,瞬间即可导致端⼝阻塞和设备瘫痪。因此,为了防⽌⼴播风暴,就必须防⽌形成环路。这样,既要防⽌形成环路,⼜要保证可靠性,就只能将冗余设备和冗余链路变成备份设备和备份链路。即冗余的设备端⼝和链路在正常情况下被阻塞掉,不参与数据报⽂的转发。只有当前转发的设备、端⼝、链路出现故障,导致⽹络不通的时候,冗余的设备端⼝和链路才会被打开,使得⽹络能够恢复正常。实现这些⾃动控制功能的就是
STP(Spanning Tree Protocol,⽣成树协议)。由于STP的收敛性能等原因,⼀般情况下STP的⽹络规模不会超过100台交换机。同时由于STP需要阻塞掉冗余设备和链路,也降低了⽹络资源的带宽利⽤率。因此在实际⽹络规划时,从转发性能、利⽤率、可靠性等⽅⾯考虑,会尽可能控制STP⽹络范围。
随着数据⼤集中的发展和虚拟化技术的应⽤,数据中⼼的规模与⽇俱增,不仅对⼆层⽹络的区域范围要求也越来越⼤,在需求和管理⽔平上也提出了新的挑战。
数据中⼼区域规模和业务处理需求的增加,对于集处理的应⽤越来越多,集内的服务器需要在⼀个⼆层VLAN下。同时,虚拟化技术的应⽤,在带来业务部署的便利性和灵活性基础上,虚拟机的迁移问题也成为必须要考虑的问题。为了保证虚拟机承载业务的连续性,虚拟机迁移前后的IP地址不变,因此虚拟机的迁移范围需要在同⼀个⼆层VLAN下。反过来即,⼆层⽹络规模有多⼤,虚拟机才能迁移有多远。
传统的基于STP备份设备和链路⽅案已经不能满⾜数据中⼼规模、带宽的需求,并且STP协议⼏秒⾄⼏分钟的故障收敛时间,也不能满⾜数据中⼼的可靠性要求。因此,需要能够有新的技术,在满⾜⼆层⽹络规模的同时,也能够充分利⽤冗余设备和链路,提升链路利⽤率,⽽且数据中⼼的故障收敛时间能够降低到亚秒甚⾄毫秒级。
3)实现⼤⼆层⽹络的技术
⼤⼆层⽹络是针对当前最⽕热的虚拟化数据中⼼的虚拟机动态迁移这⼀特定需求⽽提出的概念,对于其他类型的⽹络并⽆特殊的价值和意义。
在虚拟化数据中⼼⾥,⼀台物理服务器被虚拟化为多台逻辑服务器,被称为虚拟机VM,每个VM都可以独⽴运⾏,有⾃⼰的OS、APP,在⽹络层⾯有⾃⼰独⽴的MAC地址和IP地址。⽽VM动态迁移是指将VM从⼀个物理服务器迁移到另⼀个物理服务器,并且要保证在迁移过程中,VM的业务不能中断。
为了实现VM动态迁移时,在⽹络层⾯要求迁移时不仅VM的IP地址不变、⽽且运⾏状态也必须保持(例如TCP会话状态),这就要求迁移的起始和⽬标位置必须在同⼀个⼆层⽹络域之中。
所以,为了实现VM的⼤范围甚⾄跨地域的动态迁移,就要求把VM迁移可能涉及的所有服务器都纳⼊同⼀个⼆层⽹络域,这样才能实现VM 的⼤范围⽆障碍迁移。这就是⼤⼆层⽹络的需求由来,⼀个真正意
义的⼤⼆层⽹络⾄少要能容纳1万以上的主机,才能称之为⼤⼆层⽹络。⽽传统的基于VLAN+xSTP的⼆层⽹络,由于环路和⼴播风暴、以及xSTP协议的性能限制等原因,通常能容纳的主机数量不会超过1K,⽆法实现⼤⼆层⽹络。当前,实现⼤⼆层⽹络的主要技术有以下⼏种:
a)⽹络设备虚拟化技术
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论