當前位置:首頁 » 網路連接 » 計算機網路第六版筆記
擴展閱讀
北京移動網路出故障 2025-10-20 08:58:18
西鄉網站製作多少錢 2025-10-20 08:54:23

計算機網路第六版筆記

發布時間: 2022-09-21 22:59:40

計算機網路謝希仁編著的第六版第四章課後習題答案

第4 章 網路層
4-01網路層向上提供的服務有哪兩種?試比較其優缺點。
答案:虛電路服務和數據報服務。
虛電路的優點:虛電路服務是面向連接的,網路能夠保證分組總是按照發送順序到達目的站,且不丟失、不重復,提供可靠的端到端數據傳輸;目的站地址僅在連接建立階段使用,每個分組使用短的虛電路號,使分組的控制信息部分的比特數減少,減少了額外開銷;端到端的差錯處理和流量控制可以由分組交換網負責,也可以由用戶機負責。虛電路服務適用於通信信息量大、速率要求高、傳輸可靠性要求高的場合。
虛電路的缺點:虛電路服務必須建立連接;屬於同一條虛電路的分組總是按照同一路由進行轉發;當結點發生故障時,所有通過出故障的結點的虛電路均不能工作。
數據報的優點:數據報服務不需要建立連接;每個分組獨立選擇路由進行轉發,當某個結點發生故障時,後續的分組可以另選路由,因而提高了通信的可靠性。數據報服務的靈活性好,適用於傳輸可靠性要求不高、通信子網負載不均衡、需要選擇最佳路徑的場合。
數據報的缺點:數據報服務是面向無連接的,到達目的站時不一定按發送順序,傳輸中的分組可能丟失和重復,提供面向無連接的、不可靠的數據傳輸;每個分組都要有目的站的全地址;當網路發生故障是,出故障的結點可能會丟失數據,一些路由可能會發生變化;端到端的差錯處理和流量控制只由主機負責。

答案太多傳不上來,留下郵箱可以發給你..........

Ⅱ 計算機網路第六版答案第二章2-16

是謝希仁的《計算機網路》第6版嗎?

