計算機考研復試面試常問問題 計算機網絡篇(下)

計算機考研復試面試常問問題 計算機網絡篇(下)

在復習過程中,我用心查閱并整理了在考研復試面試中可能問到的大部分問題,并分點整理了答案,可以直接理解背誦并加上自己的語言潤色!極力推薦打印下來看,效率更高!絕對良心之作!

此系列一共有8篇:編程語言篇|數據結構篇|操作系統篇|組成原理篇|計算機網絡篇|數據庫篇|軟件工程篇|計算機專業英語篇(還未全部完成,敬請期待,你們的支持和關注是我最大的動力!)

個人整理,不可用于商業用途,轉載請注明出處。

作者各個平臺請搜索:程序員寶藏。快來探索屬于你的寶藏吧!

需要pdf直接打印版,可在公眾號"程序員寶藏"回復復試上岸獲取(會持續更新)

需要408電子書2021版,可在公眾號"程序員寶藏"回復408電子書獲取

需要408初試視頻2021版,可在公眾號"程序員寶藏"回復408視頻獲取

需要復試機試視頻,可在公眾號"程序員寶藏"回復機試必過獲取

相對于408初試,復試需要的少多了,加油,大家都可以上岸!!!讓我們一起努力!!!

  • 第四章、網絡層
  • 第五章、傳輸層
  • 第六章、應用層

第四章、網絡層

快速喚起記憶知識框架:

image

17.路由器的主要功能?

路由器主要完成兩個功能:一是路由選擇(確定哪一條路徑),二是分組轉發(當一個分組到達時所采取的動作)。前者是根據特定的路由選擇協議構造出路由表,同時經常或定期地和相鄰路由器交換路由信息而不斷地更新和維護路由表。后者處理通過路由器的數據流,關鍵操作是轉發表查詢、轉發及相關的隊列管理和任務調度等。

  1. 路由選擇。指按照復雜的分布式算法,根據從各相鄰路由器所得到的關于整個網絡拓撲的變化情況,動態地改變所選擇的路由。
  1. 分組轉發。指路由器根據轉發表將用戶的IP 數據報從合適的端口轉發出去。路由表是根據路由選擇算法得出的,而轉發表是從路由表得出的。轉發表的結構應當使查找過程最優化,路由表則需要對網絡拓撲變化的計算最優化。在討論路由選擇的原理時,往往不去區分轉發表和路由表,而是籠統地使用路由表一詞。

18.動態路由算法?

1、距離-向量路由算法(例如RIP算法)

在距離-向量路由算法中,所有結點都定期地將它們的整個路由選擇表傳送給所有與之直接相鄰的結點。這種路由選擇表包含:1.每條路徑的目的地(另一結點)。2.路徑的代價(也稱距離)。

在這種算法中,所有結點都必須參與距離向量交換,以保證路由的有效性和一致性,也就是說,所有的結點都監聽從其他結點傳來的路由選擇更新信息,并在下列情況下更新它們的路由選擇表:

  1. 被通告一條新的路由,該路由在本結點的路由表中不存在,此時本地系統加入這條新的路由。
  1. 發來的路由信息中有一條到達某個目的地的路由,該路由與當前使用的路由相比,有較短的距離(較小的代價)。此種情況下,就用經過發送路由信息的結點的新路由替換路由表中到達那個目的地的現有路由。

2、鏈路狀態路由算法(例如OSPF算法)

鏈路狀態路由算法要求每個參與該算法的結點都具有完全的網絡拓撲信息,它們執行下述兩項任務。第一,主動測試所有鄰接結點的狀態。兩個共享一條鏈接的結點是相鄰結點,它們連接到同一條鏈路,或者連接到同一廣播型物理網絡。第二,定期地將鏈路狀態傳播給所有其他結點(或稱路由結點)

距離-向量路由算法與鏈路狀態路由算法的比較:在距離-向量路由算法中,每個結點僅與它的直接鄰居交談,它為它的鄰居提供從自已到網絡中所有其他結點的最低費用估計。在鏈路狀態路由算法中,每個結點通過廣播的方式與所有其他結點交談,但它僅告訴它們與它直接相連的鏈路的費用。相較之下,距離~向量路由算法有可能遇到路由環路等問題。

3、一個自治系統內部所使用的路由選擇協議稱為內部網關協議(IGP), 也稱域內路由選擇,具體的協議有RIP 和OSPF 等。

路由信息協議(Routing Information Protocol, RIP) 是內部網關協議IGP) 中最先得到廣泛應用的協議。RIP 是一種分布式的基于距離向量的路由選擇協議,其最大優點就是簡單。

