[Network] TCP/IP

HannahhhΒ·2022λ…„ 9μ›” 12일
0

HTTP/Network

λͺ©λ‘ 보기
6/12

πŸ‘€ λ„€νŠΈμ›Œν¬μ˜ μ‹œμž‘


ν˜„μž¬ μ‚¬μš©ν•˜λŠ” 인터넷 ν”„λ‘œν† μ½œ(IP) 기반의 λ„€νŠΈμ›Œν¬(νŒ¨ν‚·κ΅ν™˜ 방식)λŠ” 1969λ…„, λƒ‰μ „μ‹œλŒ€μ— ν•΅μ „μŸμ„ λŒ€λΉ„ν•˜κΈ° μœ„ν•œ 톡신망 ꡬ좕을 μœ„ν•œ μ•„λ₯΄νŒŒλ„· ν”„λ‘œμ νŠΈμ—μ„œ μ‹œμž‘λ˜μ—ˆλ‹€.


λ°©μ‹νŠΉμ§•
νšŒμ„ κ΅ν™˜(νŒ¨ν‚· 이전)λ°œμ‹ μžμ™€ μˆ˜μ‹ μž 사이에 μ „μš©μ„ μ„ ν• λ‹Ή ν›„, μ—°κ²°ν•œλ‹€. (like 전화톡화)
λ”°λΌμ„œ μ¦‰μ‹œμ„±μ΄ 떨어짐.
νŒ¨ν‚·κ΅ν™˜(ν˜„μž¬)νŒ¨ν‚· λ‹¨μœ„λ‘œ 데이터λ₯Ό 잘게 λ‚˜λˆ„μ–΄ μ „μ†‘ν•œλ‹€.(like μ†Œν¬)
λ”°λΌμ„œ, 각 νŒ¨ν‚·μ—λŠ” μΆœλ°œμ§€μ™€ λͺ©μ μ§€ 정보가 있고 κ°€μž₯ 효율적인 λ°©μ‹μœΌλ‘œ 이동할 수 μžˆλ‹€.

⭐ **IP**λŠ” **μΆœλ°œμ§€μ™€ λͺ©μ μ§€μ˜ 정보**λ₯Ό νŠΉμ •ν•œ μˆ«μžκ°’(IPμ£Όμ†Œ)둜 ν‘œκΈ°ν•˜κ³  **νŒ¨ν‚·λ‹¨μœ„**둜 데이터λ₯Ό μ „μ†‘ν•œλ‹€.




πŸ‘€ IP & IP Packet


λ³΅μž‘ν•œ 인터넷 망 μ†μ—μ„œ ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„κ°€ 톡신할 수 있게 ν•˜κΈ°μœ„ν•΄ IPμ£Όμ†Œλ₯Ό 컴퓨터에 λΆ€μ—¬ν•˜μ—¬ ν†΅μ‹ ν•˜λ„λ‘ ν•œλ‹€. μ΄λ•Œ, IPλŠ” μ§€μ •ν•œ IP μ£Όμ†Œμ— νŒ¨ν‚·μ΄λΌλŠ” 톡신 λ‹¨μœ„λ‘œ 데이터λ₯Ό μ „λ‹¬ν•œλ‹€.

IP νŒ¨ν‚·μ—λŠ” 우체ꡭ 솑μž₯κ³Ό 같이 데이터λ₯Ό μ „μ†‘ν•˜κΈ° μœ„ν•΄ μΆœλ°œμ§€ IP, λͺ©μ μ§€ IP와 같은 정보가 ν¬ν•¨λ˜μ–΄ 있으며, ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ νŒ¨ν‚· λ‹¨μœ„λ‘œ 전솑할 μ‹œ 인터넷 망 속 λ…Έλ“œλ“€μ€ λͺ©μ μ§€ IPν–₯ν•΄ μ„œλ‘œ 데이터λ₯Ό μ „λ‹¬ν•¨μœΌλ‘œμ¨ 효율적으둜 νŒ¨ν‚·μ„ 전솑할 수 μžˆλ‹€.
λ˜ν•œ, μ„œλ²„μ—μ„œ λ¬΄μ‚¬νžˆ 데이터λ₯Ό μ „μ†‘λ°›μ•˜λ‹€λ©΄ 이에 λŒ€ν•œ 응닡을 ν΄λΌμ΄μ–ΈνŠΈμ— μ „λ‹¬ν•œλ‹€.


κ·ΈλŸ¬λ‚˜, IP ν”„λ‘œν† μ½œμ€ λΉ„μ—°κ²°μ„±μœΌλ‘œ, νŒ¨ν‚·μ„ 받을 λŒ€μƒμ΄ μ—†κ±°λ‚˜ μ„œλΉ„μŠ€ 뢈λŠ₯ μƒνƒœμž„μ—λ„ ν΄λΌμ΄μ–ΈνŠΈλŠ” μ„œλ²„μ˜ μƒνƒœλ₯Ό νŒŒμ•…ν•  수 μ—†μœΌλ―€λ‘œ νŒ¨ν‚·μ„ κ·ΈλŒ€λ‘œ μ „μ†‘ν•œλ‹€.

