计算机面试常见题目-网络
目錄
- 基礎概念
- 數據單元:網絡信息傳輸的基本單位
- 服務數據單元(SDU):同一臺機器上的兩層之間傳送信息
- 協議數據單元(PDU):發送機器上信息 到接收機器上的相應層
- 數據包:每一層的數據包(數據報)就是對應的PDU
- 傳輸層:tcp報文段、udp用戶數據報
- 網絡層:包(分組 / ip數據報)
- 數據鏈路層:幀(數據鏈路層數據報)
- 功能
- 差錯控制(每一層):在通信中利用編碼方法對傳輸中產生的差錯進行控制,以提高數字消息傳輸的準確性。
- 流量控制(數據鏈路層、傳輸層):限制發送方的數據流量,不超過接收方的接收能力。
- 擁塞控制(網絡層、傳輸層):防止過多數據注入網絡,保證網絡中的路由器或鏈路不至于過載
- 擁塞控制和流量控制區別
- 網絡體系結構
- 1.1 概念:計算機網絡、計算機網絡分類、時延
- 電路交換網絡、報文交換網絡、分組交換網絡(主流,本科討論)
- 1.2.1協議、接口、服務概念
- 1.2.2 計算機網絡服務
- 面向連接服務和無連接服務
- 可靠服務和不可靠服務
- 有應答服務和無應答服務
- 1.2.3 OSI七層參考模型
- 1.2.3 TCP/IP模型
- TCP/IP協議:能夠在多個不同網絡間實現信息傳輸的協議簇。
- OSI模型與TCP/IP模型區別;五層協議體系結構(OSI與TCP/IP模型的折中)
- 物理層:在物理媒體上為數據端設備透明地傳輸原始比特流
- 通信交互方式:單工通信、半雙工通信、全雙工通信
- 數據鏈路層:加強物理層傳輸原始比特流的功能,建立點到點無差錯邏輯鏈路
- 3.1 數據鏈路層功能:幀、流量控制、差錯控制、傳輸管理
- 3.2 數據鏈路層通常可為網絡層提供的服務
- 3.3 PPP(Point-to-Point)協議:不可靠但檢錯,全雙工
- 為什么不實現可靠傳輸
- 為什么不可靠,還對數據幀差錯檢測
- 網絡層:把網絡層的協議單元(分組)從源端傳送到目的端,為分組交換網上的不同主機 提供主機到主機通信服務,只討論IP數據報
- 4.0 數據報和虛電路(分組交換兩種方式,tcp/ip只支持數據報,本科僅討論數據報)
- 4.1 網絡層功能:異構網絡互聯、(分組)路由轉發、擁塞控制
- 描述網絡層分組轉發流程
- 4.2.1 什么是盡最大努力交付?
- 4.2.2 為什么有了MAC還要有IP
- 4.3 IP分組(IP數據報)概念
- 4.3 IP地址的特點
- 4.4.1 NAT(網絡地址轉換):將專用網絡地址轉換為公用地址
- 4.4.2 ARP(地址解析協議):根據IP地址獲取物理地址 的一個TCP/IP協議。
- 4.4.2 在一個很大的網絡中能否用交換機代替路由器
- 4.4.3 ip有分片功能,而廣域網中的分組不用分片,為什么?
- 傳輸層:提供應用進程之間端到端的邏輯通訊。
- 5.1 傳輸層功能:流量控制、擁塞控制、差錯控制、傳輸管理
- 比較一下傳輸層和網絡層
- 5.2 描述UDP協議、TCP協議
- IP數據報和UDP數據報的區別
- TCP協議的特點
- TCP和網絡層虛電路的區別
- TCP三次握手與四次揮手
- TCP為什么必不可少
- 應用層:直接和應用進程提供服務
- 6.1 訪問一個網頁的完整過程
- 6.2 Http-超文本傳輸協議(HyperText Transfer Protocol)
- 6.3 Https-Http的安全版。
- 6.4 Http與Https的區別
- DNS是什么
基礎概念
數據單元:網絡信息傳輸的基本單位
一般網絡連接不允許傳送任意大小數據包,而是采用分組技術將一個數據分成若干個很小的數據包,并給每個小數據包加上一些關于此數據包的屬性信息。
服務數據單元(SDU):同一臺機器上的兩層之間傳送信息
SDU(service Data Unit):服務數據單元,又叫業務數據單元
即業務部分,然后發給下層之后,下層將其封裝在PDU中發送出去。
服務數據單元是從高層協議來的信息單元傳送到低層協議。
協議數據單元(PDU):發送機器上信息 到接收機器上的相應層
通過數據發送/接收管理把用戶提交的SDU以PDU的形式,通過下層通道發送到對端協議實體。在接收端再將PDU還原成SDU送給收端用戶。
在分層網絡結構,例如在開放式系統互聯(OSI)模型中,在傳輸系統的每一層都將建立協議數據單元(PDU)。
PDU包含來自上層的信息和當前層的實體附加的信息,這個PDU會被傳送到下一較低的層。而在不同層中PDU所代表的都是不同的
數據包:每一層的數據包(數據報)就是對應的PDU
在TCP/IP協議通信傳輸中的數據單元,也稱為“包”。
指自包含的,帶有足夠尋址信息,可獨立地從源主機傳輸到目的主機,而不需要以來早期地源主機和目的主機之間交換信息以及傳輸網絡地數據包。
數據包:就是從最上層,一層一層封裝,最后借由數據鏈路層發送出去的數據單元。
每一層都有數據包(待定)。
一般來說,數據鏈路層發送的數據包稱為frame,地址是鏈路層的地址,如mac地址。
網絡層發出的數據包稱為packet(重名不同義),地址是網絡層地址,如IP地址。
傳輸層發出的數據包稱為segment/datagram,地址是傳輸層地址,比如TCP的端口號
傳輸層:tcp報文段、udp用戶數據報
UDP數據報(封裝成IP數據報在網絡層傳輸),UDP數據報信息對路由不可見。
TCP報文段,(可以理解為一個TCP數據報拆分為報文段)
網絡層:包(分組 / ip數據報)
數據傳送基本單元:數據報(IP分組/IP數據報),IP數據報又可分為若干IP數據報(分片)
IP數據報:ip層的數據報
IP(Internet Protocol)是TCP/IP協議族中的核心協議,所有TCP、UDP、ICMP和IGMP數據都通過IP數據報傳輸。
數據鏈路層 MTU 是幀的最大傳輸單元。
數據包是一個完整的數據單元,如果數據包的大小超過了 MTU ,就要將完整的數據包拆分為幾個數據幀進行傳輸,然后到達接收方再組合
數據鏈路層:幀(數據鏈路層數據報)
它包括三部分:幀頭、數據部分、幀尾。其中,幀頭和幀尾包含一些必要的控制信息,比如同步信息、地址信息、差錯控制信息等。
數據幀:是數據鏈路層的傳輸單元。就是數據鏈路層的協議數據單元
(1)幀頭,里面有mac地址,通過這個地址可以在底層的交換機這個層面里順著網線找到你的計算機。
(2)數據部分,數據部分則包含網絡層傳下來的數據,比如ip數據報。
(3)幀尾。其中,幀頭和幀尾包含一些必要的控制信息,比如同步信息、地址信息、差錯控制信息等;
功能
差錯控制(每一層):在通信中利用編碼方法對傳輸中產生的差錯進行控制,以提高數字消息傳輸的準確性。
糾錯編碼為奇偶校驗碼、循環冗余碼;糾錯編碼有海明碼
1、數據鏈路層差錯控制:
由于噪聲原因,數據在傳輸過程中會出現錯誤。
兩種錯誤:位錯誤和幀錯誤。
位錯誤:是某個位出現了差錯。
可以使用CRC(循環冗余碼)方式發現錯誤,通過自動重傳請求(ARQ)來重新傳輸出錯的幀。
幀錯誤:幀的丟失、重復、或失序問題。
引入定時器和編號機制。
2、網絡層差錯控制:
通信兩結點之間約定特定檢錯規則(如奇偶校驗碼),能糾錯糾錯不能糾錯就丟棄,確保向上層提交的數據都是無誤的。
流量控制(數據鏈路層、傳輸層):限制發送方的數據流量,不超過接收方的接收能力。
數據鏈路層:
數據鏈路層的流量控制是兩個相鄰結點之間的流量控制。
通過窗口機制來實現。當接收方的緩存空間開始吃緊,則在發送確認報文時,將其中的窗口值調小版甚至變成0,這樣就限制了發送方發送數據的速度了。
使網絡中的路由器或鏈路不至于過載。
有四種算法:慢開始、擁塞避免、快重傳、快恢復。
TCP協議還要求發送方維護兩個窗口:接受窗口和擁塞窗口。發送窗口的值等于他們兩個的最小值。
擁塞控制(網絡層、傳輸層):防止過多數據注入網絡,保證網絡中的路由器或鏈路不至于過載
網絡層-擁塞控制方法:
(1)開環控制:是一種靜態的預防方法,在設計網絡時將發生擁塞的因素考慮周到,力求網絡在工作時不產生擁塞。
(2)閉環控制:是一種動態的方法,事先不考慮發生擁塞的各種因素,及時檢測并解決問題。
傳輸層(TCP)-擁塞控制算法
確定發送方發送速率,根據接收方發送速率從全局考慮不要使網絡發生擁塞。
TCP協議要求發送方維護兩個窗口
1、接收窗口:反映接收方的容量
2、擁塞窗口:發送方根據估算的網絡擁塞程度而設置。
(未出現擁塞,則擁塞窗口增大一些,出現擁塞,則小一些)
慢開始和擁塞避免
(1)慢開始:每一個傳輸輪次逐步地加倍原有的擁塞窗口,一直到門檻為止。(然后改用擁塞避免)
(2)擁塞避免:每一個傳出輪次增加一定的擁塞窗口大小,若出現網絡擁塞(超時)
慢開始門檻為當前擁塞窗口的一半,擁塞窗口改為1(又開始執行慢開始)
快重傳和快恢復(對慢開始和擁塞避免算法的改進)
(3)快重傳:當發送方連續收到三個重復的ACK報文時,直接重傳對方尚未收到的報文段
(用冗余ACK:重復確認 來檢測丟包或網絡擁塞)
(4)快恢復:發送端連續收到三個冗余ACK時,將慢開始門限和新擁塞窗口都設置為 當前擁塞窗口的一半。
擁塞控制和流量控制區別
擁塞控制是全局性的,于網絡中的所有因素都有關。
流量控制是點對點的,為了抑制發送端發送速率。
網絡體系結構
1.1 概念:計算機網絡、計算機網絡分類、時延
1.1.1 計算機網絡:一些互聯的、自治的計算機系統的集合。
廣義觀點認為只要能實現遠程信息處理并進一步達到資源共享的系統,都是計算機網絡。
計算機網絡的主要功能是數據通信、資源共享及分布式處理,其中數據通信是最基本的功能。
計算機網絡系統的組成 按照功能 可分為通信子網和邏輯子網。
1.1.2 計算機網絡分類
(1)按照分布范圍分類:廣域網(WAN)、城域網(MAL)、局域網(LAN)、個人區域網(PAN)
物理網絡:各種類型的局域網(如以太網),或公共數據網絡
( 2)按照傳輸技術分類:廣播式網絡、點對點網絡
(3)按照拓撲結構分類:總線型、星型、環形、網狀型
(4)按照使用者分類:公用網、專用網
(5)按交換技術分類:電路交換網絡、報文交換網絡、分組交換網絡(主流,本科討論)
1.1.3 時延
排隊時延:分組在路由器中等待處理或轉發的時間
處理時延:分組在路由器為存儲轉發做的一些必要處理,所花費的時間
傳輸(發送)時延:結點將分組所有比特推向鏈路的時間
傳播時延:一個比特從鏈路的一端到鏈路另一端花費的時間
電路交換網絡、報文交換網絡、分組交換網絡(主流,本科討論)
1、電路交換網絡:
在源結點和目的結點之間建立一條專用的通路用于傳送數據,包括建立連接、傳輸數據和斷開連接三個階段。
優點:直接傳送、時延小(不存在存儲轉發)
缺點:線路利用率低、不便于進行差錯控制
2、報文交換網絡(存儲轉發):
報文(交換與傳輸數據單元):用戶數據+輔助信息(報文交換網絡)
存儲轉發:整個報文先傳送到相鄰結點,全部存儲后查找轉發表,轉發到下一個結點。
優點:
(1)無須建立連接,不存在連接時延。
(2)提高線路利用率
(3)可以實現差錯控制
(4)提供多目標服務,一個報文可以同時發送給多個目的的地址
缺點:
(1)存儲轉發有時延(存在傳輸時延)
(2)輔助信息開銷大、
(3)對報文大小無限制,要求網絡結點需要較大的緩存空間,緩沖區難以管理
3、分組交換網絡(存儲轉發):
將數據分成較短的固定長度的數據塊,加上目的地址等信息組成分組(包)
單個分組是報文的一部分,傳送到相鄰結點,存儲后查找轉發表,轉發到下一個結點。
優點:除報文交換網絡的優點以外還有 緩沖利于管理
缺點:
(1)存在傳輸時延(相對電路交換)
(2)需要傳輸額外的信息量(每個數據塊要加上源地址、目的地址等)
(3)分組交換采用數據報服務時,可能失序等,需要對分組編號,很麻煩。采用虛電路(面向連接),又會增加開銷。
注意TCP/IP只能實現IP數據報
1.2.1協議、接口、服務概念
1、協議:對等層實體之間進行邏輯通信而定義的規則的集合,由語法、語義和同步三部分組成
語法:規定了傳輸數據的格式
語義:規定了所要完成的功能
同步:規定了執行各種操作的條件、時序關系等
2、接口:同一結點內相鄰兩層間交換信息的連接點
只能為相鄰層次之間定義接口,實際上是邏輯接口,與設備之間的硬件接口并不相等。
3、服務:下層為緊鄰的上層提供的功能調用
本層為上一層提供服務,要實現本層協議又需要下一層所提供的服務
1.2.2 計算機網絡服務
面向連接服務和無連接服務
面向連接的服務:通訊雙方在通訊之前必須建立連接,通訊過程中連接不斷開,整個傳輸服務是可靠的。
但是要消耗資源,協議數據單元的頭部要占用較大空間。
無連接的服務:通訊雙方通訊不需要建立連接,直接發送信息到網絡上,盡力保證送達。整個服務是不可靠的,但速度更快、實時性好。
可靠服務和不可靠服務
可靠服務是指網絡具有糾錯、檢錯應答機制能保證數據正確、可靠地傳送到目的地。
不可靠服務是指網絡只是盡量正確、可靠地傳送數據,而不能保證數據正確、可靠地傳送到目的地。
有應答服務和無應答服務
有應答服務是指接收方在收到數據后向發送方給出相應的應答
無應答服務是指接收方收到數據不給出應答
1.2.3 OSI七層參考模型
自下而上依次為:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層
應用層、表示層、會話層 稱為資源子網,相當于計算機系統,完成數據的處理。
網絡層、數據鏈路層、物理層 稱為通信子網,它是為了聯網而附加的通信設備,完成數據的傳輸功能
1、物理層
(1)傳輸單位是比特
(2)功能是 在物理媒體上為數據端設備透明地傳輸原始比特流
(3)物理媒體不在物理層協議之內,而在物理層的下面,有時稱為0層
2、數據鏈路層(提供點到點通信)
(1)傳輸單位是幀
(2)功能:將網絡層的IP數據報組裝成幀,差錯控制、流量控制和傳輸管理等。
(3)差錯控制:原始物理連接在傳輸比特流時可能發生錯誤,兩個結點如果規定了數據鏈路層協議,那么就可以檢測出這些差錯,并丟棄錯誤信息。
(4)流量控制:協調兩個結點的速率,使數據發送速率等于接受的速率。
(5)數據鏈路層協議:PPP協議
(6)封裝:在分組上增加源物理地址和目的物理地址和控制信息,封裝成幀
3、網絡層(主機到主機)
(1)傳輸單位是數據報
(2)任務:把網路層的協議單元(分組)從源端傳送到目的端,為分組交換網上的不同主機提供通信服務
(3)功能:對分組進行路由選擇、差錯控制、流量控制、擁塞控制和網際互連等
(4)差錯控制:通信兩結點之間約定的特定檢錯規則(如奇偶檢驗碼),出現差錯能糾錯糾錯,不能糾錯就丟棄,保證向上層提交的數據都是無誤的
(5)網際互連:將大量異構網絡通過路由器相互連接起來。
(6)網絡層協議:無連接的網際協議(IP),和許多路由選擇協議。
(7)封裝:將高層協議數據封裝成分組,增加網絡地址和控制信息。
4、傳輸層(提供端到端通信,只支持TCP)
(1)傳輸單位是報文段(TCP) 或 用戶數據報(IP)
(2)任務 :負責主機兩個進程之間的通信
(3)功能 :為端到端連接 提供可靠的傳輸服務、流量控制、擁塞控制、差錯控制和數據傳輸管理等服務
(4)通過傳輸層服務,用戶直接進行端到端數據傳輸,從而忽略(屏蔽)通信子網的存在
(5)傳輸層協議:TCP、UDP
(6)封裝:增加源和目的接口信息
5、會話層、表示層、應用層
(1)功能:直接對應用進程提供服務
(2)會話層允許不同主機各個進程通話、表示層處理交換信息的表示方式、應用層對應用提供服務接口
(3)應用層協議:用于文件傳送的FTP、用于電子郵件的SMTP、用于萬維網的HTTP
(6)封裝:增加?
1.2.3 TCP/IP模型
從低到高依次為網絡接口層(物理層、數據鏈路層)、網際層、傳輸層、應用層(回話層、表示層、應用層)
1、網絡接口層(物理層和數據鏈路層):表示與物理網絡的接口
從主機或結點接收IP分組,并把他們發送到指定的物理網絡上。
TCP/IP本身并未真正描述這一部分,只是指出主機必須使用某種協議與網絡連接,以便在其上傳遞IP分組。
2、網際層(只支持IP數據報,主機-主機):TCP/IP體系結構的關鍵部分
將分組發往任何網絡。并為之獨立地選取合適的路由,但它不保證各個分組有序地到達,分組有序交付由更高層負責。
網際層定義了標準的分組格式和協議,即IP…
3、傳輸層(應用-應用或進程-進程):使得發送端和目的端主機上的對等實體進行會話
主要使用以下兩種協議
(1)TCP(傳輸控制協議,Transmission Control Protocol):面向連接
數據傳輸的單位是報文段,能夠提供可靠的交付
(2)UDP(用戶數據數據報協議,User Datagram Protocol):無連接
數據傳輸的單位是用戶數據報,不保證提供可靠的交付,只能提供“盡最大努力交付”
4、應用層(用戶-用戶):包含所有的從高層協議
包括文件傳輸協議(FTP)、域名解析服務(DNS)、電子郵件協議(SMTP)、超文本傳輸協議(HTTP)
TCP/IP協議:能夠在多個不同網絡間實現信息傳輸的協議簇。
TCP/IP協議不僅僅指的是TCP 和IP兩個協議,而是指一個由FTP、SMTP、TCP、UDP、IP等協議構成的協議簇, 只是因為在TCP/IP協議中TCP協議和IP協議最具代表性,所以被稱為TCP/IP協議。
TCP/IP協議體系結構詳見TCP/IP協議模型。
OSI模型與TCP/IP模型區別;五層協議體系結構(OSI與TCP/IP模型的折中)
國際標準化OSI設計了OSI模型,實際執行標準為TCP/IP
OSI:傳輸層僅支持面向連接(TCP)
網絡層支持無連接和面向連接通信(IP、虛電路),
TCP/IP:網絡層僅支持無連接通信(IP)
傳輸層支持無連接和面向連接的通信
五層協議體系結構(OSI與TCP/IP模型的折中)
從下到上依次為:物理層、數據鏈路層、網絡層、傳輸層、應用層
物理層:在物理媒體上為數據端設備透明地傳輸原始比特流
物理層考慮的是怎樣才能在 連接各臺計算機的傳輸媒體上 傳輸數據的比特流,
而不是連接計算機的具體物理設備或具體傳輸媒體。
也就是物理層涉及的多是如何傳輸數據的概念,而不是具體實現。
物理層設備:中繼器、集線器
通信交互方式:單工通信、半雙工通信、全雙工通信
單工通信:只有一個方向通信,僅需要一條信道。
半雙工通信:通信的雙方都可以接受和發送信息,但任何一方都不能同時發送和接受信息。
需要兩條信道。
全雙工通信:通信雙方可以同時發送和接受信息,也需要兩條信道。
數據鏈路層:加強物理層傳輸原始比特流的功能,建立點到點無差錯邏輯鏈路
3.1 數據鏈路層功能:幀、流量控制、差錯控制、傳輸管理
數據鏈路層在物理層的基礎上向網絡層提供服務,它將數據組裝成幀,并提供差錯檢驗.
主要是加強物理層傳輸比特流的功能,將物理層可能出錯的物理連接改造成邏輯上無差錯的數據鏈路,使之對網絡層表現為一條無差錯的鏈路。
主要功能可總結為:為網絡層提供服務、鏈路管理、幀的封裝、流量控制、差錯控制。
對物理層來說:
數據鏈路層在物理層提供服務的基礎上 向網絡層提供服務
主要作用是加強物理層傳輸原始比特流的功能,將物理層提供的可能出錯的物理連接改造為邏輯上無差錯的數據鏈路。
對網絡層來說:數據鏈路層的基本任務是將源機器中來自網絡層的數據傳輸到目標機器的網絡層。
3.2 數據鏈路層通??蔀榫W絡層提供的服務
(1)無確認的無連接服務
源機器發送數據幀時不需先建立鏈路連接,目的機器收到數據幀時不需發回確認。
對丟失的幀,數據鏈路層不負責重發而交給上層處理。
(2)有確認的無連接服務
源機器發送數據幀時不需先建立鏈路連接,目的機器收到數據幀時必須發回確認。
對丟失的幀,必須重傳。
(3)有確認的面向連接服務
建立數據鏈路-傳輸幀-釋放數據鏈路
目的機器對收到的每一幀都要給出確定,源機器收到確認后才能發送下一幀。
有連接一定要有確認,不存在無確認的面向連接的服務。
3.3 PPP(Point-to-Point)協議:不可靠但檢錯,全雙工
為什么不實現可靠傳輸
(1)開銷太大
(2)放入的是IP數據報,網絡層已經不可靠
(3)可以保證無差錯接受(循環冗余碼方式)
為什么不可靠,還對數據幀差錯檢測
為了不接受錯誤幀,并發送給上層。
網絡層:把網絡層的協議單元(分組)從源端傳送到目的端,為分組交換網上的不同主機 提供主機到主機通信服務,只討論IP數據報
4.0 數據報和虛電路(分組交換兩種方式,tcp/ip只支持數據報,本科僅討論數據報)
分組交換根據其通信子網向端點提供的服務,進一步可分為面向連接的虛電路方式和無連接的數據報方式。
這兩種服務都由網絡層提供。
4.0.1 數據報
特點:
(1)發送分組前不需要建立連接,發送方隨時發送分組,網絡結點隨時接受分組
(2)網絡盡最大努力交付,傳輸不保證可靠性
(3)發送的分組中包括發送端和接收端的完整地址,以便可以獨立傳輸
(4)存儲轉發時延一般較小
(5)收發雙方不獨占某一鏈路,資源利用率高
4.0.2 虛電路:虛電路方式試圖將數據報方式和電路交換方式結合起來。
在分組發送之前,要求在發送方和接收方建立一條邏輯上相連的虛電路,并且連接一旦建立,就固定了虛電路所對應的物理路徑。
特點:分組首部不包括目的地址,僅包括虛電路標識符,相對數據報方式開銷較小
4.1 網絡層功能:異構網絡互聯、(分組)路由轉發、擁塞控制
4.1.1 異構網絡互聯:將不同協議和不同結構的網絡通過路由器連接起來。通過IP進行通訊,看起來像是一個統一的網絡。
屏蔽了具體的異構網絡細節。
4.1.2 路由與轉發:
(1)路由選擇(確定路徑):根據 從各相鄰路由器獲得的關于整個網絡拓撲的變化情況, 來動態改變所選擇的路由。
根據特定的路由選擇協議構造出路由表,同時不斷更新和維護
(2)分組轉發(分組到達時動作):路由器根據轉發表,將IP數據報從合適的端口轉發出去。
描述網絡層分組轉發流程
1)從數據報的首部提取目的主機的IP地址D,得出目的網絡地址為N。 (IP地址分兩部分:網絡地址+主機地址)
2)若網絡N與此路由直接相連,則進行直接交付,不需要在經過其他的路由器,直接把數據報交付目的主機。
若路由表中(3)有目的地址為D的 特定 主機路由、(4)有到達網絡N的路由,則把數據報傳送給路由表中所指明的下一跳路由器;否則執行5)
5)若路由表中有一個默認路由,則把數據報傳送給路由表中所指明的默認路由;否則,執行6)
6)報告轉發分組出錯。
4.2.1 什么是盡最大努力交付?
(1)不保證源主機發送出來的IP數據報一定(1)無差錯、(2)準時、(3)有序、(4)不重復 地交付到目的主機。
(5)不故意丟棄IP數據報。
丟棄IP數據報的情況是:路由器檢測出首部檢驗和 有錯誤;或由于網絡中通信量過大,路由器或目的主機中的緩存已無空閑空間。
4.2.2 為什么有了MAC還要有IP
(1)只擁有MAC地址,不能跨網絡區域進行數據傳輸。
(2)需要借助因特網來傳輸給連接因特網上的機器。
4.3 IP分組(IP數據報)概念
IP定義數據傳送的基本單元-:IP分組,由首部和數據兩部分組成。
一個鏈路層數據報能承載的最大數據量稱為MTU,如果一個IP數據報大小超過了MTU,就要將其分片,分成若干較小的IP數據報。
到達目標主機后在組合起來。
IP首部重要字段:
(1)標識:這個字段是為了讓目標主機確定一個新到達的數據報屬于哪一個原始IP數據報
同一個原始IP數據報的所有片(子IP數據報)它們的標識相同。
(2)標志:MF(more fragment),表示“更多段”,MF=1標識后面還有分片。
第二位是DF(don’t fragment)標識“不分段”,當DF=0時才允許分片。
(3)片偏移量:較長的分組在分片后,某片在原分組中的相對位置。
片偏移以8個字節為單位,因此除了最后一個分片,其它的分片中的有效數據載荷都是8的倍數
(4)生存時間TTL:數據報在網絡中可通過的路由數的最大值。
路由器在分組轉發前,先把TTL減去1,如果TTL變成0,就把它丟棄。
4.3 IP地址的特點
1、所有的網絡號是對等的。
2、每一個IP地址都有網絡號+主機號兩部分組成。(IP地址分兩部分:網絡地址+主機地址)
3、IP地址管理機構在分配IP地址時,只分配網絡號,而剩下的主機號則由得到該網絡號的單位自行分配。 這樣便于管理。
4、不同局域網的主機由于網絡號不同,必須通過路由器連接起來。(交換機是數據鏈路層上的設備,用它連接起來的主機仍然屬于同一個網絡。)
5、實際上一個IP地址用來標志一個主機或一個路由器。
當一個主機同時連接到兩個網絡時(如:實驗室的代理服務器)。該主機必須具有兩個相應的IP地址,也就必須具備兩塊網卡。
4.4.1 NAT(網絡地址轉換):將專用網絡地址轉換為公用地址
從而對外隱藏內部管理的IP地址,大大節省了IP地址的消耗,同時隱藏了內部結構從而降低了內部網絡受到攻擊的風險。
4.4.2 ARP(地址解析協議):根據IP地址獲取物理地址 的一個TCP/IP協議。
IP地址是網絡層使用的地址,硬件地址是數據鏈路層使用的地址(如MAC地址)。
IP地址放在IP數據報的首部,MAC地址放在MAC幀的首部
4.4.2 在一個很大的網絡中能否用交換機代替路由器
不行,因為交換機無法連接異構網絡,而路由器可以。
4.4.3 ip有分片功能,而廣域網中的分組不用分片,為什么?
廣域網中能夠通過的分組最大長度是該廣域網中所有結點事先知道的,源點不可能發送網絡不支持的分組。因此沒有必要再分片。
ip數據報要經過許多網絡,而源節點事先不知道這些網絡所能通過的分組的最大長度,等數據報到達某個網絡時,中間結點發現這個數據報太長了,就要分組。
傳輸層:提供應用進程之間端到端的邏輯通訊。
邏輯通訊:傳輸層之間的通信好像是沿水平方向傳送數據,但事實上這兩個傳輸層之間沒有一條水平方向的物理連接。
5.1 傳輸層功能:流量控制、擁塞控制、差錯控制、傳輸管理
1、提供應用進程之間的邏輯通訊。
2、分用和復用
3、對接受到的報文進行差錯檢驗,檢驗部分包括首部和數據部分
4、提供TCP和UDP兩種傳輸協議。
比較一下傳輸層和網絡層
1、服務對象:網絡層提供主機到主機的邏輯通訊,傳輸層提供端到端邏輯通訊,;
2.1 復用:
(1)傳輸層的復用是發送方不同的應用進程都可使用統一傳輸層協議傳送數據,
(2)網絡層的復用是發送方的不同協議數據都可以封裝成IP數據報發出去
2.2 分用:
(1)傳輸層是接收方的傳輸層在剝去報文的首部后能夠把這些數據正確交付到應用進程。
(2)網絡層是接收方的網絡層在剝去首部后把數據交付給相應的協議。
3、傳輸層差錯檢測時要檢查首部和數據,而網絡層只檢查IP數據報的首部。
4、傳輸層可以提供有鏈接和無連接的兩種協議,而網絡層只能提供其中之一,不能同時存在兩個。
5.2 描述UDP協議、TCP協議
TCP/IP協議族在IP層之上使用了兩個傳輸協議:
(1)面向連接的TCP,傳輸層向上提供一條全雙工的可靠邏輯通道
(Transmission Control Protocol)
(2)無連接的UDP,傳輸層向上提供一條不可靠的邏輯信道
他僅在IP數據報服務上增加了兩個最基本的功能:多路復用和對數據的錯誤檢查。遠程主機不需要給出確認。
(User Datagram Protocol)
UDP的優點:不用建立連接;無連接狀態;分組首部開銷小;沒有擁塞控制,應用層能更好地控制送時間 。
UDP的工作過程:UDP面向報文,發送方UDP對應用層的報文,在添加了首部之后就向下交付給IP層,不合并也不拆分,而是保留這些報文的邊界;接收方除去IP首部之后,就原封不動地交給上層應用進程,一次交付一個完整的報文,因此UDP是數據報處理的最小單位。
IP數據報和UDP數據報的區別
IP數據報經過路由要存轉發,而UDP是封裝在IP數據報內的,對路由是不可見的。
TCP協議的特點
TCP在不可靠的IP層上實現可靠的數據傳輸協議,它主要解決傳輸的可靠性、有序、不丟失和不重復的問題。
TCP的特點有:面向連接的傳輸層協議;每條TCP鏈接兩個端口;全雙工通訊;面向字節流通訊。
TCP和網絡層虛電路的區別
TCP報文段對路由器不可見,虛電路對路由器可見,虛電路鎖經過的結點都必須保存虛電路的狀態信息。
在網絡層如果采用虛電路,則無法提供無連接服務;
TCP三次握手與四次揮手
一握手:客戶機發送連接請求
二握手:服務器回應請求(同時分配服務器資源)
三握手:客戶機給出連接確認,同時可以攜帶數據(同時分配客戶機資源)。
二次握手(少了第三次握手)錯,會造成已失效的連接請求又傳到服務器端,造成雙方不一致而產生資源浪費。
一揮手:客戶機發送連接釋放請求(同時停發客戶機數據)
二揮手:服務器回應請求(客戶到服務器數據信道關閉,目前半關閉)
三揮手:通知TCP釋放
四揮手:客戶機確認TCP釋放
TCP為什么必不可少
①報文到達目的地會有失序問題
②由于路由計算出現失誤,IP數據報可能會在互聯網中轉圈,最后可能丟棄。
③由于路由器可能出現大流量,導致一些數據報被丟棄。
IP協議保證不了可靠,為了保證可靠傳輸,TCP是必須的。
應用層:直接和應用進程提供服務
6.1 訪問一個網頁的完整過程
建立一個完整的socket連接需要的5個參數,分別是:(本機ip,本機端口號,使用的網絡協議,要訪問的機器的ip,要訪問機器的端口號)
假設訪問百度,輸入www.baidu.com,然后回車,
(1)此時要確定的是百度的ip地址,使用dns協議,向dns服務器發送數據包(dns服務器開啟的是53端口),DNS服務器返回給我們百度的ip地址。
利用子網掩碼判斷要訪問的ip是否和本地主機是同一個網段,假設要訪問的ip跟我們不是同一個網段,那么向百度發送數據包必須通過網關轉發。
(2)接下來通過應用層,瀏覽器訪問使用的是http協議,構造一個http數據包。
假定其長度為4960個字節,他會被嵌在tcp數據包之中。
(3)然后傳輸層,Tcp數據包需要設置端口
接收方的默認端口是80,本機的端口是一個隨機生成的1024到65535之間的整數。假定為8888。Tcp數據包的包頭長度為20字節,加上http數據包,為4980字節。
(4)然后經過網絡層,tcp數據包再嵌入ip數據包,ip數據包需設置雙方ip【已知】
Ip數據包的頭長度為20字節,總共是5000字節。IP數據包經過網關轉發,進入以太網。
(5)接下來到數據鏈路層。Ip數據包嵌入以太網數據包,以太網數據包需設置雙方mac地址【已知】,接收方mac地址即網關mac地址【通過arp協議得到】。
以太網數據包的數據部分最大為1500字節,因此ip數據包必須分包,因為每個包都有自己的ip標頭,因此四個包的ip數據包的長度分別是1500,1500,1500,560。
(6)然后是物理層。物理線路則只負責該數據以bit為單位從主機傳輸到下一個目的地。
下一個目的地接受到數據后,從物理層得到數據然后經過逐層的解包到鏈路層到網絡層,然后開始上述的處理,在經網絡層、鏈路層、物理層將數據封裝好繼續傳往下一個地址。
6.2 Http-超文本傳輸協議(HyperText Transfer Protocol)
是互聯網上應用最為廣泛的一種網絡協議。
設計Http最初的目的是為了提供一種發布和接收HTML頁面的方法。它可以使瀏覽器更加高效。
Http協議是以明文方式發送信息的,如果黑客截取了Web瀏覽器和服務器之間的傳輸報文,就可以直接獲得其中的信息。
Http原理:
① 客戶端的瀏覽器首先要通過網絡與服務器建立連接,該連接是通過TCP 來完成的,
一般 TCP 連接的端口號是80。 建立連接后,客戶機發送一個請求給服務器,請求方式的格式為:統一資源標識符(URL)、協議版本號,后邊是 MIME 信息包括請求修飾符、客戶機信息和許可內容。
② 服務器接到請求后,給予相應的響應信息,其格式為一個狀態行,包括信息的協議版本號、一個成功或錯誤的代碼,后邊是 MIME 信息包括服務器信息、實體信息和可能的內容。
6.3 Https-Http的安全版。
是以安全為目標的Http通道,Https的安全基礎是SSL。
SSL協議位于TCP/IP協議與各種應用層協議之間,為數據通訊提供安全支持。
SSL協議可分為兩層:
(1)SSL記錄協議(SSL Record Protocol),它建立在可靠的傳輸協議(如TCP)之上,為高層協議提供數據封裝、壓縮、加密等基本功能的支持。
(2)SSL握手協議(SSL Handshake Protocol),它建立在SSL記錄協議之上,用于在實際的數據傳輸開始前,通訊雙方進行身份認證、協商加密算法、交換加密密鑰等。
Https設計目標:
(1)數據保密性: 保證數據內容在傳輸的過程中不會被第三方查看。就像快遞員傳遞包裹一樣,都進行了封裝,別人無法獲知里面裝了什么 。
(2)數據完整性::及時發現被第三方篡改的傳輸內容。就像快遞員雖然不知道包裹里裝了什么東西,但他有可能中途掉包,數據完整性就是指如果被掉包,我們能輕松發現并拒收 。
(3)身份校驗安全性: 保證數據到達用戶期望的目的地。就像我們郵寄包裹時,雖然是一個封裝好的未掉包的包裹,但必須確定這個包裹不會送錯地方,通過身份校驗來確保送對了地方 。
6.4 Http與Https的區別
1、http是超文本傳輸協議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協議。
2、http的連接很簡單,是無狀態的。Https協議是由SSL+Http協議構建的可進行加密傳輸、身份認證的網絡協議,比http協議安全。 (無狀態的意思是其數據包的發送、傳輸和接收都是相互獨立的。無連接的意思是指通信雙方都不長久的維持對方的任何信息。)
3、https協議需要到CA (證書頒發機構)申請證書,一般免費證書較少,因而需要一定費用。
4、http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。
DNS是什么
域名系統,是因特網使用的命名系統。采用客戶/服務器模型,其協議運行在UDP之上。
域名系統解析域名,得到對應主機IP地址
總結
以上是生活随笔為你收集整理的计算机面试常见题目-网络的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PPT插入计时器
- 下一篇: CA机构介绍(Certificate A