RIP 規定:

  1. 網絡中的每個路由器都要維護從它自身到其他每個目的網絡的距離記錄(因此這是一組距離,稱為距離向量)。
  1. 距離也稱跳數(Hop Count), 規定從一個路由器到直接連接網絡的距離(跳數)為1 。而每經過一個路由器,距離(跳數)加1 。
  1. RIP 認為好的路由就是它通過的路由器的數目少,即優先選擇跳數少的路徑。
  1. RIP 允許一條路徑最多只能包含15 個路由器(即最多允許15 跳)。因此距離等于16 時,它表示網絡不可達。可見RIP 只適用于小型互聯網。距離向量路由可能會出現環路的情況,規定路徑上的最高跳數的目的是為了防止數據報不斷循環在環路上,減少網絡擁塞的可能性。
  1. RIP 默認在任意兩個使用RIP 的路由器之間每30 秒廣播一次RIP 路由更新信息,以便自動建立并維護路由表(動態維護)。

開放最短路徑優先(OSPF) 協議是使用分布式鏈路狀態路由算法的典型代表,也是內部網關協議(IGP) 的一種。OSPF 與RIP 相比有以下4 點主要區別:

  1. OSPF 向本自治系統中的所有路由器發送信息,這里使用的方法是洪泛法。而RIP 僅向自已相鄰的幾個路由器發送信息。
  1. 發送的信息是與本路由器相鄰的所有路由器的鏈路狀態,但這只是路由器所知道的部分信息。”鏈路狀態”說明本路由器和哪些路由器相鄰及該鏈路的“度量”(或代價)。而在RIP 中,發送的信息是本路由器所知道的全部信息,即整個路由表。
  1. 只有當鏈路狀態發生變化時,路由器才用洪泛法向所有路由器發送此信息,并且更新過程收斂得快,不會出現RIP" 壞消息傳得慢"的問題。而在RIP 中,不管網絡拓撲是否發生變化,路由器之間都會定期交換路由表的信息。

除以上區別外, OSPF 還有以下特點:

  1. OSPF 對不同的鏈路可根據IP 分組的不同服務類型(TOS) 而設置成不同的代價。因此,OSPF 對千不同類型的業務可計算出不同的路由,十分靈活。
  1. 如果到同一個目的網絡有多條相同代價的路徑,那么可以將通信量分配給這幾條路徑。這稱為多路徑間的負載平衡。
  1. 所有在OSPF 路由器之間交換的分組都具有鑒別功能,因而保證了僅在可信賴的路由器之間交換鏈路狀態信息。

4、 自治系統之間所使用的路由選擇協議稱為外部網關協議(EGP), 也稱域間路由選擇,用在不同自治系統的路由器之間交換路由信息,并負責為分組在不同自治系統之間選擇最優的路徑。具體的協議有BGP 。

邊界網關協議(Border Gateway Protocol, BGP) 是不同自治系統的路由器之間交換路由信息的協議,是一種外部網關協議。邊界網關協議常用于互聯網的網關之間。路由表包含已知路由器的列表、路由器能夠達到的地址及到達每個路由器的路徑的跳數。內部網關協議主要設法使數據報在一個AS 中盡可能有效地從源站傳送到目的站。在一個AS內部不需要考慮其他方面的策略。然而BGP 使用的環境卻不同,主要原因如下:

  1. 因特網的規模太大,使得自治系統之間路由選擇非常困難。
  2. 對于自治系統之間的路由選擇,要尋找最佳路由是很不現實的。
  3. 自治系統之間的路由選擇必須考慮有關策略。

邊界網關協議(BGP) 只能力求尋找一條能夠到達目的網絡且比較好的路由(不能兜圈子),而并非尋找一條最佳路由。BGP 采用的是路徑向量路由選擇協議,它與距離向量協議和鏈路狀態協議有很大的區別。BGP 是應用層協議,它是基于TCP 的。

BGP 的工作原理如下:每個自治系統的管理員要選擇至少一個路由器(可以有多個)作為該自治系統的"BGP 發言人“。一個BGP 發言人與其他自治系統中的BGP 發言人要交換路由信息,就要先建立TCP 連接(可見BGP 報文是通過TCP 傳送的,也就是說BGP 報文是TCP 報文的數據部分),然后在此連接上交換BGP 報文以建立BGP 會話,再利用BGP 會話交換路由信息。當所有BGP 發言人都相互交換網絡可達性的信息后,各BGP 發言人就可找出到達各個自治系統的較好路由。


