TCP: Segment Structure
TCP์ ํน์ง
โ point-to-point: one sender(socket), one receiver(socket)
โ reliable, inorder byte stream
โ piplelined
โ full duplex: ์๋ฐฉํฅ data flow
โ send & receive buffers: ๊ฐ๊ฐ ๋์๋๋ ๋ฒํผ๋ฅผ ๊ฐ์ง๊ณ ์์
โ connection oriented
โ flow controlled
โ condition controll
TCP segment์ ๊ตฌ์กฐ
![image](https://user-images.githubusercontent.com/109324637/193618039-b15eab2e-7cb8-450a-ac80-c1b86214f99b.png)
โ ๊ฐ ํค๋ ํ๋์ ์๋ฏธ๋ฅผ ํ์
ํ๋ ๊ฒ ์ค์ํ๋ค
โ src/dest port#: 16bit -> 0 ~ 2^16 - 1
โ seq#
โ ACK#
โ checksum: ์๋ฌ ํ์ธ
โ receive window: ํ์ฌ ๋จ์์๋ ๋น ๊ณต๊ฐ
โ ...
TCP์์์ seq#์ ACK
![image](https://user-images.githubusercontent.com/109324637/193619600-3d69293d-8882-4224-b0c8-56b26d71cf39.png)
โ TCP์ seq#: ๋ฐ์ดํฐ์ ์ฒซ ๋ฐ์ดํธ์ ์์ ๋ฒํธ
โ TCP์ ACK: cumulatice ACK์ ์ฌ์ฉ
ใใใใใex) ACK(10): 9๋ฒ๊น์ง์ ๋ฐ์ดํฐ ์์ , 10๋ฒ ๋ฐ์ดํฐ ์์ ๋๊ธฐ
โ receiver๋ sender๊ฐ ๋ง๋ seq#๋ฅผ ๊ธฐ๋ฐ์ผ๋ก buffer์ ๋ฃ๋ ๋ฐ์ดํฐ๋ฅผ ํธ๋ํนํ๋ค.
Timeout
Timeout value๋ฅผ ์ด๋ป๊ฒ ์ค์ ํ ๊ฒ์ธ๊ฐ?
โ RTT(Round Trip Time): ๋คํธ์ํฌ์์ ์ถ๋ฐ์ง์ ์์ ์ ์กํ ์ ํธ๊ฐ ๋์ฐฉ์ง์ ์ ๊ฑฐ์ณ ๋ค์ ์ถ๋ฐ์ง์ ์ผ๋ก ๋์์ค๊ธฐ๊น์ง์ ์๊ฐ(์๋ณต์๊ฐ)
โ ๊ทธ๋ฌ๋ ์ธ๊ทธ๋จผํธ๊ฐ ๊ฑฐ์น๋ ๊ฒฝ๋ก๊ฐ ๋ค๋ฅด๊ณ queing delay ๋๋ฌธ์ RTT๋ ์ ๋ถ ๋ค๋ฅด๋ค
Estimated RTT
![image](https://user-images.githubusercontent.com/109324637/193625601-3d051e76-a37f-4f6a-86a6-9b42b42ec6f7.png)
![image](https://user-images.githubusercontent.com/109324637/193625444-823ce2c9-7839-43f9-884b-0a552ee07ef1.png)
โ ์ต๊ทผ ์ธก์ ๋ RTT์ ์ ์ ๊ฐ์ค์น๋ฅผ ์ฃผ๋ ๊ฐ์คํ๊ท
TCP์ timeout value
![image](https://user-images.githubusercontent.com/109324637/193625861-44771d8d-4ed7-4c24-86a6-f0d6536b67f8.png)
โ estimated rtt์ ์ผ์ ์ ๋์ margin์ ๋ํด์ค๋ค
'โญ Group_Study > Networking' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[4์ฃผ์ฐจ] TCP: Flow Control (0) | 2022.10.13 |
---|---|
[3์ฃผ์ฐจ] TCP: Reliable Data Transfer (0) | 2022.10.06 |
[3์ฃผ์ฐจ] Pipelined Protocols: GBN & Selective repeat (0) | 2022.10.04 |
[2์ฃผ์ฐจ] Principles of Reliable Data Transfer (0) | 2022.09.27 |
[2์ฃผ์ฐจ] Connectionless transport : UDP (0) | 2022.09.27 |
๋๊ธ