計算機網絡 知識點總結

一:概述

1.1:網絡/互聯網/英特網概念

網絡:由若干個節點和連接這些節點的鏈路組成。(節點可以是計算機/集線器/交換機/路由器等)。

互聯網(internet):網絡的網絡-網絡可以由路由器互聯起來構成互聯網。

英特網(Internet):最大的互聯網。

(internet 前i小寫泛指多個網絡組成的互聯網是通用名詞,而I大寫則是專有名詞)

網絡把許多計算機連在一起,英特網則把許多網絡連在一起。

1.2:英特網的組成

  • 邊緣部分:由所有連接在網絡上的主機組成,這部分用戶直接使用用來進行同信和資源共享。

  • 核心部分:由大量的網絡和連接這些網絡的路由器組成,這部分是爲邊緣部分提供服務的(提供聯通性和交換)。
    在這裏插入圖片描述

  • 邊緣部分的通訊方式:

1:客戶服務器模式(C/S)(Client/Server):客戶是服務的請求方,服務器是服務的提供方。

2:對等方式(P2P)(peer-to-peer):指兩個主機進行通信時並不區別服務的請求方和服務的提供方。

  • 核心部分交換技術:

核心部分時爲邊緣部分大量主機提供連通性,使邊緣部分任何一臺主機都能和其他主機通信。所以這來說說核心部分的交換技術。

  • 1:電路交換:

在這裏插入圖片描述
三個階段:建立連接(佔用通信資源)->同話(佔用)->釋放連接(釋放資源)

特點:

1):通話期間通話雙方始終佔用端到端的通信資源

2):線路的傳輸效率低(因爲計算機的數據總是突發式出現在傳輸線路上,因此真正用在數據傳輸上的時間不多。例如:用戶正在閱讀屏幕上的信息,寶貴的資源未被釋放而浪費。)

3):適用於連續大批量的數據傳輸。

  • 2:報文交換:

報文:我們常把需要發送的一整塊數稱爲報文

時延:指數據從網絡的一段到另一端所需的時間。

有發送時延(主機或者路由器發送數據幀所需要的時間=幀長/信道帶寬)
在這裏插入圖片描述
傳播時延:
在這裏插入圖片描述
處理時延和排隊時延
在這裏插入圖片描述

登記表中進行登記,等待報文前往的目的地址的路徑空閒再轉發出去。

優點:線路利用率高;信道可爲多個報文共享;接收端和發送端無需同時工作,在接收方「忙」時,報文可以暫存交換設備處;可同時向多個目的站點發送同一報文;能實現差錯控制和糾錯處理;

缺點:信息延遲長,從發送到接收之間的延遲爲1分鐘或更長,因此,不適用於實時通信或交互通信,也不適用於交互式的「終端-*主機」連接。

  • 3:分組交換

分組交換也是採用存儲轉發技術,只不過前面說報文交換信息延遲長所這裏將一個報文劃分成多個分組。
在這裏插入圖片描述
在每個數據前面加上必要的首部(首部含有地址,分組編號等控制信息)構成分組。這樣的分組也稱爲包,所以分組交換也叫包交換。

優點:
在這裏插入圖片描述
缺點:

1:分組在各個路由器轉發時需要排隊所以會造成時延。

2:無法保證端到端所需的帶寬。因爲分組交換不像電路交換那樣需要建立連接。

3:因爲每個分組都有首部,所以造成了額外的開銷。

這裏補充以下主機和路由器都是計算機,主機需要進行信息處理並向網絡發送分組。而路由器進行存貯轉發,把分組交付目的主機。

1.3網絡的分類

最普遍的是按地理範圍(廣域網,城域網,局域網)

按傳輸介質(雙絞線,同軸電纜,光纖,無線網)

使用網絡的對象(公用網,專用網)

按網絡傳輸技術 (廣播式,點到點式)

按傳輸速度(低速網絡和高速網絡)

按邏輯功能可分爲(資源子網和通信子網)

按拓撲結構分(星,環,總線,樹,網)

