2012年11月30日 星期五

第十一週計算機網路

作業:
1.解釋3-way handshaking
三向交握 (Three-way handshake)

TCP 通訊協定是一種 connection-oriented 協定,它在實際資料傳送前,會在來源端與目的端主機以三向交握 (three-way handshake) 的方式先建立連線,所有屬於相同訊息的 TCP 封包,就利用此連線傳送,此種作法有助於資料傳輸的正確性。以下是三向交握的流程說明:
 
 
(1) 當傳送端想要與接收端連線時,同時會啟用一個大於 1023 的通訊埠作為溝通的介面,並且送出一個要求連線的 SYN 封包,此封包內帶有起始序號 (例如 100)。
(2) 接收端確認收到連線的 SYN 封包後,會回送一個 SYN+ACK 封包給傳送端,封包內則帶有回應號碼 (連線 SYN 封包的序號 + 1),以及接收端的起始序號 (例如 2200),等待傳送端的回應確認。
(3) 當傳送端收到來自接收端的回應號碼,確認之前的連線要求封包已被收到,便會再傳送一個 ACK 封包給接收端,封包內會帶有回應號碼 (SYN+ACK 封包的序號 + 1)。
 
待接收端收到帶有正確回應號碼的 ACK 封包,此連線便正式建立。在 TCP 封包內,有 8 個控制位元 (Control bits 或 Flags) 用來代表封包的主要動作:
 
Flags說    明
CWR
CWR (Congestion Window Reduced) flag 為 1 代表接到 ECE 旗標 為 1 的 TCP 封包。
ECEECE (ECN-Echo) flag 為 1 代表 TCP peer (對等體) 具備 ECN (Explicit Congestion Notification, 明確擁塞通知) 功能,同時 IP 封包中的 ECN 欄位被設定為 11。
URGURG (Urgent) flag 為 1 代表緊急封包,接收端應優先處理。
ACKACK (Acknowledgment) flag 為 1 代表此封包的 Acknowledgment Number 是有效的﹐是用來回應上一個封包。
PSHPSH (Push function) flag 為 1 代表此封包連同緩衝區的其它相關封包應立即進行傳送,而無需等待緩衝區滿了才送。
RSTRST (Reset) flag 為 1 代表馬上結束連線,無需等待終止確認手續。
SYNSYN (Synchronize) flag 為 1 代表要求雙方進行同步處理,也就是要求建立連線。
FINFIN (Finish) flag 為 1 代表資料傳送結束,等待結束回應,以便正式結束 TCP 傳送流程。
 
2.解釋ping
ping:一個電腦網路工具,用來測試特定主機能否通過IP到達。ping的運作原理是:向目標主機傳出一個ICMPecho要求封包,等待接收echo回應封包。程式會按時間和反應成功的次數,估計失去封包率(丟包率)和封包來回時間(網路時延)(Round-trip delay time)。

何謂ICMP:
網際網路控制消息協議Internet Control Message Protocol 或簡寫 ICMP)是網路協議族的核心協議之一。它用於 TCP/IP 網路中發送控制消息,提供可能發生在通信環境中的各種問題反饋,通過這些信息,令管理者可以對所發生的問題作出診斷,然後採取適當的措施解決。
ICMP [1] 依靠IP來完成它的任務,它是IP的主要部分。它與傳輸協議,如TCPUDP顯著不同:它一般不用於在兩點間傳輸數據。它通常不由網路程序直接使用,除了pingtraceroute這兩個特別的例子。

筆記:



沒有留言:

張貼留言