πŸ’» CS/CS

CS : 인터넷 λ„€νŠΈμ›Œν¬ (2) IP, TCP, UDP

Zoeeey 2023. 9. 11. 15:07

IP (Internet Protocol)

IPλŠ” ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ 간에 데이터λ₯Ό 주고받을 λ•Œ 인터넷 λ‚΄μ—μ„œ 데이터λ₯Ό μ „λ‹¬ν•˜λŠ” κ·œμΉ™μ„ μ •μ˜ν•œ ν”„λ‘œν† μ½œμ΄λ‹€.

νŒ¨ν‚· 전달

  • IPλŠ” 데이터λ₯Ό μž‘μ€ λ‹¨μœ„μΈ νŒ¨ν‚·μœΌλ‘œ λ‚˜λˆ„μ–΄μ„œ μ „μ†‘ν•œλ‹€. 각 νŒ¨ν‚·μ—λŠ” μΆœλ°œμ§€ IP μ£Όμ†Œμ™€ λͺ©μ μ§€ IP μ£Όμ†Œκ°€ ν¬ν•¨λ˜λ©°, 이 정보λ₯Ό μ‚¬μš©ν•˜μ—¬ 데이터λ₯Ό λͺ©μ μ§€λ‘œ μ „λ‹¬ν•œλ‹€.

인터넷 λΌμš°νŒ…

  • IPλŠ” 인터넷 λ‚΄μ˜ λ‹€μ–‘ν•œ λ…Έλ“œ(μ„œλ²„)λ₯Ό 거쳐 데이터λ₯Ό μ „λ‹¬ν•˜λŠ” 역할을 ν•œλ‹€. λΌμš°ν„°μ™€ μŠ€μœ„μΉ˜μ™€ 같은 λ„€νŠΈμ›Œν¬ μž₯λΉ„λ₯Ό μ‚¬μš©ν•˜μ—¬ 데이터 νŒ¨ν‚·μ„ λͺ©μ μ§€κΉŒμ§€ λΌμš°νŒ…ν•œλ‹€.

IP ν”„λ‘œν† μ½œμ˜ ν•œκ³„

λΉ„μ—°κ²°μ„±

  • IPλŠ” 데이터λ₯Ό 보낼 λ•Œ λŒ€μƒ μ„œλ²„κ°€ νŒ¨ν‚·μ„ 받을 수 μžˆλŠ” μƒνƒœμΈμ§€ ν™•μΈν•˜μ§€ μ•ŠλŠ”λ‹€. λ”°λΌμ„œ λŒ€μƒ μ„œλ²„κ°€ μ—†κ±°λ‚˜ μ„œλΉ„μŠ€ 뢈λŠ₯ μƒνƒœμ—¬λ„ νŒ¨ν‚·μ€ μ „μ†‘λœλ‹€.

λΉ„μ‹ λ’°μ„±

  • IPλŠ” λ°μ΄ν„° νŒ¨ν‚·μ˜ μˆœμ„œλ₯Ό λ³΄μž₯ν•˜μ§€ μ•ŠλŠ”λ‹€. λ‹€μ–‘ν•œ κ²½λ‘œλ₯Ό ν†΅ν•΄ νŒ¨ν‚·μ΄ μ „λ‹¬λ˜κΈ° λ•Œλ¬Έμ— λ„μ°© μˆœμ„œκ°€ λ‹¬λΌμ§ˆ μˆ˜ μžˆμœΌλ©°, μ€‘κ°„ λ…Έλ“œ(μ„œλ²„)μ—μ„œ νŒ¨ν‚·μ΄ μ†Œμ‹€λ  μˆ˜ μžˆλ‹€.

ν”„λ‘œκ·Έλž¨ κ΅¬λΆ„μ˜ 어렀움

  • IPλŠ” μ£Όμ†Œ 기반으둜 νŒ¨ν‚·μ„ λΌμš°νŒ…ν•˜λ―€λ‘œ, ν•˜λ‚˜μ˜ μ„œλ²„μ—μ„œ μ—¬λŸ¬ 개의 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ λ™μ‹œμ— λ™μž‘ν•  λ•Œ, μ–΄λ–€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ–΄λ–€ 데이터λ₯Ό μ²˜λ¦¬ν•΄μ•Ό ν•˜λŠ”μ§€λ₯Ό κ΅¬λΆ„ν•˜κΈ° μ–΄λ ΅λ‹€. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ 포트 λ²ˆν˜Έμ™€ 같은 좔가적인 정보가 ν•„μš”ν•˜λ‹€.

μ΄λŸ¬ν•œ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄ μƒμœ„ κ³„μΈ΅μ—μ„œ TCP와 같은 ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ μ—°κ²° 지ν–₯μ„±κ³Ό λ°μ΄ν„°μ˜ 신뒰성을 μ œκ³΅ν•˜κ³ , 포트 번호λ₯Ό μ‚¬μš©ν•˜μ—¬ μ—¬λŸ¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κ°„μ˜ 데이터λ₯Ό ꡬ뢄할 수 μžˆλ‹€.


TCP (Transmission Control Protocol)