1.4協議與劃分層次

就像人類社會一樣,計算機網絡要做到有條不紊的交換數據,大家就要事先遵循一些約定好的規則。這些數據明確規定了交換數據的格式和同步問題。這些爲網絡信息交換而指定的規則約定被稱爲網絡協議。

網絡協議的三要素:

  • 1:語法:數據與控制信息的結構
  • 2:語義:發出何種控制信息,完成何種動作與做出何種響應
  • 3:同步:時間的實現順序的詳細說明

我們常說的TCP/IP協議分層的協議這我們在說一下協議爲什麼要分層?

1:各層之間相互獨立:各個層不需要知道下一層是如何實現的只需要知道下一層的接口就行。所以->開發簡單易於維護->靈活性好

2:促進標準化工作

3:差錯控制

4:流量控制

我們把各層協議的集合叫做網絡的體系結構

1.4.1五層協議的體系結構

在這裏插入圖片描述
OSI是七層協議,TCP/IP是四層協議。而我看的這本數爲了號理解說的是五層協議。

簡要介紹五層協議的功能:

1:應用層:最高層,直接爲用戶進程提供服務

2:運輸層:負責向兩個主機進程之間通信提供服務

3:網絡層:分組交換網絡上不同主機提供的交換服務

4:數據鏈路層:將網絡層穿下來的數據包組裝成幀,在兩個透明的節點上傳送

5:物理層:透過的傳送比特流
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
單工:簡單的說就是一方只能發信息,另一方則只能收信息,通信是單向的。

半雙工:比單工先進一點,就是雙方都能發信息,但同一時間則只能一方發信息。

全雙工:比半雙工再先進一點,就是雙方不僅都能發信息,而且能夠同時發送。

二:物理層

物理層考慮的是如何各種計算機連接傳送比特流。
在這裏插入圖片描述

  • 物理層的特性:

1:機械特性:指明接口所用接線器的形狀尺寸…

2:電氣特性:指明在接口電纜電壓範圍

3:功能特性:指明某條線上電壓範圍代表何種意義

4:過程特性:指明不同功能的各種可能事件出現順序

三:數據鏈路層:

在這裏插入圖片描述
上面圖是數據傳輸在各層之間流動示意圖

現在說數據鏈路層

數據和數據鏈路不是一個概念

  • 鏈路:是從一個點到另外一個點的物理線路。

  • 數據鏈路:因爲要在一條線路上傳輸除了需要有一個物理線路,還需要一個通信協議來控制這些數據的傳輸。把實現這些協議的硬件和軟件加到鏈路上則構成數據鏈路。

  • 幀的概念:

數據鏈路層的協議數據單元爲幀。

數據鏈路把從網絡層傳輸過來的數據轉變爲幀傳到鏈路上。以及把接受到的幀傳輸到網絡層。

網絡層協議的數據單元爲IP數據報,這圖片體現下三層數據傳輸
在這裏插入圖片描述
在這裏插入圖片描述

3.1三個基本問題

  • 1:封裝成幀
    在這裏插入圖片描述
    封住成幀就是在數據報的加上首部和尾部構成幀

在物理層由下到上的上交比特流後能通過幀首和幀尾來確定幀的開始和結束。

在網絡層由上到下的給予數據報(在英特網上傳輸數據都是分組(IP數據報))給數據報加上幀首和幀尾就構成幀。

  • 2:透明傳輸

就是說幀頭或者幀尾,我們知道物理層傳輸位比特流,如果數據報中數據和幀頭和幀尾相同那麼數據報就不能正確傳輸(提前開始或者結束)

所以可以採用字節填充的方法在幀頭或幀尾加上一段特殊字符,傳輸完接受方接受到在刪除。
在這裏插入圖片描述

  • 3:錯檢測

傳輸比特流時有可能出現比特差錯。

可以用循環冗餘校驗檢錯技術。

3.2數據鏈路層協議

  • PPP協議
  • CSMA/CD協議

這裏協議很多本文不做重點講解

四:網絡層

網絡層英特網採用的設計思路:網絡層向上只提供簡單,靈活,無連接,盡最大努力交付的數據報服務。網絡在發送分組時不需要事先建立連接,每一個分組(IP數據報)獨立發送。

網絡層不提供服務質量的承諾。因爲不提供端到端的可靠傳輸服務,這樣能使網絡的造價大大降低,差錯檢驗/流量控制…放到了主機的運輸層。
在這裏插入圖片描述
虛電路與數據報服務的主要區別:
在這裏插入圖片描述
因爲TCP/IP提供的時數據報服務,下面展開講的時網絡層如何傳送IP數據報。

4.1網際協議

網際協議IP時TCP/IP兩個最主要的協議之一。在網絡層與IP配套使用的協議還有四個。

  • 地址解析協議ARP(Address Resolution Protocol )
  • 逆地址解析協議RARP (Reverse Address Resolution Protocol )
  • 網際控制報文協議
  • 網際組管理協議
    在這裏插入圖片描述

4.1.1虛擬互聯網絡

在瞭解IP協議之前必須要先了解虛擬互聯網絡

如果要把世界上的大量的網絡連接到一起,並且要實現相互通信,這個事情時困難且複雜的。如果讓大家使用相同的網絡,這是不可能的,沒有一種網絡能適應所有用戶的需求。

將網路互相連接起來需要一些中間設備:
在這裏插入圖片描述
中間設備是轉發器/網橋,這僅僅是把一個網絡擴大了,從網絡層角度看仍然是一個網絡,一般不稱爲網絡互連。網關比較複雜用到的比較少。所以討論網絡互連一般是路由器進行網絡互連和路由選擇。

TCP/IP進行網絡互連方法是在網絡層(IP層)採用標準化協議,但相互連接網絡則可以是異構的。如下圖a所示有許多計算機通過路由器互連,由於互連的計算機都使用同一種網際協議IP。因此可以把互聯以後的計算機網絡看成虛擬互聯網絡圖b。
在這裏插入圖片描述
虛擬互聯網絡就是邏輯上互聯的網絡,因爲各個網絡客觀上存在差異,但是我們利用IP協議就可以使這種性能各異的網絡看上去彷彿一個統一的網絡。這種虛擬互聯網絡叫做IP網,使用IP網的好處:在IP網上要進行通信的主機就好像在一個網絡上進行通信,看不見不同網絡的具體異構細節(如編址方案,路由選擇協議等)。

4.1.2分類的IP地址

在虛擬網絡上如何尋址?

  • 1:IP地址表示方法

整個因特網就是一個單一的,抽象的網絡。IP地址就是給每一個主機或者路由器分配一個全世界唯一的32位標識符。

IP地址現在由因特網名字與號碼指派公司(ICANN)進行分配

IP地址編址方式經過三個階段
在這裏插入圖片描述
這裏我們現講分類的IP地址

  • 分類的IP地址

分類的IP地址就是講IP地址將地址劃分成若干個固定類。每一類都由兩個固定長度的字段組成。第一個字段是網絡號,標誌這主機或者路由器所連接的網絡(一個網絡號在英特網裏面必須是唯一的)。第二個字段是主機號,標誌該主機或者路由器(一個主機號在前面的網絡號裏面必須是唯一的)。由此可知一個IP地址在整個英特網裏面是唯一的。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
這些年已經廣泛使用無分類的IP地址進行路由選擇,分類的IP地址已經成爲歷史。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

4.1.3IP地址與硬件地址區別

物理地址是數據鏈路層和物理層使用的地址而IP地址是網絡層及以上層所使用的地址位邏輯地址(稱IP地址位邏輯地址是因爲IP地址是通過軟件實現的)。
在這裏插入圖片描述
IP地址放在IP數據報的首部,而硬件地址放在MAC幀的首部,在網絡層及網絡層以上使用的是IP地址,在數據鏈路層及以下用的是硬件地址。在分裝成MAC幀時數據鏈路層是看不見IP地址的。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
1:在IP層抽象互聯網只能看見IP數據報

