์ ์ก๊ณ์ธต(Transport Layer)์ OSI ๋ชจ๋ธ์ 4๋ฒ์งธ ๊ณ์ธต์ผ๋ก, ๋ฐ์ดํฐ์ ์ ์ก์ ๊ด๋ฆฌํ๊ณ ์ก์ ์์ ์์ ์ ๊ฐ์ ์ ๋ขฐํ ์ ์๋ ํต์ ์ ์ ์ดํ๋ ์ญํ ์ ํฉ๋๋ค.
์ ์ก๊ณ์ธต์ ํน์ง
1) ์ ๋ขฐ์ฑ/์ ํ์ฑ - TCP(์ฐ๊ฒฐํ ํต์ )
์ฐ๊ฒฐํ ํต์ ์์๋ ๋ฐ์ดํฐ ์ ์ก ์ ์ ๋จผ์ ์ก์ ์์ ์์ ์ ๊ฐ์ ์ฐ๊ฒฐ์ ์ค์ ํฉ๋๋ค. ์ด๋ ์ธ์ ์ ์๋ฆฝํ๋ ๊ณผ์ ์ผ๋ก, ์ก์ ์์ ์์ ์ ๊ฐ์ ์ ๋ขฐ์ฑ ์๋ ํต์ ์ ์ํด ํ์ํฉ๋๋ค.
๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ํด ์บก์ํ ๊ณผ์ ์์ ์ ์ก ๊ณ์ธต์ ํค๋๊ฐ TCP๊ฐ ๋ถ์ผ๋ฉด Segment๋ผ๊ณ ํฉ๋๋ค. TCP์ ํน์ง์ ์ ๋ขฐ์ฑ๊ณผ ์ ํ์ฑ์ด๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ค๋ฉด ์ฐ๊ฒฐ(Connection)์ด๋ผ๋ ๊ฐ์์ ๋
์ ํต์ ๋ก๊ฐ ํ๋ณด๋์ผ ํฉ๋๋ค.
TCP ํค๋ ์์ ์ฝ๋ ๋นํธ๋ 6๋นํธ๋ก ๋์ด ์์ต๋๋ค. ์ฌ๊ธฐ์ SYN์ ์ด๊ฒฐ ์์ฒญ์ ACK์ ์๋ต ํ์ธ์ ์๋ฏธํฉ๋๋ค. ์ด๋ ๊ฒ ์ ๋ขฐํ ์ ์๋ ์ฐ๊ฒฐ์ ํ๋ ค๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ ์ ํจํท์ ๊ตํํ๋๋ฐ 3๋ฒ ๋ฐ๋ณตํฉ๋๋ค.
์ก์ ์๊ฐ ์ฐ๊ฒฐ ์์ฒญ์ ๋ณด๋ด๊ณ ์์ ์๊ฐ ์๋ต ํ์ธ๊ณผ ์ฐ๊ฒฐ ์์ฒญ์ ๋์์ ์ก์ ์์๊ฒ ๋ณด๋
๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก ์ก์ ์๊ฐ ์๋ต ํ์ธ์ ํ๋ฉด์ ๋ง๋ฌด๋ฆฌ ๋ฉ๋๋ค. ์ด๋ฌํ ์ฐ๊ฒฐ์ 3-way handshake๋ผ๊ณ ๋ถ๋ฆ
๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๊ฒฐ์ ๋์ ๋๋ FIN๊ณผ ACK์ ์ฌ์ฉํฉ๋๋ค.
2) ํจ์จ์ฑ - UDP ( ๋น์ฐ๊ฒฐํ ํต์ )
๋น์ฐ๊ฒฐํ ํต์ ์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ ์กํ ์ ์์ต๋๋ค. ์ฐ๊ฒฐ ์ค์ ์ ํ์ํ ์ถ๊ฐ์ ์ธ ๋จ๊ณ๊ฐ ์์ผ๋ฏ๋ก, ๋ฐ์ดํฐ ํจํท์ด ๋น ๋ฅด๊ฒ ์ก์ ์์์ ์์ ์๋ก ์ ์ก๋ฉ๋๋ค. ์ฃผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ก์ ํ๋๋ฐ ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฌ์ง ์๋ ๋์์ ์๋น์ค์ ๊ฐ์ ๊ณณ์์ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
UDP ํค๋๊ฐ ๋ฐ์ดํฐ์ ๋ถ์ผ๋ฉด UDP Datagram์ด๊ฐ ๋ถ๋ฆ
๋๋ค. ์๋นํ ๊ฐ๋จํ ๊ตฌ์ฑ์ผ๋ก ๋์ด ์์ด ์ ์ก์๋๊ฐ ๋น ๋ฅด๋ค๋ ์ฅ์ ์ ๊ฐ์ ธ์ต๋๋ค.
UDP์ ํน์ง์ผ๋ก๋ ๊ฐ์ LAN์ ์ฐ๊ฒฐ๋ ์ปดํจํฐ, ๋คํธ์ํฌ ์ฅ๋น์ ๋ฐ์ดํฐ๋ฅผ ์ผ๊ด์ ์ผ๋ก ๋ณด๋ผ ์ ์๋ค๋ ๊ฒ์
๋๋ค. ์ด๋ฅผ Broadcast๋ผ ํฉ๋๋ค.
3) ์ดํ๋ฆฌ์ผ์ด์ ์๋ณ ๊ธฐ๋ฅ
์ ์ก ๊ณ์ธต์์๋ ์ ์ก๋ ๋ฐ์ดํฐ๊ฐ ์ด๋ค ์ดํ๋ฆฌ์ผ์ด์ ์ธ์ง ๊ตฌ๋ถํ๋ ์ญํ ๋ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ก์ ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์๋๋ฐฉ ์ปดํจํฐ์ outlook์ผ๋ก ๋ณด๋๋ค๊ณ ํฉ์๋ค. ๊ทธ๋ฐ๋ฐ ์์ ์ปดํจํฐ๋ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํด์ผ ํ ์ง ๋ชจ๋ฆ ๋๋ค. ๊ทธ๋์ ํฌํธ ๋ฒํธ๋ฅผ ํตํด ์ด๋ฅผ ํด๊ฒฐํฉ๋๋ค.
์๋ฅผ ๋ค์ด, TCP ํค๋๋ฅผ ๋ณด๋ฉด ์ถ๋ฐ์ง ํฌํธ ๋ฒํธ์ ๋ชฉ์ ์ง ํฌํธ ๋ฒํธ๊ฐ ๋ช ์๋์ด ์์ต๋๋ค. ํฌํธ ๋ฒํธ๋ 2๋ฐ์ดํธ๋ก 0~65535๋ฒ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ 0~1023๋ฒ ํฌํธ๋ ์ฃผ์ ํ๋กํ ์ฝ์ด ์ฌ์ฉ๋๋๋ก ์์ฝ๋์ด ์์ต๋๋ค. ์ด๋ฌํ ํฌํธ๋ฅผ Well-known ports๋ผ๊ณ ํฉ๋๋ค. 1024๋ฒ์ ์ฌ์ฉํ์ง ์๋ ํฌํธ์ด๊ณ 1025๋ฒ ์ด์๋ถํฐ๋ Random ports๋ผ ํด์ Clients์ธก์ ์ก์ ํฌํธ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
ํฌํธ๋ ํธํ ์ ๊ฐ์ค ๋ฒํธ์ ๊ฐ์ต๋๋ค. ์๋์ ์์ ์ ๋ฐฉ ๋ฒํธ๊ฐ ๋ญ์ง ์์์ผ ์๋น์ค๋ฅผ ์ด์ฉํ ์ ์์ต๋๋ค. ์ปดํจํฐ์์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ๊ฐ ์ดํ๋ฆฌ์ผ์ด์ ๋ง๋ค ์ง์ ๋ ํฌํธ ๋ฒํธ๊ฐ ์์ด ๋ฐ์ดํฐ๊ฐ ์ ํํ๊ฒ ์ ๋ฌ๋ ์ ์์ต๋๋ค.
4) ์ค๋ฅ ์ ๊ฒ
์ ์ก๊ณ์ธต์์ ์ค๋ฅ ์ ๊ฒ์ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ์ํ๋๋ ์ค์ํ ๊ธฐ๋ฅ ์ค ํ๋์
๋๋ค. ์ฃผ๋ก TCP (Transmission Control Protocol)์์ ์ด๋ฃจ์ด์ง๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ์ค๋ฅ๋ฅผ ๊ฐ์งํ๊ณ ๋ณต๊ตฌํฉ๋๋ค.
1. ํ์ธ์๋ต (Acknowledgment): TCP๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ํ ์์ ์๋ก๋ถํฐ ํ์ธ์๋ต์ ๊ธฐ๋ค๋ฆฝ๋๋ค. ์์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋๋ก ์์ ํ์ ๊ฒฝ์ฐ์๋ง ํ์ธ์๋ต์ ๋ณด๋
๋๋ค. ๋ง์ฝ ์ ๋๋ก ์์ ๋์ง ์์๋ค๋ฉด ์ก์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ ์กํฉ๋๋ค.
2. ์์ ๋ฒํธ (Sequence Number): TCP๋ ๊ฐ๊ฐ์ ๋ฐ์ดํฐ ์ธ๊ทธ๋จผํธ์ ์ผ๋ จ๋ฒํธ(์์ ๋ฒํธ)๋ฅผ ํ ๋นํฉ๋๋ค. ์ด๋ฅผ ํตํด ์์ ์๋ ์ธ๊ทธ๋จผํธ์ ์์๋ฅผ ํ์ธํ๊ณ ๋ฐ์ดํฐ์ ์ ํํ ์ฌ์กฐ๋ฆฝ์ด ๊ฐ๋ฅํฉ๋๋ค.
3. ํ์ธ์๋ต ํ์์์ (Acknowledgment Timeout): ์ก์ ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ฉด ์ผ์ ์๊ฐ ๋์ ํ์ธ์๋ต์ ๊ธฐ๋ค๋ฆฝ๋๋ค. ์ด ์๊ฐ์ ์ด๊ณผํ๋ฉด ์ก์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ ์กํฉ๋๋ค. ์ด๋ฌํ ๋ฉ์ปค๋์ฆ์ ํนํ ๋คํธ์ํฌ ์ง์ฐ์ด๋ ๋ฐ์ดํฐ ์์ค๋ก ์ธํ ๋ฌธ์ ์ ๋์ํ ์ ์๋๋ก ๋์์ค๋๋ค.
4. ์์ ๋ฒํธ์ ํ์ธ์๋ต์ ์ด์ฉํ ์ค๋ฅ ์ ์ด: TCP๋ ๋ฐ์ดํฐ๋ฅผ ๋๋์ด ์ ์กํ๊ณ , ๊ฐ๊ฐ์ ๋ฐ์ดํฐ์ ์ผ๋ จ๋ฒํธ๋ฅผ ๋ถ์ฌํ์ฌ ์์๋ฅผ ์งํต๋๋ค. ์์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ , ๊ทธ์ ๋ํ ํ์ธ์๋ต์ ์ก์ ์์๊ฒ ๋ณด๋
๋๋ค. ์ก์ ์๋ ํ์ธ์๋ต์ ๋ฐ์ผ๋ฉด ๋ค์ ์ผ๋ จ๋ฒํธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํฉ๋๋ค. ๋ง์ฝ ์ผ๋ จ๋ฒํธ์ ์ด์์ด ์๊ฑฐ๋ ํ์ธ์๋ต์ด ์ค์ง ์์ผ๋ฉด ์ก์ ์๋ ํด๋น ๋ฐ์ดํฐ๋ฅผ ๋ค์ ์ ์กํฉ๋๋ค.
์ด๋ฌํ ๋ฐฉ๋ฒ๋ค์ ํตํด TCP๋ ๋ฐ์ดํฐ์ ์์ค์ด๋ ์๊ณก์ ์ ์ํ๊ฒ ๊ฐ์งํ๊ณ , ์ฌ์ ์ก ๋ฑ์ ๋ฉ์ปค๋์ฆ์ ํตํด ์ค๋ฅ๋ฅผ ๋ณต๊ตฌํฉ๋๋ค. ์ด๋ก์จ TCP๋ ์ ๋ขฐ์ฑ ์๋ ์ฐ๊ฒฐ ์งํฅํ ํต์ ์ ์ ๊ณตํ๋ฉฐ, ๋ฐ์ดํฐ์ ์์ ํ ์ ์ก์ ๋ณด์ฅํฉ๋๋ค.
Transport Layer
- The layer in a network responsible for reliable and efficient data transmission, often employing protocols like TCP and UDP.
Connection-oriented communication and TCP (Transmission Control Protocol)
- A protocol that establishes a connection and ensures reliable data transmission, breaking data into segments for transfer.
Segment
- Small fragments into which data is divided during transmission via TCP, utilized for reassembly at the receiving end.
SYN, ACK, FIN, and 3-way handshake
- A three-step communication process for establishing a TCP connection; the client sends a SYN, the server responds with SYN and ACK, and the client acknowledges with an ACK to complete the connection.
Connectionless communication and UDP (User Datagram Protocol)
- A protocol for transmitting data without establishing a connection, prioritizing speed over reliability.
UDP datagram
- A unit of data transmitted via UDP, analogous to a segment in TCP.
Well-known ports
- Fixed port numbers assigned to specific protocols or services, such as port 80 for HTTP or port 443 for HTTPS.
'Computer Science > Network' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
16 Application Layer outline (feat. WEB) (1) | 2023.12.31 |
---|---|
15 Sequence & Acknowledgement number (์ผ๋ จ๋ฒํธ์ ํ์ธ์๋ต๋ฒํธ) (0) | 2023.12.30 |
13 ์๋ธ๋ท (Subnet) (1) | 2023.12.27 |
12 Network Layer (๋คํธ์ํฌ ๊ณ์ธต) (1) | 2023.12.27 |
11 ์ค์์น (Switch) (0) | 2023.12.23 |
๋๊ธ