19.網絡層轉發分組的流程?

  1. 從數據報的首部提取目的主機的IP 地址D, 得出目的網絡地址N。
  1. 若網絡N 與此路由器直接相連,則把數據報直接交付給目的主機D, 這稱為路由器的直接交付;否則是間接交付,執行步驟3) 。
  1. 若路由表中有目的地址為D 的特定主機路由(對特定的目的主機指明一個特定的路由,通常是為了控制或測試網絡,或出千安全考慮才采用的),則把數據報傳送給路由表中所指明的下一跳路由器;否則執行步驟4)
  1. 若路由表中有到達網絡N 的路由,則把數據報傳送給路由表指明的下一跳路由器;否則,執行步驟5) 。
  1. 若路由表中有一個默認路由,則把數據報傳送給路由表中所指明的默認路由器;否則,執行步驟6) 。
  1. 報告轉發分組出錯。

注意:得到下一跳路由器的IP 地址后并不是直接將該地址填入待發送的數據報,而是將該IP 地址轉換成MAC 地址(通過ARP),將其放到MAC 幀首部中,然后根據這個MAC 地址找到下一跳路由器。在不同網絡中傳送時, MAC 幀中的源地址和目的地址要發生變化,但是網橋在轉發幀時,不改變幀的源地址,請注意區分。


20.IP地址和MAC地址?

IP 地址是網絡層使用的地址,它是分層次等級的。MAC地址是數據鏈路層使用的地址,它是平面式的。在網絡層及網絡層之上使用IP 地址, IP 地址放在IP 數據報的首部,而MAC 地址放在MAC 幀的首部。通過數據封裝,把IP 數據報分組封裝為MAC 幀后,數據鏈路層看不見數據報分組中的IP地址。

由于路由器的隔離, IP 網絡中無法通過廣播方式依靠MAC 地址來完成跨網絡的尋址,因此在IP 網絡的網絡層只使用IP 地址來完成尋址。尋址時,IP每個路由器依據其路由表(依靠靜態路由或動態路由協議生成)選擇到目標網絡(即主機號全為0 的網絡地址)需要轉發到的下一跳(路由器的物理端口號或下一網絡地址),而IP 分組通過多次路由轉發到達目標網絡后,改為在目標LAN 中通過數據鏈路層的MAC 地址以廣播方式尋址。這樣可以提高路由選擇的效率。

注意:路由器由于互聯多個網絡,因此它不僅有多個IP 地址,也有多個硬件地址。

21.ARP地址解析協議?

無論網絡層使用什么協議,在實際網絡的鏈路上傳送數據幀時,最終必須使用硬件地址。所以需要一種方法來完成IP 地址到MAC 地址的映射,這就是地址解析協議(Address Resolution Protocol)。每臺主機都設有一個ARP 高速緩存,用來存放本局域網上各主機和路由器的IP地址到MAC 地址的映射表,稱ARP 表。使用ARP 來動態維護此ARP 表。

ARP 工作在網絡層,其工作原理如下:主機A 欲向本局域網上的某臺主機B 發送IP 數據報時,先在其ARP 高速緩存中查看有無主機B 的IP 地址。如有,就可查出其對應的硬件地址,再將此硬件地址寫入MAC 幀,然后通過局域網將該MAC 幀發往此硬件地址。如果沒有,那么就通過使用目的MAC 地址為FF-FF-FF-FF-FF-FF 的幀來封裝并廣播ARP 請求分組,使同一個局域網里的所有主機收到ARP 請求。主機B 收到該ARP 請求后,向主機A 發出響應ARP 分組,分組中包含主機B 的IP 與MAC 地址的映射關系,主機A 在收到后將此映射寫入ARP 緩存,然后按查詢到的硬件地址發送MAC 幀。ARP 由于“看到了"IP 地址,所以它工作在網絡層,而NAT路由器由于“看到了“端口,所以它工作在傳輸層。

注意: ARP 用于解決同一個局域網上的主機或路由器的IP 地址和硬件地址的映射問題。如果所要找的主機和源主機不在同一個局域網上,那么就要通過ARP 找到一個位于本局域網上的某個路由器的硬件地址,然后把分組發送給這個路由器,讓這個路由器把分組轉發給下一個網絡。剩下的工作就由下一個網絡來做,盡管ARP 請求分組是廣播發送的,但ARP 響應分組是普通的單播,即從一個源地址發送到一個目的地址。


22.DHCP動態主機配置協議?

動態主機配置協議(Dynamic Host Configuration Protocol, DHCP) 常用于給主機動態地分配IP 地址,它提供了即插即用聯網的機制,這種機制允許一臺計算機加入新的網絡和獲取IP 地址而不用手工參與。DHCP 是應用層協議,它是基于UDP 的。