2:路由器只根據目的IP地址進行路由選擇

3:在局域網的鏈路層中只能看見MAC幀,IP數據報被封裝在MAC幀中

4:MAC幀在不同網絡中傳送時其源地址和目的地址也會變化

5:儘管互聯在一起的網絡的硬件地址各不相同,但IP層抽象的互聯網屏蔽的IP層以下這些複雜的細節。我們只需要在網絡層討論就行。

4.1.4:地址解析協議(ARP)和逆地址解析協議(RARP)

這一節我能夠知道主機或者路由器怎樣知道如何填充MAC幀首部,也就是物理地址?

當了我們知道IP地址但是當我們需要知道物理地址,或者反過來知道物理地址想知道IP地址那我們這個時候就需要ARP和RARP。
在這裏插入圖片描述
在這裏插入圖片描述
每個主機都設置由一個ARP高速緩存,裏面由本局域網從各主機和路由器的IP地址到硬件地址的映射表,這些都是目前主機知道的一些地址。

那麼主機如何知道這些地址呢?
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

4.1.5:IP數據報的格式

在這裏插入圖片描述

4.1.6:IP層轉發分組流程

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
image-20200208234028321

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-LVCpzgJf-1581442611863)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200208233846510.png)]

4.2:劃分子網和構造子網

4.2.1:劃分子網

  • 1:從二級IP地址到三級IP地址

今日看IP地址的設計確實不合理例如

1:利用率有時很低

每一個A地址網路可連接主機數超過1000萬,但有些網絡主機數根本達不到這麼多的主機數,造成了浪費。

2:路由表太大

每一個路由器應當都能從路由器中找到下一跳的路由器。因此互聯網中的網絡數越多,那麼路由表就會越大。

3:兩級IP地址不夠靈活

有時情況緊急,需要馬上開闢一個網絡,但是新申請的IP地址不能馬上連接到因特網上。

綜上所述我們需要解決這些問題這個時候就引入了「子網字段」這個東西來解決上數問題。這種做法叫做劃分子網或子網尋址或子網路由選擇。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Mf7XcoyT-1581442611869)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209173539638.png)]

子網劃分是指由網絡管理員將一個給定的網絡分爲若干個更小的部分,這些更小的部分被稱爲子網。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-xyKsorDs-1581442611875)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209173944166.png)]

n原則上,根據全「0」和全「1」IP 地址保留的規定,子網劃分時至少要從主機位的高位中選擇兩位作爲子網絡位,而只要能保證保留兩位作爲主機位,A、B、C 類網絡最多可借出的子網絡位是不同的,A 類可達22 位、B 類爲14 位,C 類則爲6 位。

  • 子網掩碼

這個時候我們要說加入我們到了路由器但是要進入網絡,但是路由器怎麼知道要轉發到這個網絡的哪個子網呢?目的網絡劃分了多少個子網(子網佔多少位)?這些用子網掩碼可以解決。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-t1e3sBsd-1581442611878)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209194355357.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-rWTM87n5-1581442611880)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209193512535.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-o1oG7O5r-1581442611883)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209194423415.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-KN1SwCKW-1581442611885)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209194535300.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-eNnRul4C-1581442611887)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209194909615.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-A8ktFpH4-1581442611889)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209195131526.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-IdeB7sbJ-1581442611891)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209195200236.png)]

4.2.2:使用子網時分組的轉發

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-DSwCukcp-1581442611894)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209200008452.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-w8XDq8XZ-1581442611896)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209200110519.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-RDey9jqo-1581442611898)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209200121758.png)]

4.2.3:無分類編址CIDR(構造超網)

  • 劃分子網遇到的問題?

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-JIxORtw1-1581442611901)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209202924520.png)]

  • CIDR解決問題

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-bqpIxZNk-1581442611903)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209203019228.png)]

  • CIDR的編碼特點

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-vfaTHl3V-1581442611905)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209203711873.png)]

  • CIDR不分子網但是還有地址掩碼

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-qsXUb9GU-1581442611907)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209203844278.png)]

  • 構成超網

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ylzq9ptR-1581442611910)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209204800164.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-lVNCtjOI-1581442611912)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209204817824.png)]

  • CIDR的好處

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-pKlrDGSO-1581442611914)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209205115402.png)]