供你參考:
2-02 規程與協議有什麼區別?
答:規程專指物理層協議
2-03 試給出數據通信系統的模型並說明其主要組成構建的作用。
答:源點:源點設備產生要傳輸的數據。源點又稱為源站。
發送器:通常源點生成的數據要通過發送器編碼後才能在傳輸系統中進行傳輸。
接收器:接收傳輸系統傳送過來的信號,並將其轉換為能夠被目的設備處理的信息。
終點:終點設備從接收器獲取傳送過來的信息。終點又稱為目的站
傳輸系統:信號物理通道
2-04試解釋以下名詞:數據,信號,模擬數據,模擬信號,基帶信號,帶通信號,數字數據,數字信號,碼元,單工通信,半雙工通信,全雙工通信,串列傳輸,並行傳輸。
答:數據:是運送信息的實體。
信號:則是數據的電氣的或電磁的表現。
模擬數據:運送信息的模擬信號。
模擬信號:連續變化的信號。
數字信號:取值為有限的幾個離散值的信號。
數字數據:取值為不連續數值的數據。
碼元(code):在使用時間域(或簡稱為時域)的波形表示數字信號時,代表不同離散數值的基本波形。
單工通信:即只有一個方向的通信而沒有反方向的交互。
半雙工通信:即通信和雙方都可以發送信息,但不能雙方同時發送(當然也不能同時接收)。這種通信方式是一方發送另一方接收,過一段時間再反過來。
全雙工通信:即通信的雙方可以同時發送和接收信息。
基帶信號(即基本頻帶信號)——來自信源的信號。像計算機輸出的代表各種文字或圖像文件的數據信號都屬於基帶信號。
帶通信號——把基帶信號經過載波調制後,把信號的頻率范圍搬移到較高的頻段以便在信道中傳輸(即僅在一段頻率范圍內能夠通過信道)。
2-05 物理層的介面有哪幾個方面的特性?個包含些什麼內容?
答:(1)機械特性
明介面所用的接線器的形狀和尺寸、引線數目和排列、固定和鎖定裝置等等。
(2)電氣特性
指明在介面電纜的各條線上出現的電壓的范圍。
(3)功能特性
指明某條線上出現的某一電平的電壓表示何意。
(4)規程特性
說明對於不同功能的各種可能事件的出現順序。
2-06數據在信道重的傳輸速率受哪些因素的限制?信噪比能否任意提高?香農公式在數據通信中的意義是什麼?「比特/每秒」和「碼元/每秒」有何區別?
答:碼元傳輸速率受奈氏准則的限制,信息傳輸速率受香農公式的限制
香農公式在數據通信中的意義是:只要信息傳輸速率低於信道的極限傳信率,就可實現無差傳輸。
比特/s是信息傳輸速率的單位
碼元傳輸速率也稱為調制速率、波形速率或符號速率。一個碼元不一定對應於一個比特。
2-07假定某信道受奈氏准則限制的最高碼元速率為20000碼元/秒。如果採用振幅調制,把碼元的振幅劃分為16個不同等級來傳送,那麼可以獲得多高的數據率(b/s)?
答:C=R*Log2(16)=20000b/s*4=80000b/s
2-08假定要用3KHz帶寬的電話信道傳送64kb/s的數據(無差錯傳輸),試問這個信道應具有多高的信噪比(分別用比值和分貝來表示?這個結果說明什麼問題?)
答:C=Wlog2(1+S/N)(b/s)
W=3khz,C=64khz----àS/N=64.2dB 是個信噪比要求很高的信源
2-09用香農公式計算一下,假定信道帶寬為為3100Hz,最大信道傳輸速率為35Kb/s,那麼若想使最大信道傳輸速率增加60%,問信噪比S/N應增大到多少倍?如果在剛才計算出的基礎上將信噪比S/N應增大到多少倍?如果在剛才計算出的基礎上將信噪比S/N再增大到十倍,問最大信息速率能否再增加20%?
答:C = Wlog2(1+S/N) b/s-àSN1=2*(C1/W)-1=2*(35000/3100)-1
SN2=2*(C2/W)-1=2*(1.6*C1/w)-1=2*(1.6*35000/3100)-1
SN2/SN1=100信噪比應增大到約100倍。
C3=Wlong2(1+SN3)=Wlog2(1+10*SN2)
C3/C2=18.5%
如果在此基礎上將信噪比S/N再增大到10倍,最大信息通率只能再增加18.5%左右
2-11假定有一種雙絞線的衰減是0.7dB/km(在 1 kHz時),若容許有20dB的衰減,試問使用這種雙絞線的鏈路的工作距離有多長?如果要雙絞線的工作距離增大到100公里,試應當使衰減降低到多少?
解:使用這種雙絞線的鏈路的工作距離為=20/0.7=28.6km
衰減應降低到20/100=0.2db
2-12 試計算工作在1200nm到1400nm之間以及工作在1400nm到1600nm之間的光波的頻帶寬度。假定光在光纖中的傳播速率為2*10e8m/s.
解:
V=L*F-àF=V/L--àB=F2-F1=V/L1-V/L2
1200nm到1400nm:帶寬=23.8THZ
1400nm到1600nm:帶寬=17.86THZ
2-13 為什麼要使用信道復用技術?常用的信道復用技術有哪些?
答:為了通過共享信道、最大限度提高信道利用率。
頻分、時分、碼分、波分。
2-15 碼分多址CDMA為什麼可以使所有用戶在同樣的時間使用同樣的頻帶進行通信而不會互相干擾?這種復用方法有何優缺點?
答:各用戶使用經過特殊挑選的相互正交的不同碼型,因此彼此不會造成干擾。
這種系統發送的信號有很強的抗干擾能力,其頻譜類似於白雜訊,不易被敵人發現。佔用較大的帶寬。
2-16 共有4個站進行碼分多址通信。4個站的碼片序列為
A:(-1-1-1+1+1-1+1+1) B:(-1-1+1-1+1+1+1-1)
C:(-1+1-1+1+1+1-1-1) D:(-1+1-1-1-1-1+1-1)
現收到這樣的碼片序列S:(-1+1-3+1-1-3+1+1)。問哪個站發送數據了?發送數據的站發送的是0還是1?
解:S·A=(+1-1+3+1-1+3+1+1)/8=1, A發送1
S·B=(+1-1-3-1-1-3+1-1)/8=-1, B發送0
S·C=(+1+1+3+1-1-3-1-1)/8=0, C無發送
S·D=(+1+1+3-1+1+3+1-1)/8=1, D發送1