DHCP 的工作原理如下:使用客戶/服務器方式。需要IP 地址的主機在啟動時就向DHCP 服務器廣播發送發現報文,這時該主機就成為DHCP 客戶。本地網絡上所有主機都能收到此廣播報文,但只有DHCP 服務器才回答此廣播報文。DHCP 服務器先在其數據庫中查找該計算機的配置信息。若找到,則返回找到的信息。若找不到,則從服務器的IP 地址池中取一個地址分配給該計算機。DHCP 服務器的回答報文稱為提供報文。 DHCP 服務器聚合DHCP 客戶端的交換過程如下:

  1. DHCP 客戶機廣播"DHCP 發現“消息,試圖找到網絡中的DHCP 服務器,以便從DHCP服務器獲得一個IP 地址。
  1. DHCP 服務器收到"DHCP 發現消息后,向網絡中廣播"DHCP 提供“消息,其中包括提供DHCP 客戶機的IP 地址和相關配置信息。
  1. DHCP 客戶機收到"DHCP 提供“消息,如果接收DHCP 服務器所提供的相關參數,那么通過廣播"DHCP 請求“消息向DHCP 服務器請求提供IP 地址。
  1. DHCP 服務器廣播"DHCP 確認“消息,將IP 地址分配給DHCP 客戶機。DHCP 允許網絡上配置多臺DHCP 服務器,當DHCP 客戶機發出DHCP 請求時,有可能收到多個應答消息。這時, DHCP 客戶機只會挑選其中的一個,通常挑選最先到達的。

DHCP 服務器分配給DHCP 客戶的IP 地址是臨時的,因此DHCP 客戶只能在一段有限的時間內使用這個分配到的IP 地址。DHCP 稱這段時間為租用期。租用期的數值應由DHCP 服務器自己決定, DHCP 客戶也可在自已發送的報文中提出對租用期的要求。

23.ICMP網際控制報文協議?

為了提高IP 數據報交付成功的機會,在網絡層使用了網際控制報文協議(Internet Control Message Protocol, ICMP) 來讓主機或路由器報告差錯和異常情況。ICMP 報文作為IP 層數據報的數據,加上數據報的首部,組成IP 數據報發送出去。ICMP 是IP 層協議。ICMP 報文的種類有兩種,即ICMP 差錯報告報文和ICMP 詢問報文。ICMP 差錯報告報文用于目標主機或到目標主機路徑上的路由器向源主機報告差錯和異常情況。共有以下5種類型:

  1. 終點不可達。當路由器或主機不能交付數據報時,就向源點發送終點不可達報文。
  1. 源點抑制。當路由器或主機由于擁塞而丟棄數據報時,就向源點發送源點抑制報文,使源點知道應當把數據報的發送速率放慢。
  1. 時間超過。當路由器收到生存時間(TTL) 為零的數據報時,除丟棄該數據報外,還要向源點發送時間超過報文。當終點在預先規定的時間內不能收到一個數據報的全部數據報片時,就把已收到的數據報片都丟棄,并向源點發送時間超過報文。
  1. 參數問題。當路由器或目的主機收到的數據報的首部中有的字段的值不正確時,就丟棄 該數據報,并向源點發送參數問題報文。
  1. 改變路由(重定向)。路由器把改變路由報文發送給主機,讓主機知道下次應將數據報發 送給另外的路由器(可通過更好的路由)。

第五章、傳輸層

快速喚起記憶知識框架

image

24.傳輸層的功能?

從通信和信息處理的角度看,傳輸層向它上面的應用層提供通信服務,它屬千面向通信部分的最高層,同時也是用戶功能中的最低層。傳輸層位于網絡層之上,它為運行在不同主機上的進程之間提供了邏輯通信,而網絡層提供主機之間的邏輯通信。顯然,即使網絡層協議不可靠(網絡層協議使分組丟失、混亂或重復), 傳輸層同樣能為應用程序提供可靠的服務。

傳輸層的功能如下:

l) 傳輸層提供應用進程之間的邏輯通信(即端到端的通信)。與網絡層的區別是,網絡層提供的是主機之間的邏輯通信。從網絡層來說,通信的雙方是兩臺主機, IP 數據報的首部給出了這兩臺主機的IP 地址。但“兩臺主機之間的通信”實際上是兩臺主機中的應用進程之間的通信,應用進程之間的通信又稱端到端的邏輯通信。

  1. 復用和分用。復用是指發送方不同的應用進程都可使用同一個傳輸層協議傳送數據;分用是指接收方的傳輸層在剝去報文的首部后能夠把這些數據正確交付到目的應用進程。
  1. 傳輸層還要對收到的報文進行差錯檢測(首部和數據部分)。而網絡層只檢查IP 數據報的首部,不檢驗數據部分是否出錯。
  1. 提供兩種不同的傳輸協議,即面向連接的TCP 和無連接的UDP 。而網絡層無法同時實現兩種協議(即在網絡層要么只提供面向連接的服務,如虛電路;要么只提供無連接服務,如數據報,而不可能在網絡層同時存在這兩種方式)。

