1、什么是計算機網絡?
計算機網絡= 通信技術+計算機技術
計算機網絡技術一種通信網絡。
定義:計算機網絡就是一種互聯的、自治的計算機集合。
互聯--互聯互通,通信鏈路
自治--無主從關系
通過“交換網絡”互聯主機,交換網絡的交換節點是交換機或者路由器
2、因特網構成具體描述
網絡協議:計算機有序運行的重要保證
主機/端系統:所有與互聯網相連的設備
分組交換機:從數據鏈路接收到達的分組,並從出通信鏈路轉發該分組。兩種最著名的分組交換機是路由器和鏈路層交換機,路由器通常用於網絡核心中,鏈路層交換機通常用於接入網中。
ISP:因特網服務提供商
協議:端系統、分組交換機和其他因特網部件都要運行一系列協議,這些協議控制因特網中信息的接收和發送。
套接字接口socket:規定了運行在一個端系統上的程序請求因特網基礎設施向運行在另一個端系統上的特定目的地程序交互數據的方式。(因特網中發送數據的程序必須遵循的套接字借口,使因特網向接收數據的程序交付數據)
協議:定義了在兩個或多個通信實體之間交換的報文的格式和順序,以及報文發送、接收報文或其他事件所采取的動作。
3、網絡核心
分組交換
分組:端系統之間彼此交換報文,從原系統向目的系統發送一個報文,源將長報文划分為具體的數據塊
在源和目的之間,每個分組都通過通信鏈路和分組交換機傳送。
存儲轉發傳輸:交換機能夠開始向輸出鏈路傳輸該分組的第一個比特之前,必須接收到整個分組。(所以在交換機接收一部分分組時,需要先緩存)
輸出緩存/輸出隊列:用於存儲路由器准備發往輸出鏈路的分組。
排隊時延:如果,到達的分組需要傳輸的鏈路正忙於其他分組,則該分組必須在輸出緩存中等待。
丟包:因為存儲空間的大小是有限的,一個到達的分組可能發現該緩存已被其他等待傳輸的分組充滿了,到達的分組或是已經排隊的分組之一將被丟棄。
電路交換
在端系統間通信回話期間,預留了端系統間沿路徑通信所需要的資源(緩存、鏈路傳輸速率),典型應用-電話
頻分復用FDM:在連接期間,電路為每條連接專用一個頻段,該頻帶的寬度成為帶寬。
時分復用TDM:時間被划萬為固定期間的幀,每個幀又被划分為固定數量多的時隙
分組交換與電路交換:
分組交換不適合實時服務;
分組交換提供了比電路交換更好的帶寬共享;
分組交換比電路交換更簡單、更有效、實現成本更低。
吞吐量
瞬時吞吐量:主機A向主機B跨越計算機網絡傳送一個大文件,瞬時吞吐量就是主機B接受到該文件的速率。
平均吞吐量:該文件由F比特組成,主機B接收所有F比特用去T秒,則文件傳輸平均吞吐量為F/T bps.
4、協議層機器服務模型
協議棧:各層所有協議綜合起來被稱為協議棧。
因特網協議棧的5個層次:物理層、鏈路層、網絡層、傳輸層、應用層
應用層:網絡應用程序及他們的應用層協議存留的地方,包絡很多協議HTTP(Web文檔的請求和傳送)、SMTP(電子郵件報文傳輸)、FTP(文件傳輸)。
應用層協議分布在多個端系統上,一個端系統的應用程序與另一個端系統的應用程序交換信息分組,在應用層的信息分組成為報文。
運輸層:在應用程序端點之間傳送應用層報文,運輸層的分組為報文段。
運輸層兩種傳輸協議,TCP和UDP,TCP為面向連接的服務,包括了應用層向目的地的確保傳送和流量控制(即發送方/接收方速率匹配);UDP為無連接服務,沒有可靠性、沒有流量控制、沒有擁塞控制。
網絡層:網絡層傳輸的被稱為數據報。
鏈路層:鏈路層的分組被稱為幀。
物理層:將整個幀從一個網絡元素移動到鄰近的網絡元素。
5、OSI七層模型
從下到上,七層結構為:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層
OSI網絡模型分為七層:應用層,表示層,會話層,傳輸層,網絡層,數據鏈路層,物理層
應用層:應用層由網絡應用程序使用(使用互聯網的計算機應用)。在應用層中包含幾十種協議,這些協議可以活躍在一個應用層上,為各種網絡服務提供基礎功能,比如:文件傳輸(FTP)、網上沖浪(HTTP/S)、電子郵件(SMTP)、虛擬終端(Telnet)等。應用層傳輸的信息分組稱為-----報文
表示層:
表示層從應用層接收數據,這些數據主要是以字符和數字的形式出現。
表示層對數據進行以下處理:
- 翻譯:表示層將數據轉換成機器可以理解的二進制格式,例如將ASCII碼轉換成EBCDIC碼
- 壓縮:在數據傳輸之前,表示層為了減少用於表示原始數據的比特數,會對傳輸的數據進行壓縮。壓縮可以分為有損壓縮和無損壓縮。數據壓縮可以減少原始 數據所需的存儲空間,存儲空間的減少可以是數據傳輸的時間減少。數據壓縮對實時視頻、音頻的傳輸有很大的幫助
- 加密/解密:為保證敏感數據的安全,使用SSL(Secure Socket Layer, 安全套接字)協議進行加密/解密。
會話層:會話層對兩個會話進程的建立、維持和結束進行協調和管理,對數據的交換進行管理。
會話層使用 API(應用程序編程接口) 為不同的應用提供服務。例如:NetBIOS(網絡基本輸入輸出系統)允許不同計算機上的應用程序相互通信。
在會話或者連接建立連接之前,服務器執行身份驗證”服務,對身份進行驗證。在用戶信息被發送到服務器之后,計算機和服務器之間的連接被建立。
如果身份驗證成功,將檢查用戶授權,用來確認對文件的訪問權限;如果身份驗證失敗,用戶則會被告知無權訪問此頁面。
會話層會對下載的文件進行跟蹤。例如網頁包含的文本和圖像等,這些文本和圖像作為單獨的文件存儲在Web服務器上。當在Web瀏覽器中請求網站時,Web瀏覽器將打開與Web服務器之間的單獨對話,來下載這些文本和圖像文件。
這些文件以數據包的形式接收,因為一個文件會被分為多個數據包發送,會話層確定數據包是屬於哪個文件。
會話層還確定這些數據包將去往何處,在這個例子中,接收到的數據包將發送到Web瀏覽器。因此會話層對會話管理很有幫助。
網絡瀏覽器會執行應用層,表示層,會話層的所有功能,這也是TCP/IP五層模型出現的原因
傳輸層:傳輸層通過分段、流量控制、差錯控制來保證通信的可靠性,另外還提供面向有鏈接和無連接的傳輸。
- 分段:傳輸層將從會話層接收到的數據划分為較小的數據單元 – – 段(segment)。每個段包含一個源端口號、目的端口號和序列號。這些信息保證引導每個段傳向正確的應用程序,並保證段可以在接收端正確的重新組合成文件
- 流量控制:用於保證傳輸的最大速率。例如,一個移動設備連接到一個服務器,服務器的傳輸速率為100Mbps,而移動設備處理數據的速率是10Mbps。當移動設備從服務器下載數據,在剛開始,服務器以50Mbps的速度發送數據,高於移動設備的傳輸速度。此時移動設備可以通過傳輸層告知服務器端將數據傳輸速率降到10Mbps,這樣就不會造成數據丟失。再例如,服務器傳輸數據的速率是5Mbps,移動設備就會告知服務器將傳輸速率提高至10Mbps,從而保證移動設備的性能。
- 差錯控制:如果傳輸過程中有數據損壞或者丟失,傳輸層會使用自動重傳重新傳輸丟失或損壞的數據。傳輸層在每一個數據段中添加一個校驗和(checksum),用來找出所接收端接收到的錯誤的數據段。
- 面向連接傳輸和無連接傳輸:傳輸層主要包含兩種協議,TCP(Transmission Control Protocol,傳輸控制協議)和UDP (User Datagram Protocol,用戶數據報協議)。傳輸層提供兩種服務:面向連接的傳輸和面向無連接的傳輸。
- 面向連接的傳輸通過TCP實現,面向無連接的傳輸通過UDP來傳輸。
UDP的傳輸速度比TCP要快,因為UDP協議不會反饋信息是否正確的傳輸,而TCP會給出反饋,因此在數據傳輸出現錯誤時,使用TCP會重新傳輸數據。
使用UDP時,是否接收到所有的數據並不重要。例如,流媒體電影、歌曲、游戲、IP語音、TFTP、DNS等。
TCP應用於數據必須完全傳遞的場合。例如萬維網、電子郵件、FTP等
網絡層:傳輸層將數據段傳輸給網絡層,網絡層將這些數據從一個網絡的計算機傳輸到另一個網絡的計算機。網絡層的數據單元稱為數據包。
網絡層的功能是邏輯尋址、路由和路徑確定。
- 邏輯尋址:在網絡層進行的IP尋址稱為邏輯尋址。網絡中的每台計算機都有一個唯一的IP地址。網絡層將發送方和接收方的IP地址添加到數據段,形成IP數據包。添加IP地址是為了確保每個數據包可以到達正確的目的地。
- 路由:路由是將數據包從源端移動到目的端的方法,這些方法基於IPv4和IPv6。
假設計算機A和網絡1相連,計算機B和網絡2相連。當計算機B提出訪問FaceBook的請求時,FaceBook的服務器將做出回應,將數據包傳輸到計算機B。在網絡中,每台設備的IP地址是獨一無二的,因此這兩台計算機都有一個唯一的地址。
Facebook服務器的網絡層已經將發送方和接收方的IP地址添加到數據包中,假設掩碼使用255.255.255.0,表明IP地址的前三個組合標識網絡的地址(Network2的地址),最后一個組合代表主機(計算機2)在當前網絡中的地址。基於IP地址和掩碼,實現數據在網絡中和終端之間的傳輸。
- 路徑選擇:計算機可以通過多種方式連接到Internet服務器,從源到目標數據傳遞的最佳可能路徑稱為“路徑選擇”。網絡層設備使用的協議有OSPF、BGP(邊界網關協議)、IS-IS(中間系統到中間系統),通過這些協議來確定數據傳遞的最佳可能路徑。
數據鏈路層:數據鏈路層從網絡層接收數據包,數據包包含發送方和接收方的IP地址。
尋址方式有兩種:邏輯尋址和物理尋址。邏輯尋址在網絡層完成,發送方IP地址和接收方IP地址加入數據段形成數據包。物理尋址在數據鏈路層完成,發送方和接收方的MAC地址加入數據包中形成數據幀。
MAC地址是由計算機制造商嵌入到計算機網卡的十二位字母數字號碼,每台計算機擁有的MAC地址是唯一的。數據鏈路層中的數據單元稱為“幀”。數據鏈路層作為軟件嵌入到計算機的網卡中,並提供經由本地介質將數據從一台計算機傳輸到另一台計算機的方法。本地介質包括銅線,光纖或無線信號。
數據鏈路層擁有兩個基本功能 :它允許上層使用幀之類的技術訪問通訊介質以及控制數據如何通過傳輸介質投放和接收(介質訪問控制、錯誤監測)
- 介質訪問:
考慮兩台不同的主機,一台筆記本電腦和一台台式機,這兩台主機連接到不同的網絡,使用網絡層IP協議來相互通信。在本例中,台式機通過網線連接到路由器R1,筆記本電腦通過無線網連接到路由器R2,路由器R1和R2通過一些方式連接到其他地方。
現在台式機向筆記本電腦發送一些數據。首先數據通過連接台式機和路由器R1的傳輸介質,數據鏈路層向每個IP數據包的頭和尾增添一些信息形成數據幀。路由器R1接收到這個數據幀之后,會將幀解封取得其中的IP數據包,通過數據包中的IP地址找到發送的路徑之后,再次添加信息封裝成為數據幀,通過最優的路徑發送到路由器R2。R2接收到數據幀后解封裝,通過IP數據包的IP地址找到請求數據的筆記本電腦后,將數據包再次封裝成為無線數據鏈路幀發送。在筆記本電腦接收到數據幀之后,解封裝幀取得IP數據包發送到網絡層,最終應用層將接收到數據之后,通過應用層協議將接收到的數據顯示在計算機的屏幕上。
因此,網絡層或更高級的層能夠在數據鏈路層的幫助下傳輸數據,即數據鏈路層向OSI模型中的更高層級提供了對介質的訪問。
- 控制介質上數據的接收與投放:
用於獲取介質中的數據幀的技術稱為介質訪問控制。連接在公共傳輸介質上的設備可能有多個,如果同一介質上連接的多個設備同時發送數據,這些數據可能會發生沖突,導致產生一個沒有人可以理解的無用信息。為了避免發生沖突,數據鏈路層會監視傳輸介質何時是空閑的,這時設備就可以向接收方傳遞信息,這就是所謂的CSMA(載波偵聽多路訪問)技術。因此,數據鏈路層以及介質訪問方法控制着數據的傳輸。
數據幀中包含着用於檢測信息是否正確的檢驗位,導致錯誤發生的原因是因為傳輸介質的某些限制(電磁干擾等等)。
物理層:
需要傳輸的數據從應用層分割形成的數據段,到傳輸層的數據包,到數據鏈路層的數據幀,再到現在的物理層,是一種二進制序列。物理層可以將這些二進制序列轉換成信號並在傳輸介質上傳輸。這些信號可以是銅纜上的電信號,光纜上的光信號或空氣中的無線電信號,信號的類型取決於設備之間的傳輸介質的類型。
在接收端,物理層將接收到的信號,轉換成為二進制信號,向數據鏈路層傳輸。之后數據鏈路層將數據幀解封裝,將數據包向上傳遞,最終傳遞到應用層,在顯示器上顯示接收到信息