Ⅲ 計算機網路第5版和第6版那個比較基礎

計算機網路第5版和第6版區別不會太大,計算機網路基礎知識不會有大的更新,新訂版本跟老版相似度95%以上所以,沒必要糾結第5版還是第6版,如果5版有錯誤6版可能會做些訂正而已。

Ⅳ 北航961計算機基礎專業課都考什麼961計算機基礎的指定教材是什麼

961計算機基礎綜合共包括三門課程的內容:計算機組成原理、操作系統、計算機網路技術,分別佔60分,50分、40分。所有課程均不指定參考書。
961計算機基礎的指定教材為:
1.《計算機組成與設計——軟體與硬體介面》DavidA.Patterson,John L.Hennessy
2.操作系統實用教程(第三版),任愛華,清華大學出版社。
現代操作系統(Modern Operating System)
(The 3rd Edition), 陳向群, 馬洪兵 等譯,Andrew
S. Tanenbaum 著,機械工業出版社。

3.《計算機網路》(第6版),電子工業出版社 謝希仁編著,,2013
《計算機網路》(第5版),清華大學出版社,2012Andrew S. Tanenbaum,嚴偉,潘愛民譯,

關於復習資料的獲取方式:
1. 北航官方在後勤印刷部(操場南)會提供真題,3元一份,沒有答案。
此類真題存在三個問題:a.真題年份並不齊全,一般只有5年左右;b.真題沒有答案,讓同學們做的沒有信心。c.不方便,印刷廠工作日上班且只能在現場。
2. 從自己能聯繫到的往屆學長學姐處獲取
前提是能聯繫到合適的學長學姐。一般自己的學長學姐都是免費贈送的,個別的除外。由於資料已被使用過,優點是有學長的筆記,有一定的借鑒作用;不過缺點也是由於有筆跡,使用會有不便,對處女座強迫症患者是無法接受的。並且無法獲得最新的資料,還有就是學長學姐會很忙,各種問問題不方便,也會不好意思。
3. 網上各種搜羅,現在各種論壇會有零星的資料,用心和時間是可以獲取到一些資料的,但是由於資料不會很全,也比較浪費時間和精力。不是很推薦
4.各種渠道購買,此處建議買有第三方平台保障的,如某寶。當遇到不好的資料,或者不當的賣家自己的權益有保障。有很多同學轉賬給所謂的學長,被騙被坑的。一定要多張個心眼,仔細辨別。如果選到好的資料還是很不錯的選擇,雖然花了錢,但是有更新,有服務。專業課復習最重要的是把真題研究透徹,課本過後利用北航本科的內部習題來鞏固知識點,復習過程中還需要有學長來及時進行答疑。這方面400+學長可以幫到你。

Ⅳ 求謝希仁編著的《計算機網路》(第6版)的PDF

以下鏈接可以下載:網頁鏈接

1、謝希仁編著的《計算機網路(第6版)》自1989年首次出版以來,曾於1994年、1999年、2003年和2008年分別出了修訂版。在2006年本書通過了教育部的評審,被納入普通高等教育「十一五」國家級規劃教材。

2、《計算機網路》第6版,在原有結構和內容的基礎上,根據教學大綱的要求和計算機網路的最新發展,作了必要的增補、調整和修改,以適應當前教學的需要。

