林州網站建設報價做網站seo優(yōu)化
計網
第一章 計算機網絡和因特網
1.1 什么是因特網
回答這個問題有兩種方式 其一,我們能夠描述因特網的具體構成,即構成因特網的基本硬件和軟件組件;其二,我們能夠根據為分布式應用提供服務的聯網基礎設施來描述因特網。
1.1.1 具體構成描述
因特網是一個世界范圍的計算機網絡,這意味著它互聯了數以億計的計算設備(不僅僅是計算機哦);這些設備包括但不限于傳統(tǒng)PC、工作站以及所謂的服務器?,F在有更多的設備加入到因特網中,比如便攜式計算機、電視機、汽車、傳感器等。
用因特網的術語來說,所有連入因特網的設備都叫做主機或者端系統(tǒng)
端系統(tǒng)通過通信鏈路和分組交換機連接到一起。
-
通信鏈路由不同的物理媒體組成,傳播速度用bit/s或bps來計算
-
分組:當一臺端系統(tǒng)要向另一臺端系統(tǒng)發(fā)送數據時,發(fā)送端系統(tǒng)將數據分段,并為每段加上頭部字節(jié),由此形成的信息包叫分組
- 分組通過網絡發(fā)送到接收端系統(tǒng),在那里被裝配成初始數據
-
分組交換機從它的一條入通信鏈路接收到達的消息,并從它的一條出通信鏈路轉發(fā)該條消息
- 最著名的分組交換機:路由器和鏈路層交換機
- 路由器通常用作網絡核心
- 鏈路層交換機常用在接入網
-
一個分組所經歷的一系列的通信鏈路和分組交換機稱為通過網絡的路徑(路由)
端系統(tǒng)通過因特網服務供應商(ISP)(類比移動聯通電信等公司)接入因特網中
- 每個ISP本身就是一個由多臺分組交換機和通信鏈路(光纖等等)組成的網絡,各ISP為端系統(tǒng)提供了不同類型的網絡接入
ISP也為內容提供者提供因特網接入服務,將Web站點直接接人因特網。
- 低層的ISP通過國家的、國際的高層ISP互聯起來
- 高層ISP是由通過高速光纖鏈路互聯的高速路由器組成的。
端系統(tǒng),分組交換機和其他網絡部件都需要運行一系列的協(xié)議(詳見1.1.3)
- 因特網最重要的協(xié)議TCP(傳輸控制協(xié)議)/IP(網際協(xié)議)
- IP協(xié)議定義了路由器和端系統(tǒng)之間交換的分組格式
1.1.2 服務描述
- 分布式應用程序: 應用程序涉及在多個相互交換數據的端系統(tǒng),故稱他們分布式應用程序。
- 與因特網相連的端系統(tǒng)都有一個套接字接口,該接口規(guī)定了運行在端系統(tǒng)上的程序請求在因特網基礎設施向另一個端系統(tǒng)上特定的目的程序交付數據的方式
- 因特網套接字接口是一個發(fā)送程序必須遵守的規(guī)則合集
1.1.3 什么是協(xié)議
為了完成一項工作,要求兩個(或多個)通信實體運行相同的協(xié)議
報文的交換以及發(fā)送和接收這些報文時所采取的動作是定義 個協(xié)議的關鍵元素
協(xié)議 (protocol) 定義了在兩個或多個通信實體之間交換的報文的格式和順序,以及報文發(fā)送和或接收一條報文或其他事件所采取的動作
1.2 網絡邊緣
通常把與因特網相連的計算機和其他設備稱為端系統(tǒng),因為它們位于因特網的邊緣,故而被稱為端系統(tǒng)。
端系統(tǒng)也稱為主機( host ), 因為它們容納(即運行)應用程序。
主機有時又被進一步劃分為兩類 :客戶 (client) 和服務器 (server)
- 客戶通常是桌面PC,智能手機等(發(fā)起請求)
- 服務器是更強大的機器,用于存儲和發(fā)布Web頁面,郵件等(處理請求)
1.2.1 接入網
接入網:是將端系統(tǒng)物理連接到其邊緣路由器的網絡
- 邊緣路由器:是端系統(tǒng)到任何其他遠程端系統(tǒng)的路徑上的第一臺路由器
如下圖圈出來的是邊緣路由器
接入網的方式:
- 家庭接入:DSL、電纜、FTTH、撥號和衛(wèi)星(圖1-6)
- 企業(yè)接入:以太網和WiFi(圖1-8)
- 廣域無線接入:3G和LTE
1.2.2 物理媒體
- 雙絞線:短距離
- 同軸電纜
- 光纖:遠距離,高寬帶
- 陸地無線電信道
- 衛(wèi)星無線電信道:同步衛(wèi)星和近地軌道衛(wèi)星
1.3 網絡核心
網絡核心:由互聯端系統(tǒng)的分組交換機和鏈路構成的網狀網絡
通過網絡鏈路和交換機移動數據有兩種基本方法:電路交換和分組交換
1.3.1 分組交換
- 端系統(tǒng)之間彼此交換報文
- 報文能夠包含協(xié)議設計者需要的任何東西。報文可以執(zhí)行一種控制功能,也可以包含數據,例如電子郵件數據、JPEG圖像或MP3音頻文件。
- 為了從源端系統(tǒng)向目的端系統(tǒng)發(fā)送一個報文,源將上報文劃分為較小的數據塊,稱為分組
- 在源和目的之間,每個分組都通過通信鏈路和分組交換機(packet switch)(交換機主要有兩類:路由器和鏈路層交換機)傳送。
- 分組以等于該鏈路最大傳輸速率的速度傳輸通過通信鏈路。因此,如果某源端系統(tǒng)或分組交換機經過一條鏈路發(fā)送一個L比特的分組,鏈路的傳輸速率為R比特/秒,則傳輸該分組的時間為L/R秒。
1,存儲轉發(fā)傳輸:
- 多數分組交換機在鏈路的輸入端使用存儲轉發(fā)傳輸,是指在交換機開始向輸出鏈路傳輸該分組的第一個比特之前,必須接受到整個分組
如上圖,報文1,2,3按次序發(fā)送到路由器再發(fā)送到目的地,但是當報文1到達路由器但報文2沒到達路由器時輸出鏈路上是不會有報文發(fā)送的。要等到路由器從輸入鏈路上接受到報文1,2,3才會按次序發(fā)送到輸出鏈路,從而發(fā)送到目的地
2,排隊時延和分組丟失
- 每臺分組交換機和多個鏈路連接,對于每條相連的鏈路,該分組交換機具有一個輸出緩存(也稱輸出隊列),它用于存儲路由器準備發(fā)往那條鏈路的分組
- 如果該鏈路正在傳輸其他分組,那么該分組必須在輸出緩存等待(由上一條可知,輸出緩存是一種隊列,是先進先出的性質,故后面進入隊列的需要等待前面進入的先出去),這叫排隊時延。這些時延是變化的,變化的程度取決于網絡中的擁塞程度。
- 一個到達的分組可能發(fā)現輸出緩存已經滿了的情況,此時將出現分組丟包的情況,可以選擇丟棄已滿隊列中隨機一個包或者新到達的分組,主要和輸出緩存大小和傳輸速率有關
3,轉發(fā)表和路由選擇協(xié)議
- 每個端系統(tǒng)都有一個IP地址(每個設備的IP是唯一的)。當源主機向目的主機發(fā)送一個分組時,源在該分組的首部包含了目的主機的IP地址
- 更特別的是,每臺路由器有一個轉發(fā)表(forwarding table),用于將目的地址(或目的地址的一部分)映射成為輸出鏈路。當某分組到達一臺路由器時,路由器檢查該地址,并用這個目的地址搜索其轉發(fā)表,以發(fā)現適當的出鏈路。路由器則將分組導向該出鏈路。
那轉發(fā)表如何設置的?
- 因特網具有一些特殊的路由選擇協(xié)議(routing protocol) ,用于自動地設置這些轉發(fā)表。
- 例如,一個路由選擇協(xié)議可以決定從每臺路由器到每個目的地的最短路徑,并使用這些最短路徑結果來配置路由器中的轉發(fā)表。
1.3.2 電路交換
- 電路交換:在這個發(fā)送者可以發(fā)送信息之前,電話網絡必修要先在發(fā)送者和接受者之間建立一條連接。這是條真正的連接,在發(fā)送者和接受者之間的交換機都是維持著的。
- 當網絡把這個電路建立好之后,在這個網絡中的鏈路的傳輸速率也是維持好的。所以發(fā)送者可以以穩(wěn)定的速率傳輸數據給接收者
1,電路交換網絡中的復用
- 鏈路中的電路是通過頻分復用FDM和時分復用TDM來實現的
- 對于FDM,鏈路的頻譜由跨越鏈路創(chuàng)建的所有連接共享。在連接期間鏈路為每條連結專用一個頻率。
- 電話網絡中,這個頻寬通常是4kHz,該頻段的寬度稱為帶寬
- 對于TDM,時間被劃分為固定的幀,每個幀又被劃分為固定數量的時隙
2,分組交換與電路交換的對比
- 分組交換的優(yōu)點
- 它提供了比電路交換更好的帶寬共享
- 它比電路交換更簡單、更有效、實現成本更低
- 分組交換的缺點
- 分組交換不適合實時服務,因為端到端的時延是可變、不可預測的,這和整個網絡的情況相關
- 電路交換的優(yōu)點
- 提供了端對端傳輸數據的速率保證
- 電路交換的缺點
- 電路交換存在靜默期,這是指專用電路空閑時,其占用的資源并沒有得到充分的利用
- 建立連接的過程比較復雜
總體上來說,分組交換的性能要好于電路交換的性能,但是不同類型的分組交換方式有不同的應用場景;比如一些對最低速率有著嚴格要求的應用,比如實時服務等,為了獲得速率保證,犧牲網絡的效率也是可以接受的。趨勢向著分組交換發(fā)展
1.3.3 網絡的網絡
第三方公司能夠創(chuàng)建一個因特網交換點 (Internet Exchange Point, IXP) , IXP是一個匯合點,多個ISP能夠在這里一起對等
1.4 分組交換網中的時延、丟包和吞吐量
- 因特網能夠看成是一種運行在端系統(tǒng)上的分布式應用提供服務的基礎設施
- 計算機網絡必定要要限制在端系統(tǒng)之間的吞吐量,故在端系統(tǒng)之間存在時延、丟包
1.4.1 分組交換網中的時延概述
一個分組在沿途每個節(jié)點承受不同類型的時延,這些時延中最為重要的是:結點處理時延、排隊時延、傳輸時延和傳播時延。這些時延總體累加起來是結點總時延
時延的類型
- 處理時延
處理時延是因為節(jié)點需要解析分組的首部信息然后決定其出鏈路(索引轉發(fā)表等操作)而產生的,通常在微秒或者更低數量級
- 排隊時延(詳細可見1.3.1中描述)
排隊時延是因為分組所對應的出鏈路前面有其他分組正在傳輸,所以分組需要該鏈路的緩沖隊列里等待其他分組傳輸完畢而產生的;一般來說,排隊時延是到達該隊列的流量強度和性質的函數,通??梢赃_到毫秒級到微秒級。如果隊列為空且沒有其他分組正在傳輸,則排隊時延為0。
- 傳輸時延
傳輸時延是將所有分組的比特推向鏈路所有需要的時間,實際的傳輸時延通常在毫秒到微秒數量級。用L表示分組的長度,用Rbps表示從路由器A到B的鏈路傳輸速率。傳輸時延是L/R
- 傳播時延
傳播時延是指比特進入鏈路后,從該鏈路的起點到下一個結點所用的時間;一旦分組中的最后一個比特到達路由器就意味著該分組的所有比特都已到達路由器;廣域網中,傳播時延一般是毫秒級的。傳播時延是d/s。d是路由器A到B的距離。s是鏈路的傳播速率。
- 傳輸時延和傳播時延的對比
- 傳輸時延是路由器將分組推出所需要的時間,它是分組長度和鏈路傳輸速率的函數,而與兩臺路由器之間的距離無關。
- 傳播時延是一個比特從一臺路由器向另一臺路由器傳播所需要的時間,它是兩臺路由器之間距離的函數,而與分組長度或鏈路傳輸速率無關。
打個比方就是傳輸時延是火車過一個站點的時間,其大小只和火車長度和火車通過站點的時間有關。而傳播時延則是火車經過兩個地點的時間,其大小和距離和速度有關。
1.4.2 排隊時延和丟包
**丟包:**到達的分組發(fā)現一個滿的隊列。由于沒有地方存儲這個分組,路由器將丟棄該分組,該分組將會丟失
排隊時延和丟包與網絡的狀況和結點的緩沖空間大小、處理速度相關;如果分組到達的速度高于結點的處理速度,那么分組就會在緩沖隊列里排隊等待。當緩沖空間用完后,如果還有到的分組,那么該分組將被迫丟棄
為了描述網絡狀體,我們引入了流量強度這一概念:流量強度=分組到達的速度/結點的處理速度;流量工程里一個金科玉律就是:設計系統(tǒng)時流量強度不能大于1
當流量強度持續(xù)大于1時,就將出現丟包現象
因此,一個結點的性能常常不僅根據時延來度量,而且根據分組丟失的概率來度量。正如我們將在后面各章中討論的那樣,丟失的分組可能基于端到端的原則重傳,以確保所有的數據最終從源傳送到了目的地。
1.4.3 端到端時延
1.4.4 計算機網絡的吞吐量
計算機網絡的吞吐量實際上是一個速度指標,它描述了比特經過某個節(jié)點的速度。對于某條路徑上的結點來說,和該結點有關的速度有兩個:接收數據的速度和發(fā)送數據的速度,而該結點的吞吐量是這兩個速度中較小的一個;對于某條路徑來說,該路徑的吞吐量則是所有節(jié)點的吞吐量的最小值;網絡的吞吐量可以衡量網絡的性能.
任何時間的瞬時吞吐量是主機B接受到該文件的速率(例如下載文件時顯示多少m/s,就是一個瞬時吞吐量)
如果該文件由F比特組成,主機B接受到所有比特用去Ts,則文件的平均吞吐量為F/T bps
吞吐量可以近似為源和目的地之間路徑的最小傳輸速率。最小傳輸速率的鏈路為瓶頸鏈路。
1.5 協(xié)議層次及其服務模型
因特網是一個極為復雜的系統(tǒng),該系統(tǒng)里存在著大量的應用程序和協(xié)議、各種類型的端系統(tǒng)、分組交換機和各種類型的鏈路級媒體。但是它同時也是有著清晰結構的,就像我們前面在網絡核心 一節(jié)介紹的,我們仍能構建它的結構模型
1.5.1 分層體系結構
為了給網絡協(xié)議的設計提供一個結構,網絡設計者以分層的方式組織協(xié)議以及實現這些協(xié)議的軟硬件軟件。每個協(xié)議屬于這些層次之一,就像圖1-22所示的航線體系結構中的每種功能屬于某一層一樣。我們再次關注某層向它的上一層提供的服務(service),即所謂一層的服務模型(service model)。每層通過在該層中執(zhí)行某些動作或使用直接下層的服務來提供服務。
將各層的所有協(xié)議組合起來,稱為協(xié)議棧。因特網的協(xié)議棧有5個層次組成**:物理層、鏈路層、網絡成、運輸層、應用層**
- 應用層
應用層是網絡應用程序及它們的應用層協(xié)議存留的地方。
應用層協(xié)議分布在多個端系統(tǒng),端系統(tǒng)中的應用程序使用該協(xié)議與另一個端系統(tǒng)中的應用程序通信。處于應用層的分組稱為報文
- 運輸層
傳輸層在應用程序端點之間傳輸應用層報文,因特網中有兩個傳輸層協(xié)議:TCP和UDP。
- TCP將長報文分成短報文,并提供確保傳遞、流量控制、擁塞控制機制。
- UDP提供無連接服務,即不提供不必要服務的服務。沒有可靠性、沒有流量和擁塞控制。
處于傳輸層的分組稱為報文段
- 網絡層
網絡層將稱為數據報的網絡層分組從一臺主機移動到另一臺主機。網絡層協(xié)議包含著名的IP協(xié)議以及其他一些路由選擇協(xié)議。
- 鏈路層
網絡層通過源和目的地之間的一系列路由器來 路由(注意這是動詞) 數據報。為了將分組從一個結點移動到路徑上的下一個結點,網絡層必須依靠該鏈路層的服務。
將鏈路層分組稱為幀frame。鏈路層的任務是將整個幀從一個網絡元素移動到鄰近的網絡元素。該層協(xié)議與鏈路層相關。
- 物理層
物理層的任務是將每個幀中的一個個比特從一個節(jié)點移動到下一個節(jié)點。該層協(xié)議與鏈路相關,并進一步與鏈路的實際傳輸媒體相關,例如雙絞銅線、單模光纖等。
OSI模型
在因特網協(xié)議棧出現以前,OSI模型是ISO組織研發(fā)的計算機網絡結構模型。OSI的模型一共有7層,從下到上依次為:物理層,鏈路層,網絡層,傳輸層,會話層,表示層,應用層。相比因特網體系結構,OSI多了兩層。
1.5.2 封裝
一個分組,在不同的層次有不同的稱謂,是因為它們經過每一層的時候就被該層封裝上了屬于該層的相關信息,也就是前面提到的必要信息;于是,每一分層的分組有兩種類型的字段:首部字段和有效負載;其中有效負載即為來自上一層的分組數據,而首部字段就是該層加上的必要信息;分組不斷被封裝以實現各層協(xié)議規(guī)定的相關功能
示層**,應用層。相比因特網體系結構,OSI多了兩層。
1.5.2 封裝
一個分組,在不同的層次有不同的稱謂,是因為它們經過每一層的時候就被該層封裝上了屬于該層的相關信息,也就是前面提到的必要信息;于是,每一分層的分組有兩種類型的字段:首部字段和有效負載;其中有效負載即為來自上一層的分組數據,而首部字段就是該層加上的必要信息;分組不斷被封裝以實現各層協(xié)議規(guī)定的相關功能