25.UDP協議?

RFC 768 定義的UDP 只是做了傳輸協議能夠做的最少工作,它僅在IP 的數據報服務之上增加了兩個最基本的服務:復用和分用以及差錯檢測。如果應用程序開發者選擇UDP 而非TCP,那么應用程序幾乎直接與IP 打交道。為什么應用開發人員寧愿在UDP 之上構建應用,也不選擇TCP? 既然TCP 提供可靠的服務,而UDP 不提供,那么TCP 總是首選嗎?答案是否定的,因為有很多應用更適合用UDP,主要是因為UDP 具有如下優點:

  1. UDP 無須建立連接。因此UDP 不會引入建立連接的時延。試想如果DNS 運行在TCP 而非UDP 上,那么DNS 的速度會慢很多。HTTP 使用TCP 而非UDP, 是因為對于基于文本數據的Web網頁來說可靠性是至關重要的。
  1. 無連接狀態。TCP 需要在端系統中維護連接狀態。此連接狀態包括接收和發送緩存、擁塞控制參數和序號與確認號的參數。而UDP 不維護連接狀態,也不跟蹤這些參數。因此,某些專用應用服務器使用UDP 時,一般都能支持更多的活動客戶機
  1. 分組首部開銷小。TCP 有20B 的首部升銷,而UDP 僅有8B 的升銷。
  1. 應用層能更好地控制要發送的數據和發送時間。UDP 沒有擁塞控制,因此網絡中的擁塞不會影響主機的發送效率。某些實時應用要求以穩定的速度發送,能容忍一些數據的丟失,但不允許有較大的時延,而UDP 正好滿足這些應用的需求。UDP 常用于一次性傳輸較少數據的網絡應用如DNS 、SNMP 等,因為對千這此應用,若采用TCP, 則將為連接創建、維護和拆除帶來不小的開銷。UDP 也常用于多媒體應用(如IP 電話、實時視頻會議、流媒體等),顯然,可靠數據傳輸對這些應用來說并不是最重要的,但TCP的擁塞控制會導致數據出現較大的延遲,這是它們不可容忍的。

UDP 提供盡最大努力的交付,即不保證可靠交付,但這并不意味著應用對數據的要求是不可靠的,因此所有維護傳輸可靠性的工作需要用戶在應用層來完成。應用實體可以根據應用的需求來靈活設計自己的可靠性機制。


26.TCP協議?

TCP 是在不可靠的IP 層之上實現的可靠的數據傳輸協議,它主要解決傳輸的可靠、有序、無丟失和不重復問題。TCP 是TCP/IP 體系中非常復雜的一個協議,主要特點如下:

  1. TCP 是面向連接的傳輸層協議。
  1. 每條TCP 連接只能有兩個端點,每條TCP 連接只能是點對點的(一對一)。
  1. TCP 提供可靠的交付服務,保證傳送的數據無差錯、不丟失、不重復且有序。
  1. TCP 提供全雙工通信,允許通信雙方的應用進程在任何時候都能發送數據,為此TCP 連接的兩端都設有發送緩存和接收緩存,用來臨時存放雙向通信的數據。發送緩存用來暫時存放以下數據:(1)發送應用程序傳送給發送方TCP 準備發送的數據;(2)TCP 已發送但尚未收到確認的數據。接收緩存用來暫時存放以下數據:(1)按序到達但尚未被接收應用程序收取的數據;(2)不按序到達的數據。

TCP連接的建立

在TCP 連接建立的過程中,要解決以下三個問題:

  1. 要使每一方都能夠確知對方的存在。
  1. 要允許雙方協商一些參數(如最大窗口值、是否使用窗口擴大選項、時間戳選項及服務質量等)。
  1. 能夠對運輸實體資源(如緩存大小、連接表中的項目等)進行分配。

三次握手建立連接

第一步:客戶機的TCP 首先向服務器的TCP 發送一個連接請求報文段。這個特殊的報文段中不含應用層數據,其首部中的SYN標志位被置為1 。另外,客戶機會隨機選擇一個起始序號seq = x(連接請求報文不攜帶數據,但要消耗一個序號)。

第二步:服務器的TCP 收到連接請求報文段后,如同意建立連接,就向客戶機發回確認,并為該TCP 連接分配TCP 緩存和變量。在確認報文段中, SYN 和ACK 位都被置為1, 確認號字段的值為x+ 1, 并且服務器隨機產生起始序號seq= y( 確認報文不攜帶數據,但也要消耗一個序號)。確認報文段同樣不包含應用層數據。

