題目三: 使用 TCP 傳輸時,須先建立連線(connection),此連線過程包含三個步驟,也就是一個 three-way handshake,請以 A 為 TCP 主動端(通常為 client),B 為被動端(通常為 server)之情境, 依序說明這三個步驟分別須由誰傳送給誰甚麼封包(packet)?以及每個封包的序號(Sequence number)、回應序號(ACK number)、Window size 的內容應該為何?【10 分】
詳解 (共 6 筆)
國營資訊Fight!!
詳解 #4282548
1.Client發送SYN給Server...
(共 201 字,隱藏中)
前往觀看
109年中華電信已錄取
詳解 #4044153
SYN (Synchronize seq...
(共 276 字,隱藏中)
前往觀看
neville0730
詳解 #5682034
A給B 初始封包 /B回傳A初始封包+回...
(共 36 字,隱藏中)
前往觀看
朱飛彥
詳解 #5567128
A 先丟給B SYN封包要求連線 B被動...
(共 56 字,隱藏中)
前往觀看
Chris C
詳解 #6328191
步驟 1:Client → Server (SYN)
誰傳給誰? A (Client) → B (Server)
傳送什麼封包? SYN (synchronize) 封包
封包內容:
Sequence Number (SEQ): 由 A 隨機選擇一個初始數值 X
Acknowledgment Number (ACK): 無 (因為這是連線的開始)
Flags: SYN=1,ACK=0
Window Size: A 端的接收窗口大小
誰傳給誰? A (Client) → B (Server)
傳送什麼封包? SYN (synchronize) 封包
封包內容:
Sequence Number (SEQ): 由 A 隨機選擇一個初始數值 X
Acknowledgment Number (ACK): 無 (因為這是連線的開始)
Flags: SYN=1,ACK=0
Window Size: A 端的接收窗口大小
ㅤㅤ
ㅤㅤ
步驟 2:Server → Client (SYN-ACK)
誰傳給誰? B (Server) → A (Client)
傳送什麼封包? SYN-ACK (synchronize-acknowledge) 封包
誰傳給誰? B (Server) → A (Client)
傳送什麼封包? SYN-ACK (synchronize-acknowledge) 封包
封包內容:
Sequence Number (SEQ): 由 B 隨機選擇一個初始數值 Y
Acknowledgment Number (ACK): X+1(表示確認 A 發送的 SYN)
Flags: SYN=1,ACK=1
Window Size: B 端的接收窗口大小
ㅤㅤ
ㅤㅤ
步驟 3:Client → Server (ACK)
誰傳給誰? A (Client) → B (Server)
傳送什麼封包? ACK (acknowledge) 封包
封包內容:
Sequence Number (SEQ): X+1(延續 A 端的序號)
Acknowledgment Number (ACK): Y+1(確認 B 端的 SYN)
Flags: SYN=0,ACK=1
Window Size: A 端的接收窗口大小
誰傳給誰? A (Client) → B (Server)
傳送什麼封包? ACK (acknowledge) 封包
封包內容:
Sequence Number (SEQ): X+1(延續 A 端的序號)
Acknowledgment Number (ACK): Y+1(確認 B 端的 SYN)
Flags: SYN=0,ACK=1
Window Size: A 端的接收窗口大小
ㅤㅤ
ㅤㅤ
ㅤㅤ
prudentjeffrey
詳解 #4174240
(共 2 字,隱藏中)
前往觀看