如何評測一個軟件工程師的計算機網絡知識水平與網絡編程技能水平?

1、課程知識html

  1.互聯網相關概念,網絡協議基礎,網絡相關命令,環境配置編程

  2.Socket網絡編程瀏覽器

  3.tcp協議及其原理緩存

  4.ip協議以及源碼分析服務器

  5.dns域名解析以及dhcp服務網絡

  

TCP/IP協議族併發

  要想理解socket首先得熟悉一下TCP/IP協議族, TCP/IP(Transmission Control Protocol/Internet Protocol)即傳輸控制協議/網間協議,定義了主機如何連入因特網及數據如何在它們之間傳輸的標準,從字面意思來看TCP/IP是TCP和IP協議的合稱,但實際上TCP/IP協議是指因特網整個TCP/IP協議族。不一樣於ISO模型的七個分層,TCP/IP協議參考模型把全部的TCP/IP系列協議歸類到四個抽象層中。socket

 

在Internet層,解析IP地址,尋找通往目標IP的目的地的下一個路由地址。在網絡接口層,則是尋找響應的硬件(MAC)地址。數據流以及網絡拓撲結構以下圖所示。tcp

 

 Socket相關知識函數

socket起源於UNIX,在Unix一切皆文件哲學的思想下,socket是一種"打開—讀/寫—關閉"模式的實現,服務器和客戶端各自維護一個"文件",在創建鏈接打開後,能夠向本身文件寫入內容供對方讀取或者讀取對方內容,通信結束時關閉文件。

 

 

TCP的三次握手

 

 

第一次握手:客戶端嘗試鏈接服務器,向服務器發送syn包(同步序列編號Synchronize Sequence Numbers),syn=j,客戶端進入SYN_SEND狀態等待服務器確認

第二次握手:服務器接收客戶端syn包並確認(ack=j+1),同時向客戶端發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態

第三次握手:第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手

定睛一看,服務器socket與客戶端socket創建鏈接的部分其實就是大名鼎鼎的三次握手

其在socket中的三次握手

 

 

 2、計算機網絡知識水平與編程能力測試

     選擇題

 

1.數據鏈路層採用後退 N 幀(GBN)協議,發送方已經發送了編號爲 0~7 的幀。當計時器超時時,若發送方

只收到 0、二、3 號幀的確認,則發送方須要重發的幀數是__C____。
A.2
B.3
C.4
D.5
解析:考查後退 N 幀協議的工做原理。
在後退 N 幀協議中,發送方能夠連續發送若干個數據幀,若是收到接收方的確認幀則能夠繼續發送。
若某個幀出錯,接收方只是簡單的丟棄該幀及其後全部的後續幀,發送方超時後需重傳該數據幀及其後
續的全部數據幀。這裏要注意,連續 ARQ 協議中,接收方通常採用累積確認的方式,即接收方對按序到
達的最後一個分組發送確認,所以題目中收到 3 的確認幀就表明編號爲 0、一、二、3 的幀已接收,而此時
發送方未收到 1 號幀的確認只能表明確認幀在返回的過程當中丟失了,而不表明 1 號幀未到達接收方。因
此須要重傳的幀爲編號是 四、五、六、7 的幀。
 
 
2.下列選項中,不屬於網絡體系結構所描述的內容是__C____。
A.網絡的層次
B.每一層使用的協議
C.協議的內部實現細節
D.每一層必須完成的功能
解析:考查計算機網絡體系結構的基本概念。
咱們把計算機網絡的各層及其協議的集合稱爲體系結構。所以 A、B、D 正確,而體系結構是抽象的,
它不包括各層協議及功能的具體實現細節

 

3.在學校局域網上ping 其中一個服務器 沒有涉及到的網絡協議是?()

A、TCP B、DNS C、ICMP D、ARP

答案:A

