當前位置:首頁 » 網路連接 » 計算機網路mobi謝希仁
擴展閱讀
怎麼檢驗網路信號好不好 2024-11-27 05:31:10

計算機網路mobi謝希仁

發布時間: 2024-07-13 12:00:12

『壹』 計算機網路基礎知識(一)

參考:計算機網路 謝希仁 第7版

一、現在最主要的三種網路
 電信網路(電話網)
 有線電視網路
 計算機網路 (發展最快,信息時代的核心技術)
二、internet 和 Internet
 internet 是普通名詞
泛指一般的互連網(互聯網)
 Internet 是專有名詞,標准翻譯是「網際網路」 世界范圍的互連網(互聯網)
使用 TCP/IP 協議族
前身是美國的阿帕網 ARPANET
三、計算機網路的帶寬
計算機網路的帶寬是指網路可通過的最高數據率,即每秒多少比特。 描述帶寬也常常把「比特/秒」省略。
例如,帶寬是 10 M,實際上是 10 Mb/s。注意:這里的 M 是 106。
四、對寬頻傳輸的錯誤概念
在網路中有兩種不同的速率:
信號(即電磁波)在傳輸媒體上的傳播速率(米/秒,或公里/秒)
 計算機向網路發送比特的速率(比特/秒),也叫傳輸速率。 這兩種速率的意義和單位完全不同。
寬頻傳輸:計算機向網路發送比特的速率較高。 寬頻線路:每秒有更多比特從計算機注入到線路。 寬頻線路和窄帶線路上比特的傳播速率是一樣的。
早期的計算機網路採用電路交換,新型的計算機網路採用分組交換的、基於存儲轉發的方式。 分組交換:
 在發送端把要發送的報文分隔為較短的數據塊
 每個塊增加帶有控制信息的首部構成分組(包)
 依次把各分組發送到接收端
 接收端剝去首部,抽出數據部分,還原成報文
IP 網路的重要特點
 每一個分組獨立選擇路由。
 發往同一個目的地的分組,後發送的有可能先收到(即可能不按順序接收)。  當網路中的通信量過大時,路由器就來不及處理分組,於是要丟棄一些分組。  因此, IP 網路不保證分組的可靠地交付。
 IP 網路提供的服務被稱為:
盡最大努力服務(best effort service) 五、最重要的兩個協議:IP 和 TCP
TCP 協議保證了應用程序之間的可靠通信,IP 協議控制分組在網際網路的傳輸,但網際網路不保證可靠交付.
在 TCP/IP 的應用層協議使用的是客戶伺服器方式。
 客戶(client)和伺服器(server)都是指通信中所涉及的兩個應用進程。
 客戶伺服器方式所描述的是進程之間服務和被服務的關系。
 當 A 進程需要 B 進程的服務時就主動呼叫 B 進程,在這種情況下,A 是客戶而 B 是伺服器。
 可能在下一次通信中,B 需要 A 的服務,此時,B 是客戶而 A 是伺服器。
注意:
 使用計算機的人是「用戶」(user)而不是「客戶」(client)。
 客戶和伺服器都指的是進程,即計算機軟體。
 由於運行伺服器進程的機器往往有許多特殊的要求,因此人們經常將主要運行伺服器進程的
機器(硬體)不嚴格地稱為伺服器。
 例如,「這台機器是伺服器。」 意思是:「這台機器(硬體)主要是用來運行伺服器進程(軟體)。」  因此,伺服器(server)一詞有時指的是軟體,但也有時指的是硬體。
六、總結
 網際網路(Internet)是世界范圍的、互連起來的計算機網路,它使用 TCP/IP 協議族,並且它的前身是美 國阿帕網 ARPANET。
 計算機網路的帶寬是網路可通過的最高數據率。
 網際網路使用基於存儲轉發的分組交換,並使用 IP 協議傳送 IP 分組。
 路由器把許多網路互連起來,構成了互連網。路由器收到分組後,根據路由表查找出下一跳路由器的
地址,然後轉發分組。
 路由器根據與其他路由器交換的路由信息構造出自己的路由表。
 IP 網路提供盡最大努力服務,不保證可靠交付。
 TCP 協議保證計算機程序之間的、端到端的可靠交付。
 在 TCP/IP 的應用層協議使用的是客戶伺服器方式。
 客戶和伺服器都是進程(即軟體)。客戶是服務請求方,伺服器是服務提供方。
 伺服器有時也指「運行伺服器軟體」的機器。

