程序員筆試面試系列-網絡與通信知識點

無論面試什麼樣的程序語言,計算機網絡與通信的相關基礎知識是必須儲備的。本文即從理論的角度對網絡與通信重要知識點進行歸納與整理,希望對大家有所幫助。


1 OSI/RM 參考模型


(1)  物理層(physical layer)
物理層定義了爲建立、維護和拆除物理鏈路所需的機械的、電氣的、功能的和規程的特性,其作用是使原始的數據比特流能在物理媒體上傳輸。物理層的網絡設備有:集線器、中繼器等。

(2)  數據鏈路層(data   link   layer)
數據鏈路層將物理層比特流數據封裝成數據;採用 MAC 地址對介質訪問層進行控制;發現並改正錯誤或通知上層進行更改。  數據鏈路層的網絡設備有:交換機和網橋等。 

(3)  網絡層(network   layer) 
網絡層確定數據包從源端到目的端的傳輸路徑,檢查網絡拓撲,以決定傳輸報文的最佳路由。網絡層的網絡設備有:路由器和三層交換機等。 

(4)傳輸層(transport   layer) 
傳輸層也稱爲運輸層,負責從會話層接受數據,並且在必要的時候把它分成較小的單元,傳輸給網絡層,並確保到達對方各段的信息準確無誤。

(5)  會話層(session   layer)
會話層的主要的功能是對話管理,數據流同步和重新同步。

(6)  表示層(presentation   layer)
表示層的主要的功能是將數據轉換成計算機應用程序相互理解的格式,如數據壓縮、加密、表示等。

(7)  應用層(application   layer) 
應用層包含大量實用的協議,其任務是顯示接收到的信息,把用戶的新數據發送到低層。如發送電子郵件、網絡管理都是在應用層進行。


2 TCP/IP 參考模型 


(1)網絡接口層
TCP/IP 中的網絡接口層對應 OSI 模型中的物理層和數據鏈路層,是 TCP/IP 的最底層,負責數據幀(幀是獨立的網絡信息傳輸單元)的發送和接收。網絡接口層將幀放在網上,或從網上將幀取下來。

(2)網際層(IP 層)
TCP/IP 的網際層提供尋址和路由選擇協議,路由器主要工作在此層。TCP/IP 的網際層對應於OSI/RM 參考模型的網絡層,該層主要運行以下幾個協議。

網際網協議 IP:負責在主機和網絡之間尋址和路由數據包。

地址解析協議 ARP:獲得同一物理網絡中的硬件主機地址。 

網際控制消息協議 ICMP:發送消息,並報告有關數據包的傳送錯誤。  

互聯組管理協議 IGMP:被 IP 主機拿來向本地多路廣播路由器報告主機組成員。

(3)傳輸層

傳輸層位於應用層和網絡層之間,爲終端主機提供端到端的連接,以及流量控制(由窗口機制實現)、可靠性(由序列號和確認技術實現)、支持全雙工傳輸等等。 
傳輸層有兩個傳輸協議:傳輸控制協議 TCP:爲應用程序提供可靠的通信連接。適合於一次傳輸大批數  據的情況。並適用於要求得到響應的應用程序。  用戶數據報協議UDP:提供了無連接通信,且不對傳送包進行可靠的保證。適合於一次傳輸小量數據,可靠性則由應用層來負責。

(4)  應用層
應用程序間進行溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協議(FTP)、網絡遠程訪問協議(Telnet)等。TCP/IP 參考模型已經成爲當前網絡互聯事實上的國際標準。


3 常用網絡設備


網卡:網絡適配器,工作在數據鏈路層;中繼器:工作在物理層的信號處理設備。集線器:工作在物理層的信號再生轉發設備,相當於多口的中繼器。

網橋:工作在數據鏈路層,在LAN間存儲與轉發幀;以太網交換機:工作在數據鏈路層,相當於多接口的網橋;路由器:工作與網絡層,爲數據選擇最優網絡傳輸路徑(數據庫-路由表是其關鍵)。


4 TCP/IP 協議


