[100] TCP/IP 運作的一些細節

資料通訊與網路-課程版面-授課教授:XO

版主: b80203, ghost3401, XO, maa, siegf

分享到: Facebook

[100] TCP/IP 運作的一些細節

文章XO » 週三 10月 26, 2011 11:10 am

你應該要知道如下 TCP 運作的細節:

  1. TCP 三向交握建立連線的過程
  2. TCP 連線關閉的步驟
  3. IP 是如何運用多工(Multiplexing) 來服務 TCP、UDP、ICMP、RIP、... 等協定的?
  4. TCP Segment 傳送如何確保正確抵達?
  5. TCP Segments 未必依序抵達,接收端如何確保可依序將 Segments 還原成一個完整的訊息?
  6. TCP Header 裡的 Initial Squence Number 是如何取得的?
  7. 接收端胃納量及消化能力不足下,如何與連線另一頭發送端有默契地達成流量控制?
  8. 甚麼是 MSS?
  9. 甚麼是 TCP Fragmentation?
  10. TCP/IP Protocol Stack 裡是那一層負責完成TCP Fragmentation?
  11. Network Mask 是做啥用的?
  12. 如何取得PC的 Routing Table?
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5331
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re:[100] TCP/IP 運作的一些細節

文章XO » 週四 10月 27, 2011 8:50 pm

嗯!乏人問津...
我看哪... 考試題目 PO 在這兒,都還有同學會渾然不知的說!

會 不 會 呀 ? ^o^
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5331
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re:[100] TCP/IP 運作的一些細節

文章499401437 » 週四 10月 27, 2011 9:36 pm

看到了
感謝老師 事先公布題目 :D
499401437
問題很多的小學生
 
文章: 28
註冊時間: 週四 10月 13, 2011 11:02 pm

Re:[100] TCP/IP 運作的一些細節

文章antony609 » 週四 10月 27, 2011 9:42 pm

看完後發現好多都不熟...
趕緊再去詳讀Q_Q
antony609
懷疑的國中生
 
文章: 47
註冊時間: 週六 9月 17, 2011 12:10 am

Re:[100] TCP/IP 運作的一些細節

文章498742640 » 週四 10月 27, 2011 9:45 pm

考試題目...老師在開玩笑嗎,哈哈哈
頭像
498742640
懷疑的國中生
 
文章: 31
註冊時間: 週五 9月 16, 2011 9:15 am

Re:[100] TCP/IP 運作的一些細節

文章lance8537 » 週四 10月 27, 2011 10:00 pm

挖哩咧
好多不會== :roll:
lance8537
懷疑的國中生
 
文章: 78
註冊時間: 週五 9月 10, 2010 11:04 pm

Re:[100] TCP/IP 運作的一些細節

文章sonic196 » 週四 10月 27, 2011 10:01 pm

謝謝老師 :)
sonic196
剛學走路的小朋友
 
文章: 5
註冊時間: 週五 9月 16, 2011 9:43 am

Re:[100] TCP/IP 運作的一些細節

文章499401138 » 週四 10月 27, 2011 10:01 pm

恩這些題目,一定要今天把課本全翻過,找這些題目的答案,今天要挑燈夜戰,跟課本睡覺了
499401138
懷疑的國中生
 
文章: 31
註冊時間: 週六 9月 17, 2011 5:18 pm

Re:[100] TCP/IP 運作的一些細節

文章499401358 » 週四 10月 27, 2011 10:09 pm

OH,MY GOD!!!!!!!!!!!!
499401358
問題很多的小學生
 
文章: 26
註冊時間: 週四 9月 29, 2011 10:31 pm

Re:[100] TCP/IP 運作的一些細節

文章luckykenny » 週四 10月 27, 2011 10:42 pm

YA~有題目^^

可是找答案時發現有難度...QQ
luckykenny
懷疑的國中生
 
文章: 30
註冊時間: 週五 9月 30, 2011 1:10 am

Re:[100] TCP/IP 運作的一些細節

文章benjamin658 » 週四 10月 27, 2011 10:44 pm