一、IP 網路是虛擬網路
 IP 網路是虛擬的。在 IP 網路上傳送的是 IP 數據報(IP 分組)。
 實際上在網路鏈路上傳送的是「幀」,使用的是幀的硬體地址(MAC 地址)。
 地址解析協議 ARP 用來把 IP 地址(虛擬地址)轉換為硬體地址(物理地址)。
二、IP 地址的表示方法
IP 地址的表示方法有兩種:二進制和點分十進制。
IP 地址是 32 位二進制數字,為方便閱讀和從鍵盤上輸入,可把每 8 位二進制數字轉換成一個十進制數字,並 用小數點隔開,這就是點分十進制。
三、網際網路的域名
網際網路的域名分為:  頂級域名  二級域名  三級域名

 四級域名
四、域名伺服器 DNS (Domain Name Server)
網際網路中設有很多的域名伺服器 DNS,用來把域名轉換為 IP 地址。
五、電子郵件
發送郵件使用的協議——簡單郵件傳送協議 SMTP (Simple Mail Transfer Protocol) 接收郵件使用的協議——郵局協議版本 3 POP3 (Post Office Protocol version 3) 注:郵件的傳送仍然要使用 IP 和 TCP 協議
六、統一資源定位符 URL (Uniform Resource Locator)
 URL 用來標識萬維網上的各種文檔。
 網際網路上的每一個文檔,在整個網際網路的范圍內具有惟一的標識符 URL。  URL 實際上就是文檔在網際網路中的地址。
七、超文本傳送協議 HTTP (HyperText Transfer Protocol) 萬維網客戶程序與伺服器程序之間的交互遵守超文本傳送協議 HTTP。
八、結束語
 IP 地址是 32 位二進制數字。為便於閱讀和鍵入,也常使用點分十進制記法。  個人用戶上網可向本地 ISP 租用臨時的 IP 地址。
 域名伺服器 DNS 把計算機域名轉換為計算機使用的 32 位二進制 IP 地址。  發送電子郵件使用 SMTP 協議,接收電子郵件使用 POP3 協議。
 統一資源定位符 URL 惟一地確定了萬維網上文檔的地址。
 超文本傳送協議 HTTP 用於萬維網瀏覽器程序和伺服器程序的信息交互。
 超文本標記語言 HTML 使萬維網文檔有了統一的格式。
 IP 電話不使用 TCP 協議。利用 IP 電話網關使得在普通電話之間可以打 IP 電話。

一、網際網路服務提供者 ISP (Internet Service Provider) 根據提供服務的覆蓋面積大小以及所擁有的 IP 地址數目的不同,ISP 也分成為不同的層次。
二、兩種通信方式
在網路邊緣的端系統中運行的程序之間的通信方式通常可劃分為兩大類:C/S 方式 和 P2P 方式
(Peer-to-Peer,對等方式)。
三、網際網路的核心部分
網路核心部分是網際網路中最復雜的部分。
網路中的核心部分要向網路邊緣中的大量主機提供連通性,使邊緣部分中的任何一個主機都能夠向其 他主機通信(即傳送或接收各種形式的數據)。
網際網路的核心部分是由許多網路和把它們互連起來的路由器組成,而主機處在網際網路的邊緣部分。
在網際網路核心部分的路由器之間一般都用高速鏈路相連接,而在網路邊緣的主機接入到核心部分則通 常以相對較低速率的鏈路相連接。

主機的用途是為用戶進行信息處理的,並且可以和其他主機通過網路交換信息。路由器的用途則是用 來轉發分組的,即進行分組交換的。
在網路核心部分起特殊作用的是路由器(router)。
路由器是實現分組交換(packet switching)的關鍵構件,其任務是轉發收到的分組,這是網路核心部分
最重要的功能。
四、電路交換
電路交換必定是面向連接的。 電路交換的三個階段:建立連接、通信、釋放連接。
五、網路的分類
 不同作用范圍的網路
 廣域網 WAN (Wide Area Network)
 區域網 LAN (Local Area Network)
 城域網 MAN (Metropolitan Area Network)
 個人區域網 PAN (Personal Area Network)
 從網路的使用者進行分類
 公用網 (public network)
 專用網 (private network)
 用來把用戶接入到網際網路的網路
 接入網 AN (Access Network),它又稱為本地接入網或居民接入網。