第三步:當客戶機收到確認報文段后,還要向服務器給出確認,并且也要給該連接分配緩存和變量。這個報文段的ACK 標志位被置1, 序號字段為x+ 1, 確認號字段ack=y+ 1 。該報文段可以攜帶數據,若不攜帶數據則不消耗序號。

成功進行以上三步后,就建立了TCP 連接,接下來就可以傳送應用層數據。TCP 提供的是全雙工通信,因此通信雙方的應用進程在任何時候都能發送數據。另外,值得注意的是,服務器端的資源是在完成第二次握手時分配的,而客戶端的資源是在完成第三次握手時分配的,這就使得服務器易于受到SYN 洪泛攻擊。

image

四次握手釋放連接

第一步:客戶機打算關閉連接時,向其TCP 發送一個連接釋放報文段,并停止發送數據,主動關閉TCP 連接,該報文段的FIN 標志位被置1, seq= u, 它等于前面已傳送過的數據的最后一個字節的序號加1 (FIN 報文段即使不攜帶數據,也要消耗一個序號)。TCP 是全雙工的,即可以想象為一條TCP 連接上有兩條數據通路。發送FIN 報文時,發送FIN 的一端不能再發送數據,即關閉了其中一條數據通路,但對方還可以發送數據。

第二步:服務器收到連接釋放報文段后即發出確認,確認號是ack = u + 1, 而這個報文段自己的序號是V, 等于它前面已傳送過的數據的最后一個字節的序號加1 。此時,從客戶機到服務器這個方向的連接就釋放了, TCP 連接處于半關閉狀態。但服務器若發送數據,客戶機仍要接收,即從服務器到客戶機這個方向的連接并未關閉。

第三步:若服務器已經沒有要向客戶機發送的數據,就通知TCP 釋放連接,此時其發出FIN= 1 的連接釋放報文段。

第四步:客戶機收到連接釋放報文段后,必須發出確認。在確認報文段中, ACK 字段被置為1, 確認號ack= w + 1, 序號seq= u + 1 。此時TCP 連接還未釋放,必須經過時間等待計時器設置的時間2MSL 后, A 才進入連接關閉狀態。

image

對上述TCP 連接建立和釋放的總結如下:

  1. 連接建立。分為3 步: 1、SYN = 1, seq = x 。 2、SYN= 1, ACK= 1, seq= y, ack = x + 1 。 3、ACK= 1, seq= x + 1, ack = y + l 。
  2. 釋放連接。分為4 步: 1、FIN= 1, seq =u 。 2、ACK = 1, seq = v, ack = u + 1 。 3、FIN= 1, ACK= 1, seq= w, ack = u + 1 。 4、ACK= 1, seq= u + 1, ack = w + 1。

27.擁塞控制的四種算法?

所謂擁塞控制,是指防止過多的數據注入網絡,保證網絡中的路由器或鏈路小致過載。出現擁塞時,端點并不了解到擁塞發生的細節,對通信連接的端點來說,擁塞往往表現為通信時延的增加。當然,擁塞控制和流量控制也有相似的地方,即它們都通過控制發送方發送數據的速率來達到控制效果。

擁塞控制與流量控制的區別:擁塞控制是讓網絡能夠承受現有的網絡負荷,是一個全局性的過程,涉及所有的主機、所有的路由器,以及與降低網絡傳輸性能有關的所有因素。相反,流量控制往往是指點對點的通信量的控制,即接收端控制發送端,它所要做的是抑制發送端發送數據的速率,以便使接收端來得及接收。

1、慢開始算法(接收窗口rwnd,擁塞窗口cwnd) 在TCP 剛剛連接好并開始發送TCP 報文段時,先令擁塞窗口cwnd = 1, 即一個最大報文段長度MSS 。每收到一個對新報文段的確認后,將cwnd 加1, 即增大一個MSS 。用這樣的方法逐步增大發送方的擁塞窗口cwnd, 可使分組注入網絡的速率更加合理。使用慢開始算法后,每經過一個傳輸輪次(即往返時延RTT), 擁塞窗口cwnd 就會加倍,即cwnd 的大小指數式增長。這樣,慢開始一直把擁塞窗口cwnd 增大到一個規定的慢開始門限ssthresh(闊值),然后改用擁塞避免算法

2、擁塞避免算法 擁寒避免算法的做法如下:發送端的擁塞窗口cwnd 每經過一個往返時延RTT 就增加一個MSS的大小,而不是加倍,使cwnd 按線性規律緩慢增長(即加法增大),而當出現一次超時(網絡擁塞)時,令慢開始門限ssthresh 等于當前cwnd 的一半(即乘法減小)。