3、全書分為10章,比較全面系統地介紹了計算機網路的發展和原理體系結構、物理層、數據鏈路層(包括區域網)、網路層、運輸層、應用層、網路安全、網際網路上的音頻、視頻服務、無線網路移動網路,以及下一代網際網路等內容。各章均附有習題。

4、《計算機網路(第6版)》的特點是概念准確、論述嚴謹、內容新穎、圖文並茂,突出基本原理和基本概念的闡述,同時力圖反映計算機網路的一些最新發展。本書可供電氣信息類和計算機類專業的大學本科生和研究生使用,對從事計算機網路工作的工程技術人員也有參考價值。

Ⅵ 計算機網路自學筆記:TCP

如果你在學習這門課程,僅僅為了理解網路工作原理,那麼只要了解TCP是可靠傳輸,數據傳輸丟失時會重傳就可以了。如果你還要參加研究生考試或者公司面試等,那麼下面內容很有可能成為考查的知識點,主要的重點是序號/確認號的編碼、超時定時器的設置、可靠傳輸和連接的管理。

1 TCP連接

TCP面向連接,在一個應用進程開始向另一個應用進程發送數據之前,這兩個進程必須先相互「握手」,即它們必須相互發送某些預備報文段,以建立連接。連接的實質是雙方都初始化與連接相關的發送/接收緩沖區,以及許多TCP狀態變數。

這種「連接」不是一條如電話網路中端到端的電路,因為它們的狀態完全保留在兩個端系統中。

TCP連接提供的是全雙工服務 ,應用層數據就可在從進程B流向進程A的同時,也從進程A流向進程B。

TCP連接也總是點對點的 ,即在單個發送方與單個接收方之間建立連接。

一個客戶機進程向伺服器進程發送數據時,客戶機進程通過套接字傳遞數據流。

客戶機操作系統中運行的 TCP軟體模塊首先將這些數據放到該連接的發送緩存里 ,然後會不時地從發送緩存里取出一塊數據發送。

TCP可從緩存中取出並放入報文段中發送的數據量受限於最大報文段長MSS,通常由最大鏈路層幀長度來決定(也就是底層的通信鏈路決定)。 例如一個鏈路層幀的最大長度1500位元組,除去數據報頭部長度20位元組,TCP報文段的頭部長度20位元組,MSS為1460位元組。

報文段被往下傳給網路層,網路層將其封裝在網路層IP數據報中。然後這些數據報被發送到網路中。

當TCP在另一端接收到一個報文段後,該報文段的數據就被放人該連接的接收緩存中。應用程序從接收緩存中讀取數據流(注意是應用程序來讀,不是操作系統推送)。

TCP連接的每一端都有各自的發送緩存和接收緩存。

因此TCP連接的組成包括:主機上的緩存、控制變數和與一個進程連接的套接字變數名,以及另一台主機上的一套緩存、控制變數和與一個進程連接的套接字。

在這兩台主機之間的路由器、交換機中,沒有為該連接分配任何緩存和控制變數。

2報文段結構

TCP報文段由首部欄位和一個數據欄位組成。數據欄位包含有應用層數據。

由於MSS限制了報文段數據欄位的最大長度。當TCP發送一個大文件時,TCP通常是將文件劃分成長度為MSS的若干塊。

TCP報文段的結構。

首部包括源埠號和目的埠號,它用於多路復用/多路分解來自或送至上層應用的數據。另外,TCP首部也包括校驗和欄位。報文段首部還包含下列欄位:

32比特的序號欄位和32比特的確認號欄位。這些欄位被TCP發送方和接收方用來實現可靠數據傳輸服務。

16比特的接收窗口欄位,該欄位用於流量控制。該欄位用於指示接收方能夠接受的位元組數量。

4比特的首部長度欄位,該欄位指示以32比特的字為單位的TCP首部長度。一般TCP首部的長度就是20位元組。

可選與變長的選項欄位,該欄位用於當發送方與接收方協商最大報文段長度,或在高速網路環境下用作窗口調節因子時使用。