TCPλŠ” IP ν”„λ‘œν† μ½œμ˜ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•œ μ‹ λ’°μ„± μžˆλŠ” μ „솑 μ œμ–΄ ν”„λ‘œν† μ½œμ΄λ‹€. ν˜„μž¬λŠ” κ±°μ˜ TCPλ₯Ό μ‚¬μš©ν•œλ‹€.

연결지ν–₯적

  • TCPλŠ” ν†΅μ‹ μ„ μ‹œμž‘ν•˜κΈ° μ „에 μ—°κ²°μ„ μ„€μ •ν•˜λŠ” κ³Όμ •μ„ κ±°μΉ˜λŠ”데, μ΄λ₯Ό "TCP 3-way handshake"라고 ν•œλ‹€. μ΄ κ°€μƒ μ—°κ²°μ΄ μ„€μ •λœ ν›„에 λ°μ΄ν„°λ₯Ό μ•ˆμ „ν•˜κ²Œ μ£Όκ³ λ°›μ„ μˆ˜ μžˆλ‹€. μ—°κ²°μ΄ ν™•λ¦½λ˜μ–΄μ•Όλ§Œ λ°μ΄ν„°λ₯Ό μ „솑할 μˆ˜ μžˆκΈ° λ•Œλ¬Έμ— μ‹ λ’°μ„±μ΄ λ†’λ‹€.

데이터 전달 보증

  • TCPλŠ” νŒ¨ν‚·μ„ μ „솑할 λ•Œ, λŒ€μƒμ΄ λ°μ΄ν„°λ₯Ό λ°›μ•˜λŠ”지 ν™•μΈν•˜κ³ , λ§Œμ•½ νŒ¨ν‚·μ΄ μ†μ‹€λ˜μ—ˆλ‹€λ©΄ μž¬μ „솑을 μˆ˜ν–‰ν•œλ‹€. μ΄λ‘œμ¨ λ°μ΄ν„°μ˜ μ†μ‹€μ„ μ΅œμ†Œν™”ν•˜κ³  μ•ˆμ •μ μΈ μ „달을 λ³΄μž₯ν•œλ‹€.

μˆœμ„œ 보μž₯

  • TCPλŠ” μ „μ†‘ν•œ λ°μ΄ν„°μ˜ μˆœμ„œκ°€ λ³΄μ‘΄λ˜λ„둝 ν•˜λ©°, μˆ˜μ‹ μΈ‘μ—μ„œ λ°μ΄ν„°λ₯Ό λ™μΌν•œ μˆœμ„œλ‘œ μž¬μ‘°λ¦½ν•œλ‹€. λ”°λΌμ„œ λ°μ΄ν„°κ°€ μ „솑된 μˆœμ„œλŒ€λ‘œ μˆ˜μ‹ λœλ‹€.

포트 번호 μ‚¬μš©

  • TCPλŠ” μΆœλ°œμ§€ ν¬νŠΈμ™€ λͺ©μ μ§€ ν¬νŠΈλ₯Ό μ‚¬μš©ν•˜μ—¬ μ†‘μˆ˜μ‹ μž κ°„μ˜ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹λ³„ν•œλ‹€. μ΄λ₯Ό ν†΅ν•΄ μ—¬λŸ¬ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κ°„μ˜ λ°μ΄ν„°λ₯Ό κ΅¬λΆ„ν•  μˆ˜ μžˆλ‹€.

UDP (User Datagram Protocol)

  • UDPλŠ” μ‚¬μš©μž λ°μ΄ν„°κ·Έλž¨ ν”„λ‘œν† μ½œλ‘œ, IP ν”„λ‘œν† μ½œκ³Ό λΉ„κ΅ν–ˆμ„ λ•Œ κ°„λ‹¨ν•˜κ³  κ°€λ²Όμš°λ©°, 데이터 전솑을 μœ„ν•œ 기본적인 κΈ°λŠ₯λ§Œμ„ μ œκ³΅ν•œλ‹€. ν•˜μ–€ 도화지에 λΉ„μœ λ˜λŠ”λ°, κΈ°λŠ₯이 거의 μ—†μ–΄ IP와 거의 κ°™λ‹€. (PORT와 체크섬 μ •λ„λ§Œ μΆ”κ°€λ˜μ—ˆλ‹€.)
  • 연결지ν–₯적이지 μ•Šκ³ , 데이터 전달을 보증 ν•˜μ§€ μ•ŠμœΌλ©°, μˆœμ„œλ„ 보μž₯λ˜μ§€ μ•Šμ§€λ§Œ λ‹¨μˆœν•˜κ³  λΉ λ₯΄λ‹€.
  • UDPλ₯Ό μ‚¬μš©ν•˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ λ°μ΄ν„°μ˜ μ†μ‹€, μ€‘볡, μˆœμ„œ μ˜€λ₯˜ λ“±μ„ μ§μ ‘ μ²˜λ¦¬ν•΄μ•Ό ν•œλ‹€. μ΄λ‘œ μΈν•΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κ°œλ°œμžκ°€ μΆ”κ°€ μž‘업을 μˆ˜ν–‰ν•΄μ•Ό ν•œλ‹€.

좜처 : μΈν”„λŸ° λͺ¨λ“  개발자λ₯Ό μœ„ν•œ HTTP μ›Ή κΈ°λ³Έ 지식 / κΉ€μ˜ν•œ λ“±