image

3、快重傳 快重傳技術使用了冗余ACK 來檢測丟包的發生。同樣,冗余ACK 也用千網絡擁塞的檢測(丟了包當然意味著網絡可能出現了擁塞)。快重傳并非取消重傳計時器,而是在某些情況下可更早地重傳丟失的報文段。當發送方連續收到三個重復的ACK 報文時,直接重傳對方尚未收到的報文段,而不必等待那個報文段設置的重傳計時器超時。

4、快恢復 快恢復算法的原理如下:發送端收到連續三個冗余ACK (即重復確認)時,執行“乘法減小”算法,把慢開始門限ssthresh 設置為出現擁塞時發送方cwnd 的一半。與慢開始(慢開始算法將擁塞窗口cwnd 設置為1) 的不同之處是,它把cwnd 的值設置為慢開始門限ssthresh 改變后的數值,然后開始執行擁塞避免算法("加法增大")'使擁塞窗口緩慢地線性增大。由于跳過了cwnd 從1 起始的慢開始過程,所以被稱為快恢復。


28.為何不采用“三次握手“釋放連接,且發送最后一次握手報文后要等待2MSL 的時間呢?

原因有兩個:

  1. 保證A 發送的最后一個確認報文段能夠到達B 。如果A 不等待2MSL, 若A 返回的最后確認報文段丟失,則B 不能進入正常關閉狀態,而A 此時已經關閉,也不可能再重傳。
  1. 防止出現“已失效的連接請求報文段“。A 在發送最后一個確認報文段后,再經過2MSL可保證本連接持續的時間內所產生的所有報文段從網絡中消失。

服務器結束TCP 連接的時間要比客戶機早一些,因為客戶機最后要等待2MSL 后才可進入CLOSED 狀態。


29.為什么不采用“兩次握手”建立連接呢?

這主要是為了防止兩次握手情況下已失效的連接請求報文段突然又傳送到服務器而產生錯誤。考慮下面這種情況。客戶A 向服務器B 發出TCP 連接請求,第一個連接請求報文在網絡的某個結點長時間滯留, A 超時后認為報文丟失,千是再重傳一次連接請求, B 收到后建立連接。數據傳輸完畢后雙方斷開連接。而此時,前一個滯留在網絡中的連接請求到達服務器B, 而B 認為A 又發來連接請求,此時若使用“三次握手”,則B 向A 返回確認報文段,由于是一個失效的請求,因此A 不予理睬,建立連接失敗。若采用的是“兩次握手”,則這種情況下B 認為傳輸連接已經建立,并一直等待A 傳輸數據,而A 此時并無連接請求,因此不予理睬,這樣就造成了B的資源白白浪費。


第六章、應用層

快速喚起記憶知識框架

image

30.DNS域名解析協議?

域名解析是指把域名映射成為IP 地址或把IP 地址映射成域名的過程。前者稱為正向解析,后者稱為反向解析。當客戶端需要域名解析時,通過本機的DNS 客戶端構造一個DNS 請求報文,以UDP 數據報方式發往本地域名服務器。域名解析有兩種方式:遞歸查詢和遞歸與迭代相結合的查詢。

31.FTP文件傳輸協議?

文件傳輸協議(file Transfer Protocol, FTP) 是因特網上使用得最廣泛的文件傳輸協議。FTP提供交互式的訪問,允許客戶指明文件的類型與格式,并允許文件具有存取權限。它屏蔽了各計算機系統的細節,因而適合于在異構網絡中的任意計算機之間傳送文件。FTP 提供以下功能: (1)提供不同種類主機系統(硬、軟件體系等都可以不同)之間的文件傳輸能力。 (2)以用戶權限管理的方式提供用戶對遠程FTP 服務器上的文件管理能力。 (3)以匿名FTP 的方式提供公用文件共享的能力。

FTP 采用客戶/服務器的工作方式,它使用TCP 可靠的傳輸服務。一個FTP 服務器進程可同時為多個客戶進程提供服務。FTP 的服務器進程由兩大部分組成:一個主進程,負責接收新的請求;另外有若干從屬進程,負責處理單個請求。其工作步驟如下: (1)打開熟知端口21 (控制端口),使客戶進程能夠連接上。 (2)等待客戶進程發連接請求。 (3)啟動從屬進程來處理客戶進程發來的請求。主進程與從屬進程并發執行,從屬進程對客戶進程的請求處理完畢后即終止。 (4)回到等待狀態,繼續接收其他客戶進程的請求。


32.SMTP簡單郵件傳輸協議?