標志欄位ACK比特用於指示確認欄位中的ACK值的有效性,即該報文段包括一個對已被成功接收報文段的確認。 SYN和FIN比特用於連接建立和拆除。 PSH、URG和緊急指針欄位通常沒有使用。

•序號和確認號

TCP報文段首部兩個最重要的欄位是序號欄位和確認號欄位。

TCP把數據看成一個無結構的但是有序的位元組流。TCP序號是建立在傳送的位元組流之上,而不是建立在傳送的報文段的序列之上。

一個報文段的序號是該報文段首位元組在位元組流中的編號。

例如,假設主機A上的一個進程想通過一條TCP連接向主機B上的一個進程發送一個數據流。主機A中的TCP將對數據流中的每一個位元組進行編號。假定數據流由一個包含4500位元組的文件組成(可以理解為應用程序調用send函數傳遞過來的數據長度),MSS為1000位元組(鏈路層一次能夠傳輸的位元組數),如果主機決定數據流的首位元組編號是7。TCP模塊將為該數據流構建5個報文段(也就是分5個IP數據報)。第一個報文段的序號被賦為7;第二個報文段的序號被賦為1007,第三個報文段的序號被賦為2007,以此類推。前面4個報文段的長度是1000,最後一個是500。

確認號要比序號難理解一些。前面講過,TCP是全雙工的,因此主機A在向主機B發送數據的同時,也可能接收來自主機B的數據。從主機B到達的每個報文段中的序號欄位包含了從B流向A的數據的起始位置。 因此主機B填充進報文段的確認號是主機B期望從主機A收到的下一報文段首位元組的序號。

假設主機B已收到了來自主機A編號為7-1006的所有位元組,同時假設它要發送一個報文段給主機A。主機B等待主機A的數據流中位元組1007及後續所有位元組。所以,主機B會在它發往主機A的報文段的確認號欄位中填上1007。

再舉一個例子,假設主機B已收到一個來自主機A的包含位元組7-1006的報文段,以及另一個包含位元組2007-3006的報文段。由於某種原因,主機A還沒有收到位元組1007-2006的報文段。

在這個例子中,主機A為了重組主機B的數據流,仍在等待位元組1007。因此,A在收到包含位元組2007-3006的報文段時,將會又一次在確認號欄位中包含1007。 因為TCP只確認數據流中至第一個丟失報文段之前的位元組數據,所以TCP被稱為是採用累積確認。

TCP的實現有兩個基本的選擇:

1接收方立即丟棄失序報文段;

2接收方保留失序的位元組,並等待缺少的位元組以填補該間隔。

一條TCP連接的雙方均可隨機地選擇初始序號。 這樣做可以減少將那些仍在網路中的來自兩台主機之間先前連接的報文段,誤認為是新建連接所產生的有效報文段的可能性。

•例子telnet

Telnet由是一個用於遠程登錄的應用層協議。它運行在TCP之上,被設計成可在任意一對主機之間工作。

假設主機A發起一個與主機B的Telnet會話。因為是主機A發起該會話,因此主機A被標記為客戶機,主機B被標記為伺服器。用戶鍵入的每個字元(在客戶機端)都會被發送至遠程主機。遠程主機收到後會復制一個相同的字元發回客戶機,並顯示在Telnet用戶的屏幕上。這種「回顯」用於確保由用戶發送的字元已經被遠程主機收到並處理。因此,在從用戶擊鍵到字元顯示在用戶屏幕上之間的這段時間內,每個字元在網路中傳輸了兩次。

現在假設用戶輸入了一個字元「C」,假設客戶機和伺服器的起始序號分別是42和79。前面講過,一個報文段的序號就是該報文段數據欄位首位元組的序號。因此,客戶機發送的第一個報文段的序號為42,伺服器發送的第一個報文段的序號為79。前面講過,確認號就是主機期待的數據的下一個位元組序號。在TCP連接建立後但沒有發送任何數據之前,客戶機等待位元組79,而伺服器等待位元組42。

如圖所示,共發了3個報文段。第一個報文段是由客戶機發往伺服器,其數據欄位里包含一位元組的字元「C」的ASCII碼,其序號欄位里是42。另外,由於客戶機還沒有接收到來自伺服器的任何數據,因此該報文段中的確認號欄位里是79。

第二個報文段是由伺服器發往客戶機。它有兩個目的:第一個目的是為伺服器所收到的數據提供確認。伺服器通過在確認號欄位中填入43,告訴客戶機它已經成功地收到位元組42及以前的所有位元組,現在正等待著位元組43的出現。第二個目的是回顯字元「C」。因此,在第二個報文段的數據欄位里填入的是字元「C」的ASCII碼,第二個報文段的序號為79,它是該TCP連接上從伺服器到客戶機的數據流的起始序號,也是伺服器要發送的第一個位元組的數據。

這里客戶機到伺服器的數據的確認被裝載在一個伺服器到客戶機的數據的報文段中,這種確認被稱為是捎帶確認.

第三個報文段是從客戶機發往伺服器的。它的唯一目的是確認已從伺服器收到的數據。

3往返時延的估計與超時

TCP如同前面所講的rdt協議一樣,採用超時/重傳機制來處理報文段的丟失問題。最重要的一個問題就是超時間隔長度的設置。顯然,超時間隔必須大於TCP連接的往返時延RTT,即從一個報文段發出到收到其確認時。否則會造成不必要的重傳。

•估計往返時延

TCP估計發送方與接收方之間的往返時延是通過採集報文段的樣本RTT來實現的,就是從某報文段被發出到對該報文段的確認被收到之間的時間長度。

也就是說TCP為一個已發送的但目前尚未被確認的報文段估計sampleRTT,從而產生一個接近每個RTT的采樣值。但是,TCP不會為重傳的報文段計算RTT。

為了估計一個典型的RTT,採取了某種對RTT取平均值的辦法。TCP據下列公式來更新

EstimatedRTT=(1-)*EstimatedRTT+*SampleRTT

即估計RTT的新值是由以前估計的RTT值與sampleRTT新值加權組合而成的。

參考值是a=0.125,因此是一個加權平均值。顯然這個加權平均對最新樣本賦予的權值

要大於對老樣本賦予的權值。因為越新的樣本能更好地反映出網路當前的擁塞情況。從統計學觀點來講,這種平均被稱為指數加權移動平均

除了估算RTT外,還需要測量RTT的變化,RTT偏差的程度,因為直接使用平均值設置計時器會有問題(太靈敏)。

DevRTT=(1-β)*DevRTT+β*|SampleRTT-EstimatedRTT|

RTT偏差也使用了指數加權移動平均。B取值0.25.

•設置和管理重傳超時間隔

假設已經得到了估計RTT值和RTT偏差值,那麼TCP超時間隔應該用什麼值呢?TCP將超時間隔設置成大於等於估計RTT值和4倍的RTT偏差值,否則將造成不必要的重傳。但是超時間隔也不應該比估計RTT值大太多,否則當報文段丟失時,TCP不能很快地重傳該報文段,從而將給上層應用帶來很大的數據傳輸時延。因此,要求將超時間隔設為估計RTT值加上一定餘量。當估計RTT值波動較大時,這個余最應該大些;當波動比較小時,這個餘量應該小些。因此使用4倍的偏差值來設置重傳時間。

TimeoutInterval=EstimatedRTT+4*DevRTT

4可信數據傳輸

網際網路的網路層服務是不可靠的。IP不保證數據報的交付,不保證數據報的按序交付,也不保證數據報中數據的完整性。

TCP在IP不可靠的盡力而為服務基礎上建立了一種可靠數據傳輸服務。

TCP提供可靠數據傳輸的方法涉及前面學過的許多原理。

TCP採用流水線協議、累計確認。

TCP推薦的定時器管理過程使用單一的重傳定時器,即使有多個已發送但還未被確認的報文段也一樣。重傳由超時和多個ACK觸發。

