A 課程大綱
本課程內容大綱如下:
1 互聯網概述
- 1.1 課程內容簡介
- 1.2 網絡協議基礎
- 1.3 上網瀏覽網頁背后的網絡通信過程
- 1.4 實驗環境安裝配置
- 1.5 網絡相關命令
2 Socket網絡編程
- 2.1 編譯、構建和調試
- 2.2 Socket接口
- 2.3 UDP范例代碼
- 2.4 TCP范例代碼
3 TCP協議
- 3.1 TCP協議概述
- 3.2 Linux網絡協議棧源代碼簡介
- 3.3 Linux系統的編譯、構建和調試
- 3.4 TCP協議源代碼分析
4 IP協議及路由表
- 4.1 IP協議基礎
- 4.2 路由表
- 4.3 路由轉發舉例
- 4.4 IP協議棧源代碼解析
- 4.5 路由協議簡介
- 4.6 網絡層數據傳輸路徑解析
5 ARP協議及ARP緩存
- 5.1 ARP協議基礎
- 5.2 ARP解析的過程
- 5.3 ARP解析在網絡傳輸過程中的作用
- 5.4 ARP協議棧源代碼解析
6 二層交換網絡及轉發過濾數據庫
- 6.1 以太網基礎
- 6.2 交換機的學習、轉發和過濾數據庫
- 6.3 常見二層協議
- 6.4 數據鏈路層在Linux網絡協議棧中的一些關鍵代碼分析
7 DNS協議及域名存儲與解析
- 7.1 DNS協議基礎
- 7.2 DNS域名的存儲
- 7.3 DNS域名解析過程分析
8 互聯網架構設計背后的淵源
- 8.1 互聯網架構設計的最初動機與核心目標
- 8.2 互聯網架構設計的具體目標及背后重要權衡
B 試題
【】中表示章節和題目來源
一 選擇題
-
【1,408-2019】OSI參考模型的第5層(自下而上)完成的主要功能是(C)
A.差錯控制
B.路由選擇
C.會話管理
D.數據表示轉換
-
【2,原創】在Socket API中,以下哪個函數是用於獲取傳入連接請求的?(D)
A.connect
B.bind
C.listen
D.accept
-
【3,原創】下面關於TCP的敘述哪個是錯誤的?(A)
A.TCP提供一種面向連接的、可靠的字節流服務
B.TCP的滑動窗口是面向字節的
C.TCP的三次握手是由Socket中connect和listen函數完成的
D.TCP通過使用端口號來完成進程到進程的通信
-
【4,408-2017】若將網絡21.3.0.0/16划分為128個規模相同的子網,則每個子網可分配的最大IP地址個數為(C)
A.254
B.256
C.510
D.512
-
【5,原創】以下哪條描述是錯誤的?(B)
A.ARP協議用於將計算機的網絡地址(IP地址32位)轉化為物理地址(MAC地址48位)
B.ARP協議從IP層收到IP數據包和next hop地址。
C.ARP協議查找IP數據包的next hop地址時,若找到且狀態是RESOLVED,將從項目中提取硬件MAC地址。將分組連同硬件MAC地址一起發送到數據鏈路層
D.ARP緩存查詢過程在Socket的connect函數中完成
-
【6,408-2015】下列關於CSMA/CD協議的敘述中,錯誤的是(B)
A.邊發送數據,邊檢測是否發生沖突
B.適用於無線網絡,以實現無線鏈路共享
C.需要根據網絡跨距和數據傳輸速率限定最小幀長
D.當信號傳播延遲趨近0時,信道利用率趨近100%
-
【7,408-2016】假設所有域名服務器均采用迭代查詢方式進行域名解析。當H4訪問規范域名為www.abc.xyz.com的網站時,域名服務器201.1.1.1在完成該域名解析過程中,可能發出DNS查詢最少和最多次數分別是(C)
A.0,3
B.1,3
C.0,4
D.1,4
-
【8,原創】下列敘述中,錯誤的是(B)
A.互聯網架構設計的核心目標是開發一種能夠將現存不同類型的網絡互連起來充分利用(復用)的有效技術。
B.互聯網架構選擇的方案是把狀態信息保存在網絡中間的分組交換節點上。在這種情況下,為了使信息不丟失,就需要把這些狀態信息在傳輸節點之間復制。
C.定級是開展網絡安全等級保護工作的“基本出發點” ,定級要素包括受侵害的客體和客體的受侵害程度。
D.網絡安全等級保護工作包括定級、備案、建設整改、等級測評、監督檢查五個階段。
二 簡答題
-
【2,原創】簡述Socket中socket、connect、bind、listen、accept函數的功能。
參考答案:
-
socket:創建一個新的套接字
-
connect:同遠程服務器建立主動連接
-
bind:為套接字指明一個端口號,然后等待連接
-
listen:面向連接的服務器使用它將一個套接字置為被動模式,並准備接收傳入連接。
-
accept:獲取傳入連接請求,返回新的連接的套接字描述符。
-
-
【3,原創】簡述TCP數據傳輸過程
TCP將用戶數據打包(分割)成報文段;發送后啟動一個定時器;另一端對收到的數據進行確認,對失序的重新排序,丟棄重復數據;TCP提供端到端的流量控制,並計算和驗證一個強制性的端到端檢驗和。
-
【5,原創】簡述ARP協議進行地址解析的過程
參考答案:
保存睡眠狀態,直到從IP層收到IP數據包、下一跳地址和接口號。收到IP數據包后檢查高速緩存表,查找該IP數據包的下一跳地址。
若找到且狀態是已發送請求且已經應答,則從項目中提取硬件MAC地址,將分組連同硬件MAC地址一起發送到數據鏈路層;若狀態是已發送請求但未應答,把分組放入相應的隊列;若未找到,創建一個高速緩存項目,創建一個隊列將分組放入隊列,然后向局域網廣播ARP請求。
-
【7,原創】簡述DNS的遞歸查詢過程,並且指出一般在什么情況下采用遞歸查詢。
參考答案:
遞歸查詢是指如果主機所詢問的本地域名服務器不知道被查詢的域名的IP地址,那么本地域名服務器就以DNS客戶的身份, 向其它根域名服務器繼續發出查詢請求報文(即替主機繼續查詢),而不是讓主機自己進行下一步查詢。因此,遞歸查詢返回的查詢結果或者是所要查詢的IP地址,或者是報錯,表示無法查詢到所需的IP地址。
主機向本地域名服務器的查詢一般都是采用遞歸查詢。
三 綜合
-
【5,《計算機網絡》第七版,謝希仁】設某路由器建立了如下路由表:
目的網絡 子網掩碼 下一跳
128.96.39.0 255.255.255.128 接口m0
128.96.39.128 255.255.255.128 接口m1
128.96.40.0 255.255.255.128 R2
192.4.153.0 255.255.255.192 R3
*(默認) —— R4
現共收到5個分組,其目的地址分別為:
(1)128.96.39.10
(2)128.96.40.12
(3)128.96.40.151
(4)192.4.153.17
(5)192.4.153.90
試分別計算其下一跳。
參考答案:
(1)分組的目的站IP地址為:128.96.39.10。先與子網掩碼255.255.255.128相與,得128.96.39.0,可見該分組經接口m0轉發。
(2)分組的目的IP地址為:128.96.40.12。
① 與子網掩碼255.255.255.128相與得128.96.40.0,不等於128.96.39.0。
② 與子網掩碼255.255.255.128相與得128.96.40.0,經查路由表可知,該項分組經R2轉發。
(3)分組的目的IP地址為:128.96.40.151,與子網掩碼255.255.255.128相與后得128.96.40.128,與子網掩碼255.255.255.192相與后得128.96.40.128,經查路由表知,該分組轉發選擇默認路由,經R4轉發。
(4)分組的目的IP地址為:192.4.153.17。與子網掩碼255.255.255.128相與后得192.4.153.0。與子網掩碼255.255.255.192相與后得192.4.153.0,經查路由表知,該分組經R3轉發。
(5)分組的目的IP地址為:192.4.153.90,與子網掩碼255.255.255.128相與后得192.4.153.0。與子網掩碼255.255.255.192相與后得192.4.153.64,經查路由表知,該分組轉發選擇默認路由,經R4轉發。
-
【3,《計算機網絡》第七版,謝希仁】試用例子說明為什么在運輸連接建立時要使用三次握手。說明不這樣做可能會出現什么情況
參考答案:3次握手完成兩個重要功能,既要雙方做好發送數據的准備工作(雙方都知道彼此已經准備好),也要運行雙方就初始序列號進行協商,這個序列號在握手過程中被發送和確認。
假定B決定給A發送一個連接請求分組,A收到了分組,並發送了確認分組,按照兩次握手的協定,A認為連接已經成功建立了,可以開始發送數據分組,可是B在A的應答分組在傳輸中被丟失的情況下,將不知道A是否已經准備號,不知道A建議什么樣的序列號,B甚至懷疑A是否收到了自己的請求連接分組,在這種情況下還未建立成功,將忽略A發送過來的任何數據,只等待連接確認分組
而A發送的分組超過之后,重復發送同樣的分組,這樣就形成了死鎖
心之所向,素履以往