注:由 ISP 提供的接入網只是起到讓用戶能夠與網際網路連接的「橋梁」作用。
六、計算機網路的性能指標
 速率
 帶寬
 吞吐量
 時延(delay 或 latency)
 傳輸時延(發送時延) —— 從發送數據幀的第一個比特算起,到該幀的最後一個比特發送完 畢所需的時間。
 傳播時延 —— 電磁波在信道中需要傳播一定的距離而花費的時間。 注:信號傳輸速率(即發送速率)和信號在信道上的傳播速率是完全不同的概念。
 處理時延 —— 交換結點為存儲轉發而進行一些必要的處理所花費的時間。
 排隊時延 —— 結點緩存隊列中分組排隊所經歷的時延。 總時延 = 發送時延+傳播時延+處理時延+處理時延
 時延帶寬積
 利用率 —— 分為信道利用率和網路利用率。

 信道利用率——某信道有百分之幾的時間是被利用的(有數據通過)。  網路利用率——全網路的信道利用率的加權平均值。 注:信道利用率並非越高越好。
七、網路協議(network protocol) 簡稱為協議,是為進行網路中的數據交換而建立的規則、標准或約定。其組成要素有以下三點:
 語法  語義  同步
數據與控制信息的結構或格式 。
需要發出何種控制信息,完成何種動作以及做出何種響應。 事件實現順序的詳細說明。
八、實體、協議、服務和服務訪問點
實體(entity)——表示任何可發送或接收信息的硬體或軟體進程。 協議——是控制兩個對等實體進行通信的規則的集合。
 在協議的控制下,兩個對等實體間的通信使得本層能夠向上一層提供服務。  要實現本層協議,還需要使用下層所提供的服務。
 本層的服務用戶只能看見服務而無法看見下面的協議。
 下面的協議對上面的服務用戶是透明的。
 協議是「水平的」,即協議是控制對等實體之間通信的規則。
 服務是「垂直的」,即服務是由下層向上層通過層間介面提供的。 同一系統相鄰兩層的實體進行交互的地方,稱為服務訪問點 SAP (Service Access Point)。
九、TCP/IP 的體系結構
路由器在轉發分組時最高只用到網路層,而沒有使用運輸層和應用層。

『貳』 運輸層知識要點——謝希仁《計算機網路》

為了在計算機網路中有條不紊地交換數據,就必須遵守一些事先約定好的規則。這些規則明確規定了所 交換數據的格式 以及有關的 同步 問題。

同步的含義:在一定條件下應當發生什麼事件,因而含有時序的意思。

網路協議:為進行網路中的數據交換而建立的規則、標准或約定。

網路協議由以下三個要素組成:

   1)語法:即數據與控制信息的結構或格式

   2)語義:即需要發出何種控制信息,完成何種動作以及做出何種反應

   3)同步:即事件實現順序的詳細說明

一、運輸層協議的概述

   1.1 進程之間的通信

   1.2 運輸層的兩個主要協議

   1.3 運輸層的埠

二、用戶數據報協議UDP

   2.1 UDP概述

   2.2 UDP的首部格式

三、傳輸控制協議TCP概述

   3.1 TCP的最主要的特點

   3.2 TCP的連接

四、可靠傳輸的工作原理

   4.1 停止等待協議

   4.2 連續ARQ協議

五、TCP報文段的首部格式

六、TCP可靠傳輸的實現

   6.1 以位元組為單位的滑動窗口

   6.2 超時重傳時間的選擇

   6.3 選擇確認SACK

七、TCP的流量控制

   7.1 利用滑動窗口實現流量控制

   7.2 必須考慮傳輸效率

八、TCP的擁塞控制

   8.1 擁塞控制的一般原理

   8.2 幾種擁塞控制方法

   8.3 隨機早期檢測RED

九、TCP的運輸連接管理

   9.1 TCP的連接建立

   9.2 TCP的連接釋放

   9.3 TCP的有限狀態機

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

1.1 進程之間的通信

1.只有主機的協議棧才有運輸層,而網路核心部分中的路由器在轉發分組時都只用到了下三層的功能

2.兩個主機進行通信就是兩個主機中的應用進程互相通信。從運輸層的角度看,通信的真正端點並不是主機而是主機中的進程。(IP協議能把分組送到目的主機)

網路層時為主機之間提供邏輯通信,而運輸層為應用進程之間提供端到端的邏輯通信。

3.運輸層一個重要功能——復用、分用。 (應用進程復用、分用運輸層)