老師請問能大概介紹一下網路遮罩嗎..
我知道是要用AND運算 但是不太了解她真正的目的是什麼
是說譬如輔大140.136.160.90 遮罩後變成140.136.0.0嗎?
把後面子網路跟主機編號之類的東西遮住
benjamin658
懷疑的國中生
 
文章: 31
註冊時間: 週六 9月 17, 2011 12:12 pm

Re:[100] TCP/IP 運作的一些細節

文章499401267 » 週四 10月 27, 2011 10:44 pm

題目很多都不太懂
繼續努力!!
499401267
剛學走路的小朋友
 
文章: 3
註冊時間: 週五 10月 14, 2011 8:22 am

Re:[100] TCP/IP 運作的一些細節

文章ghost3401 » 週四 10月 27, 2011 10:52 pm

benjamin658 寫:老師請問能大概介紹一下網路遮罩嗎..
我知道是要用AND運算 但是不太瞭解她真正的目的是什麼
是說譬如輔大140.136.160.90 遮罩後變成140.136.0.0嗎?
把後面子網路跟主機編號之類的東西遮住


應該是還沒上到吧??

把140.136.160.90 透過與遮罩(Network Mask) 255.255.0.0 進行AND計算(通通換成2進位)

計算結果就是140.136.0.0 這個網域(輔大網域)


可用於子網路切割、路由表的轉送判斷等

----------------------

哎呀 難得這麼多人關切主題! 這裡有回的同學都加分^0^
ghost3401
繼續深造的研究生
 
文章: 473
註冊時間: 週四 9月 07, 2006 9:07 am
來自: 基隆偏遠地帶

Re:[100] TCP/IP 運作的一些細節

文章hivicky92 » 週四 10月 27, 2011 10:54 pm