λ˜ν•œ, νŒ¨ν‚· 전솑 쀑 μ„œλ²„μ— μž₯μ• κ°€ 생겨도 ν΄λΌμ΄μ–ΈνŠΈλŠ” νŒŒμ•…ν•  수 μ—†μœΌλ―€λ‘œ νŒ¨ν‚·μ΄ 쀑간에 μ†Œμ‹€λ  수 있으며, λ°μ΄ν„°μ˜ μš©λŸ‰μ΄ 클 경우, νŒ¨ν‚· λ‹¨μœ„λ‘œ λ‚˜λˆ  데이터λ₯Ό μ „λ‹¬ν•˜κ²Œ λ˜λŠ”λ° 각 νŒ¨ν‚·λ“€μ΄ μ„œλ‘œ λ‹€λ₯Έ λ…Έλ“œλ₯Ό 톡해 μ „λ‹¬λ λ•Œ, νŒ¨ν‚·μ€ μ„œλ²„μ— μˆœμ„œλŒ€λ‘œ λ„μ°©ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” 비신뒰성을 λˆλ‹€.




πŸ‘€ TCP/UDP


λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œμ€ OSI 7계측, TCP/IP 4κ³„μΈ΅μœΌλ‘œ λ‚˜λˆŒ 수 있으며, IP ν”„λ‘œν† μ½œλ³΄λ‹€ 높은 계측에 TCP ν”„λ‘œν† μ½œμ΄ μžˆμœΌλ―€λ‘œ IPν”„λ‘œν† μ½œμ˜ ν•œκ³„(λΉ„μ—°κ²°μ„±, λΉ„μ‹ λ’°μ„±)λ₯Ό 보완할 수 μžˆλ‹€.


μ±„νŒ…μœΌλ‘œ λ©”μ‹œμ§€λ₯Ό 보낸닀고 κ°€μ •ν•΄λ³΄μž!

1 ) HTTP λ©”μ‹œμ§€λ₯Ό μƒμ„±ν•˜κ³  Socket을 톡해 μ „λ‹¬λœλ‹€.( Appliation )

2 ) λ©”μ‹œμ§€ 데이터λ₯Ό ν¬ν•¨ν•œ TCP 정보λ₯Ό μƒμ„±ν•œλ‹€. ( Transport )

3 ) TCP 데이터λ₯Ό ν¬ν•¨ν•œ IP νŒ¨ν‚·μ„ μƒμ„±ν•œλ‹€. ( Network )

4 ) LANκ³Ό 같은 물리적계측을 μ§€λ‚˜κΈ° μœ„ν•΄ Ethernet framework에 ν¬ν•¨λ˜μ–΄ μ„œλ²„λ‘œ μ „μ†‘λœλ‹€. ( Network Interface )

⭐ Socket?
λ„€νŠΈμ›Œν¬ ν™˜κ²½μ— μ—°κ²°ν•  수 있게 λ§Œλ“€μ–΄μ§„ μ—°κ²°λΆ€



βœ” TCP/IP νŒ¨ν‚·μ˜ ꡬ쑰


λ©”μ‹œμ§€ 데이터 + μΆœλ°œμ§€ PORT, λͺ©μ μ§€ PORT, 전솑 μ œμ–΄, μˆœμ„œ, 검증 정보등을 담은 TCP μ„Έκ·Έλ¨ΌνŠΈκ°€ IPνŒ¨ν‚·μ— ν¬ν•¨λ˜μ–΄ μžˆλŠ” ꡬ쑰둜, IP νŒ¨ν‚·μ€ TCP μ„Έκ·Έλ¨ΌνŠΈ + μΆœλ°œμ§€ 및 λͺ©μ μ§€ IP 등을 ν¬ν•¨ν•œλ‹€.
λ”°λΌμ„œ, TCP μ„Έκ·Έλ¨ΌνŠΈκ°€ IPνŒ¨ν‚·μ˜ 정보λ₯Ό 보완할 수 μžˆλ‹€



βœ” TCP?


TCPλŠ” 전솑 μ œμ–΄ ν”„λ‘œν† μ½œμ˜ μ•½μžλ‘œ, μ•„λž˜μ˜ νŠΉμ§•μ΄ μžˆλ‹€.


  • 연결지ν–₯ - TCP 3 way handshake



    SYN: Synchronize
    ACK: Acknowledgment

  • 데이터 전달 보증

    데이터 전솑이 μ„±κ³΅μ μœΌλ‘œ 이루어지면 μ„œλ²„μ—μ„œ 응닡을 돌렀쀌으둜써 비연결성을 보완할 수 μžˆλ‹€.

  • μˆœμ„œ 보μž₯ & μ‹ λ’°ν•  수 μžˆλŠ” ν”„λ‘œν† μ½œ**

    νŒ¨ν‚·μ΄ μˆœμ„œλŒ€λ‘œ λ„μ°©ν•˜μ§€ μ•Šμ•˜μ„ λ•Œ, TCP μ„Έκ·Έλ¨ΌνŠΈμ˜ 정보λ₯Ό 기반으둜 μž¬μš”μ²­ν•  수 있기 λ•Œλ¬Έμ— 비신뒰성을 보완할 수 μžˆλ‹€.



βœ” TCP vs UDP

TCPUDP
연결지ν–₯(TCP 3 way handshake)λΉ„ 연결지ν–₯
전솑 μˆœμ„œ 보μž₯전솑 μˆœμ„œ 보μž₯X
데이터 μˆ˜μ‹  μ—¬λΆ€ 확인(데이터 전달 보증)데이터 μˆ˜μ‹  μ—¬λΆ€ 확인X
신뒰성↑ 속도↓신뒰성↓ 속도↑




Reference: μ½”λ“œμŠ€ν…Œμ΄μΈ 

0개의 λŒ“κΈ€