1.2 運輸層的兩個主要協議

1.UDP—User Datagram Protocol 用戶數據報協議(無連接):DNS/RIP/DHCP/SNMP/NFS

TCP—Transmission Control Protocol 傳輸控制協議(面向連接):SMTP/TELNET/HTTP/ FTP

1.3 運輸層的埠

問題:為了使運行不同操作系統的計算機的應用進程能夠互相通信,就必須使用統一的方法(而這種方法必須與特定操作系統無關)對TCP/IP體系的應用進程進行標識。

為什麼不用進程號來區分?(第一,不同操作系統的進程標識符不同;第二,用功能來識別,而不是進程,例如郵件服務功能,而不管具體是哪個進程)

解決方案:在運輸層使用協議埠號,即埠。軟體埠是應用層的各種協議進程與運輸實體進行層間交互的一種地址。(埠號只具有本地意義,只是為了標識本計算機應用層中各個進程在和運輸層交互時的層間介面。)

埠分為兩大類:

1)伺服器使用的埠號:熟知埠號或系統埠號(0~1023);登記埠號(1024~49151)

2)客戶端使用的埠號:49152~65535

2.1 UDP概述

1.UDP只在IP的數據報服務至上增加了很少一點功能,就是復用、分用以及差錯檢測功能

2.特點

   1)無連接

   2)盡最大努力交付

   3)面向報文 (不合並、不拆分、保留這些報文的邊界)

   4)UDP沒有擁塞控制

   5)UDP支持一對一、一對多、多對一和多對多的交互通信

   6)UDP的首部開銷小,只有8位元組

應用進程本身可以在不影響應用的實時性的前提下,增加一些提高可靠性的措施,如採用前向糾錯或重傳已丟失的報文。

2.2 UDP的首部格式

1.traceroute 讓發送的UDP用戶數據報故意使用一個非法的UDP埠號,接收方丟棄報文,並由ICMP(網路控制報文協議)發送「埠不可達」差錯報文給發送方。

2.計算檢驗和。IP數據報的校驗和只檢驗IP數據報的首部,但UDP的校驗和是把首部和數據部分一起都檢驗。(12位元組的首部+真正的首部+數據來進行校驗和的計算)

   Q1.為什麼計算校驗和要加12位元組的偽首部

   Q2.計算校驗和的原理是什麼?

3.1 TCP的最主要的特點

1.面向連接的運輸層協議(建立連接、傳輸數據、釋放連接)

2.點對點,每一條TCP連接只能有兩個端點

3.可靠交付(無差錯、不丟失、不重復、並且按序到達)

4.全雙工通信。TCP連接的兩端都設有發送緩存和接收緩存。

5.面向位元組流。(流指的是流入到進程或從進程流出的位元組序列;面向位元組流:TCP把應用程序交下來的數據看成是一連串的無結構位元組流。 接收方的應用程序必須有能力識別接收到的位元組流,把它還原成有意義的應用層數據。 因此TCP可以根據窗口值和當前網路狀況調整發送的報文長度。劃分短一點,或者積累到足夠多再發送出去。)

3.2 TCP的連接

1.TCP把連接作為最基本的抽象。

2.每一條TCP連接有兩個端點。TCP連接的端點叫作套接字。

   套接字soket = (IP地址:埠號)

每一條TCP連接唯一地被通信兩端的兩個端點(即兩個套接字)所確定。

   TCP連接 ::= {socket1, socket2}

理想的傳輸條件有以下兩個特點:

   1)傳輸信道不產生差錯

   2)不管發送方以多快的速度發送數據,接收方總是來得及處理收到的數據

實際的網路並不具備,因此:

   1)出現差錯時,讓發送方重傳

   2)接收方來不及處理時,及時告訴發送方適當降低發送數據的速度

4.1 停止等待協議

1.「停止等待」就是沒發送完一個分組就停止發送,等待對方的確認,在收到確認後再發送下一個分組。

2.超時重傳。在每發完一個分組就設置一個超時計時器,如果在超時計時器之前收到對方的確認,就撤銷已設置的超時計時器。如果未收到,就認為剛才的分組丟失,並重傳。

3.三種情況:A發送的分組出錯、丟失;B發送的確認丟失;B發送的確認遲到

確認丟失:B丟棄重復的分組,向A重傳確認

確認遲到:A丟棄重復的確認,B丟棄重復分組,並向A重傳確認

4.常稱為自動重傳請求ARQ,重傳時自動進行的(超時即重傳)

