天天看點

網絡知識梳理--OSI七層網絡與TCP/IP五層網絡架構及二層/三層網絡

作為一個合格的運維人員,一定要熟悉掌握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)應用層包含着大量人們普遍需要的協定。

各層功能見下表:

網絡知識梳理--OSI七層網絡與TCP/IP五層網絡架構及二層/三層網絡

七層模型的每一層都具有清晰的特征。基本來說:

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層次模型共分為四層:應用層->傳輸層->網絡層->資料鍊路層。

各層功能見下表 

網絡知識梳理--OSI七層網絡與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來觸發,整個流程如下圖所示:

網絡知識梳理--OSI七層網絡與TCP/IP五層網絡架構及二層/三層網絡

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來觸發,整個流程如下圖所示:

網絡知識梳理--OSI七層網絡與TCP/IP五層網絡架構及二層/三層網絡

由于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狀态,完成四次揮手。

上面是一方主動關閉,另一方被動關閉的情況(由一方發起揮手),實際中還會出現同時發起主動關閉的情況,具體流程如下圖(同時揮手):

網絡知識梳理--OSI七層網絡與TCP/IP五層網絡架構及二層/三層網絡

為什麼連接配接的時候是三次握手,關閉的時候卻是四次握手?

這是因為當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不能保證可靠的資料包傳輸。

網絡知識梳理--OSI七層網絡與TCP/IP五層網絡架構及二層/三層網絡

先簡單對比下二層網絡和三層網絡的差別:

1)不同網段的ip通信,需要經過三層網絡。相同網段的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)網絡裝置虛拟化技術

網絡裝置虛拟化是将互相備援的兩台或多台實體網絡裝置組合在一起,虛拟化成一台邏輯網絡裝置,在整個網絡中隻呈現為一個節點。例如華為的CSS框式堆疊、iStack盒式堆疊、SVF框盒堆疊技術等。

網絡裝置虛拟化再配合鍊路聚合技術,就可以把原來網絡的多節點、多鍊路的結構變成邏輯上單節點、單鍊路的結構,解決了二層網絡中的環路問題。沒有了環路問題,就不需要xSTP,二層網絡就可以範圍無限(隻要虛拟網絡裝置的接入能力允許),進而實作大二層網絡。

b)大二層轉發技術

大二層轉發技術是通過定義新的轉發協定,改變傳統二層網絡的轉發模式,将三層網絡的路由轉發模式引入到二層網絡中。例如TRILL、SPB等。

以TRILL為例,TRILL協定在原始以太幀外封裝一個TRILL幀頭,再封裝一個新的以太幀來實作對原始以太幀的透明傳輸,支援TRILL的交換機可通過TRILL幀頭裡的Nickname辨別來進行轉發,而Nickname就像路由一樣,可通過IS-IS路由協定進行收集、同步和更新。

c)Overlay技術

Overlay技術是通過用隧道封裝的方式,将源主機發出的原始二層封包封裝後在現有網絡中進行透明傳輸,進而實作主機之間的二層通信。通過封裝和解封裝,相當于一個大二層網絡疊加在現有的基礎網絡之上,是以稱為Overlay技術。

Overlay技術通過隧道封裝的方式,忽略承載網絡的結構和細節,可以把整個承載網絡當作一台“巨大無比的二層交換機”, 每一台主機都是直連在“交換機”的一個端口上。而承載網絡之内如何轉發都是 “交換機”内部的事情,主機完全不可見。Overlay技術主要有VXLAN、NVGRE、STT等。

4)大二層網絡需要有多大、及技術選型 

1. 資料中心内 

大二層首先需要解決的是資料中心内部的網絡擴充問題,通過大規模二層網絡和VLAN延伸,實作虛拟機在資料中心内部的大範圍遷移。由于資料中心内的大二層網絡都要覆寫多個接入交換機和核心交換機,主要有以下兩類技術。

a) 虛拟交換機技術 

虛拟交換機技術的出發點很簡單,屬于工程派。既然二層網絡的核心是環路問題,而環路問題是随着備援裝置和鍊路産生的,那麼如果将互相備援的兩台或多台裝置、兩條或多條鍊路合并成一台裝置和一條鍊路,就可以回到之前的單裝置、單鍊路情況,環路自然也就不存在了。尤其是交換機技術的發展,虛拟交換機從低端盒式裝置到高端框式裝置都已經廣泛應用,具備了相當的成熟度和穩定度。是以,虛拟交換機技術成為目前應用最廣的大二層解決方案。 虛拟交換機技術的代表是H3C公司的IRF、Cisco公司的VSS,其特點是隻需要交換機軟體更新即可支援,應用成本低,部署簡單。目前這些技術都是各廠商獨立實作和完成的,隻能同一廠商的相同系列産品之間才能實施虛拟化。同時,由于高端框式交換機的性能、密度越來越高,對虛拟交換機的技術要求也越來越高,目前框式交換機的虛拟化密度最高為4:1。虛拟交換機的密度限制了二層網絡的規模大約在1萬~2萬台伺服器左右。

