์ ์ฒด ๊ธ214 [2์ฃผ์ฐจ] Principles of Reliable Data Transfer 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) - Acknowledgemen.. 2022. 9. 27. [๋ฐฑ์ค] 2206 ๋ฒฝ ๋ถ์๊ณ ์ด๋ํ๊ธฐ (Python/ํ์ด์ฌ) https://www.acmicpc.net/problem/2206 2206๋ฒ: ๋ฒฝ ๋ถ์๊ณ ์ด๋ํ๊ธฐ N×M์ ํ๋ ฌ๋ก ํํ๋๋ ๋งต์ด ์๋ค. ๋งต์์ 0์ ์ด๋ํ ์ ์๋ ๊ณณ์ ๋ํ๋ด๊ณ , 1์ ์ด๋ํ ์ ์๋ ๋ฒฝ์ด ์๋ ๊ณณ์ ๋ํ๋ธ๋ค. ๋น์ ์ (1, 1)์์ (N, M)์ ์์น๊น์ง ์ด๋ํ๋ ค ํ๋๋ฐ, ์ด๋ ์ต๋จ ๊ฒฝ๋ก www.acmicpc.net ๋ฒฝ์ ๋ถ์๋ ๊ฑธ ๊ตฌํํ๋ ๊ฒ ํต์ฌ์ด๋ค. ์ผ๋ฐ์ ์ธ 2์ฐจ์ ๋ฐฐ์ด์ ๋ฒฝ ๋ถ์๋ ๊ฑธ ๋ํ๋ด์ฃผ๋ ๋ณ์๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ๋ฃ์ด์ bfs๋ฅผ ๋๋ฆฌ๋ฉด ์๋ฌ๊ฐ ๋๋ค. ํน์ ์ง์ (r, c)์ ๋ฒฝ์ ๋ถ์๊ณ ๋๋ฌํ๋ ๋ฐฉ๋ฒ(a)๋ ๋ฒฝ์ ๋ถ์์ง ์๊ณ ๋๋ฌํ๋ ๋ฐฉ๋ฒ(b)๊ฐ ์๋๋ฐ, a๊ฐ b๋ณด๋ค ๊ฑฐ๋ฆฌ๊ฐ ์งง์ ๋(a < b)์ผ ๋ 2์ฐจ์ ๋ฐฐ์ด์์๋ a๋ง ํ์ ๋๋ค. ๊ทธ๋ฌ๋ค ๋์ค์ ๋ฒฝ์ ๋ถ์์ง ์๊ณ ๋ ํต๊ณผํ์ง.. 2022. 9. 27. [2์ฃผ์ฐจ] Connectionless transport : UDP Connectionless transport : UDP UDP์ Segment โ ๊ฐ ํ๋กํ ์ฝ์ ํค๋ ์ ๋ณด๋ฅผ ์ ์์์ผํจ (ํด๋น ํ๋ ์ ๋ณด๋ ํ๋กํ ์ฝ์ ๋์ ์๋ฆฌ๋ฅผ ๋ํ๋ธ๋ค) โ 4๊ฐ์ ํค๋ -> ๋์์ด ๋จ์ํ๋ค โ ํ ํ๋๋ 16๋นํธ source port, dest port โ 6๋ง ์ฌ ๊ฐ์ ํฌํธ ๋ฒํธ (2^16) โ dest port ๊ธฐ๋ฐ์ผ๋ก ๋๋ฉํฐํ๋ ์ฑ checksum โ ๋ฐ์ดํฐ ์ ์ก ๋์ค์ ์๋ฌ ์ฌ๋ถ ํ๋จ -> ์๋ฌ๊ฐ ์์์ ๊ฒฝ์ฐ ์ฌ๋ฆฌ์ง ์๊ณ ๋๋ ์ํจ๋ค! UDP๋ ์๋ฌด๊ฒ๋ ์ ํ๋ค? ์ธ๋ป ๋ณด๋ฉด ๊ทธ๋ฐ ๊ฒ ๊ฐ์ง๋ง transport layer๊ฐ ํด์ผํ ๊ธฐ๋ณธ์ ์ธ ์ผ 2๊ฐ์ง๋ฅผ ํด์ค๋ค โ multiplexing - demultiplexing (๋ฉ์ธ์ง ์ ์ก) โ ์๋ฌ ์ฒดํฌ 2022. 9. 27. [2์ฃผ์ฐจ] Transport Layer- Multiplexing_Demultiplexing Transport Layer: Multiplexing & Demultiplexing Multiplexing / Demultiplexing Multiplexing โ Sender๊ฐ Application Layer์์ Transport Layer๋ก ํจํท์ ์ ๋ฌํ ๋ ์ฌ๋ฌ ์์ผ์ ํจํท(๋ฐ์ดํฐ + ํค๋)์ ํ๋์ ์๊ทธ๋จผํธ๋ก ์บก์ํ ํ์ฌ Network Layer์ ์ ๋ฌํ๋ ๊ณผ์ โ ์ฝ๊ฒ ๋งํด์ ์ฌ๋ฌ ์์ผ์ ๋ฐ์ดํฐ์ ํค๋๋ฅผ ์ธ๊ทธ๋จผํธ๋ก ๋ชจ์ผ๋ ๊ณผ์ ! Demultiplexing โ Transport layer ์์ Application layer๋ก ์ธ๊ทธ๋จผํธ๋ฅผ ์ ๋ฌ ํ ๋, ์ฌ๋ฐ๋ฅธ ์์ผ์ผ๋ก ์ ๋ฌ๋๋๋ก ํ๋ ๊ณผ์ โ ์ด๋ป๊ฒ ์ฌ๋ฐ๋ฅธ ์์ผ์ผ๋ก ์ ๋ฌํ ๊น? - ์ธ๊ทธ๋จผํธ์ ํค๋ ์ ๋ณด๋ฅผ ์ด์ฉํด์ ์ ๋ฌ! UDP์์์ demultipl.. 2022. 9. 27. [2์ฃผ์ฐจ] Application Layer - Socket ์์ผ์ด๋ ๋ฌด์์ธ๊ฐ? ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก์ธ์ค๋ผ๋ฆฌ์ ํต์ -> ํด๋ผ์ด์ธํธ ํ๋ก์ธ์ค - ์๋ฒ ํ๋ก์ธ์ค ๊ฐ์ ํต์ โ OS๊ฐ ์ ๊ณตํด์ฃผ๋ API์ ์ผ์ข ์ด๋ผ๊ณ ๋ณผ ์ ์๋ค ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ๋ก ๋ฐ์ ์๋ Transport Layer๊ฐ ์ ๊ณตํด์ฃผ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ค. -> TCP socket or UDP socket Socket API (TCP) โ ์๋ฒ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์๋์ ์ด๋ค(ํด๋ผ์ด์ธํธ์ ์์ฒญ์ด ๋์์ฌ ๋๊น์ง ๋๊ธฐ) โ ํด๋ผ์ด์ธํธ๊ฐ connect ์์ฒญ์ ๋ณด๋ด๋ฉด ๋ ์์ผ์ด ์ฐ๊ฑธ๋๋ค. (Read - Write) Socekt ๊ฐ ์ฐ๊ฒฐ๊ณผ์ ๊ณผ ํจ์๋ค Function: socket โ int type: ํด๋น ์์ผ์ด UDP type ์ธ์ง TCP type์ธ์ง ๊ฒฐ์ ํด์ฃผ๋ ์ธ์ โ ์์ฑํ ์์ผ์ id / idx ๋ฐํ Function: bi.. 2022. 9. 26. [๋ฐฑ์ค] 14503 ๋ก๋ด์ฒญ์๊ธฐ(Python/ํ์ด์ฌ) https://www.acmicpc.net/problem/14503โ 14503๋ฒ: ๋ก๋ด ์ฒญ์๊ธฐ ๋ก๋ด ์ฒญ์๊ธฐ๊ฐ ์ฃผ์ด์ก์ ๋, ์ฒญ์ํ๋ ์์ญ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ก๋ด ์ฒญ์๊ธฐ๊ฐ ์๋ ์ฅ์๋ N×M ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ผ๋ก ๋ํ๋ผ ์ ์์ผ๋ฉฐ, 1×1ํฌ๊ธฐ์ ์ ์ฌ๊ฐํ ์นธ์ผ๋ก ๋๋์ด www.acmicpc.net โ ๊ตฌํ ๋ฌธ์ ๋ผ ํน๋ณํ ์๊ณ ๋ฆฌ์ฆ์ ํ์ ์๊ณ ๋ฌธ์ ์ ์ฃผ์ด์ง ๋ด์ฉ์ ์ ์งํ๊ฒ ๊ตฌํํ๋ฉด ๋๋ค. ๋ฐฉํฅ ์ฒ๋ฆฌ๊ฐ ์ข ๋ณต์กํด์ ์ ๊ฒฝ ์จ์ผ๋๋ค.(๋ฐ๋ผ๋ณด๋ ๋ฐฉํฅ์ด ์ฃผ์ด์ง๊ณ ๊ทธ ์ํ์์ ์ผ์ชฝ์ผ๋ก ํ์ ๋ฐ ์ด๋, ๋ค๋ก ์ด๋) ์ฒญ์ํ ์์ญ์ ๋ฒฝ์ด๋ ๋๊ฐ์ 1๋ก ํ์ํ๋ฉด ์๋๋ค.(-1 ๊ฐ์ด 0, 1 ํน์ ๋ค๋ฅธ ์ซ์๋ก ์ฒ๋ฆฌ) # 220827 14503 ๋ก๋ด ์ฒญ์๊ธฐ # ์ ๋ต์ฝ๋ import sys input = sys.. 2022. 9. 26. ์ด์ 1 ยทยทยท 32 33 34 35 36 ๋ค์