Principles of Reliable Data Transfer
โ reliable ํ๋ค๊ณ ํ์ง๋ง...
- ์ค์ง์ ์ผ๋ก ๋ฐ์ดํฐ ์ ๋ฌ๋๋ underlying network๋ reliable ํ์ง ์๋ค!.
โ Unreliable Channel์์๋?
- Message error
- Message loss
Simple Reliable Data Transfer Protocol์ ๊ฐ์ ํ์
1. Perfect Channel์ด๋ผ๋ฉด?
โ No packet errors
โ No packet loss
2. Packet error๊ฐ ์กด์ฌํ๋ Channel์ด๋ผ๋ฉด?
์๋ฌ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ฌด์์ด ํ์ํ ๊น?
1. Error detection
- Checksum
2. Feedback (reciever)
- Acknowledgements (ACKs): ์ ๋ฐ์์ (์๋ฌx)
- Negative Acknowlegements (NAKs): ์ ๋ชป ๋ฐ์์ (์๋ฌ o)
3. Retransmission
- NAK์ผ ๊ฒฝ์ฐ ์ฌ์ ์ก
However...
์์ ๊ฐ์ ์ ์ฐจ๋ค๋ก ์๋ฌ๋ฅผ ์์ ํ ๋ง์ ์ ์์๊น?
โ ํผ๋๋ฐฑ(ACK / NAK) ์์ฒด์ ์๋ฌ๊ฐ ์๋ค๋ฉด?
-> ํผ๋๋ฐฑ์๋ checksum ์ ์ฉ
โ ํผ๋๋ฐฑ์ ์๋ฌ๊ฐ ์์ ๊ฒฝ์ฐ ์ผ๋จ ์ฌ์ ์ก์ ํด๋ณด์...
-> reciever ์
์ฅ์์ ์๋ก์ด ํจํท์ธ์ง ์ค๋ณต์ธ์ง ์ ์ ์๋ค๋ ๋ฌธ์ ๋ฐ์!
Handling Duplicate Packets
โ Sender๋ ๊ฐ ํจํท์ Sequence number๋ฅผ ๋ถ์ฐฉํ๋ค.
โ reviever๋ seq#๋ก ์ค๋ณต ํจํท์ ๊ฑธ๋ฌ๋ธ๋ค.
โ ํค๋์ ํ๋ ํฌ๊ธฐ๋ฅผ ์ต์ํ ํ๊ธฐ ์ํด์ seq#๋ 0/1 ๋ ๊ฐ๋ง ์ฌ์ฉ
์์ฝ ์ ๋ฆฌ ๊ทธ๋ฆผ
3. Packet error & Packet loss๊ฐ ์กด์ฌํ๋ Channel์ด๋ผ๋ฉด?
packet error๋ ์์์ ์ด๋ฏธ ์ฒ๋ฆฌ ํ์ผ๋ packet loss๋ง ์ฒ๋ฆฌ ํ๋ฉด ๋๋ค!
์ ์ค์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ํ์ํ ๋ฉ์ปค๋์ฆ
โ ํ์ด๋จธ!
-> ํ์์์ ๋ฐ์ ์ ์ฌ์ ์ก
-> ํ์ด๋จธ์ ๊ธฐํ์ 'reasonable'ํ ์๊ฐ (์ ๋ต x)
โ ์งง์ ๊ฒฝ์ฐ
- ์ค์ ๋ก ์ ์ค ๋์์ ๊ฒฝ์ฐ ๋์ฒ๊ฐ ๋น ๋ฅด๋ค.
- ๊ทธ๋ฌ๋ ๋คํธ์ํฌ ์ค๋ฒํค๋ ๋ฐ์ ๊ฐ๋ฅ์ฑ up
โ ๊ธธ ๊ฒฝ์ฐ
- ๊ทธ๋ฌ๋ ๋คํธ์ํฌ ์ค๋ฒํค๋ ๋ฐ์ ๊ฐ๋ฅ์ฑ down
- ์ค์ ๋ก ์ ์ค ๋์์ ๊ฒฝ์ฐ ๋์ฒ๊ฐ ๋๋ฆด ์ ์๋ค.
rdt 3.0์ ์๋ ๋ชจ์ต
'โญ Group_Study > Networking' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[3์ฃผ์ฐจ] TCP์ Segment Structure (0) | 2022.10.05 |
---|---|
[3์ฃผ์ฐจ] Pipelined Protocols: GBN & Selective repeat (0) | 2022.10.04 |
[2์ฃผ์ฐจ] Connectionless transport : UDP (0) | 2022.09.27 |
[2์ฃผ์ฐจ] Transport Layer- Multiplexing_Demultiplexing (0) | 2022.09.27 |
[2์ฃผ์ฐจ] Application Layer - Socket (0) | 2022.09.26 |
๋๊ธ