查找路由表時會有可能出現不止一個匹配結果

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-nyQ8ceyE-1581442611917)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209205538460.png)]

4.3:因特網的路由選擇協議

兩大類路由選擇協議:
內部網關協議 IGP:一個自治系統內部使用的路由選擇協議。有多種協議,如 RIP 和OSPF 協議。
外部網關協議EGP:一個自治系統的邊界,將路由選擇信息傳遞到另一個自治系統中。目前使用的就是BGP
RIP協議的優缺點:

RIP 存在的一個問題是當網絡出現故障時,要經過比較長的時間才能將此信息傳送到所有的路由器。
RIP 協議最大的優點就是實現簡單,開銷較小。
RIP 限制了網絡的規模,它能使用的最大距離爲 15(16 表示不可達)。
路由器之間交換的路由信息是路由器中的完整路由表,因而隨着網絡規模的擴大,開銷也就增加。RIP是一種分佈式的基於距離向量的路由選擇協議,其主要特點:
(1)僅和相鄰路由器交換信息。
(3)按固定的時間間隔交換路由信息,例如,每隔30秒。

OSPF最主要的特徵就是使用分佈式的鏈路狀態協議,其主要特點:
(1)使用洪泛法向本自治系統中所有路由器發送信息。
(2)發送的信息是與本路由器相鄰的所有路由器的鏈路狀態。
(3)只有當鏈路狀態發生變化時,路由器才用洪泛法向所有路由器發送此信息。

BGP是不同自治系統的路由器之間交換路由信息的協議,它採用路徑向量路由選擇協議,其主要特點:
(2)自治系統AS之間的路由選擇必須考慮有關策略。
(3)BGP只能力求尋找一條能夠到達目的網絡且比較好的路由,而並非要尋找一條最佳路由。

4.4:虛擬專用網v*n

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-flyNaIub-1581442611920)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209210541102.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-UBYILUMO-1581442611922)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209210737731.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-U6x8cq2B-1581442611924)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209210832277.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-eJf0qKPs-1581442611926)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209210843683.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-jqK362lv-1581442611928)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200209210935782.png)]

五:運輸層

本章弄清運輸層最重要的兩種協議TCP和UDP

5.1:運輸層協議概述

5.1.1:進程之間的通信

從通信和信息處理的角度,運輸層向它上面的應用層提供通信服務,運輸層是面向通信的最高層,同時也是用戶功能的最低層。當網絡的邊緣部分的主機通過網絡的核心部分進行通訊,邊緣部分有運輸層,而核心部分只有下三層。

前面我們學習了IP層也就是網絡層,但是我們考慮既然IP層直接可以將我們的信息進行轉發那我們還要運輸層幹嘛呢?

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-lCJO5DK3-1581442611930)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200210002857742.png)]

兩個主機之間的通信其實就是主機間進程進行互相通信,通信的端點不是主機而是主機的進程。

運輸層有一個很重要的功能:複用和分用

複用:發送方不同的進程可以使用運輸層相同的協議(上至下)

分用:是指不同的報文剝去首部運輸層可以將它交付給目的進程

  • 運輸層和網絡層區別

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-USio1u8h-1581442611933)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200210124831566.png)]

邏輯通信:運輸層之間的通信好像是水平的(但是實際上是自上而下的),只是假定屏蔽封裝了網絡核心通信的細節。

而運輸層兩種協議TCP和UDP是對於進程的不同需求運輸層提供的兩種協議。

5.1.2:運輸層兩個主要協議

TCP/IP連個重要協議都市因特網的重要協議:

  • TCP(transmission Control Protocol)傳輸控制協議
  • UDP(User Datagram Protocol)用戶數據報協議

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-k1Obylip-1581442611935)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200210151052490.png)]

兩個對等的運輸實體在通信是傳送的數據單位叫運輸協議數據單位TPDU。

但在TCP/IP體系中則根據所使用的協議TCP稱之爲TCP報文段,UDP稱之爲UDP用戶數據報。

  • UDP傳送數據之前不需要先建立連接,遠地主機運輸層在收到數據時也不需要給出確認。雖然UDP不提供可靠交付但是在有些時候卻是搞笑的工作方式。

  • TCP提供面向連接的服務,在傳送數據之前必須先建立連接,數據傳送完後要釋放連接。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-hw7PfGFq-1581442611937)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200210160935199.png)]

給應用層的進程賦予一個標誌

在單個計算機中進程用進程標識符進行標誌,但在因特網環境下不行。不同計算機操作系統使用不同的進程標識符,

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-dNqavIRK-1581442611939)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200210170741151.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-so7y6JDN-1581442611942)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200210170950123.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-2hnkYxRh-1581442611947)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200210171025989.png)]

端口號只具有本地意義

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-jvMKAV9T-1581442611950)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200210171550960.png)]

所以,兩個計算機要實現通信不僅要知道對方的IP地址還要知道對方的服務器端口號。

端口號分類:

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-zh1Pz62c-1581442611952)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200210172131989.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-eD4okKjo-1581442611954)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200210172144294.png)]

5.2:UDP用戶數據報協議

5.2.1:UDP概述

UDP在IP基礎上只加了少數的功能,就是複用,分用和差錯檢測

  • UDP的主要特點:

1:UDP是無連接的,既通信不需要提前建立連接

2:UDP是盡最大努力交付的,既不保證可靠交付。因此主機不需要維持複雜的連接狀態。

3:UDP是面向報文的,

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-mq7aitvv-1581442611956)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200210180041529.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-T3GzYOV2-1581442611959)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200210180055537.png)]

4:UDP沒有擁塞控制

5:首部開銷小(8個字節)(TCP20個字節)

6:UDP支持一對一,一對多,多對一,多對多的交互通信

5.2.2:UDP的首部格式

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-mO5diWXa-1581442611962)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200210181151088.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-aVkiq7cQ-1581442611964)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200210195731313.png)]

如果接受方UDP發現收到報文目的端口不正確,丟棄該報文,並有ICMP發送「端口不可達」差錯報文給發送方。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-TbGX7ILN-1581442611967)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200210201046573.png)]

5.3:TCP概述

5.3.1:TCP最主要的特點

  • TCP最主要的特點:

1:TCP是面向連接的運輸層協議。通信必須先建立連接後釋放連接。

2:每一條TCP連接只能有連個端點

3:TCP提供可靠的交付服務

4:TCP提供全雙工通信,就是允許雙方進程任何時候都能發送數據。

5:面向字節流,TCP中的字節流指的是流入到進程或從字節流出的字節序列

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-asZj9gjb-1581442611971)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211121427631.png)]

注意圖中TCP連接是虛連接而不是真正的物理連接。

5.3.2:TCP連接

TCP把連接作爲最基本的抽象。

前面講過每一條TCP連接由兩個端點。而這兩個端點不是IP地址,不是應用進程,不是協議端口。連接的端口叫做套接字(socket)或者插口。端口號拼接到IP地址即構成了套接字。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-xZBTjdpN-1581442611973)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211122912474.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-qAgHW2L9-1581442611977)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211123132311.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-bxYlkikf-1581442611980)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211161126442.png)]

5.4:可靠傳輸的工作原理

5.4.1:停止等待協議

全雙工通信雙方即是發送方也是接受方,「停止等待」就是每發送完一個分組就等待對方確認後,在發送下一個分組。

  • 1:無差錯情況

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Q1WvQJNC-1581442611983)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211190734214.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-TQauh257-1581442611986)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211191441291.png)]

  • 2:出現差錯

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-NsWsaKWp-1581442611991)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211191710961.png)]