5.缺點:信道利用率太低

   U=Td/(Td+RTT+Ta)

為了提高傳輸效率,發送方不使用停止等待協議,而是採用流水線傳輸。流水線傳輸就是發送發可連續發送多個分組,不必等每發完一個分組就停頓下來等待對方的確認。(連續ARQ協議和滑動窗口協議)

4.2 連續ARQ協議

1.位於發送窗口內的分組都可連續發送出去,而不需要等待對方的確認。

2.累積確認:接收方不必對收到的分組逐個發送確認,而是在收到幾個分組後,對按序到達的最後一個分組發送確認。

3.缺點:Go-back-N (發送前5個分組,第3個分組丟失,後面三個要重傳)

1.源埠和目的埠

2.序號。 每個位元組都按順序編號。

3.確認號。 期望收到對方下一個報文段的第一個數據位元組的序號。

若確認號=N,則表明:到序號N-1為止的所有數據都已正確收到。

4.數據偏移。 指出TCP報文段的數據起始處距離TCP報文段的起始處有多遠(也即TCP報文段首部長度)。由於首部中還有長度不確定的選項欄位,因此數據偏移欄位是必要的。

5.窗口。窗口欄位明確指出了現在允許對方發送的數據量。窗口值是經常在動態變化著。

6.1 以位元組為單位的滑動窗口

1.發送緩存用來暫存:

   1)發送應用程序傳送給發送方TCP准備發送的數據;

   2)TCP已發送但未收到確認德爾數據

2.接收緩存用來存放:

   1)按序到達的、但尚未被接收應收程序讀取的數據;

   2)未按序到達的數據

3.注意三點:

   1)A的發送窗口是根據B的接收窗口設置的,但是在同一時刻,由於網路傳輸的滯後,A的發送窗口並不總是B的接收窗口一樣大

   2)TCP通常對不按序到達的數據是先臨時存放在接收窗口中,等到位元組流中所缺少的位元組收到後,再按序交付上層的應用進程

   3)TCP接收方有累計確認功能(不能過分推遲發送確認,否則會導致發送方不必要的重傳)

6.2 超時重傳時間的選擇

1.超時重傳時間設置太短,會引起很多不必要的重傳;如果設置太長,使網路的空閑時間增大,降低傳輸效率。

2.新的RTTs = (1-a)x(舊的RTTs) + ax(新的RTT樣本),其中RTT樣本的時間為:記錄一個報文段發出的時間,以及收到相應的確認時間,時間差就是報文段的往返時間RTT。

3.RTO = RTTs + 4 x RTTd,其中RTO為超時重傳時間,RTTd是RTT的偏差的加權平均值。

新的RTTd = (1-b) x (舊的RTTd)+ b x |RTTs - 新的RTT樣本|

4.一個問題:發送一個報文段,設定的重傳時間到了,還沒有收到確認。於是重傳報文段。經過一段時間,收到了確認報文段。現在的問題是:如何判定此確認報文段是對先發送的報文段的確認,還是對後來重傳的報文段的確認?

1)解決方法1,在計算加權平均值RTTs時,只要報文段重傳了,就不採用其往返時間樣本。

引入的問題:報文段的時延突然增大的情況

2)解決方法2,報文段每重傳一次,就把超時重傳時間RTO增大一些(一般是2倍)。當不在發生報文段的重傳時,再根據加權平均計算。

6.3 選擇確認SACK

SACK文檔並沒有指明發送發應當怎樣響應SACK。因此大多數的實現還是重傳所有未被確認的數據塊。

7.1 利用滑動窗口實現流量控制

1.流量控制:就是讓發送方的發送速率不要太快,要讓接收方來得及接收。

2.利用滑動窗口機制可很方便地在TCP連接上實現對發送方的流量控制。發送方的發送窗口不能超過接收方給出的接收窗口的數值。

3.死鎖情況:B向A發送了零窗口的報文段後不久,B又有了一些緩存空間,因此B向A發送rwnd = 400.然而該報文段在傳送過程中丟失。A一直等待B發送的非零窗口的通知,B也一直等待A發送的數據。( 窗口通知不超時重傳?為什麼? )

解決方法:TCP為每個連接設有一個持續計時器。只要一方收到對方的零窗口通知,就啟動計時器。計時器到期後,發送一個零窗口探測報文段,而對方就在確認這個探測報文段時給出了現在的窗口值。若仍為零,收到報文段的一方重新設置持續計時器。