在TCP發送方有3種與發送和重傳有關的主要事件:從上層應用程序接收數據,定時器超時和收到確認ACK。

從上層應用程序接收數據。一旦這個事件發生,TCP就從應用程序接收數據,將數據封裝在一個報文段中,並將該報文段交給IP。注意到每一個報文段都包含一個序號,這個序號就是該報文段第一個數據位元組的位元組流編號。如果定時器還沒有計時,則當報文段被傳給IP時,TCP就啟動一個該定時器。

第二個事件是超時。TCP通過重傳引起超時的報文段來響應超時事件。然後TCP重啟定時器。

第三個事件是一個來自接收方的確認報文段(ACK)。當該事件發生時,TCP將ACK的值y與變數SendBase(發送窗口的基地址)進行比較。TCP狀態變數SendBase是最早未被確認的位元組的序號。就是指接收方已正確按序接收到數據的最後一個位元組的序號。TCP採用累積確認,所以y確認了位元組編號在y之前的所有位元組都已經收到。如果Y>SendBase,則該ACK是在確認一個或多個先前未被確認的報文段。因此發送方更新其SendBase變數,相當於發送窗口向前移動。

另外,如果當前有未被確認的報文段,TCP還要重新啟動定時器。

快速重傳

超時觸發重傳存在的另一個問題是超時周期可能相對較長。當一個報文段丟失時,這種長超時周期迫使發送方等待很長時間才重傳丟失的分組,因而增加了端到端時延。所以通常發送方可在超時事件發生之前通過觀察冗餘ACK來檢測丟包情況。

冗餘ACK就是接收方再次確認某個報文段的ACK,而發送方先前已經收到對該報文段的確認。

當TCP接收方收到一個序號比所期望的序號大的報文段時,它認為檢測到了數據流中的一個間隔,即有報文段丟失。這個間隔可能是由於在網路中報文段丟失或重新排序造成的。因為TCP使用累計確認,所以接收方不向發送方發回否定確認,而是對最後一個正確接收報文段進行重復確認(即產生一個冗餘ACK)

如果TCP發送方接收到對相同報文段的3個冗餘ACK.它就認為跟在這個已被確認過3次的報文段之後的報文段已經丟失。一旦收到3個冗餘ACK,TCP就執行快速重傳 ,

即在該報文段的定時器過期之前重傳丟失的報文段。

5流量控制

前面講過,一條TCP連接雙方的主機都為該連接設置了接收緩存。當該TCP連接收到正確、按序的位元組後,它就將數據放入接收緩存。相關聯的應用進程會從該緩存中讀取數據,但沒必要數據剛一到達就立即讀取。事實上,接收方應用也許正忙於其他任務,甚至要過很長時間後才去讀取該數據。如果應用程序讀取數據時相當緩慢,而發送方發送數據太多、太快,會很容易使這個連接的接收緩存溢出。

TCP為應用程序提供了流量控制服務以消除發送方導致接收方緩存溢出的可能性。因此,可以說 流量控制是一個速度匹配服務,即發送方的發送速率與接收方應用程序的讀速率相匹配。

前面提到過,TCP發送方也可能因為IP網路的擁塞而被限制,這種形式的發送方的控制被稱為擁塞控制(congestioncontrol)。

TCP通過讓接收方維護一個稱為接收窗口的變數來提供流量控制。接收窗口用於告訴發送方,該接收方還有多少可用的緩存空間。因為TCP是全雙工通信,在連接兩端的發送方都各自維護一個接收窗口變數。 主機把當前的空閑接收緩存大小值放入它發給對方主機的報文段接收窗口欄位中,通知對方它在該連接的緩存中還有多少可用空間。

6 TCP連接管理

客戶機中的TCP會用以下方式與伺服器建立一條TCP連接:

第一步: 客戶機端首先向伺服器發送一個SNY比特被置為1報文段。該報文段中不包含應用層數據,這個特殊報文段被稱為SYN報文段。另外,客戶機會選擇一個起始序號,並將其放置到報文段的序號欄位中。為了避免某些安全性攻擊,這里一般隨機選擇序號。