注意

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-IrjoYJe8-1581442611993)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211191835789.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-voRKS2Rn-1581442612000)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211191957813.png)]

  • 3:確認丟失和確認遲到

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-TSEggxaH-1581442612003)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211193032518.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Dz6Kglfu-1581442612007)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211193102626.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-zX09x0Ba-1581442612010)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211193741004.png)]

  • 信道利用率

停止等待協議有點是簡單,但是信道利用率太低。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-03LhjZML-1581442612013)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211193958041.png)]

所以如何提高信道利用率呢?

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-7JJhFD1X-1581442612015)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211194055662.png)]

當使用流水線傳輸就需要我們下面介紹的連續ARQ協議和滑動窗口協議

5.4.2:連續ARQ協議

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-hmhgDfyE-1581442612019)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211195517896.png)]

看圖我們可以看到發送窗口這個東西,表示發送方維持在發送窗口內的分組可以連續的發送出去。圖b當發送方接受到分組1的確認時,就把發送窗口向前挪一個分組的位置,當然這個時候也就可以發送第6個分組了。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-TVlosW2w-1581442612021)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211200233567.png)]

5.5:TCP報文段的首部格式

TCP數據單元時報文段。一個TCP報文段分爲首部和數據兩部分。

TCP報文段最小字節是20,前20個字節是必須有的,後面加4N(N爲正整數)字節,是根據需要添加的字節。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-39tXQ5pB-1581442612024)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211203250595.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-xU3CHQrg-1581442612026)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211203349721.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-DZptcbPl-1581442612029)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211203421503.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-7VOHrsJL-1581442612031)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211203444200.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-GS5k6luC-1581442612033)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211203510039.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ddVkcqvp-1581442612035)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211203532770.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-b2cSzsxw-1581442612037)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211203609234.png)]

5.6:TCP可靠傳輸的實現

講述可靠傳輸假定數據傳輸只在一個方向實現。A發送B接受給出確認。這樣使問題講述簡單。

5.6.1:以字節爲單位的滑動窗口

滑動窗口協議是以字節爲單位的!

  • 基於圖5-15:假定A收到了B發來的確認報文段,其中窗口20個字節,確認號是31。根據這兩個數據A構造出自己的滑動窗口。如圖5-15

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-NzBfN8Z6-1581442612040)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200211214258020.png)]

1):我們先說A的發送窗口。發送窗口表示:在沒有收到B的數據確認的情況下A可以連續的把窗口裏面的數據發送給B。但是發送的數據在沒有收到B發來的確認信息,A必須暫時保留,以便超時重發。

2):發送窗口裏面的字節表示允許A可以發送的字節,顯然窗口越大,發送方就可以在收到確認前發送的數據越多,因而可以提高傳輸效率。但是不是說A想多大就多大,要考慮接受方B能及時接受,來的及處理。

3):發送窗口的大小由前沿和後沿決定。後沿的後面部分表示已經發送且得到確認,這部分顯然不需要繼續保留。前沿的前面部分表示還未不允許發送,因爲接受方和發送方都爲給它保留緩存空間。

4):發送窗口的後沿有兩種變化。第一種是保持不動,因爲發送方還未得到確認。另外一種就是前移,得到確認。

5):發送窗口的前沿也有兩種變化。一種是向前移。另外一種就是是不動,這裏不動有兩種可能,一種是未得到確認所以不動,另外一種是收到新的確認但是對方的窗口縮小了,使得發送窗口前沿不動。還有一種特殊情況前沿向後收縮,這發生在對方窗口縮小了,但是這種不安全,因爲發送很可能在縮小之前發送了縮小後前沿之前的數據,這回產生錯誤。

  • 基於圖5-16

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-JCOWpyMc-1581442612042)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200212000732741.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-hh7csgSW-1581442612044)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200212010940446.png)]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-TN9NohRH-1581442612047)(C:\Users\王港明\AppData\Roaming\Typora\typora-user-images\image-20200212010957235.png)]