幾乎所有的計算機程序,都會牽涉到網絡通信。因此,瞭解計算機基礎網絡知識,對每一個程序員來說都是異常重要的。
本文在介紹一些基礎網絡知識的同時,給出了一些高質量的系列文章鏈接,以方便大家隨時參考學習。相信通過本文的學習,你能對計算機網絡有全面的認識!
OSI參考模型
第7層:應用層(ApplicationLayer)
應用層能與應用程序界面溝通,以達到展示給用戶的目的。在此常見的協議有:HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。
第6層:表示層(PresentationLayer)
表示層能為不同的客戶端提供數據和信息的語法轉換內碼,使系統能解讀成正確的數據。同時,也能提供壓縮解壓、加密解密。
第5層:會話層(SessionLayer)
會話層用於為通信雙方制定通信方式,並創建、註銷會話(雙方通信)。
第4層:傳輸層(TransportLayer)
傳輸層用於控制數據流量,並且進行調試及錯誤處理,以確保通信順利。而發送端的傳輸層會為分組加上序號,方便接收端把分組重組為有用的數據或文件。
第3層:網絡層(NetworkLayer)
網絡層的作用是決定如何將發送方的數據傳到接收方。該層通過考慮網絡擁塞程度、服務質量、發送優先權、每次路由的耗費來決定節點X到節點Y的最佳路徑。我們熟知的路由器就工作在這一層,通過不斷的接收與傳送數據使得網絡變得相互聯通。
第2層:數據鏈路層(DatalinkLayer)
首先數據鏈路層的功能在於管理第一層的比特數據,並且將正確的數據發送到沒有傳輸錯誤的路線中。創建還有辨認數據開始以及退出的位置同時予以標記。另外,就是處理由數據受損、丟失甚至重複傳輸錯誤的問題,使後續的層級不會受到影響,所以它運行數據的調試、重傳或修正,還有決定設備何時進行傳輸。設備有:Bridge橋接器switch交換器
第1層:物理層(PhysicalLayer)
物理層定義了所有電子及物理設備的規範。其中特別定義了設備與物理媒介之間的關係,這包括了針腳、電壓、線纜規範、集線器、中繼器、網卡、主機適配器(在SAN中使用的主機適配器)以及其他的設備的設計定義。因為物理層傳送的是原始的比特數據流,即設計的目的是為了保證當發送時的信號為二進制“1”時,對方接收到的也是二進制“1”而不是二進制“0”。因而就需要定義哪個設備有幾個針腳,其中哪個針腳發送的多少電壓代表二進制“1”或二進制“0”,還有例如一個bit需要持續幾微秒,傳輸信號是否在雙向上同時進行,最初的連接如何創建和最終如何終止等問題。
物理層的主要功能和提供的服務如下:
在設備與傳輸媒介之間創建及終止連接。
參與通訊過程使得資源可以在共享的多用戶中有效分配。例如,衝突解決機制和流量控制。
對信號進行調製或轉換使得用戶設備中的數字信號定義能與信道上實際傳送的數字信號相匹配。這些信號可以經由物理線纜(例如銅纜和光纜)或是無線信道傳送。