7.2 必須考慮傳輸效率

1.應用程序把數據傳送到TCP的發送緩存後,剩下的發送任務就由TCP來控制了。

2.三種不同的機制來控制TCP報文段的發送時機:

   1)TCP維持一個變數,它等於最大報文段長度MSS,只要緩存中的存放的數據達到MSS,就組裝成一個TCP報文段發送出去

   2)由發送方的應用進程指明要求發送報文段,即TCP支持推送操作

   3)發送方設置一個定時器

3.問題一、若用戶只發送一個位元組,則非常浪費帶寬。

解決方法:若發送應用程序把要發送的數據逐個位元組地送到TCP的發送緩存,則發送方就把第一個數據位元組先發送出去,把後面到達的數據位元組都緩存起來。當發送方收到對第一個數據字元的確認後,再把發送緩存中的所有數據組裝成一個報文段發送出去。(採用收到確認就發送+並開始緩存的方式;同時當到達的數據已達到發送窗口大小的一半或已達到報文段的最大長度時,就立即發送一個報文段。)

4.問題二、糊塗窗口綜合症。接收緩存已滿,應用程序一次只讀取一個位元組,然後向發送方發送確認。

解決方法:讓接收方等待一段時間,使得接收緩存已有足夠空間容納一個最長的報文段,或者等到接收緩存已有一半空閑的空間。則接收方就發出確認報文。

8.1 擁塞控制的一般原理

1.擁塞的定義:對資源的需求 > 可用資源。 在計算機網路中的鏈路帶寬、交換結點中的緩存和處理機等,都是網路中的資源。

2.擁塞解決不能靠解決某一個部分的問題。因為這會將瓶頸轉移到其他地方。問題的實質往往是整個系統的各個部分不匹配。只有所有部分都平衡了,問題才會得到解決。

3.擁塞控制與流量控制的比較。

   1)擁塞控制:防止過多的數據注入到網路中,這樣可以使網路中的路由器或鏈路不致過載。

   擁塞控制有個前提:網路能夠承受現有的網路負荷

   擁塞控制是一個全局性過程。(發送擁塞時,不知道在某處、什麼原因造成的)

   2)流量控制:點對點通信量的控制,是個端到端的問題

   流量控制:抑制發送端發送數據的速率,以便使接收端來得及接收。

4.尋找擁塞控制的方案無非就是使不等式 「對資源的需求 > 可用資源 」不再成立的條件。但是必須考慮該措施帶來的其他影響。

5.計算機網路是個復雜的系統。從控制理論的角度來看擁塞控制,可以分為開環控制和閉環控制兩種方法。

   1)開環控制:設計網路時事先將有關發生擁塞的因素考慮周到,力求網路在工作時不產生擁塞。但一旦系統運行起來,就不再中途改正。

   2)閉環控制:基於反饋環路。

   步驟一、監測網路系統以便檢測到擁塞在何時、何處發生;

   步驟二、把擁塞發生的信息傳送到可採取行動的地方

   步驟三、調整網路系統的運行以解決出現的問題

8.2 幾種擁塞控制方法(只考慮網路擁塞程度,即假設接收方總是有足夠大的緩存空間)

1.慢開始和擁塞避免

1)發送方維持一個擁塞窗口。

   擁塞窗口的大小取決於網路的擁塞程度,並且動態地在變化。

   控制擁塞窗口的原則是:只要網路沒有出現擁塞,擁塞窗口增大;如果網路出現擁塞,則減小。

2)慢開始的思路:由小到大逐漸增大擁塞窗口數值。每收到一個對新的報文段的確認,把擁塞窗口增加至多一個MSS的數值。(沒經過一個傳輸輪次,擁塞窗口cwnd就加倍)

輪次:把擁塞窗口所允許發送的報文段都連續發送出去,並收到了對已發送的最後一位元組的確認。

慢開始的「慢」並不是指cwnd的增長速率慢,而是指TCP開始發送報文段時先設置cwnd=1(一個MSS數值)。

3)慢開始門限ssthresh

   為防止擁塞窗口增長過大,引入一個慢開始門限ssthresh。

   當cwnd < ssthresh時,使用上述的慢開始演算法

   當cwnd > ssthresh時,停止使用慢開始演算法而改用擁塞避免演算法

4)擁塞避免演算法

思路:讓擁塞窗口cwnd緩慢增大,即沒經過一個往返時間RTT就把發送方的擁塞窗口cwnd增加1,而不是加倍。

