簡介
網路結構
基本組成
基本結構
處于網路終端的通信設備物體成為主機或端系統,端系統的作用主要是收集、創造或處理資料,故端系統又可以分為客戶機(client)和服務器(server),從一個端系統到達另一個端系統需要通過路徑,路徑將端系統通過通信鏈路(線纜或電波)或分組交換機(常見的分組交換機有路由器(網路核心)和鏈路層交換機(接入網))連接在一起,各大小型端系統通過ISP(Internet Services Provider)維護的路徑連接在一起,
在端系統內部存在多個分布式應用程式來處理特定資訊,Application Programming Interface規定了應用程式與另一個端系統的應用程式交換資料的規則,端系統通過接入網與邊緣路由器連接,邊緣路由器是端系統在路徑上的第一臺路由器,常見的接入網通信鏈路有電話線、電纜線、光纖、無線電,
接入網
DSL接入:終端通過DSL調制解調器發送模擬信號并經過家庭的分頻器,發送出的各種頻率的模擬信號通過電話公司的復用器DSLAM轉換為數字信號,數字信號通過路由器與局外網路通信,接收信號時路由器將數字信號轉發至復用器,復用器將數字信號轉為模擬信號,模擬信號通過分頻器和DSL傳輸至目的終端,網路信號和電話信號以不同的頻率傳輸,通過分頻器和復用器合并或分離,
電纜接入:終端通過電纜調制解調器將發送的數字信號轉為模擬信號,模擬信號通過同軸電纜傳輸至該地區樞紐的光纖結點,進而通過光纜傳輸至地區的電纜調制解調器端接系統(CMTS,Cable Modem Termination System,CMTS和路由器組成了電纜頭端),CMTS將模擬信號轉為數字信號并通過路由器與局外網路通信,混合的電纜光纜稱為混合光纖同軸(HFC,Hybrid Fiber Coax),終端處的電纜調制解調器將HFC網路分為上行和下行兩個信道,下行信道通常比上行信道的速率更高,電纜接入的特征是共享廣播媒體,即人多時速率下降人少時速率較高,
光纖接入:主動光纖網路(AON,Active Optical Network,從本地中心局一根光纖到單戶)和被動光纖網路(PON,Passive Optical Network,中心局光纖通過光纖分配器將到多戶),端系統經過路由器并通過光纖網路端接器(ONT,Optical Network Termination)將數字信號轉為光模擬信號,光纖分配器將模擬信號傳輸至中心局的光纖線路端接器(OLT,Optical Line Termination),OLT再將模擬信號轉為數字信號,
以太網接入:終端通過雙絞銅線與一臺以太網交換機直接相連
局域網接入:通過局域網將用戶與邊緣路由器相連
WIFI無線接入:WLAN
廣域無線接入:基于基站的無線技術
物理媒體
物理媒體分為導引資料流向的導引型媒體和擴散傳播的非導引型媒體,
雙絞銅線,同軸電纜,光纖,陸地無線電通道,衛星無線電通道,
ISP
單一全球承載ISP接入所有區域ISP,多個全球承載ISP接入各個區域ISP,區域內劃分各個區域ISP逐層接入,區域內或區域間依靠存在點、多宿、對等、IXP組成更為復雜的結構,
存在點POP是供應商網路中相同層級位置下的多個路由器組成的群組,通過租用POP能進行高速鏈接,多宿是接入多個供應商或區域ISP以增強容災能力,對等是位于相同層級的ISP可以直接互相傳輸流量而不需要流向上級ISP,對等的頂層ISP不互相結算,IXP可以接入多個區域ISP并讓它們共同對等,內容提供商網路是一個大型的局域網路結構,通過全球性的服務器布局和直接接入底層ISP并接入多個IXP可以減少向頂層供應商支付的網路費用,
資料交換
分組交換
報文的源端系統將報文劃分并為每段加上首部位元組以組成較小的資料塊,稱之為分組packet,分組從路由器一端傳入,再由該路由器轉發至另一條通信鏈路,轉發的路徑在不同的網路間有區別,通常,路由器會根據路由選擇協議自動的配置一個轉發表,保存可用的相鄰路由器,分組交換提供了更好的寬帶共享并且簡單有效實作成本低,但不適合實時服務,
分組交換機在鏈路的輸入端采用存盤轉發傳輸機制,即交換機在向輸出鏈路傳輸分組的第一個位元前必須接收完整的分組,接收分組完畢后,分組交換機首先需要檢查分組頭部來決定從哪個輸出埠轉發,此種時延稱為處理時延nodal processing delay,分組傳入交換機后,如果某一輸出鏈路正在傳輸其他分組,則后到達的分組需要在交換機中排隊,這種時延稱為排隊時延queue delay,分組交換機對每條相連的鏈路提供輸出快取output buffer,如果輸出快取占滿則會丟棄將到達的分組或排隊中的分組,此種現象稱為分組丟失pocket lost或丟包,分組的第一個位元傳入鏈路到最后一個位元傳入鏈路需要的時間稱為傳輸時延transmission delay,分組的第一個位元從傳入鏈路到到達下一個分組交換機需要的時間稱為傳播時延propagation delay,
高速路由器的處理時延通常是微秒或更低的數量級,排隊時延取決于擁塞程度但實際上通常是毫秒或微妙量級,輸出時延取決于分組長度和鏈路傳輸速率通常是毫秒微秒量級對于低俗鏈路時延較大,傳播時延取決于物理媒體和鏈路長度通常是毫秒量級有幾微妙到幾百毫秒,傳輸時延是源端開始發送資料到傳輸媒體,傳輸媒體接收完畢所需要的時間,通常是分組交換機推出分組所需要的時間,它是分組長度和鏈路傳輸速率的函式,傳播時延是一臺分組交換機傳播到另一臺分組交換機所需要的時間,它是兩臺路由器之間距離的函式,以上四種時延總和為結點總時延total nodal delay,某些特定的服務協議還會設定其他時延,
假定分組長度為L,分組傳入交換機的平均速率為a,分組交換機的鏈路傳輸速率為R,則比率La/R稱為流量強度,如果流量強度大于1則排隊時延將無窮大,因此流量工程需要控制流量強度,對于小于1的流量強度,如果(L/R)n秒同時到達n個分組,則第n個分組具有(n-1)L/R的排隊時延,
對于一個分組數量為P的報文,如果分組位元大小為L傳輸速率為R鏈路數量N,則傳輸總時延包括最后一個分組前其他分組的總第一次傳輸時延和最后一個分組端到端的總傳輸時延(忽略傳播時延),即傳輸時延為:(P-1+N)(L/R)
電路交換
端系統通話前和期間,會建立和維護一個保持連接狀態的連接,并為該連接預留快取或恒定的傳輸速率,這種穩定的連接稱為電路,電路交換實時且速率穩定但是具有靜默期占用空閑網路,
一個通信鏈路可能有多個電路,劃分電路的方式稱為復用,主要有頻分復用(FDM,Frequency Division Multiplexing)和時分復用(TDM,Time Division Multiplexing),電話網路中的頻段通常為4kHz,這種頻段稱為帶寬,時分復用中,鏈路首先分段為不同的幀,幀再分為不同時隙,每個幀中的特定時隙組成一個電路,該電路的傳輸速率等于幀速率乘以時隙內位元數,
對于電路交換,首先需要電路創建時間,其次需要傳輸時間,最后考慮傳播時間,通常,傳輸速率等于檔案大小除以該電路的傳輸速率,
吞吐量
端到端傳輸一定位元大小的檔案花去一定時間,其平均傳輸速率為平均吞吐量average throughput,瞬時速率是瞬時吞吐量,路徑的吞吐量取決于瓶頸鏈路,對于具有多個連接的共享鏈路,單個連接的吞吐量平均計算,因此共享鏈路中的干擾流量會影響吞吐量,
分層模型
由于報文不能直接在物理媒體中傳輸,因此需要劃分多種功能的傳輸媒介,再根據相同的功能來劃分則可以將整個網路分層,根據傳輸單元資料型別的不同可以選擇在不同層次上使用網路傳輸資訊,對于分層的結構,每層具有不同的任務或功能,上層直接使用下層服務,在不影響預定的輸入輸出規則情況下改變層次內的實作規則不會影響系統內其他組件,但是,實際的分層實作中高層可能冗余底層功能,某層功能需要依靠其它層的特征資料來實作,
協議
協議是一套標準,網路協議是網路中資料交換的規則、標準或約定,定義和控制了兩個或多個通信物體之間交換資料的報文語法、語意和事件順序,
分層的協議稱為協議 堆疊,因特網根據應用層、傳輸層、網路層、資料鏈路層、物理層劃分,OSI七層參考模型還將應用層再分為應用層、表示層、會話層,
OSI參考模型
應用層Application負責應用程式之間交換資料的形式,提供為應用軟體而設的界面、以設定與另一應用軟體之間的通信,位于應用層的資料型別(分組)稱為報文message,
DHCP DNS FTP Gopher HTTP HTTPS IMAP4 IRC NNTP XMPP POP3 SIP SMTP SNMP · SSH · TELNET · RPC · RTCP · RTP ·RTSP · SDP · SOAP · GTP · STUN · NTP · SSDP
表示層Presentation把資料轉換為能與接收者的系統格式兼容并適合傳輸的格式,即使應用程式能解釋交換資料的含義,包括資料壓縮、資料加密、資料描述等,
會話層Session負責在資料傳輸中設定和維護電腦網路中兩臺電腦之間的通信連接,提供了資料交換定界和同步功能,包括建立檢查點和恢復方案,
傳輸層Transport提供應用程式端點之間的資料交換,具體實作為把傳輸表頭(TH)加至資料以形成資料包,傳輸表頭包含了所使用的協議等發送資訊,傳輸層分組稱為報文段segment ,
TCP · UDP · TLS · DCCP · SCTP RSVP · PPTP
網路層Network提供了主機間的資料交換,決定了資料的路徑選擇和轉寄,它網路表頭(NH)加至資料包,以形成分組,網路表頭包含了網路資料,網路層的資料分組稱為資料報datagram或包Packet
IP (IPv4 · IPv6) · ICMP · ICMPv6 · IGMP · IS-IS · IPsec · BGP · RIP · OSPF
資料鏈路層Data link負責網路層路由間結點的資料交換,負責網路尋址、錯誤偵測和改錯,當表頭和表尾被加至資料包時,會形成了幀,資料鏈表頭(DLH)是包含了物理地址和錯誤偵測及改錯的方法,資料鏈表尾(DLT)是一串指示資料包末端的字串,路徑中可能存在多個不同物理媒體的鏈路,即一個資料報可能經過不同鏈路層協議的不同服務,鏈路層分組稱為幀Frame,
Wi-Fi(IEEE 802.11) · WiMAX(IEEE 802.16) ·ARP · RARP · ATM · DTM · 令牌環 · 以太網 · FDDI · 幀中繼 · GPRS · EVDO · HSPA · HDLC · PPP · L2TP · ISDN ·STP
物理層Physical負責結點之間的資料交換,將幀中的位元傳送至下一個結點,它負責管理電腦通信設備和網路媒體之間的互通,包括了針腳、電壓、線纜規范、集線器、中繼器、網卡、主機配接器等,資料單元Bit位
以太網 · 調制解調器 · 電力線通信 (PLC) · SONET/SDH · G.709 · 光導纖維 · 同軸電纜 · 雙絞線
封裝
報文傳出后,逐層傳輸時被轉換并附加該層特征資訊(首部欄位),由于應用層位于頂部是被附加首部欄位的,物理層位于底部用于處理資料傳輸的最基本單元所以沒有附加資訊,除去首部欄位的剩余資料稱為有效載荷欄位,存盤了上一層的分組,運輸層首部欄位包含了允許接收端運輸層向特定應用程式傳輸的特定資訊,網路層首部欄位包含了源和端系統的地址等資訊,鏈路層除了首部欄位還有尾部欄位,詳見資料鏈路層,
其他模型
TCP/IP四層模型將應用層、表示層、會話層統一為一個應用層,資料鏈路層和物理層統一為網路介面層,但實際上為定義網路介面層的協議,綜合來看,主流的網路分為五層,
應用層
協議原理
簡介
應用層的服務目標是應用程式,用于定義應用間交換資料的規則,而不需要再額外關注端系統間通信線路的實作,對于多個交換資料的端系統,存在目前主流的兩種互動資料的結構,CS架構采用一對多的形式,客戶機之間不會直接通信,為了加強CS架構的服務能力會建造配置大量主機的資料中心,P2P架構采用多對多的形式,對服務器沒有或依賴較小,客戶機亦是服務器,統稱為對等方,資料直接在用戶主機間傳輸,這種結構不但不需要龐大的服務器設備和帶寬,還能通過資料分發增強整個系統的服務能力,
應用程式通過行程通信,行程通過套接字(socket)軟體介面向網路發送和接收報文,套接字是應用層和傳輸層之間的介面,也稱為API,主機間尋址通過IP實作,行程間尋址通過埠號實作,應用程式必須指定一種具體的傳輸層協議來作為資料交換的形式載體以及某些特定的服務匹配應用要求,常用的服務有資料可靠性、吞吐量要求、傳輸定時、安全,
服務
TCP是面向連接的可靠資料傳輸服務,通常用于電子郵件、檔案傳輸、遠程主機訪問、Web檔案傳輸以及金融服務等資料交付要求較高的應用,UDP不面向連接且不可靠,通常用于多媒體等容忍資料丟失的應用,
對于某些帶寬敏感的應用,需要傳輸層能確保以指定的吞吐量傳輸,通常多媒體應用是帶寬敏感的,而電子郵件、檔案傳輸、Web傳送等彈性應用可以自適應當前吞吐量,
對于互動式實時應用如網路電話、虛擬環境、多方游戲等,需要確保源端應用注入套接字的位元到達終端套接字接收該位元的時間不能小于一定的數值以保證資料傳輸的有效性,
對于某些機密性服務,運輸層加密發送行程的所有資料并在資料交付給接收行程前解密資料,此外,資料完整性校驗和埠鑒別也屬于安全服務,無論TCP還是UDP,傳輸前后都沒有加密處理,在應用層實作安全套接字SSL,可以對TCP進行強化,提供加密、資料完整性、埠鑒別的服務,
TCP可以提供可靠安全的資料傳輸,但TCP或UDP目前都沒有設計提供帶寬或定時的服務,
定義
實作一個應用層協議需要定義以下規則:交換的報文型別、報文型別的語法、欄位的語意、發送和回應報文的規則,
最常見的網路應用服務有基于HTTP的Web服務、基于FTP的檔案傳輸服務、基于SMTP的電子郵件服務、基于DNS的目錄服務、P2P共享服務等,
HTTP協議
萬維網是最為廣泛的Web,Web的特點是能靈活的傳輸各種型別的檔案,Web的應用層協議是HTTP超文本傳輸協議,HTTP定義了客戶端和服務端交換的報文結構和交換報文的方式,Web頁面中的檔案物件通過URL尋址,URL通過兩部分組成,服務器的主機名稱和物件的路徑名稱,HTTP使用TCP作為支撐協議,請求前需要建立連接,發送的資料能可靠的傳輸至終端,終端不保存請求的狀態資訊,所以HTTP屬于無狀態協議,
對于需要多次請求的應用,如果每個請求使用不同的TCP連接則稱為非持續連接,如果使用同一個TCP連接則稱為持續連接,持續連接默認提供,但可以配置使用非持續連接,非持續連接可以配置為串行還是并行,使用并行能減少回應時間,HTTP請求前的連接建立程序為主機發送小TCP報文段到服務器詢問,服務器再用小TCP報文段回應,主機再向服務器正式HTTP請求,服務器則正式回應,定義往返時間(RTT Round-Trip Time)包括處理時延、排隊時延、傳播時延,則單個HTTP請求包括兩次RRT以及端到端的傳輸時間,可見,非持續連接不但加大了服務器負擔還增加了交付延時,通常,HTTP使用持續的連接并配置一個的超時間隔,如果時間內未訪問則斷開連接,
報文格式
請求報文的第一行為請求行,后繼的行叫首部行,請求行包括三個欄位:方法欄位、URL欄位、HTTP協議版本欄位,請求行使用空行與后續的物體主體(entity body)分隔,常見的首部行有Host指明主機、Connection要求請求后是否關閉連接、User-agent指明客戶瀏覽器型別、Accept-language表示希望的回應語言版本,
回應報文的第一行是初始狀態行,后續的是首部行,然后是物體主體,狀態行包括三個欄位:協議版本欄位、狀態碼、狀態資訊,
| 方法 | 作用 |
|---|---|
| GET | 請求指定的頁面資訊,并回傳物體主體 |
| HEAD | 類似get回應中沒有具體的內容,用于獲取報頭 |
| POST | 向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案)資料被包含在請求體中,可能導致建立或修改資源 |
| PUT | 從客戶端向服務器傳送的資料取代指定的檔案的內容 |
| DELETE | 請求服務器洗掉指定的頁面 |
| CONNECT | 預留給將連接改為管道的代理服務器 |
| OPTIONS | 允許客戶端查看服務器的性能 |
| TRACE | 回顯服務器收到的請求用于測驗或診斷 |
| PATCH | 應用于資源修改 |
統一資源識別符號(Uniform Resource Identifiers, URI)用于標識資源,統一資源定位符(Uniform Resource Locator,URL)是常用的URI,URL協議語法為:protocol??/authority :port path query fragment
互動管理
cookie用于記錄用戶的訪問狀態,cookie技術組件:回應報文的cookie首部行、請求報文的cookie首部行、用戶端cookie管理、服務器資料庫,首次請求回應回傳cookie并存入服務器資料庫,后續攜帶cookie的訪問會查詢資料庫cookie并管理回應,
session機制采用的是在服務器端保持狀態的方案,由于采用服務器端保持狀態的方案在客戶端也需要保存一個標識,所以session機制可能需要借助于cookie機制來達到保存標識的目的,有時Cookie被人為的禁止,所以出現了其他機制以便在Cookie被禁止時仍然能夠把SessionID傳遞回服務器,這種技術叫做URL重寫,就是把SessionID直接附加在URL路徑的后面,附加方式也有兩種,一種是作為URL路徑的附加資訊,另一種是作為查詢字串附加在URL后面,
對session來說,除非程式通知服務器洗掉一個session,否則服務器會一直保留,由于關閉瀏覽器不會導致session被洗掉,迫使服務器為seesion設定了一個失效時間,當距離客戶端上一次使用session的時間超過這個失效時間時,服務器就可以認為客戶端已經停止了活動,才會把session洗掉以節省存盤空間,
快取器
Web快取器是代表初始服務器來滿足請求的網路物體,位于客戶機和原始服務器之間,客戶機的請求會在快取器中快取,后續訪問直接回傳,如果訪問沒有快取則請求原始服務器,快取器可以降低回應時間以及減少網路流量以增強應用性能,CDN公司通過安裝大量快取器形成內容分發網路CDN使大量流量實作本地化,
快取器向初始服務器請求快取物件時,回應資訊通常會包含Last-modify首部行,在后續的用戶請求時,快取器會通過If-modify-since首部行請求初始服務器來判斷快取物件是否為最新物件,如果是則初始服務器回傳給快取器的回應為304 Not Modified告訴快取器可以將快取的物件回傳給用戶,
FTP
FTP使用并行的控制連接和資料連接傳輸檔案,控制連接用于在主機間傳輸控制資訊如用戶標識、口令、目錄檔案操作命令等,資料連接用于檔案的實際傳送,FTP是有狀態的,服務器需要系結用戶賬戶和控制連接,需要追蹤用戶當前目錄位置,
分離的控制資訊稱為帶外傳送如FTP,控制資訊與檔案資訊一起稱為帶內傳送,如HTTP,
電子郵件
DNS
域名系統(Domain Name System)用于域名和IP地址轉換,組件為:DNS分布式資料庫、查詢的應用層協議之上,埠號53,
傳輸層
運輸層在端系統中實作,為源終端系統上的行程提供邏輯通信,運輸層將應用報文分隔為小塊并分別加上運輸存首部以生成運輸層報文段segment,運輸層位于網路層之上,網路層提供主機間的邏輯通信,運輸層的服務受網路層影響,網路層協議有IP網路協議,IP的服務模型是盡力而為的交付,不保證服務完整性,即不可靠服務,
運輸層的基本職責是將多路復用和多路分解,多路復用是指將源端上不同套接字的資料封裝首部資訊生成報文段并傳遞給網路層,多路分解是將封裝的報文段交付給正確的套接字,
UDP時輕量級傳輸協議,無連接沒有握手程序、不保證資料可靠性、沒有擁塞控制,UDP報文通過攜帶目的IP和目的埠號的二元組標識,用于定向目的主機的目的埠,
TCP面向連接且可靠的資料傳輸服務,面向連接用于傳輸前的準備、可靠意值能確保傳輸程序沒有位元組的丟失或冗余,TCP的擁塞控制可以在網路擁塞時平等的抑制發送行程,不同于UDP,TCP通過源IP、源埠、目的IP、目的埠的四元組標識,不但定向了目的埠還標識了源埠,
網路層
網路層核心是路由選擇和分組轉發,路由選擇用于在所有路由器中選擇最佳路徑,分組轉發用于路徑中的分組傳輸,
功能
轉發
路由
鏈路層
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/61929.html
標籤:其他
下一篇:私鑰和公鑰的簡單理解