TCP/IP 協議是在 ARPAnet 的基礎上研製產生的,與其他協議相比,TCP/IP 協議具有跨平臺性,從而可實現各種不同網絡和計算機的互聯,隨着 ARPAnet 逐漸發展成爲 Internet,規定連入 ARPAnet的計算機必須採用 TCP/IP 協議,TCP/IP 協議實際上已經成爲 Internet 的標準連接協議。TCP/IP 協議其實是一個協議簇,內部包含了 ARP,IP,ICMP,IGMP,UDP,TCP 等 100 多個協議,TCP/IP 協議是其中最重要的、確保數據完整傳輸的兩個協議,IP 協議用於在主機之間傳輸數據。TCP 協議則確保數據在傳送過程中不出現錯誤和丟失。

5 控制報文協議 ICMP


IP 提供的數據傳輸是不可靠的,在丟失數據報的同時,IP 規定,應該給源主機一個錯誤報告,這個工作是 ICMP 協議完成的。


6 ARP 與 RARP


在因特網中,儘管路由器和主機都能夠識別 IP 數據報,但無論在廣域網還是在局域網中,路由器和主機發送和接收到的都是各種不同類型的數據幀。當一臺主機要發送數據給另一臺主機時,如果它們在同一子網內部,則源主機必須獲取目的主機的 MAC 地址,如果不在同一子網內部,則源主機需要獲取相應路由器的 MAC 地址。只有這樣,才能最終形成完整的數據幀,目的主機或網關才能接收到。如何將 IP 地址映射成 MAC 地址呢?地址解析協議 ARP 將完成 IP 地址向 MAC 地址的映射;RARP 將完成 MAC 地址向 IP 地址的映射。


7 路由選擇基本原理


數據報傳輸過程中經過若干個路由器最後到達與目的站處於同一網絡上的路由器。路由器根據IP 數據報的目的地址,找到一條轉發的路徑,這一過程,稱爲路由選擇。 路由器選路的依據是 IP 路由表。每個路由器上都保存一張 IP 路由表,IP 路由表存儲着有關可能的目的地址及怎樣到達目的地址的信息,在轉發 IP 數據報時,查詢 IP 路由表,決定把數據報發往何處。路由表的建立有兩種方法,一是人工設定的,二是路由器按照一定的方法學習的,前一種稱爲靜態路由,後一種稱爲動態路由。

8 虛擬局域網 VLAN


將局域網上的用戶或節點劃分成若干“邏輯工作組”。
VLAN 是指在物理網絡基礎架構上,利用交換機和路由器的功能,配置網絡的邏輯拓撲結構,從而允許網絡管理員任意地將一個局域網內的任何數量網段聚合成一個用戶組,就好像它們是一個單獨的局域網。簡單地說,VLAN 將區域分散的組織在邏輯上成爲一個新的工作組,而且同一工作組的成員能夠改變其物理地址而不必重新配置節點。

9 TCP  與  UDP 比較


  •  UDP  在傳送數據之前不需要先建立連接。對方的傳輸層在收到  UDP  報文後,不需要給出任何確認。雖然  UDP  不提供可靠交付,但在某些情況下  UDP  是一種最有效的工作方式。
  •  TCP  則提供面向連接的服務。TCP  不提供廣播或多播服務。由於  TCP  要提供可靠的、面向連接的傳輸服務,因此不可避免地增加了許多的開銷。這不僅使協議數據單元的首部增大很多,還要佔用許多的處理機資源。

10 DNS


域名系統(Domain Name System)的縮寫,指在 Internet 中使用的分配名字和地址的機制。域名系統允許用戶使用友好的名字而不是難以記憶的數字——IP 地址來訪問 Internet 上的主機。
域名解析:就是將用戶訪問的名字變換成網絡地址(IP 地址)的方法和過程,從概念上講,域名解析是一個自上而下的過程。

11 TCP 的流量控制和擁塞控制


流量控制就是讓發送方的發送速率不要太快,要讓接收方來得及接受。通常利用滑勱窗口機制實現流量控制。發送方的發送窗口不能超過接收方給出的接收窗口的數值。
擁塞控制就是防止過多的數據注入到網絡中,這樣可以使網絡中的路由器戒鏈路不致過載。
四種擁塞控制的算法:滿開始、擁塞避免、快重傳、快恢復

12 三次握手機制


第一次握手:客戶端發送 syn 包到服務器,等待服務器確認;
第二次握手:服務器受到 syn 包,並確認 syn 包,同時自己也發送一個 syn 包;
第三次握手:客戶端收到服務。

13 套接字


套接字就像插座,網絡連接就像插頭插入通訊雙方的插座。套接字  socket=(IP 地址:端口號)。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章