計算機網絡學習筆記


計算機網絡學習筆記

網絡

局域網和廣域網的區別

廣域網(wide area network,WAN)也是由具有通信能力的設備相互連接而形成的。可是,局域網和廣域網有一些不同。局域網通常覆蓋范圍受限,可以覆蓋一間辦公室、一棟大樓或一個校園;廣域網則具有更廣的地理覆蓋范圍,可以覆蓋一個城市、一個省、一個國家甚至整個世界。局域網互聯主機;廣域網互聯交換機、路由器、調制解調器等連接設備。局域網通常由使用它的組織擁有;廣域網通常由通信公司建設和運營,使用它的組織進行租用。我們看看目前使用的兩種典型的廣域網:點到點廣域網和交換式廣域網。

網絡層次結構

應用層

倆個應用層之間的邏輯連接是端到端的,其通信處於兩個進程之間。應用層交換的數據成為消息(message)

其常見的協議有http,ssh,smtp,ftp等

傳輸層

兩個傳輸層的邏輯連接也是端到端的。其常見協議有tcp,udp,sctp。TCP中的數據稱為段(segment),UDP中的數據稱為用戶報文(user datagram)

TCP是面向連接的協議,,其提供流量控制、差錯控制、擁塞控制

UDP是無連接協議,其盡最大努力交付數據,但不保證對端一定接收到完整數據。

可靠傳輸

TCP的可靠數據傳輸形式如下所示,發送端按序發送數據分組,接收方接受到一個數據分組后發送一個ACK確認,接受方收到ACK后才開始發送下一個數據分組。

發送方在規定時間內未收到ACK時,會重發當前數據分組。在此過程中數據分組和ACK均可能在傳輸過程中丟失,丟失數據分組會導致接收方無法收到數據分組而不發送ACK,丟失ACK會導致發送方無法收到ACK,兩者中的任意一者丟失都會導致發送方無法接收到ACK。此外,由於網絡影響,ACK可能會延時到達,甚至在發送端超時重發后到達,對於延時到達的重復的數據分組和ACK,發送方和接收方均不在做出反應。

接收方會對接收到的數據分組進行差錯檢驗,若檢驗出錯,接收方不發送ACK,等待發送方超時重傳。

上述形式會導致發送方和接收方花費大量時間等待對方應答,對帶寬利用率低,因此,實際使用時采用流水線的方式對數據進行傳輸。

在上圖中,發送方一次發送多個數據分組,接受方同時接收多個數據分組並針對每個數據分組發送ACK,當發送方收到所有ACK后,開始發送下一批數據分組。為了解決丟包問題,流水線采用回退N步和選擇重傳的方式。

回退N步:接收方按序接收數據分組,若接收到一個失序分組(即此分組前存在未接收到的分組)則丟棄分組,同時接收方只為按序分組發送ACK,若發送方收到某分組的ACK而未收到下一個分組的ACK,則認為此數據分組之前的數據全部傳輸成功,此分組之后的數據全部丟失,發送方開始重傳之后的數據。

選擇重傳:接收方能夠接收失序數據分組,且為每個數據分組發送ACK,接收方只重傳為收到ACK的數據分組而不重傳其之后的數據分組。

擁塞控制和流量控制

流量控制是針對接收方的接收能力的,當接收方無法及時處理發送方發送的大量數據從而導致數據丟失時,發送方會根據流量控制減少數據發送量。流量控制主要靠接收窗口實現,接收方通過接收窗口告知發送方接收能力。

擁塞控制是針對網絡傳輸能力的,當網絡繁忙時,發送的數據可能出現大量的丟包或延時,這時發送方會控制數據發送量以減輕網絡負擔。TCP采用擁塞窗口來解決擁塞問題,擁塞窗口會限制 數據發送速率。TCP采用的擁塞控制算法包括慢啟動,擁塞避免,快恢復

慢啟動,傳輸開始時,發送方會以大小為1的擁塞窗口開始,並以指數級增加擁塞窗口大小,直至發現網絡擁塞達到某一程度時,結束指數增長,轉為擁塞避免。

擁塞避免:以較平緩的方法增加擁塞窗口,當丟包率達到某種程度時,將擁塞窗口減半,並啟動快恢復

快恢復:擁塞窗口不再從1開始,但執行與慢啟動和擁塞避免中相同的操作

網絡層

網絡層的通信時主機到主機的。其主要的協議時IP協議,IP協議是無連接協議,不提供流量控制和差錯控制。網絡中的數據稱為數據報(datagram)

網絡層還包括ICMP、IGMP、DHCP、ARP等輔助協議幫助完成 IP轉發和路由工作。

數據鏈路層

數據鏈路層中的數據單元稱為幀。

交換機、網橋與路由器

網橋(Bridge)也稱為橋接器,是連接兩個局域網的存儲轉發設備,用它可以使完全具有相同或相似體系結構網絡系統的連接,這樣不但能擴展網絡的距離或范圍,而且可提高網絡的性能、可靠性和安全性。網橋工作在OSI參考模型的數據鏈路層(第二層),將兩個LAN連起來,根據MAC地址來轉發幀,可以看作一個“低層的路由器”(路由器工作在網絡層,根據網絡地址如IP地址進行轉發)。

交換機位於鏈路層,其自身對子網中的主機和路由器時透明的,交換機實質是一個多接口的網橋。交換機具有並行性,能夠同時連通多對接口,使多台主機同時通信且彼此之間獨占傳輸媒體,無碰撞發生,而網橋只能一次分析和轉發一個幀。

在數據傳輸過程中,交換機在數據鏈路層上對數據進行轉發,通過識別目標主體的MAC地址決定將數據傳輸到哪個鏈路上 ;路由器在網絡層對數據進行轉發,也就是說路由器在轉發過程中會識別傳輸數據的IP地址,並在鏈路層將IP地址轉化為MAC地址傳遞給一個數據接收主體。對於路由器和交換機來說,其最終都是通過mac來唯一區分一個主體的,但在路由器中,會將mac地址映射為在該局域網內唯一的ip地址,作為設備的標記。

上述過程中,交換機不會改變數據的內容,但路由器可能會修改網絡層以下的的數據內容,比如將數據分組切片。路由器不能修改網絡層以上的數據內容,也就是說,對於兩台主機而言,無論中間經過多少路由器,其接收端從網絡層獲取的數據一定與發送端傳輸到網絡層的數據一致。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM