[Computer Network] Chap8. Transport layer (1)

2023. 12. 19. 13:07ใ†ComputerScience/ComputerNetwork

 

 

 

 

 

8. Transport layer 1

- 3๊ณ„์ธต์ด ์ปดํ“จํ„ฐ๋Š” ์ฐพ์•˜๊ณ , 4๊ณ„์ธต์€ destination software๋ฅผ ์ฐพ๋Š” ๊ณผ์ • (process to process)

- ํ•œ ํ”„๋กœ์„ธ์Šค์—์„œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ packet์„ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•˜์—ฌ

 

- ๊ฐ€์žฅ ์œ ๋ช…ํ•œ ๊ฒƒ์€ ํด๋ผ์ด์–ธํŠธ / ์„œ๋ฒ„ ๊ตฌ์กฐ / ์ปดํ“จํ„ฐ 2๋Œ€์˜ ํ†ต์‹  

- ๋ณธ์ธ์ด ์š”์ฒญํ•  ๋•Œ, ๋‚ด๊ฐ€ local host / ์ƒ๋Œ€ํŽธ์ด remote host

+ ์ปดํ“จํ„ฐ ์•ˆ์˜ ์†Œํ”„ํŠธ์›จ์–ด, process๋ฅผ ์ง€์นญํ•˜๊ฒŒ ๋จ -> local process & remote process

 

- Port number – ํ˜ธ์ŠคํŠธ ์šด์˜์ฒด์ œ ์œ„์—์„œ ๋Œ์•„๊ฐ€๋Š” ๋‹ค์–‘ํ•œ ํ”„๋กœ์„ธ์Šค, ํ”„๋กœ๊ทธ๋žจ์„ ์‹๋ณ„ํ•˜๋Š” ๋ฒˆํ˜ธ (16 bit int)

+ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ํ‘œ์ค€ SW ํ”„๋กœ๊ทธ๋žจ์€ ๋ฏธ๋ฆฌ 1024๊ฐœ ์ง€์ • -> ์ด์™ธ์˜ ๊ฐ’์€ ์ž„์˜๋กœ ์šด์˜์ฒด์ œ๊ฐ€ ๋žœ๋คํ•˜๊ฒŒ ์ง€์ • 

- ์ปดํ“จํ„ฐ๋Š” IP address + ๋‚ด๋ถ€์˜ ํ”„๋กœ์„ธ์Šค๋Š” port number

- destination๊ณผ source์˜ IP address & port number ์ด 4๊ฐœ๋งŒ ์žˆ์œผ๋ฉด ์ •ํ™•ํžˆ ์ฐพ์•„๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. 

+ Socket Address = IP ์ฃผ์†Œ์™€ ํฌํŠธ ๋„˜๋ฒ„์˜ combination 

 

- Connectionless Service (UDP) vs Connection-Oriented Service (TCP) -> ์—ฐ๊ฒฐ ์„ค์ • ๋ฐ ํ•ด์ œ ๊ธฐ๋ฐ˜ 

- Unreliable Service (UDP, fast ์ดˆ๊ณ ์†) / Reliable Service (TCP) – ์‹ ๋ขฐ์„ฑ์ด ๋ณด์žฅ๋˜์–ด์•ผ ํ•œ๋‹ค slow, complex

+ Datalink layer 2๊ณ„์ธต์ด reliable, flow and error control ํ•˜๋Š”๋ฐ 4๊ณ„์ธต์—์„œ๋„ ์™œ

-> 3๊ณ„์ธต network layer์˜ ์ธํ„ฐ๋„ท์ด unreliable (best effort delivery, ์ตœ์„ ์„ ๋‹คํ•˜๊ณ  ๋ฒ„๋ฆฐ๋‹ค.) ์‹ ๋ขฐ์„ฑ ๋ณด์žฅ X

-> ๊ฒฐ๊ตญ ์„œ๋น„์Šค ๋ฐ”๋กœ ๋ฐ‘์— ๊น”๋ฆฐ, 4๊ณ„์ธต transport layer์—์„œ๋„ reliability ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค. + ์—๋Ÿฌ ๊ฒ€์ถœ ๋ฐ ๋ณต๊ตฌ

 

* User Datagram Protocol, UDP

- Connectionless, unreliable transport protocol / simple protocol using minimum of overhead

- ์‹ ๋ขฐ์„ฑ์ด ์ค‘์š”ํ•˜์ง€ ์•Š์€, ์ž‘์€ ๋ฉ”์„ธ์ง€๋ฅผ ์ƒ๋Œ€์—๊ฒŒ ๋ณด๋‚ผ ๋•Œ ์‚ฌ์šฉ 

+ Well Known ports used with UDP (Echo, Daytime, BOOTPs ๋“ฑ๋“ฑ ๋ฏธ๋ฆฌ ์ •ํ•ด์ง„ ์œ ๋ช…ํ•œ ํฌํŠธ ๋ฒˆํ˜ธ๋“ค)

 

- Frame format (header + data) 8 byte ํ—ค๋”์— ๊ฐ๊ฐ 16 bit (2 byte)

1. Source Port / 2. Destination Port / 3. Total Length / 4. Checksum (ํ—ค๋”๊ฐ€ ๋ฐ•์‚ด๋‚ฌ๋Š”์ง€ ์—ฌ๋ถ€) 

 

- UDP๋Š” connectionless service, ๋”ฐ๋ผ์„œ ๊ฐ๊ฐ ๋…๋ฆฝ์ ์ธ datagram

-> no error control, no flow control 

 

- Queuing at Client / Server site – ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋ณด๋‹ค ํ•ญ์ƒ ๋จผ์ € ์‚ด์•„์žˆ์–ด์•ผ ํ•œ๋‹ค. 

- ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ด์•„๋‚  ๋•Œ, OS์—๊ฒŒ ๋ณธ์ธ์˜ ๋žœ๋ค Source ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ๋ฐ›๋Š”๋‹ค.

- UDP ํ—ค๋”๋ฅผ ๋”ํ•œ ์ดํ›„, IP์—๊ฒŒ ์ „๋‹ฌ / ํŒจํ‚ท ๋„์ฐฉ -> destination port number ๋ณด๊ณ  ์ ์ ˆํ•œ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์ „๋‹ฌ 

 

- UDP ์‚ฌ์šฉ ์˜ˆ์‹œ – ํŒŒ์ผ(FTP)๊ณผ ๊ฐ™์€ ๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ „์†ก์—๋Š” ์ ํ•ฉํ•˜์ง€ X

- multicasting ๋ฐฉ์†ก์„ ๋ฟŒ๋ฆด ๋•Œ / ๋ผ์šฐํ„ฐ ๊ฐ„์˜ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ (RIP – routing information protocol) 

- ๋„คํŠธ์›Œํฌ ์žฅ์น˜๋“ค์— ๋Œ€ํ•œ ์†Œ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒฝ์šฐ (์—†์–ด์ง€๋ฉด ์žฌ์š”์ฒญํ•˜๋ฉด ๋จ) SNMP ์‹ฌํ”Œ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ

 

* Transmission Control Protocol, TCP

- Connection Oriented Protocol, flow and error control, congestion control 

- TCP Well known port number -> FTA (File Transfer Protocol – TCP๊ฐ€ ๋” ์ ํ•ฉ), HTTP

* Stream Delivery Service / stream-oriented Protocol TCP / TCP๋Š” ํŒจํ‚ท์„ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด X (UDP์™€ ๋‹ค๋ฆ„)

-> ๋ฐ”์ดํŠธ๋ฅผ ๋ณด๋‚ด๋Š” virtual connection์„ ๋šซ๋Š” ๊ฒƒ 

- Circular queue ์œ ํ•œ ๋ฒ„ํผ๋ฅผ ๋งŒ๋“ ๋‹ค, ๋ฒ„ํผ์˜ ๋‹จ์œ„๋Š” ๋ฐ”์ดํŠธ

1. ๋ณด๋ƒˆ๋Š”๋ฐ ์•„์ง ์‘๋‹ต์„ ๋ฐ›์ง€ ๋ชปํ•จ / 2. ๋ณด๋‚ผ ์• ๋“ค / 3. ๋นˆ ๊ณณ – ๋‚ด๋ ค์˜ค๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ 

 

* Segments – TCP๊ฐ€ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋‹จ์œ„, ๊ฐ segment์— ํ—ค๋”๋ฅผ ๋ถ™์ธ๋‹ค

- out of orders, lost, corrupted -> segment ๋‹จ์œ„์˜ ์žฌ์ „์†ก์ด ์ด๋ฃจ์–ด์ง„๋‹ค.

- stream of bytes -> segments / ์„ธ๊ทธ๋จผํŠธ๋“ค์€ ๋ฐ”์ดํŠธ๋“ค์„ ์‹ค์–ด ๋‚˜๋ฅธ๋‹ค.

 

- Full Duplex Service - ์–‘๋ฐฉํ–ฅ ๋ชจ๋‘ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ , ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ + Piggybacking – ACK์™€ ๋ฐ์ดํ„ฐ ๊ฐ™์ด ๋ณด๋‚ด๊ธฐ

- A์™€ B๊ฐ€ ์„œ๋กœ ์—ฐ๊ฒฐ ์„ค์ • -> ๋ฒ„ํผ๋ฅผ ๋งŒ๋“ฆ / ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์€ ์ดํ›„์—๋Š” ๋ฒ„ํผ ์ง€์šฐ๊ธฐ (์—ฐ๊ฒฐ ํ•ด์ œ)

- TCP๋Š” ACK ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๊ฐ€ ์ž˜ ๋„์ฐฉํ–ˆ๋Š”์ง€ ์ฒดํฌํ•œ๋‹ค. 

 

- Byte number – TCP์˜ ๊ฐ€์žฅ ํฐ ํŠน์ง•, ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์„ผ๋‹ค, ๋ฐ”์ดํŠธ ์ˆ˜๋Š” ์—๋Ÿฌ ๊ฒ€์ถœ ๋ฐ ๋ณต๊ตฌ์— ์‚ฌ์šฉ๋จ

- ์‹œ์ž‘ ๊ฐ’์„ random number ๋„์›€ -> ์ด 6000 ๋ฐ”์ดํŠธ๋ฅผ 1000 ๋ฐ”์ดํŠธ ์”ฉ ๋ณด๋‚ด๊ณ  ์‹ถ์–ด 

- 1057 sequence number (init) -> 1057์ด ๋‚ด๊ฐ€ ๋‚ด๋ณด๋‚ด๋Š” ๋‹ค์Œ ์„ธ๊ทธ๋จผํŠธ์˜ sequence number 

- ๊ทธ ๋‹ค์Œ segment์˜ ๋ฒˆํ˜ธ๋Š” 3057, … 7057 / ์ง€๊ธˆ ๋ณด๋‚ผ ์„ธ๊ทธ๋จผํŠธ์˜ ์ฒซ๋ฒˆ์งธ ๋ฐ”์ดํŠธ๊ฐ€ sequence ๋ฒˆํ˜ธ๊ฐ€ ๋จ

 

- Acknowledgment number -> ๋‚ด๊ฐ€ ๋‹ค์Œ์— ๋ฐ›์•„์•ผ ํ•  ๋ฐ”์ดํŠธ์˜ ์ˆซ์ž๋ฅผ ACK๋กœ ๋ณด๋‚ธ๋‹ค.

 

+ TCP ํ—ค๋”์—๋Š” ๋งŽ์€ ๊ฐ’์ด ์žˆ์Œ (Source, Destination Port number) Sequence num, ACK num, Window Size

- Checksum, Urgent pointer, Options, Control field ๋“ฑ๋“ฑ

 

* Control Field (0 or 1๋กœ ํ•œ ๋น„ํŠธ๊ฐ€ ์„ธํŒ… ๋จ) 

* TCP๋Š” connection oriented protocol -> ๊ฐ€์ƒ์˜ ๊ธธ์„ ๋šซ๋Š”๋‹ค. (physical X, virtual connection) 

 

* Connection Establish (์—ฐ๊ฒฐ ์„ค์ • ๊ณผ์ •)

1. SYN ๋น„ํŠธ๋ฅผ ์ผœ์„œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ segment ๋ณด๋‚ธ๋‹ค (์—ฐ๊ฒฐ ์„ค์ • ์š”์ฒญ)

2. ์„œ๋ฒ„๊ฐ€ SYN๊ณผ ACK ๋น„ํŠธ๋ฅผ ์ผœ์„œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ธ๋‹ค (SYN์— ๋Œ€ํ•œ ACK) 

3. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋‹ค์‹œ ์„œ๋ฒ„์—๊ฒŒ ACK๋ฅผ ๋ณด๋‚ธ๋‹ค / ์ฆ‰, ์„œ๋กœ์—๊ฒŒ SYN + ACK๋ฅผ ๋ณด๋‚ด์–ด ์—ฐ๊ฒฐ ์„ค์ •ํ•œ๋‹ค. 

-> ์ด๋ฅผ ์•…์šฉํ•œ SYN attack ์„œ๋ฒ„๋ฅผ ๊ณต๊ฒฉํ•  ์ˆ˜ ์žˆ์Œ (๋งค์šฐ ๋งŽ์€ SYN segment ์„œ๋ฒ„์—๊ฒŒ ๋ณด๋‚ด๊ธฐ)

 

* Data Transfer (๋ฐ์ดํ„ฐ ์ „์†ก ๊ณผ์ •)

1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ Seq 8001, 9001 ๋‘ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋ณด๋‚ธ๋‹ค. (data – 8001์—์„œ 10000๊นŒ์ง€) 

2. ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ž˜ ๋ฐ›์•˜๋‹ค๋Š” ์˜๋ฏธ๋กœ 10001 (๋‹ค์Œ ๋ฒˆํ˜ธ)๋ฅผ ACK๋กœ ๋ณด๋‚ธ๋‹ค + ๋ณธ์ธ์˜ seq 15001 (piggy)

3. ํด๋ผ์ด์–ธํŠธ๋Š” seq๋กœ 10000, ACK๋กœ 17001์„ ๋ณด๋‚ธ๋‹ค (์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ 15001 ~ 17000๊นŒ์ง€ ๋ฐ›์•˜์œผ๋‹ˆ)

+ rwnd (receive window) – ์œˆ๋„์šฐ ์‚ฌ์ด์ฆˆ๋ฅผ ๋ณด๋‚ธ๋‹ค -> ํ๋ฆ„ ์ œ์–ด flow control

+ Pushing Data – ์œˆ๋„์šฐ๊ฐ€ ์ฑ„์›Œ์งˆ ๋•Œ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ , ๋ฐ”๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์˜๋Š” ๊ฒƒ 

+ Urgent Data – ํฌ์ธํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ, ์„ธ๊ทธ๋จผํŠธ๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•„ ๋ฐ”๋กœ ์œ„๋กœ (์•ฑ์—๊ฒŒ) ์˜ฌ๋ ค์ค€๋‹ค. 

 

* Connection termination, ์—ฐ๊ฒฐ ํ•ด์ œ 

1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ FIN ๋น„ํŠธ๋ฅผ ์ผœ์„œ ๋ณด๋‚ธ๋‹ค. 

2. ์„œ๋ฒ„๊ฐ€ FIN + ACK๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ธ๋‹ค.

3. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์˜ FIN์— ๋Œ€ํ•ด ACK๋ฅผ ๋ณด๋‚ด๋ฉด ์—ฐ๊ฒฐ ํ•ด์ œ ์™„๋ฃŒ 

 

* Half Close : ์„œ๋ฒ„๋Š” ์•„์ง ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ผ ๊ฒƒ์ด ๋‚จ์•˜๋‹ค. FIN ์„ธํŒ… X, half close ์ƒํƒœ (์„œ๋ฒ„๊ฐ€ ACK๋งŒ ๋ณด๋ƒ„)

-> ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ ๋ฐ์ดํ„ฐ๋งŒ์„ ๋ชป ๋ณด๋‚ด๋Š” ๊ฒƒ, ์„œ๋ฒ„๊ฐ€ ๋ณด๋‚ด๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ACK๋Š” ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ

 

* Flow control – TCP์˜ ํ๋ฆ„ ์ œ์–ด

- ์„œ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” rwnd ์‚ฌ์ด์ฆˆ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค. (๋ฐ›์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”๋กœ ์œ„๋กœ ๋ณด๋‚ด์ง€ X, ์‹œ๊ฐ„์ด ๊ฑธ๋ฆผ)

- ํด๋ผ์ด์–ธํŠธ: ACK๊ฐ€ ์™€ ์žฌ์ „์†ก์ด ํ•„์š” ์—†์–ด์ง€๋ฉด ๋น„์šฐ๊ณ , ์ƒˆ๋กญ๊ฒŒ ๋Š˜์–ด๋‚œ rwnd ์‚ฌ์ด์ฆˆ ๋ณด๋‚ด๊ธฐ

- ์„œ๋ฒ„: ์ฒ˜๋ฆฌํ•œ ์ดํ›„, ์ƒˆ๋กœ ๋Š˜์–ด๋‚œ ์ˆ˜์‹  ๋ฒ„ํผ ์‚ฌ์ด์ฆˆ (rwnd ์‚ฌ์ด์ฆˆ) ๋ณด๋‚ด๊ธฐ 

 

* TCP์˜ ์ •์ƒ์ ์ธ ๋™์ž‘ 

- ๋ฐ”๋กœ ์‘๋‹ต X, ํƒ€์ด๋จธ๊ฐ€ ํ„ฐ์ง„ ์ดํ›„ ACK ๋‚˜๊ฐ + ์—ฌ๋Ÿฌ ์‘๋‹ต๋“ค์„ ๋ชจ์•„์„œ, 7001์„ ACK๋กœ ๋ณด๋ƒ„, ACK Delaying 

- ๋ฉ”์„ธ์ง€ ๋ฐ›๋Š” ์กฑ์กฑ ์‘๋‹ต์„ ๋ณด๋‚ด๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ (ํ†ต์‹  ๋งํฌ ํšจ์œจ)

- but ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ๋ณด๋‚ผ ๋•Œ, or ๊ธด๊ธ‰ํ•œ ๋ฉ”์„ธ์ง€ ๋ณด๋‚ผ ๋•Œ์—๋Š” ํ†ต์‹  ํšจ์œจ ๋–จ์–ด์ง

 

* Lost segment (๋ฐ์ดํ„ฐ๊ฐ€ ์ค‘๊ฐ„์— ๋‚ ์•„๊ฐ„ ๊ฒƒ)

- ๊ธฐ๋ณธ์ ์œผ๋กœ selective repeat ํ™œ์šฉ (ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ์žฌ์ „์†ก ์š”์ฒญ)

- ์‹œ๊ฐ„ ์•ˆ์— ACK ๋ฐ›์ง€ ๋ชปํ•˜๋ฉด, ์žฌ์ „์†ก ํƒ€์ด๋จธ๊ฐ€ ํ„ฐ์ง -> ์„œ๋ฒ„๊ฐ€ ๋‹ค ๋”ํ•ด์„œ new ACK๋ฅผ ๋ฐ›์œผ๋ฉด ์žฌ์ „์†ก ์™„๋ฃŒ 

+ Fast retransmission (๋น ๋ฅธ ์žฌ์ „์†ก) – 3๋ฒˆ ์—ฐ์† ์œ ์‹ค๋œ ACK๊ฐ€ ์˜ค๋ฉด ํƒ€์ด๋จธ ํ„ฐ์ง€๊ธฐ ์ „์— ์žฌ์ „์†ก 

 

* Lost acknowledgement (ACK๊ฐ€ ์ค‘๊ฐ„์— ๋‚ ์•„๊ฐ„ ๊ฒƒ)

- ์„œ๋ฒ„๊ฐ€ ๋ณด๋‚ธ 500 ACK๊ฐ€ ์ค‘๊ฐ„์— ๋‚ ์•„๊ฐ€๋”๋ผ๋„, 500๋ถ€ํ„ฐ 900๊นŒ์ง€ ๊ปด ์•‰๋Š” ACK๊ฐ€ ์˜ค๋ฉด ์ „ํ˜€ ์ƒ๊ด€ X

- ACK๊ฐ€ ์˜ค์ง€ ์•Š์•„ ์žฌ์ „์†ก ํƒ€์ด๋จธ๊ฐ€ ํ„ฐ์ง€๊ฒŒ ๋˜๋ฉด, ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์žฌ์ „์†ก์ด ์ด๋ฃจ์–ด์ง 

 

+ TCP์˜ ํŠน์ง• – Slow start, exponential increase (1)

- ํ•œ๋ฒˆ์— ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋ฉด ๋ถ€ํ•˜๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ์Œ / ์ค‘๊ฐ„์— ๊ฑฐ์น˜๋Š” ๋„คํŠธ์›Œํฌ์˜ ์ƒํ™ฉ์„ ์•Œ ์ง€ ๋ชปํ•˜๋‹ˆ๊นŒ 

- TCP๋Š” ์ฒ˜์Œ์— ํ•˜๋‚˜์˜ segment๋งŒ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ -> congestion window (ACK๊ฐ€ ์˜ฌ ๋•Œ ๊นŒ์ง€) cwnd๊ฐ€ 1๋กœ ์‹œ์ž‘

- ACK๋ฅผ ๋ฐ›์Œ -> cwnd 2๋ฐฐ (๋”ฐ๋ผ์„œ 2๊ฐœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Œ) / rwnd์˜ ํ•œ๊ณ„ ๋‚ด๋ถ€์—์„œ, cwnd ์ ์šฉ / 1 2 4 8 16 … 

 

(2) Congestion avoidance, additive increase

- 2๋ฐฐ๋กœ ์ฆ๊ฐ€ X, linearํ•˜๊ฒŒ congestion window๊ฐ€ 1์”ฉ ์ฆ๊ฐ€ 

 

ex) Taho TCP

- ์ฒ˜์Œ์— 1, 2, 4, 8 ์ง€์ˆ˜ ์ฆ๊ฐ€ -> ์—๋Ÿฌ ๋ฐœ์ƒ -> ๋‹ค์‹œ 1๋กœ ๊ฝ + 8/2 4๊ฐ€ ์ง€์ˆ˜ ์ฆ๊ฐ€์˜ ํ•œ๊ณ„ threshold

-> 1 2 4๊นŒ์ง€ ์ฆ๊ฐ€ํ•˜๊ณ , ์ดํ›„๋Š” 1์”ฉ ์ฆ๊ฐ€ -> ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ 12์—์„œ ์—๋Ÿฌ ๋ฐœ์ƒ -> ๋‹ค์‹œ 1๋กœ ๊ฝ + 6๊นŒ์ง€ ์ง€์ˆ˜ ์ฆ๊ฐ€ 

-> TCP์˜ ํ†ฑ๋‹ˆ๋ฐ”ํ€ด, TCP๋Š” ์˜ฌ๋ผ๊ฐ”๋‚˜ ๋‚ด๋ ค๊ฐ”๋‹ค ์ฟต์พ… / TCP ์ „์†ก ์†๋„๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ X, ํŒํŒ ๋–จ์–ดํŠธ๋ฆผ

 

 

 

 

 

 

'ComputerScience > ComputerNetwork' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Computer Network] Chap10. HTTP & SIP  (1) 2023.12.19
[Computer Network] Chap9. Transport layer (2)  (0) 2023.12.19
[Computer Network] Chap7. Network Layer (2)  (1) 2023.11.13
[Computer Network] Chap6. Network Layer (1)  (1) 2023.11.13
[Computer Network] Chap4. MAC/DLC  (1) 2023.11.13