半小時才找了一半的答案
看來得多點工夫了
:(
hivicky92
懷疑的國中生
 
文章: 31
註冊時間: 週五 9月 30, 2011 12:12 am

Re:[100] TCP/IP 運作的一些細節

文章antony609 » 週四 10月 27, 2011 10:56 pm

1.TCP 三向交握建立連線的過程



TCP 被稱為可靠的連線封包,主要是透過許多機制來達成的,其中最重要的就是三向交握的功能。
封包連接模式當中,在建立連線之前都必須要通過三個確認的動作, 所以這種連線方式也就被稱為三向交握(Three-way handshake)。
那麼我們將整個流程依據上面的 A, B, C, D 四個階段來說明一下:
• A:封包發起
當用戶端想要對伺服器端連線時,就必須要送出一個要求連線的封包,此時用戶端必須隨機取用一個大於 1024 以上的埠口來做為程式溝通的介面。然後在 TCP 的表頭當中,必須要帶有 SYN 的主動連線(SYN=1),並且記下發送出連線封包給伺服器端的序號 (Sequence number = 10001) 。
• B:封包接收與確認封包傳送
當伺服器接到這個封包,並且確定要接收這個封包後,就會開始製作一個同時帶有 SYN=1, ACK=1 的封包, 其中那個 acknowledge 的號碼是要給 client 端確認用的,所以該數字會比(A 步驟)裡面的 Sequence 號碼多一號 (ack = 10001+1 = 10002), 那我們伺服器也必須要確認用戶端確實可以接收我們的封包才行,所以也會發送出一個 Sequence (seq=20001) 給用戶端,並且開始等待用戶端給我們伺服器端的回應喔!
• C:回送確認封包
當用戶端收到來自伺服器端的 ACK 數字後 (10002) 就能夠確認之前那個要求封包被正確的收受了, 接下來如果用戶端也同意與伺服器端建立連線時,就會再次的發送一個確認封包 (ACK=1) 給伺服器,亦即是 acknowledge = 20001+1 = 20002 囉。
• D:取得最後確認
若一切都順利,在伺服器端收到帶有 ACK=1 且 ack=20002 序號的封包後,就能夠建立起這次的連線了。
也就是說,你必須要瞭解『網路是雙向的』這個事實! 所以不論是伺服器端還是用戶端,都必須要透過一次 SYN 與 ACK 來建立連線,所以總共會進行三次的交談!


2. TCP 連線關閉的步驟
(1)A端要結束連線時會發送FIN給B端,B端會傳回ACK代表收到,但這時連線還未結束,B端仍可傳送資料給A端,直到B端傳回FIN給A端時,A端傳回ACK連線才結束。


4. TCP Segment 傳送如何確保正確抵達?
利用acknowledgement number做確認,確認序號為收到的序號+1

5.TCP Segments 未必依序抵達,接收端如何確保可依序將 Segments 還原成一個完整的訊息?
利用Sequence number field 去依序還原

6.TCP Header 裡的 Initial Squence Number 是如何取得的?
隨機產生

7.接收端胃納量及消化能力不足下,如何與連線另一頭發送端有默契地達成流量控制?
利用window size field做控制

8.甚麼是 MSS?
最大封包大小

9.甚麼是 TCP Fragmentation?
當TCP 的封包過大時,會做切割再組合的處理

10.TCP/IP Protocol Stack 裡是那一層負責完成TCP Fragmentation?
Transport層

11.Network Mask 是做啥用的?
網路遮罩又叫子網遮罩、地址遮罩、子網路遮罩(subnet mask),它是一種用來指明一個IP位址的哪些位標識的是主機所在的子網以及哪些位標識的是主機的位遮罩。



第三題和第十二題不太了解,可以請會的回答嗎QQ?
附加檔案
3_hand_shak.png
(18.43 KiB) 被下載 246 次
最後由 antony609 於 週四 10月 27, 2011 11:40 pm 編輯,總共編輯了 1 次。
antony609
懷疑的國中生
 
文章: 47
註冊時間: 週六 9月 17, 2011 12:10 am

Re:[100] TCP/IP 運作的一些細節

文章benjamin658 » 週四 10月 27, 2011 10:58 pm

ghost3401 寫:
benjamin658 寫:老師請問能大概介紹一下網路遮罩嗎..
我知道是要用AND運算 但是不太瞭解她真正的目的是什麼
是說譬如輔大140.136.160.90 遮罩後變成140.136.0.0嗎?
把後面子網路跟主機編號之類的東西遮住


應該是還沒上到吧??

把140.136.160.90 透過與遮罩(Network Mask) 255.255.0.0 進行AND計算(通通換成2進位)

計算結果就是140.136.0.0 這個網域(輔大網域)


可用於子網路切割、路由表的轉送判斷等

----------------------

哎呀 難得這麼多人關切主題! 這裡有回的同學都加分^0^


子網路切割是什麼東西..??
把最後兩個變成0.0的意義在哪><
benjamin658
懷疑的國中生
 
文章: 31
註冊時間: 週六 9月 17, 2011 12:12 pm

Re:[100] TCP/IP 運作的一些細節

文章breeze455270 » 週四 10月 27, 2011 11:01 pm

IP 是如何運用多工(Multiplexing) 來服務 TCP、UDP、ICMP、RIP、... 等協定的? 這題不太懂耶
breeze455270
剛學走路的小朋友
 
文章: 6
註冊時間: 週五 9月 16, 2011 9:36 am

Re:[100] TCP/IP 運作的一些細節

文章hivicky92 » 週四 10月 27, 2011 11:01 pm

antony609 寫:1.TCP 三向交握建立連線的過程



TCP 被稱為可靠的連線封包,主要是透過許多機制來達成的,其中最重要的就是三向交握的功能。
封包連接模式當中,在建立連線之前都必須要通過三個確認的動作, 所以這種連線方式也就被稱為三向交握(Three-way handshake)。
那麼我們將整個流程依據上面的 A, B, C, D 四個階段來說明一下:
• A:封包發起
當用戶端想要對伺服器端連線時,就必須要送出一個要求連線的封包,此時用戶端必須隨機取用一個大於 1024 以上的埠口來做為程式溝通的介面。然後在 TCP 的表頭當中,必須要帶有 SYN 的主動連線(SYN=1),並且記下發送出連線封包給伺服器端的序號 (Sequence number = 10001) 。
• B:封包接收與確認封包傳送
當伺服器接到這個封包,並且確定要接收這個封包後,就會開始製作一個同時帶有 SYN=1, ACK=1 的封包, 其中那個 acknowledge 的號碼是要給 client 端確認用的,所以該數字會比(A 步驟)裡面的 Sequence 號碼多一號 (ack = 10001+1 = 10002), 那我們伺服器也必須要確認用戶端確實可以接收我們的封包才行,所以也會發送出一個 Sequence (seq=20001) 給用戶端,並且開始等待用戶端給我們伺服器端的回應喔!
• C:回送確認封包
當用戶端收到來自伺服器端的 ACK 數字後 (10002) 就能夠確認之前那個要求封包被正確的收受了, 接下來如果用戶端也同意與伺服器端建立連線時,就會再次的發送一個確認封包 (ACK=1) 給伺服器,亦即是 acknowledge = 20001+1 = 20002 囉。
• D:取得最後確認
若一切都順利,在伺服器端收到帶有 ACK=1 且 ack=20002 序號的封包後,就能夠建立起這次的連線了。
也就是說,你必須要瞭解『網路是雙向的』這個事實! 所以不論是伺服器端還是用戶端,都必須要透過一次 SYN 與 ACK 來建立連線,所以總共會進行三次的交談!


2. TCP 連線關閉的步驟
(1)A端要結束連線時會發送FIN給B端,B端會傳回ACK代表收到,但這時連線還未結束,B端仍可傳送資料給A端,直到B端傳回FIN給A端時,A端傳回FIN連線才結束。


4. TCP Segment 傳送如何確保正確抵達?
利用acknowledgement number做確認,確認序號為收到的序號+1

5.TCP Segments 未必依序抵達,接收端如何確保可依序將 Segments 還原成一個完整的訊息?
利用Sequence number field 去依序還原

6.TCP Header 裡的 Initial Squence Number 是如何取得的?
隨機產生

7.接收端胃納量及消化能力不足下,如何與連線另一頭發送端有默契地達成流量控制?
利用window size field做控制

8.甚麼是 MSS?
最大封包大小

9.甚麼是 TCP Fragmentation?
當TCP 的封包過大時,會做切割再組合的處理

10.TCP/IP Protocol Stack 裡是那一層負責完成TCP Fragmentation?
Transport層

11.Network Mask 是做啥用的?
網路遮罩又叫子網遮罩、地址遮罩、子網路遮罩(subnet mask),它是一種用來指明一個IP位址的哪些位標識的是主機所在的子網以及哪些位標識的是主機的位遮罩。



第三題和第十二題不太了解,可以請會的回答嗎QQ?







我第三題也不太懂QAQ
是這個嗎?
Demultiplexing(解多工)與Multiplexing(多工)

Demultiplexing:透過Transport Layer 將接收到的資料送給正確的Socket
Multiplexing:從Socket中接收資料,並且與Header一起封裝成Segment後丟給Network Layer。
其中,Header是用來解多工用的)。
Segment中會記載著要傳輸的訊息 以及對方的Port編號,Port用來區別同主機的不同應用程式或Socket
hivicky92
懷疑的國中生
 
文章: 31
註冊時間: 週五 9月 30, 2011 12:12 am

Re:[100] TCP/IP 運作的一些細節

文章hivicky92 » 週四 10月 27, 2011 11:02 pm

一二題看這個網站會比較清楚

http://blog.jsdan.com/3218?doing_wp_cron
hivicky92
懷疑的國中生
 
文章: 31
註冊時間: 週五 9月 30, 2011 12:12 am

Re:[100] TCP/IP 運作的一些細節

文章XO » 週四 10月 27, 2011 11:06 pm

antony609 寫:....第三題和第十二題不太了解,可以請會的回答嗎QQ?


就是這個光!就是這個光!
只可惜...
有「討」但是還沒看到「論」...
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5331
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

下一頁

回到 資料通訊與網路

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 2 位訪客

cron