計算機網路基礎學法:
1、看書:對於計算機比較基礎的模塊,我都是比較推薦找一本經典的書籍來好好學習下,不可以只看面經就去面試了。
2、做筆記:計算機網路的知識點還是比較多的,需要看書的時候做好筆記,方便復習。而且做筆記的時候可以就這個知識點去網路下,看看有沒有自己遺漏的點,再給補充進來。
學習計算機網路時我們一般採用折中的辦法,也就是中和 OSI 和 TCP/IP 的優點,採用一種只有五層協議的體系結構,這樣既簡潔又能將概念闡述清楚。
應用層(application-layer)的任務是通過應用進程間的交互來完成特定網路應用。應用層協議定義的是應用進程(進程:主機中正在運行的程序)間的通信和交互的規則。
對於不同的網路應用需要不同的應用層協議。在互聯網中應用層協議很多,如域名系統 DNS,支持萬維網應用的 HTTP 協議,支持電子郵件的 SMTP 協議等等。我們把應用層交互的數據單元稱為報文。
運輸層(transport layer)的主要任務就是負責向兩台主機進程之間的通信提供通用的數據傳輸服務。應用進程利用該服務傳送應用層報文。「通用的」是指並不針對某一個特定的網路應用,而是多種應用可以使用同一個運輸層服務。
❷ 計算機網路技術的基礎知識
計算機網路技術的基礎知識
什麼是網路技術?我們將地理位置不同,具有獨立功能的多個計算機系統,通過通信設備和線路互相連接起來,使用功能完整的網路軟體來實現網路資源共享的大系統,稱為計算機網路。下面跟我一起學習了解一些計算機網路技術的基礎知識。
計算機網路是什麼?
這是首先必須解決的一個問題,絕對是核心概念.我們講的計算機網路,其實就是利用通訊設備和線路將地理位置不同的、功能獨立的多個計算機系統互連起來,以功能完善的網路軟體(即網路通信協議、信息交換方式及網路操作系統等)實現網路中資源共享和信息傳遞的系統。它的功能最主要的表現在兩個方面:一是實現資源共享(包括硬體資源和軟體資源的共享);二是在用戶之間交換信息。計算機網路的作用是:不僅使分散在網路各處的計算機能共享網上的所有資源,並且為用戶提供強有力的通信手段和盡可能完善的服務,從而極大的方便用戶。從網管的角度來講,說白了就是運用技術手段實現網路間的信息傳遞,同時為用戶提供服務。
★計算機網路由哪幾個部分組成?
計算機網路通常由三個部分組成,它們是資源子網、通信子網和通信協議.所謂通信子網就是計算機網路中負責數據通信的部分;資源子網是計算機網路中面向用戶的部分,負責全網路面向應用的數據處理工作;而通信雙方必須共同遵守的規則和約定就稱為通信協議,它的存在與否是計算機網路與一般計算機互連系統的根本區別。所以從這一點上來說,我們應該更能明白計算機網路為什麼是計算機技術和通信技術發展的產物了。
★計算機網路的種類怎麼劃分?
現在最常見的劃分方法是:按計算機網路覆蓋的地理范圍的大小,一般分為廣域網(WAN)和區域網(LAN)(也有的劃分再增加一個城域網(MAN))。顧名思義,所謂廣域網無非就是地理上距離較遠的網路連接形式,例如聞名的Internet網,Chinanet網就是典型的廣域網。而一個區域網的范圍通常不超過10公里,並且經常限於一個單一的建築物或一組相距很近的建築物.Novell網是目前最流行的.計算機區域網。
★計算機網路的體系結構是什麼?
在計算機網路技術中,網路的體系結構指的是通信系統的整體設計,它的目的是為網路硬體、軟體、協議、存取控制和拓撲提供標准.現在廣泛採用的是開放系統互連OSI(Open SystemInterconnection)的參考模型,它是用物理層、數據鏈路層、網路層、傳送層、對話層、表示層和應用層七個層次描述網路的結構.你應該注重的是,網路體系結構的優劣將直接影響匯流排、介面和網路的性能.而網路體系結構的要害要素恰恰就是協議和拓撲。目前最常見的網路體系結構有FDDI、乙太網、令牌環網和快速乙太網等。
★計算機網路的協議是什麼?
剛才說過網路體系結構的要害要素之一就是網路協議。而所謂協議(Protocol)就是對數據格式和計算機之間交換數據時必須遵守的規則的正式描述,它的作用和普通話的作用如出一轍。依據網路的不同通常使用Ethernet(乙太網)、NetBEUI、IPX/SPX以及TCP/IP協議。Ethernet是匯流排型協議中最常見的網路低層協議,安裝輕易且造價便宜;而NetBEUI可以說是專為小型區域網設計的網路協議。對那些無需跨經路由器與大型主機通信的小型區域網,安裝NetBEUI協議就足夠了,但假如需要路由到另外的區域網,就必須安裝IPX/SPX或TCP/IP協議.前者幾乎成了Novell網的代名詞,而後者就被聞名的Internet網所採用.非凡是TCP/IP(傳輸控制協議/網間協議)就是開放系統互連協議中最早的協議之一,也是目前最完全和應用最廣的協議,能實現各種不同計算機平台之間的連接、交流和通信。
;❸ 計算機網路技術基礎知識
1.在以單計算機為中心的聯機系統中,(通信子網)專門負責通信工作,從而實現數據處理與通信控制的分工。
2. 60年代中期,英國國家物理實驗室NPL的Davies提出了( 分組(Packer))的概念,1969年美國的(分組交換網ARPA)網投入運行,從而使計算機網路通信方式由終端與計算機之間的通信,發展到計算機與計算機之間的直接通信。
3. 國際標准化組織ISO著手制定開放系統互聯的一系列標准,旨在將(interconnection)計算機方便互聯,構成網路,該委員會制定了(interconnection / Open System Interconnection)縮寫為ISO/OSI。
4.計算機網路系統包括(MAN / Metropolitan Area Network)子網和(WAN / Wide Area Network)子網。
5.計算機網路按距離劃分分為:(Local Area Network;LAN)、(Metropolitan Area Network;MAN)和(Wide Area Network;WAN)。
6.計算機網路按數據交換方式劃分分為:(虛線路傳輸分組交換)、(報文交換)、(幀中繼交換)
1.計算機網路與終端分時系統都有哪些特點?
答:網路是計算機有自己的操作系統,例如微機連接成的網路。
終端是使用telnet方式登錄到伺服器。例如UNIX或linux上達到系統輸入數據的墓地。終端的操作系統非常小,一般銀行使用後種模式。
2.匯流排型結構的網路特點有哪些?
答:匯流排型結構的網路特點如下:結構簡單,可擴充性好。當需要增加節點時,只需要在匯流排上增加一個分支介面便可與分支節點相連,當匯流排負載不允許時還可以擴充匯流排;使用的電纜少,且安裝容易;使用的設備相對簡單,可靠性高;維護難,分支節點故障查找難。
3.星型結構的網路有哪些優點和缺點?
答:安裝和維護的費用較高,共享資源的能力較差,通信線路利用率不高,對中心結點要求相當高,一旦中心結點出現故障,則整個網路將癱瘓。
4.環形結構的網路有哪些優點和缺點?
答: 環形結構中的各節點通過有源介面連接在一條閉合的環形通信線路中,是點-點式結構。環形網中每個節點對佔用環路傳送數據都有相同權力,它發送的信息流按環路設計的流向流動 。為了提高可靠性,可採用雙環或多環等冗餘措施來解決。目前的環形結構中採用了一種多路訪問部件MAU,當某個節點發生故障時,可以自動旁路,隔離故障點,這也使可靠性得到了提高。
� 環形結構的優點是實時性好,信息吞吐量大,網的周長可達200km,節點可達幾百個。缺點因環路是封閉的。所以擴充不便。這種結構在IBM於1985年推出令牌環網後,已為人們所接受 ,目前推出的FDDI網就是使用這種雙環結構。
❹ 計算機網路筆記——數據鏈路層(停等協議、GBN、SR)
流量控制:防止發送端發送和接收端接收速度不匹配造成傳輸錯誤
傳輸層和數據鏈路層均有流量控制,但是控制手法不一樣
傳輸層:端到端,接收端向發送端發送一個窗口公告。告訴發送端目前我能接收多少
數據鏈路層:點到點,接收端接收不下的就不回復確認(ack),讓發送端自己重傳
涉及協議較多分批寫
優點 :最簡單的控制協議
缺點 :但是性能較弱,信道利用率低
控制方法 :
發送方:發送一個幀
接收方:接收到幀後返回改幀的ack
發送方:接收到ack後發送下一個幀
差錯控制 :
注意 :
滑動窗口協議是基於停止等待協議的優化版本
停止等待協議性能是因為需要等待ack之後才能發送下一個幀,在傳送的很長時間內信道一直在等待狀態
滑動窗口則利用緩沖思想,允許連續發送(未收到ack之前)多個幀,以加強信道利用
窗口 :其實就是緩沖幀的一個容器,將處理好的幀發送到緩沖到窗口,可以發送時就可以直接發送,藉此優化性能。一個幀對應一個窗口。
GBN是滑動窗口中的一種,其中 發送窗口 > 1 , 接收窗口=1 因發送錯誤後需要退回到最後正確連續幀位置開始重發,故而得名。
控制方法 :
發送端:在將發送窗口內的數據連續發送
接收端:收到一個之後向接收端發送累計確認的ack
發送端:收到ack後窗口後移發送後面的數據
累計確認 :累計確認允許接收端一段時間內發送一次ack而不是每一個幀都需要發送ack。該確認方式確認代表其前面的幀都以正確接收到
eg:發送端發送了編號 0,1,2,3,4,5 的幀,等待一段時間後(超過3的超時計時器)累計收到的ack對應 0,2 幀,則證明已經成功 0,1,2 均已經成功接收, 3 傳輸錯誤。並且哪怕 4,5 兩個幀接收成功後也不會返回 4,5 的ack會一直等待從 3 開始重傳
差錯控制 :
發送幀丟失、ack丟失、ack遲到 等處理方法基本和停等協議相同,不同的是採用累計確認恢復的方式,當前面的幀出錯之後後面幀無論是否發送成功都要重傳
優點:信道利用率高(利用窗口有增加發送端佔用,並且減少ack回復次數)
缺點:累計確認使得該方法只接收正確順序的幀,而不接受亂序的幀,錯誤重傳浪費嚴重
發送窗口大小問題
窗口理論上是越多性能越好,但是窗口不能無限大,n比特編碼最大隻能2^(n-1)個窗口,否則會造成幀無法區分(本質就是留了一個比特區分兩組幀)
SR協議可以說是GBN的plus版本,在GBN的基礎上改回每一個幀都要確認的機制,解決了累計確認只接收順序幀的弊端只需要重發錯誤幀。
其中 發送窗口 > 1 , 接收窗口 > 1 , 接收窗口 > 發送窗口 (建議接 收窗口 = 發送窗口 接收窗口少了溢出多了浪費).
控制方法 :
發送端:將窗口內的數據連續發送
接收端:收到一個幀就將該幀緩存到窗口中並回復一個ack
接收端:接收到順序幀後將數據提交給上層並接收窗口後移(若接收到的幀不是連續的順序幀時接收窗口不移動)
發送端:接收到順序幀的ack後發送窗口後移(同理發送窗口接收到的ack不連續也不移動)
差錯控制 :
發送幀丟失、ack丟失、ack遲到 三類處理方式仍然和停等協議相同,不同的是SR向上層提交的是多個連續幀,停等只提交一個幀(不連續的幀要等接收或重傳完成後才會提交)
發送窗口大小問題
同GBN一樣,發送窗口和接收窗口都不能無限多,且不說緩存容量問題,當兩組幀同時發送時會造成無法區分,大小上限仍然是2^(n-1)個窗口(本質就是留了一個比特寫組號)
窗口大小這里留一張截圖,方便理解
假設窗口大小都為3(圖中編號到了3是借4窗口的圖,正常應編號到2,但是不妨礙理解)
左邊是錯誤重發,第一組的0幀ack丟失了
右邊是正常收發
三種協議對比:
停等協議:單線程的傻子,簡單不易出錯,但是效率極其低下
GBN:假的多線程(接收端太坑啦),接收端是情種,只等待自己哪一個幀,丟棄了後來的幀
SR:多線程,接收端有收藏癖,等待集齊一套召喚神龍(提交給上層這只神龍……)
❺ 計算機網路自學筆記: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置位報文段。
❻ 計算機網路(3)
課程筆記,筆記主要來源於《計算機網路(第7版)》,侵刪
簡述/引言:
信道是鏈路的一個抽象,並非實際的描述。
數據鏈路層有兩種類型:
鏈路:一個結點到相鄰接待您的一段物理線路(有限或無線),中間沒有其他的交換結點。
數據鏈路:實現協議的硬體和軟體 + 鏈路 = 數據鏈路
網路適配器:一般都包括了數據鏈路層和物理層這兩層的功能
*規程:早期的數據通信協議
幀:點對點信道的數據鏈路層的協議數據單元
IP數據報:網路層協議數據單元(數據報、分組、包)
三個基本問題:封裝成幀、透明傳輸、差錯檢測
目前點對點鏈路中,使用最廣泛的數據鏈路層協議就是PPP協議
PPP協議:用戶計算機和ISP進行通信時所使用的數據鏈路層協議
PPP協議應滿足的需求(主要部分):
PPP協議的三個組成部分:
首部和尾部分別為四個欄位和兩個欄位
首部:
區域網的主要特點:網路為一個單位所擁有,且地理范圍和站點數目均有限
*區域網具有的優點:
區域網按網路拓撲進行分類有:星形網、環線網、匯流排網(現使用最多)
共享信道的方法:
乙太網的兩個標准:DIX Ethernet V2 和 IEEE的802.3標准
802.3標准把區域網的數據鏈路層拆成兩個子層:邏輯鏈路控制LLC子層(偏網路層)、媒體接入控制MAC子層(偏物理層)
適配器(網路介面卡/網卡)的作用:連接計算機與外界區域網
早期的乙太網是多個計算機連接在一條匯流排上的
匯流排的特點:廣播通信方式,實現一對一通信
為了通信的簡便,乙太網採取了兩種措施:
CSMA/CD協議(載波監聽多點接入/碰撞檢測):
CSMA/CD協議特性:
關於碰撞:
集線器:在星型拓撲網路的中心增加的一種可靠性非常高的設備
集線器的特點:
令 , 為單程端到端時延, 為幀的發送時間
則 越小,乙太網的信道利用率就越高
極限信道率
只有當參數 遠小於1才能得到盡可能的信道利用率
MAC地址:48位(IEEE 802標准),是區域網中的硬體地址/物理地址,是每個站的「名字」或標識符(固化在適配器的ROM中的地址,一般不可更改)
IP地址:32位,代表了一台計算機,是終端地址(可更改)
MAC幀之間傳送要有一定的時間間隔
適配器對接收到的MAC幀的處理:先檢查MAC幀中的目的地址,若是本站的則收下再進行其它處理,否則直接丟棄
接收到的MAC幀有三種:
MAC幀的格式
兩種MAC幀格式標准:DIX Ethernet V2標准(乙太網V2標准)、IEEE的802.3標准
MAC幀的類型欄位用來標志上一層用的什麼協議,以便把接收到的MAC幀的數據上交給上一層的這個協議
IEEE 802.3標准規定的無效MAC幀:
(原理不變,擴大距離)
使用光纖和一對光纖調節器
使用多個集線器
好處:
缺點:
最初使用網橋
網橋的傳輸不會改變MAC幀的源地址
網橋的作用:對MAC幀的目的地址進行轉發和過濾
網橋的優點:
網橋的缺點:
後改用乙太網交換機
乙太網交換機 / 交換式集線器:工作在數據鏈路層,實質上就是一個多介面的網橋
乙太網交換機特點:是一種透明網橋(一種即插即用設備),其內部的幀交換表(地址表)是通過自學習演算法自動轉建立起來的
乙太網交換機可實現虛擬區域網(VLAN)
虛擬區域網:由一些區域網網段構成的與物理位置無關的邏輯組
❼ 計算機網路入門知識
計算機網路 課程的特點是計算機技術與通信技術的結合,從事計算機網路課程教學的教師應具備計算機網路建設、管理和研究的背景。下面是我整理的一些關於計算機網路入門知識的相關資料,供你參考。
計算機網路入門知識大全
一、計算機網路基礎
對「計算機網路」這個概念的理解和定義,隨著計算機網路本身的發展,人們提出了各種不同的觀點。
早期的計算機系統是高度集中的,所有的設備安裝在單獨的大房間中,後來出現了批處理和分時系統,分時系統所連接的多個終端必須緊接著主計算機。50年代中後期,許多系統都將地理上分散的多個終端通過通信線路連接到一台中心計算機上,這樣就出現了第一代計算機網路。
第一代計算機網路是以單個計算機為中心的遠程聯機系統。典型應用是由一台計算機和全美范圍內2000多個終端組成的飛機定票系統。
終端:一台計算機的外部設備包括CRT控制器和鍵盤,無GPU內存。
隨著遠程終端的增多,在主機前增加了前端機FEP當時,人們把計算機網路定義為「以傳輸信息為目的而連接起來,實現遠程信息處理或近一步達到資源共享的系統」,但這樣的通信系統己具備了通信的雛形。
第二代計算機網路是以多個主機通過通信線路互聯起來,為用戶提供服務,興起於60年代後期,典型代表是美國國防部高級研究計劃局協助開發的ARPAnet。
主機之間不是直接用線路相連,而是介面報文處理機IMP轉接後互聯的。IMP和它們之間互聯的.通信線路一起負責主機間的通信任務,構成了通信子網。通信子網互聯的主機負責運行程序,提供資源共享,組成了資源子網。
兩個主機間通信時對傳送信息內容的理解,信息表示形式以及各種情況下的應答信號都必須遵守一個共同的約定,稱為協議。
在ARPA網中,將協議按功能分成了若干層次,如何分層,以及各層中具體採用的協議的總和,稱為網路體系結構,體系結構是個抽象的概念,其具體實現是通過特定的硬體和軟體來完成的。
70年代至80年代中第二代網路得到迅猛的發展。
第二代網路以通信子網為中心。這個時期,網路概念為「以能夠相互共享資源為目的互聯起來的具有獨立功能的計算機之集合體」,形成了計算機網路的基本概念。
第三代計算機網路是具有統一的網路體系結構並遵循國際標準的開放式和標准化的網路。
IS0在1984年頒布了0SI/RM,該模型分為七個層次,也稱為0SI七層模型,公認為新一代計算機網路體系結構的基礎。為普及區域網奠定了基礎。(^60090922a^1)
70年代後,由於大規模集成電路出現,區域網由於投資少,方便靈活而得到了廣泛的應用和迅猛的發展,與廣域網相比有共性,如分層的體系結構,又有不同的特性,如區域網為節省費用而不採用存儲轉發的方式,而是由單個的廣播信道來連結網上計算機。
第四代計算機網路從80年代末開始,區域網技術發展成熟,出現光纖及高速網路技術,多媒體,智能網路,整個網路就像一個對用戶透明的大的計算機系統,發展為以Internet為代表的互聯網。
計算機網路:將多個具有獨立工作能力的計算機系統通過通信設備和線路由功能完善的網路軟體實現資源共享和數據通信的系統。
從定義中看出涉及到三個方面的問題:
(1)至少兩台計算機互聯。
(2)通信設備與線路介質。
(3)網路軟體,通信協議和NOS
二、計算機網路的分類
用於計算機網路分類的標准很多,如拓撲結構,應用協議等。但是這些標准只能反映網路某方面的特徵,最能反映網路技術本質特徵的分類標準是分布距離,按分布距離分為LAN,MAN,WAN,Internet。
1.區域網
幾米——10公里。小型機,微機大量推廣後發展起來的,配置容易,速率高,4Mbps~2GbpS。 位於一個建築物或一個單位內,不存在尋徑問題,不包括網路層。
2.都市網
10公里——100公里。對一個城市的LAN互聯,採用IEEE802.6標准,50Kbps~l00Kbps,位於一座城市中。
3.廣域網
也稱為遠程網,幾百公里——幾千公里。發展較早,租用專線,通過IMP和線路連接起來,構成網狀結構,解決循徑問題,速率為9.6Kbps~45Mbps 如:郵電部的CHINANET,CHINAPAC,和CHINADDN網。
4.互聯網
並不是一種具體的網路技術,它是將不同的物理網路技術按某種協議統一起來的一種高層技術。
三、區域網的特徵
區域網分布范圍小,投資少,配置簡單等,具有如下特徵:
(1)傳輸速率高:一般為1Mbps--20Mbps,光纖高速網可達100Mbps,1000MbpS
(2)支持傳輸介質種類多。
(3)通信處理一般由網卡完成。
(4)傳輸質量好,誤碼率低。
(5)有規則的拓撲結構。
四、區域網的組成
區域網一般由伺服器、工作站、網卡和傳輸介質四部分組成。
1.伺服器
運行網路0S,提供硬碟、文件數據及列印機共享等服務功能,是網路控制的核心。
從應用來說較高配置的普通486以上的兼容機都可以用於文件伺服器,但從提高網路的整體性能,尤其是從網路的系統穩定性來說,還是選用專用伺服器為宜。
目前常見的NOS主要有Netware,Unix和Windows NT三種。
(1)Netware:
流行版本V3.12,V4.11,V5.0,對硬體要求低,應用環境與DOS相似,技術完善,可靠,支持多種工作站和協議,適於區域網操作系統,作為文件伺服器,列印伺服器性能好。
(2)Unix:
一種典型的32位多用戶的NOS,主要應用於超級小型機,大型機上,目前常用版本有Unix SUR4.0。支持網路文件系統服務,提供數據等應用,功能強大,不易掌握,命令復雜,由AT&T和SCO公司推出。
(3)Windows NT Server 4.0:
一種面向分布式圖形應用程序的完整平台系統,界面與Win95相似,易於安裝和管理,且集成了Internet網路管理工具,前景廣闊。
伺服器分為文件伺服器,列印伺服器,資料庫伺服器,在Internet網上,還有Web,FTP,E-mail等伺服器。
網路0S朝著能支持多種通信協議,多種網卡和工作站的方向發展。
2.工作站
可以有自己的0S,獨立工作;通過運行工作站網路軟體,訪問Server共享資源,常見有DOS工作站,Windows 95工作站。
3.網卡
將工作站式伺服器連到網路上,實現資源共享和相互通信,數據轉換和電信號匹配。
網卡(NTC)的分類:
(1)速率:10Mbps,100Mbps
(2)匯流排類型:ISA/PCI
(3)傳輸介質介面:
單口:BNC(細纜)或RJ-45(雙絞線)。(^60090922b^2)
4.傳輸介質
目前常用的傳輸介質有雙絞線,同軸電纜,光纖等。
(1)雙絞線(TP):
將一對以上的雙絞線封裝在一個絕緣外套中,為了降低干擾,每對相互扭繞而成。分為非屏蔽雙絞線(UTP)和屏蔽雙絞線(STP)。區域網中UTP分為3類,4類,5類和超5類四種。
以AMP公司為例:
3類:10Mbps,皮薄,皮上注「cat3」,箱上注「3類」,305米/箱,400元/箱。
4類:網路中用的不多。
5類:(超5類)100Mbps,10Mbps,皮厚,匝密,皮上注「cat5」,箱上注5類,305米/箱,600—700元/箱(每段100米,接4個中繼器,最大500米)。
接線順序:
正常: 白桔 桔 白綠 藍 白藍 綠 白棕 棕
(對應) 1 2 3 4 5 6 7 8
集聯: 白綠 綠 白桔 棕 白棕 桔 白藍 藍
(對應) 1 2 3 4 5 6 7 8
STP:內部與UTP相同,外包鋁箔,Apple,IBM公司網路產品要求使用STP雙絞線,速率高,價格貴。
(2)同軸電纜:
由一根空心的外圓柱導體和一根位於中心軸線的內導線組成,兩導體間用絕緣材料隔開。
按直徑分為粗纜和細纜。
粗纜:傳輸距離長,性能高但成本高,使用於大型區域網干線,連接時兩端需終接器。
A.粗纜與外部收發器相連。
B.收發器與網卡之間用AUI電纜相連。
C.網卡必須有AUI介面:每段500米,100個用戶,4個中繼器可達2500米,收發器之間最小2.5米,收發器電纜最大50米。
細纜:傳輸距離短,相對便宜,用T型頭,與BNC網卡相連,兩端安50歐終端電阻。
每段185米,4個中繼器,最大925米,每段30個用戶,T型頭之間最小0.5米。 按傳輸頻帶分為基帶和寬頻傳輸。
基帶:數字信號,信號占整個信道,同一時間內能傳送一種信號。
寬頻:傳送的是不同頻率的信號。
(3)光纖:
應用光學原理,由光發送機產生光束,將電信號變為光信號,再把光信號導入光纖,在另一端由光接收機接收光纖上傳來的光信號,並把它變為電信號,經解碼後再處理。分為單模光纖和多模光纖。絕緣保密性好。
單模光纖:由激光作光源,僅有一條光通路,傳輸距離長,2公里以上。
多模光纖:由二極體發光,低速短距離,2公里以內。
五、區域網的幾種工作模式
1.專用伺服器結構(Server-Baseb)
又稱為「工作站/文件伺服器」結構,由若乾颱微機工作站與一台或多台文件伺服器通過通信線路連接起來組成工作站存取伺服器文件,共享存儲設備。
文件伺服器自然以共享磁碟文件為主要目的。 對於一般的數據傳遞來說已經夠用了,但是當資料庫系統和其他復雜而被不斷增加的用戶使用的應用系統到來的時候,伺服器已經不能承擔這樣的任務了,因為隨著用戶的增多,為每個用戶服務的程序也增多,每個程序都是獨立運行的大文件,給用戶感覺極慢,因此產生了客戶機/伺服器模式。
2.客戶機/伺服器模式(client/server)
其中一台或幾台較大的計算機集中進行共享資料庫的管理和存取,稱為伺服器,而將其他的應用處理工作分散到網路中其他微機上去做,構成分布式的處理系統,伺服器控制管理數據的能力己由文件管理方式上升為資料庫管理方式,因此,C/S由的伺服器也稱為資料庫伺服器,注重於數據定義及存取安全後備及還原,並發控制及事務管理,執行諸如選擇檢索和索引排序等資料庫管理功能,它有足夠的能力做到把通過其處理後用戶所需的那一部分數據而不是整個文件通過網路傳送到客戶機去,減輕了網路的傳輸負荷。C/S結構是資料庫技術的發展和普遍應用與區域網技術發展相結合的結果。