解析:首先咱們須要dns協議,將網址轉爲IP地址,其次ping的原理是使用ICMP的迴響機制,因此必然用到了網絡層的ICMP協議,最後在到達對方局域網的時候須要使用RARP查找mac地址,在發送主機不知道本身IP的時候也會用到ARP協議,因此綜上ping的過程當中用到了 dns協議、ICMP協議、ARP協議、RARP協議。

4. 若主機甲與主機乙創建 TCP 鏈接時發送的 SYN 段中的序號爲 1000,在斷開鏈接時, 甲發送給乙的 FIN 段中的序號爲 5001,則在無任何重傳的狀況下,甲向乙已經發送的 應用層數據的字節數爲:

 A、4002 B、4001 C、4000 D、3999

答案 C

【解析】 SYN=1000,則數據傳輸時的起始序號爲 1001,字節數 = FIN – 1001 = 4000

5. 假設下圖所示網絡中的本地域名服務器只提供遞歸查詢服務,其餘域名的服務器均只提 供迭代查詢服務;局域網內主機訪問 Internet 上各服務器的往返時間(RTT)均爲 10ms, 忽略其餘各類時延,若主機 H 經過超連接 http://www.abc.com/index.html,請求瀏覽純 文本 Web 頁 index.html,則從點擊超連接開始到瀏覽器接收到 index.html 頁面爲止, 所需最短、最長時間分別是:

A、10ms,40ms B、10ms,50ms C、20ms,40ms D、20ms,50ms

答案 D

【解析】 最短期:本地域名服務器存在域名與 IP 地址的映射 主機向本地域名服務器遞歸查詢 10s + 數據傳輸 10ms = 20ms 最長時間:本地域名服務器不存在映射,須要迭代查詢各級域名服務器 3 次 10ms + 迭代查詢 3 次 30ms + 數據傳輸 10ms = 50ms

 

六、DNS工做於(   )

(A)網絡層

(B)傳輸層

(C)應用層

(D)表示層

答案:C

7,【百度文庫】在實現基於TCP的網絡應用程序時,服務器端正確的處理流程是(   ) 

  A、socket() -> bind() -> listen() -> connect() -> read()/write() -> close()

  B、socket() -> bind() -> listen() -> read()/write() -> close()

  C、socket() -> bind() -> listen() -> accept() -> read()/write() -> close() 

  D、socket() -> connect() -> read()/write() -> close() 

答:C,socket基礎概念。

 

8,【原創】下面哪一個函數負責構造一個攜帶SYN標誌位的TCP頭併發送出去,同時還設置了計時器超時重發(  )

  A、tcp_transmit_skb

  B、inet_csk_accept

  C、tcp_v4_rcv

  D、tcp_connect

答:D,考察對Linux網絡協議棧的瞭解。

 簡答題

 

1.什麼是TCP的三次握手機制?TCP的三次握手機制過程簡述。

答:三次握手:

(1)Client先產生一個初始序列號seq,SYN標誌位置1,將該數據包發送給Server端,以後Client端進入SYN_SENT狀態,等待Client確認。

(2)Server收到數據包後也發送本身的SYN報文做爲響應,並初始化序列號seq,爲了確認Client的seq,Server將Client發送的seq加1做爲ACK發送給Client,Server進入SYN_RCVD狀態。

(3)爲了確認Server的SYN,Client將Server發送的seq加1做爲ACK發送給Server。Client和Server進入ESTABLISHED狀態,完成三次握手。

 

2.簡述交換機、集線器和路由器的區別,交換機和集線器的聯繫。

答:

1.集線器
集線器工做在物理層
共享帶寬
半雙工
廣播發送
2.交換機
以太網交換機工做在數據鏈路層
鏈接局域網中的主機
相互通訊的主機獨佔帶寬
依據MAC地址轉發,有目的發送
3.路由器
路由器工做在網絡層
是一個多輸入輸出端口的專用計算機
鏈接不一樣的網絡
共享帶寬
依據IP地址轉發,有目的發送