b) 隧道技術 

隧道技術屬于技術派,出發點是借船出海。二層網絡不能有環路,備援鍊路必須要阻塞掉,但三層網絡顯然不存在這個問題,而且還可以做ECMP(等價鍊路),能否借用過來呢?通過在二層封包前插入額外的幀頭,并且采用路由計算的方式控制整網資料的轉發,不僅可以在備援鍊路下防止廣播風暴,而且可以做ECMP。這樣可以将二層網絡的規模擴充到整張網絡,而不會受核心交換機數量的限制。

隧道技術的代表是TRILL、SPB,都是通過借用IS-IS路由協定的計算和轉發模式,實作二層網絡的大規模擴充。這些技術的特點是可以建構比虛拟交換機技術更大的超大規模二層網絡(應用于大規模叢集計算),但尚未完全成熟,目前正在标準化過程中。同時傳統交換機不僅需要軟體更新,還需要硬體支援。

 2. 跨資料中心 

随着資料中心多中心的部署,虛拟機的跨資料中心遷移、災備,跨資料中心業務負載分擔等需求,使得二層網絡的擴充不僅是在資料中心的邊界為止,還需要考慮跨越資料中心機房的區域,延伸到同城備份中心、遠端災備中心。 

一般情況下,多資料中心之間的連接配接是通過路由連通的,天然是一個三層網絡。而要實作通過三層網絡連接配接的兩個二層網絡互通,就必須實作“L2 over L3”。 

L2oL3技術也有許多種,例如傳統的VPLS(MPLS L2VPN)技術,以及新興的Cisco OTV、H3C EVI技術,都是借助隧道的方式,将二層資料封包封裝在三層封包中,跨越中間的三層網絡,實作兩地二層資料的互通。這種隧道就像一個虛拟的橋,将多個資料中心的二層網絡貫穿在一起。 

也有部分虛拟化和軟體廠商提出了軟體的L2 over L3技術解決方案。例如VMware的VXLAN、微軟的NVGRE,在虛拟化層的vSwitch中将二層資料封裝在UDP、GRE封包中,在實體網絡拓撲上建構一層虛拟化網絡層,進而擺脫對網絡裝置層的二層、三層限制。這些技術由于性能、擴充性等問題,也沒有得到廣泛的使用。

常見資料中心架構

網絡知識梳理--OSI七層網絡與TCP/IP五層網絡架構及二層/三層網絡

full layer3網絡屬于傳統的資料中心網絡。伺服器網關部署在接入交換機上,整網通過路由協定控制拓撲和轉發路徑。這樣的網絡架構的主要優勢在于技術成熟、有大量的運維經驗。網絡系統穩定且便于維護。但是Full layer3網絡的不足之處在于不能支援虛拟化資料中心虛拟機的自由遷移,是以在進入雲計算時代後,Full layer3網絡逐漸被淘汰。Full layer2網絡是下一代資料中心的網絡模型。伺服器網關在核心層,整網通過TRILL或是SPB協定控制拓撲和轉發路徑。這樣的網絡架構主要優勢在于能夠支援大規模的二層網絡,能夠支援足夠規模的虛拟機資源池。但是,這個網絡模型的缺點也是非常明顯的。TRILL協定雖然已經标準化(SPB協定正在标準化),但是大規模的二層網絡缺乏運維經驗。沒有運維經驗,也就意味着運維成本的大幅度提升,同時也會給業務系統帶來巨大的風險。

網絡知識梳理--OSI七層網絡與TCP/IP五層網絡架構及二層/三層網絡

在彙聚層上部署EVI特性,通過核心與彙聚之間的IP網絡建立Vlink實作二層互通。通過EVI特性将指定的多個二層域連接配接起來,形成一個完整的大規模二層網絡。這樣就可以實作虛拟機大規模池化功能。同時,可以避免使用TRILL或是SPB協定帶來的運維風險。

注意:正常IP包轉發過程中,源IP及目的IP保持不變,源MAC與目的MAC不斷發生變化,既源MAC是自己的mac,目的mac是下一跳(主機或者路由器)的mac;路由器将資料轉發出去的階段,需要知道下一跳的mac位址,通過arp協定擷取,并存儲在路由器的arp表内,供下次查詢使用。