簡單郵件傳輸協議(Simple Mail Transfer Protocol, SMTP) 是一種提供可靠且有效的電子郵件傳輸的協議,它控制兩個相互通信的SMTP 進程交換信息。由于SMTP 使用客戶/服務器方式,因此負責發送郵件的SMTP 進程就是SMTP 客戶,而負責接收郵件的SMTP 進程就是SMTP 服務器。SMTP 用的是TCP 連接,端口號為25 。SMTP 通信有以下三個階段:(1) 連接建立(2) 郵件傳送(3) 連接釋放。


33.POP3

郵局協議(Post Office Protocol, POP) 是一個非常簡單但功能有限的郵件讀取協議,現在使用的是它的第3 個版本POP3 。POP3 采用的是“拉" (Pull) 的通信方式,當用戶讀取郵件時,用戶代理向郵件服務器發出請求,“拉”取用戶郵箱中的郵件。POP 也使用客戶/服務器的工作方式,在傳輸層使用TCP, 端口號為110 。接收方的用戶代理上必須運行POP 客戶程序,而接收方的郵件服務器上則運行POP 服務器程序。POP 有兩種工作方式:“下載并保留”和“下載并刪除"。在“下載并保留”方式下,用戶從郵件服務器上讀取郵件后,郵件依然會保存在郵件服務器上,用戶可再次從服務器上讀取該郵件;而使用“下載并刪除“方式時,郵件一旦被讀取,就被從郵件服務器上刪除,用戶不能再次從服務器上讀取。

隨著萬維網的流行,目前出現了很多基于萬維網的電子郵件,如Hotmail 、Gmail 等。這種電子郵件的特點是,用戶瀏覽器與Hotmail 或Gmail 的郵件服務器之間的郵件發送或接收使用的是HTTP, 而僅在不同郵件服務器之間傳送郵件時才使用SMTP


34.HTTP超文本傳輸協議?

HTTP 定義了瀏覽器(萬維網客戶進程)怎樣向萬維網服務器請求萬維網文檔,以及服務器怎樣把文檔傳送給瀏覽器。從層次的角度看, HTTP 是面向事務的(Transaction-oriented) 應用層協議,它規定了在瀏覽器和服務器之間的請求和響應的格式與規則,是萬維網上能夠可靠地交換文件(包括文本、聲音、圖像等各種多媒體文件)的重要基礎。

用戶單擊鼠標后所發生的事件按順序如下(以訪問清華大學的網站為例):

  1. 瀏覽器分析鏈接指向頁面的URL (http://www.tsinghua.edu.cn /chn/index.htm) 。
  2. 瀏覽器向DNS 請求解析www.tsinghuaaedu.CR 的IP 地址。-
  3. 域名系統統DNS 臚祈出清畢大學服務器的IP 地址。
  4. 瀏覽器與該服務器建立TCP 連接(默認端口號為80) 。
  5. 瀏覽器發出HTTP 請求: GET /chn/index.htm 。
  6. 服務器通過HTTP 響應把文件index.htm 發送給瀏覽器。
  7. TCP 連接釋放。
  8. 瀏覽器解釋文件index.htm, 并將Web 頁顯示給用戶。

image

參考文獻:

[1]謝希仁. 計算機網絡.第5版[M]. 電子工業出版社, 2008.

[2]王道論壇組, 王道論壇. 2015年計算機網絡聯考復習指導[M]. 電子工業出版社, 2014.

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,936評論 6 535
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,744評論 3 421
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,879評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,181評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,935評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,325評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,384評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,534評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,084評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,892評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,623評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,322評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,735評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,990評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,800評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,084評論 2 375

推薦閱讀更多精彩內容

  • 一、什么是TCP/IP 網絡和協議 1. TCP/IP是一類協議系統,它是一套支持網絡通信的協議集合。網絡是計算機...
    karlon的馬甲閱讀 6,588評論 1 24
  • 網絡層提供的兩種服務 在計算機網絡領域,網絡層應該向運輸層提供怎樣的服務(面向連接還是無連接)曾引起了長期的爭論,...
    srtianxia閱讀 3,996評論 0 12
  • 運輸層協議概述 從通信和信息處理的角度看,運輸層向它上面的應用層提供通信服務,它屬于面向通信部分的最高層,同時也是...
    srtianxia閱讀 2,436評論 0 2
  • 1.TCP報頭格式 UDP報頭格式 TCP報頭格式 UDP報頭格式 具體的各部分解釋看 TCP報文格式詳解 - ...
    杰倫哎呦哎呦閱讀 2,488評論 0 5
  • 1. OSI,TCP/IP,五層協議的體系結構,以及各層協議 OSI分層 (7層):物理層、數據鏈路層、...
    iCaptain閱讀 2,486評論 0 4