3.簡述UDP和TCP的協議的主要特色和它們的主要差異

答:UDP
(1)無鏈接
(2)盡最大努力交付,不可靠
(3)無擁塞控制,效率高,適合於IP電話,實時視頻等
(4)首部開銷小,只有四個字段(源端口,目的端口,長度,檢驗和)
(5)可一對一,一對多,多對一,多對多交互
(6)面向報文
TCP
(1)面向鏈接的傳輸層協議
(2)每一個TCP鏈接只能有兩個端點,一對一
(3)可靠交付
(4)全雙工通訊
(5)面向字節流,「流」指流入到進程或從進程流出的字節序列,將收到的分組組織成字節流提交給上層

 

綜合題

1.假設下圖中的H3訪問Web服務器S時,S爲新建的TCP鏈接分配了20 KB(K=1
024)的接收緩存,最大段長MSS=1 KB,平均往返時間RTT=200 ms。H3創建鏈接時的初始序號
爲100,且持續以MSS大小的段向S發送數據,擁塞窗口初始閾值爲32 KB;S對收到的每一個段進
行確認,並通告新的接收窗口。假定TCP鏈接創建完成後,S端的TCP接收緩存僅有數據存入而
無數據取出。請回答下列問題。
(1)在TCP鏈接創建過程當中,H3收到的S發送過來的第二次握手TCP段的SYN和ACK標誌位
的值分別是多少?確認序號是多少?
(2)H3收到的第8個確認段所通告的接收窗口是多少?此時H3的擁塞窗口變爲多少?H3的發
送窗口變爲多少?
(3)當H3的發送窗口等於0時,下一個待發送的數據段序號是多少?H3從發送第1個數據段到
發送窗口等於0時刻爲止,平均數據傳輸速率是多少(忽略段的傳輸延時)?
(4)若H3與S之間通訊已經結束,在t時刻H3請求斷開該鏈接,則從t時刻起,S釋放該鏈接的
最短期是多少?

 

 

解析:

(1)第二次握手TCP段的SYN=1,(1分)ACK=1;(1分)確認序號是101。(1分)
(2)H3收到的第8個確認段所通告的接收窗口是12 KB;(1分)此時H3的擁塞窗口變爲9 KB;
(1分)H3的發送窗口變爲9 KB。(1分)
(3)當H3的發送窗口等於0時,下一個待發送段的序號是20 K+101=20×1024+101=20581;(1
分)H3從發送第1個段到發送窗口等於0時刻爲止,平均數據傳輸速率是20 KB/(5×200 ms)=20
KB/s=20.48 kbps。(1分)
(4)從t時刻起,S釋放該鏈接的最短期是:1.5×200 ms=300 ms。(1分)

 

2.

某網絡拓撲以下圖所示,其中R爲路由器,主機H1~H4的IP地址配置以及R的各接口IP地址

配置如圖中所示。現有若干臺以太網交換機(無VLAN功能)和路由器兩類網絡互連設備可供選擇。

請回答下列問題:

(1) 設備一、設備2和設備3分別應選擇什麼類型網絡設備?

(2) 設備一、設備2和設備3中,哪幾個設備的接口須要配置IP地址?併爲對應的接口配置正確的IP地

址。

(3) 爲確保主機H1~H4可以訪問Internet,R須要提供什麼服務?

(4) 若主機H3發送一個目的地址爲192.168.1.127的IP數據報,網絡中哪幾個主機會接收該數據報?

 

 參考答案:(1)設備1:路由器 設備2:以太網交換機 設備3:以太網交換機

               (2)設備1的接口須要配置ip地址;設備1的IF1,IF2,IF3接口的ip地址分別是

                 192.168.1.254 192.168.1.1 192.168.1.65

                (3)R須要提供NAT服務

                 (4)主機H4會接收該數據報

相關文章
相關標籤/搜索