第二步: 一旦包含TCP報文段的用戶數據報到達伺服器主機,伺服器會從該數據報中提取出TCPSYN報文段,為該TCP連接分配TCP緩存和控制變數,並向客戶機TCP發送允許連接的報文段。這個允許連接的報文段還是不包含應用層數據。但是,在報文段的首部卻包含3個重要的信息。

首先,SYN比特被置為1。其次,該 TCP報文段首部的確認號欄位被置為客戶端序號+1最後,伺服器選擇自己的初始序號,並將其放置到TCP報文段首部的序號欄位中。 這個允許連接的報文段實際上表明了:「我收到了你要求建立連接的、帶有初始序號的分組。我同意建立該連接,我自己的初始序號是XX」。這個同意連接的報文段通常被稱為SYN+ACK報文段。

第三步: 在收到SYN+ACK報文段後,客戶機也要給該連接分配緩存和控制變數。客戶機主機還會向伺服器發送另外一個報文段,這個報文段對伺服器允許連接的報文段進行了確認。因為連接已經建立了,所以該ACK比特被置為1,稱為ACK報文段,可以攜帶數據。

一旦以上3步完成,客戶機和伺服器就可以相互發送含有數據的報文段了。

為了建立連接,在兩台主機之間發送了3個分組,這種連接建立過程通常被稱為 三次握手(SNY、SYN+ACK、ACK,ACK報文段可以攜帶數據) 。這個過程發生在客戶機connect()伺服器,伺服器accept()客戶連接的階段。

假設客戶機應用程序決定要關閉該連接。(注意,伺服器也能選擇關閉該連接)客戶機發送一個FIN比特被置為1的TCP報文段,並進人FINWAIT1狀態。

當處在FINWAIT1狀態時,客戶機TCP等待一個來自伺服器的帶有ACK確認信息的TCP報文段。當它收到該報文段時,客戶機TCP進入FINWAIT2狀態。

當處在FINWAIT2狀態時,客戶機等待來自伺服器的FIN比特被置為1的另一個報文段,

收到該報文段後,客戶機TCP對伺服器的報文段進行ACK確認,並進入TIME_WAIT狀態。TIME_WAIT狀態使得TCP客戶機重傳最終確認報文,以防該ACK丟失。在TIME_WAIT狀態中所消耗的時間是與具體實現有關的,一般是30秒或更多時間。

經過等待後,連接正式關閉,客戶機端所有與連接有關的資源將被釋放。 因此TCP連接的關閉需要客戶端和伺服器端互相交換連接關閉的FIN、ACK置位報文段。

Ⅶ 關於怎麼學計算機網路(謝希仁第六版)

我是網路工程專業的老師。我先問第一個問題,你學網路的目的是什麼?
如果你是為了參加各種考試,那麼謝希仁的書是一個比較好的選擇,看書的時候得多做題,從我的經驗來說,如果沒有一個老師給你講一下,單純自學沒有基礎,那是有點困難的。因為計算機網路跟其他的很多課程都有緊密的聯系。
TCP/IP當然是計算機網路的基礎,詳細介紹了該協議棧運行的過程,比較專業,如果沒有學計算機網路這門課,直接學習很困難。
如果從實用出發,你沒有必要知道網路的原理,一樣可以開發程序的。本來計算機網路就是對普通用戶透明的,只是給用戶提供服務的,所以直接開始編程的學習應該更適合你吧。學編程,別忘記一定要去學資料庫。
還有不明白的,私信給我

Ⅷ 求《計算機網路自頂向下方法》第6版(陳鳴譯)課後習題答案

提取碼:2dj1 復制這段內容後打開網路網盤手機App,操作更方便哦 不用謝

Ⅸ 大學的計算機網路課程該怎麼學習,記筆記 自從上了大學,我們好多課程都變成了在網上看視頻學習,尤

2級c語言比較好過,把書看懂,把題目弄清楚,再做幾套模擬題,就夠了