5)慢開始門限的設置

只要發送方判斷網路出現擁塞(沒有按時收到確認),就把慢開始門限ssthresh設置為出現擁塞時發送方窗口值的一半,然後把擁塞窗口cwnd重置為1,執行慢開始演算法。

6)乘法減小和加法增大

乘法減小:網路出現擁塞時,把慢開始門限ssthresh減半(當前的ssthresh的一半),並執行慢開始演算法。

加法增大:執行擁塞避免方法

2.快重傳和快恢復

1)快重傳(盡快重傳未被確認的報文段)

首先,要求接收方每收到一個失序的報文段後就立即發出重復確認。(如接收方收到了M1和M2後都分別發出了確認,但接收方沒有收到M3但接著收到了M4。此時接收方立即發送對M2的重復確認。)

其次,發送方只要一連收到三個重復確認,就應當立即重傳對方尚未收到的報文段M3.

2)快恢復

要點一、當發送方連續收到三個重復確認,就執行「乘法減小」演算法,把慢開始門限ssthresh減半。

要點二、由於發送方認為網路很可能沒有發生擁塞(因為收到了連續的重復確認),把cwnd設置為慢開始門限ssthresh減半後的值,然後開始執行擁塞避免演算法

慢開始演算法只在TCP連接建立時和網路出現超時才使用。

3.發送方的窗口

發送方窗口的上限值 = Min [rwnd, cwnd]

8.3 隨機早期檢測RED(IP層影響TCP層的擁塞控制)

1.網路層的分組丟棄策略

網路層的策略對TCP擁塞控制影響最大的就是路由器的分組丟棄策略。

如果路由器隊列已滿,則後續到達的分組將都被丟棄。這就叫做尾部丟棄策略。

2.全局同步

由於TCP復用IP,若發生路由器中的尾部丟棄,就可能會同時影響到很多條TCP連接,結果就使許多TCP連接在同一時間突然都進入到慢開始狀態。全局同步使得全網的通信量突然下降了很多,網路恢復正常後,其通信量又突然增大很多。

3.隨機早期檢測RED

使路由器的隊列維持兩個參數,即隊列長度最小門限THmin和最大門限THmax。當每一個分組到達時,RED就先計算平均隊列長度Lav。RED演算法是:

1)若平均隊列長度小於最小門限THmin,則把新到達的分組放入隊列進行排隊

2)若平均隊列長度超過最大門限THmax,則把新到達的分組丟棄

3)若平均隊列長度在最小門限THmin和最大門限THmax之間,則按照某一概率p將新到達的分組丟棄。

隨機體現在3),在檢測到網路擁塞的早期徵兆時(即路由器的平均隊列長度超過一定的門限值時),就先以概率p隨機丟棄個別的分組,讓擁塞控制只在個別的TCP連接上進行,因而避免發生全局性的擁塞控制。

4.平均隊列長度Lav和分組丟棄概率p

Lav = (1-d) x (舊的Lav) +d x (當前的隊列長度樣本)

p = ptemp / (1- count x ptemp)

ptemp = pmax x (Lav - THmin) / (THmax - THmin)

TCP時面向連接的協議。

運輸連接就有三個階段:連接建立、數據傳送和連接釋放

運輸連接的管理:使運輸連接的建立和釋放都能正常地進行。

在TCP連接建立過程中要解決以下三個問題:

   1)要使每一方能夠確知對方的存在

   2)要允許雙方協商一些參數(如最大窗口值、是否使用窗口擴大選項和時間戳等等)

   3)能夠對運輸實體資源(如緩存大小、連接表中的項目等)進行分配

9.1 TCP的連接建立

1.TCP規定,SYN=1報文段不能攜帶數據,但消耗一個序號

2.TCP規定,ACK=1報文段可以攜帶數據,如果不攜帶數據則不消耗序號

3.為什麼A還要發送一次確認?為了防止已失效的連接請求報文突然又傳送到B,因而產生錯誤。

「已失效的連接請求報文段」

A發出第一個連接請求報文段,在網路中滯留超時,又發出了第二個連接請求。但B收到第一個延遲的失效的連接請求報文段後,就誤認為是A又發出了一次新的連接請求。於是就向A發出確認報文段,同意建立連接。假定不採用三次握手,那麼只要B發出確認,新的連接就建立。此時A不會理睬B的確認,也不會發數據,但B一直等A發送數據,B的許多資源就浪費了。

採用三次握手,A不會向B發送確認,因此B就知道A並沒有要求建立確認。

9.2 TCP的連接釋放

1.TCP規定,FIN報文段基石不攜帶數據,也消耗一個序號

2.第二次握手後,TCP通知高層應用程序,因而從A到B這個方向的連接就釋放,TCP連接處於半關閉狀態

3.為什麼A在TIME-WAIT狀態必須等待2MSL的時間

  1)為了保證A發送的最後一個ACK報文段能夠到達B。因為ACK可能丟失,此時B可能會超時重傳,然後A重傳確認,並重新啟動2MSL計時器

  2)防止「已失效的連接請求報文段」出現在本連接中。可以使本連接持續時間內所產生的所有報文段都從網路中消失。

9.3 TCP的有限狀態機

『叄』 關於謝希仁著《計算機網路》(第四版)的兩個問題

1。連接簡單;在小規模的網路中不需要專用的網路設備;匯流排結構省線。星型結構比較穩定,任何一個線出問題了都不會影響其他埠;不使用共享匯流排,所以不會有匯流排擁塞問題;可擴展性好,可以通過級聯擴展網路。

2.
1)首先強調關於HDLC的定義問題:
約束通信雙方按一定規則進行通信的體系為數據鏈路控制規程(DLCP),也叫數據通信控制規程(DCCP)。自上世紀六十年代開始,世界上許多國家組織和大財團都在研究制定此類規程。從發布的規程體系看,共包括兩類——面向字元的控制規程和面向比特的控制規程。
面向字元的規程,典型代表有美國標准協會ANSI的X3.28,ISO的ISO1745、DEC公司的DDCMP、中國的GB3453-82、IBM公司的BSC。
後來,IBM公司在同步數據鏈路控制規程(SDLC)基礎上發展出面向比特的規程。再後來,ANSI和ISO兩組織以IBM的SDLC為基礎發展了兩個類似的規程,一個是ANSI的高級數據通信控制規程(ADCCP),另一個就是ISO的高級數據鏈路控制規程,即HDLC。
(2)一般情況下,HDLC規程幀格式中的8位地址碼段已經足夠(256個地址),若實在不夠,則該8位地址是可以擴展的(按8位擴展),並且可以許循環擴展下去,具體擴展方式是將地址的首8比特的第一位置0,表示下一個8比特是基本地址的擴展(沒有擴展時則表示是控制碼段)。
(3)地址的命名規則以實際系統構造方式為前提,是可以設計的。不同的系統,對規則的定義是不同的,應結合具體系統來理解。例如,基本地址方式下,256個地址是等同的,擴展後,前128位可以是主系統,後256位可以是子系統。也可以是128位與256位的組合形成新的獨立地址碼(但在解碼時需要設計具體進程)。還可以是其它解釋,一切看自己的系統規程設計。
(4)如第(2)點所說的地址擴展方式,一切以具體系統的具體規程為原則,不存在絕對的「網路層向鏈路層提供的是網路層地址」(此情況僅指你目前正在認識的系統),另一方面,在地址擴展方式下,很容易區分網路層地址和接入系統地址。
(5)MAC是和網路拓撲及具體互聯媒質相關的協議規程。但是,僅僅適合於區域網的規定結構方式(不能與網路拓撲重構概念混淆)。在許多網路中,其互聯媒質通常是按照一定的技術要求有所規定,因此不存在MAC問題,但在區域網中,由於結構形式、聯結媒質可以多樣化,因此相關規程中作了一些定義,試圖全方位適應各種情況的規程協議(也是目前流行規程),將MAC接入控製作為規程要點之一。當然,目前一些區域網技術規程有擴大化應用趨勢(包括MAC方面),但MAC的重點是根據具體媒質和具體拓撲結構來選擇不同的數據傳輸進程式控制制方式或規程,是比地址碼概念更外圍的規程,一旦選定具體MAC規程(可以是動態選擇),通信進程便按照設計的HDLC規程約定完成

3.交換機應該用在區域網負荷重的那個網路。

4.因為無線網可靠性比較差,丟包率高,在底層協議做完整性檢查比較劃算。乙太網物理介質可靠性高,在高層協議做完整性檢查更劃算。

『肆』 謝希仁的《計算機網路》中關於「吞吐量」計算的問題

就是把20毫秒變成0.02秒啊,10-3代表十的負三次方,就是除以1000