Home > Network > 2024 > 🌐[Network] ν”„λ‘œν† μ½œ(Protocol)μ΄λž€ λ¬΄μ—‡μΌκΉŒμš”?

🌐[Network] ν”„λ‘œν† μ½œ(Protocol)μ΄λž€ λ¬΄μ—‡μΌκΉŒμš”?
Network

🌐[Network] ν”„λ‘œν† μ½œ(Protocol)μ΄λž€ λ¬΄μ—‡μΌκΉŒμš”?

  • ν”„λ‘œν† μ½œ(Protocol) 은 μ»΄ν“¨ν„°λ‚˜ λ„€νŠΈμ›Œν¬ μž₯μΉ˜κ°„μ— 데이터λ₯Ό μ£Όκ³  λ°›κΈ° μœ„ν•œ 일련의 κ·œμΉ™κ³Ό 절차λ₯Ό μ •μ˜ν•œ ν‘œμ€€μž…λ‹ˆλ‹€.
    • μ‰½κ²Œ 말해, ν†΅μ‹ ν•˜λŠ” μž₯μΉ˜λ“€μ΄ μ„œλ‘œ μ΄ν•΄ν•˜κ³  데이터 κ΅ν™˜μ„ μ›ν™œνžˆ ν•  수 μžˆλ„λ‘ 정해진 약속을 λ§ν•©λ‹ˆλ‹€.
  • ν”„λ‘œν† μ½œμ€ 데이터 ν˜•μ‹, 톡신 속도, 였λ₯˜ 처리 방식, λ©”μ‹œμ§€ ꡬ쑰 λ“± 톡신에 ν•„μš”ν•œ λͺ¨λ“  μš”μ†Œλ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.

1️⃣ ν”„λ‘œν† μ½œμ˜ μ£Όμš” μ—­ν• .

1️⃣ 톡신 κ·œμΉ™ 제곡.

  • μ„œλ‘œ λ‹€λ₯Έ μž₯μΉ˜λ‚˜ μ‹œμŠ€ν…œμ΄ 데이터λ₯Ό μ£Όκ³ λ°›κΈ° μœ„ν•΄ 따라야 ν•  κ·œμΉ™μ„ μ œκ³΅ν•©λ‹ˆλ‹€.
    • 각 μž₯μΉ˜λ‚˜ μ‹œμŠ€ν…œμ΄ λ™μΌν•œ ν”„λ‘œν† μ½œμ„ λ”°λ¦„μœΌλ‘œμ¨, μ„œλ‘œ μ›ν™œν•˜κ²Œ 정보λ₯Ό 주고받을 수 μžˆμŠ΅λ‹ˆλ‹€.

2️⃣ 데이터 ν˜•μ‹ μ •μ˜.

  • 데이터λ₯Ό μ–΄λ–»κ²Œ ν‘œν˜„ν•˜κ³  전솑할지에 λŒ€ν•œ ν˜•μ‹μ„ μ •μ˜ν•©λ‹ˆλ‹€.
    • 예λ₯Ό λ“€μ–΄, λ©”μ‹œμ§€μ˜ μ‹œμž‘κ³Ό 끝을 μ–΄λ–»κ²Œ ꡬ뢄할지, λ°μ΄ν„°μ˜ ν¬κΈ°λ‚˜ κ΅¬μ‘°λŠ” μ–΄λ–»κ²Œ 할지 등을 κ²°μ •ν•©λ‹ˆλ‹€.

3️⃣ 였λ₯˜ κ²€μΆœ 및 μˆ˜μ •.

  • 데이터 전솑 쀑 λ°œμƒν•  수 μžˆλŠ” 였λ₯˜λ₯Ό κ°μ§€ν•˜κ³ , 이λ₯Ό μ²˜λ¦¬ν•˜λŠ” 방식을 μ •μ˜ν•©λ‹ˆλ‹€.
    • 톡신 쀑 데이터가 μ†μƒλ˜κ±°λ‚˜ μœ μ‹€λ  경우 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ μ ˆμ°¨κ°€ ν¬ν•¨λ©λ‹ˆλ‹€.

4️⃣ 동기화

  • 데이터λ₯Ό μ£Όκ³  λ°›λŠ” μ†‘μ‹ μžμ™€ μˆ˜μ‹ μž κ°„μ˜ 동기화λ₯Ό μ²˜λ¦¬ν•˜μ—¬, 두 μž₯μΉ˜κ°€ μ„œλ‘œμ˜ 데이터λ₯Ό μ˜¬λ°”λ₯΄κ²Œ μ΄ν•΄ν•˜κ³  μ²˜λ¦¬ν•  수 μžˆλ„λ‘ λ•μŠ΅λ‹ˆλ‹€.

2️⃣ ν”„λ‘œν† μ½œμ˜ μ’…λ₯˜.

  • λ„€νŠΈμ›Œν¬ ν†΅μ‹ μ—μ„œ μ‚¬μš©λ˜λŠ” ν”„λ‘œν† μ½œμ€ OSI(Open Systems Interconnection) λͺ¨λΈμ΄λ‚˜ TCP/IP λͺ¨λΈμ˜ 계측에 따라 λ‚˜λˆŒ 수 μžˆμŠ΅λ‹ˆλ‹€.
    • 각 계측은 μ„œλ‘œ λ‹€λ₯Έ ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ νŠΉμ • κΈ°λŠ₯을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.

1️⃣ λ„€νŠΈμ›Œν¬ 계측별 ν”„λ‘œν† μ½œ.

  • ν”„λ‘œν† μ½œμ€ λ„€νŠΈμ›Œν¬ ν†΅μ‹ μ˜ 각 단계에 ν•΄λ‹Ήν•˜λŠ” λ‹€μ–‘ν•œ 역할을 λ‹΄λ‹Ήν•©λ‹ˆλ‹€.

πŸ‘‰ μ‘μš© 계측(Application Layer)

  • HTTP(HyperText Transfer Protocol)
    • μ›Ή λΈŒλΌμš°μ €μ™€ μ›Ή μ„œλ²„ 간에 데이터λ₯Ό μ£Όκ³ λ°›κΈ° μœ„ν•œ ν”„λ‘œν† μ½œλ‘œ, μ›Ή νŽ˜μ΄μ§€μ˜ 전솑을 λ‹΄λ‹Ήν•©λ‹ˆλ‹€.
  • FTP(File Transfer Protocol)
    • 컴퓨터 간에 νŒŒμΌμ„ μ „μ†‘ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” ν”„λ‘œν† μ½œμž…λ‹ˆλ‹€.
  • SMTP(Simple Mail Transfer Protocol)
    • 이메일 전솑을 μœ„ν•œ ν”„λ‘œν† μ½œμž…λ‹ˆλ‹€.
  • DNS(Domain Name System)
    • 도메인 이름을 IP μ£Όμ†Œλ‘œ λ³€ν™˜ν•˜λŠ” ν”„λ‘œν† μ½œμž…λ‹ˆλ‹€.

πŸ‘‰ 전솑 계측(Transport Layer)

  • TCP(Transmission Control Protocol)
    • μ‹ λ’°μ„± μžˆλŠ” μ—°κ²°ν˜• 데이터 전솑 ν”„λ‘œν† μ½œλ‘œ, 데이터λ₯Ό νŒ¨ν‚·μœΌλ‘œ λ‚˜λˆ„μ–΄ μ „μ†‘ν•˜κ³ , 였λ₯˜κ°€ λ°œμƒν•˜λ©΄ μž¬μ „μ†‘μ„ 톡해 μ•ˆμ •μ„±μ„ 보μž₯ν•©λ‹ˆλ‹€.
  • UDP(User Datagram Protocol)
    • λΉ„μ—°κ²°ν˜• ν”„λ‘œν† μ½œλ‘œ, λΉ λ₯Έ 데이터 전솑이 κ°€λŠ₯ν•˜μ§€λ§Œ, 데이터 μ „μ†‘μ˜ 신뒰성은 보μž₯ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
    • 주둜 μ‹€μ‹œκ°„ μŠ€νŠΈλ¦¬λ°μ΄λ‚˜ κ²Œμž„μ—μ„œ μ‚¬μš©λ©λ‹ˆλ‹€.

πŸ‘‰ 인터넷 계측(Internet Layer)

  • IP(Internet Protocol)
    • 데이터λ₯Ό νŒ¨ν‚·μœΌλ‘œ λ‚˜λˆ„μ–΄ λͺ©μ μ§€κΉŒμ§€ μ „λ‹¬ν•˜λŠ” 역할을 ν•˜λŠ” ν”„λ‘œν† μ½œλ‘œ, μΈν„°λ„·μ—μ„œ 기본적인 데이터 전솑을 λ‹΄λ‹Ήν•©λ‹ˆλ‹€.
  • ICMP(Internet Control Message Protocol)
    • λ„€νŠΈμ›Œν¬ μž₯λΉ„ κ°„μ˜ μ§„λ‹¨μ΄λ‚˜ 였λ₯˜ λ©”μ‹œμ§€λ₯Ό μ „μ†‘ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.
      • 예: ping λͺ…λ Ή.

πŸ‘‰ λ„€νŠΈμ›Œν¬ μΈν„°νŽ˜μ΄μŠ€ 계측(Network Interface Layer)

  • Ethernet
    • 둜컬 μ˜μ—­ λ„€νŠΈμ›Œν¬(LAN)μ—μ„œ μ‚¬μš©λ˜λŠ” 물리적 λ„€νŠΈμ›Œν¬ ν”„λ‘œν† μ½œλ‘œ, λ„€νŠΈμ›Œν¬ μΉ΄λ“œ κ°„ 데이터 전솑을 μ²˜λ¦¬ν•©λ‹ˆλ‹€.
  • Wi-Fi
    • 무선 λ„€νŠΈμ›Œν¬μ—μ„œ μ‚¬μš©λ˜λŠ” 톡신 ν”„λ‘œν† μ½œλ‘œ, 무선 μž₯치 κ°„ 데이터λ₯Ό 주고받을 λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€.

2️⃣ λ³΄μ•ˆ κ΄€λ ¨ ν”„λ‘œν† μ½œ

  • SSL/TLS(Secure Sockets Layer / Transport Layer Security)
    • 인터넷 μƒμ—μ„œ 데이터λ₯Ό μ•ˆμ „ν•˜κ²Œ μ•”ν˜Έν™”ν•˜μ—¬ μ „μ†‘ν•˜λŠ” ν”„λ‘œν† μ½œμž…λ‹ˆλ‹€.
    • HTTPSλŠ” SSL/TLSλ₯Ό μ‚¬μš©ν•˜μ—¬ HTTP 톡신을 μ•”ν˜Έν™”ν•©λ‹ˆλ‹€.
  • SSH(Secure Shell)
    • 원격 μ‹œμŠ€ν…œμ— μ•ˆμ „ν•˜κ²Œ μ ‘μ†ν•˜κΈ° μœ„ν•œ ν”„λ‘œν† μ½œλ‘œ, 데이터λ₯Ό μ•”ν˜Έν™”ν•˜μ—¬ μ „μ†‘ν•©λ‹ˆλ‹€.

3️⃣ ν”„λ‘œν† μ½œ μ˜ˆμ‹œ: HTTP ν”„λ‘œν† μ½œ

  • HTTP(HyperText Transfer Protocol) λŠ” ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„κ°„μ˜ μ›Ή νŽ˜μ΄μ§€ 데이터λ₯Ό μ£Όκ³ λ°›λŠ” 데 μ‚¬μš©ν•˜λŠ” ν”„λ‘œν† μ½œμž…λ‹ˆλ‹€.
  • ν΄λΌμ΄μ–ΈνŠΈ(예: μ›Ή λΈŒλΌμš°μ €)κ°€ HTTP μš”μ²­μ„ 보내면, μ„œλ²„λŠ” 그에 λŒ€ν•œ 응닡을 HTTP ν˜•μ‹μœΌλ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€.
    • ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”μ²­(Request) : GET /index.html HTTP/1.1
    • μ„œλ²„μ˜ 응닡(Response) : HTTP/1.1 200 OK
      • μ΄λ•Œ, HTTP ν”„λ‘œν† μ½œμ€ μš”μ²­κ³Ό μ‘λ‹΅μ˜ ꡬ쑰, μƒνƒœ μ½”λ“œ(200, 404 λ“±), λ©”μ„œλ“œ(GET, POST λ“±) λ“± λͺ¨λ“  톡신 κ·œμΉ™μ„ μ •μ˜ν•©λ‹ˆλ‹€.

4️⃣ ν”„λ‘œν† μ½œμ˜ ν•„μš”μ„±.

1️⃣ ν˜Έν™˜μ„± 확보.

  • λ‹€μ–‘ν•œ μž₯μΉ˜μ™€ μ‹œμŠ€ν…œ κ°„μ˜ ν˜Έν™˜μ„±μ„ 보μž₯ν•˜κΈ° μœ„ν•΄ ν‘œμ€€ν™”λœ ν”„λ‘œν† μ½œμ΄ ν•„μš”ν•©λ‹ˆλ‹€.
    • ν”„λ‘œν† μ½œμ΄ μ—†λ‹€λ©΄ μ„œλ‘œ λ‹€λ₯Έ μž₯μΉ˜λ‚˜ μ‹œμŠ€ν…œ 간에 데이터λ₯Ό μ£Όκ³ λ°›λŠ” 것이 맀우 μ–΄λ €μ›Œμ§ˆ κ²ƒμž…λ‹ˆλ‹€.

2️⃣ 톡신 ν‘œμ€€ 제곡.

  • ν”„λ‘œν† μ½œμ€ 데이터 ν˜•μ‹, μ—λŸ¬ 처리 방식, 전솑 속도 λ“± μ—¬λŸ¬ μš”μ†Œλ₯Ό ν‘œμ€€ν™”ν•˜μ—¬ λ„€νŠΈμ›Œν¬ μƒμ˜ λͺ¨λ“  μž₯μΉ˜κ°€ λ™μΌν•œ κ·œμΉ™μ„ λ”°λ₯΄λ„둝 ν•©λ‹ˆλ‹€.
    • 이λ₯Ό 톡해 μ „ μ„Έκ³„μ μœΌλ‘œ 인터넷 톡신이 κ°€λŠ₯ν•΄μ§‘λ‹ˆλ‹€.

3️⃣ 효율적인 톡신.

  • ν”„λ‘œν† μ½œμ€ 데이터 전솑을 μ΅œμ ν™”ν•˜κ³ , 였λ₯˜ λ°œμƒ μ‹œ 볡ꡬ할 수 μžˆλŠ” λ©”μ»€λ‹ˆμ¦˜μ„ μ œκ³΅ν•©λ‹ˆλ‹€.
    • λ˜ν•œ 톡신 κ³Όμ •μ—μ„œ λ°œμƒν•  수 μžˆλŠ” μ—¬λŸ¬ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλŠ” 방법을 μ •μ˜ν•˜μ—¬ μ•ˆμ •μ μ΄κ³  효율적인 데이터 전솑을 보μž₯ν•©λ‹ˆλ‹€.

5️⃣ κ²°λ‘ .

  • ν”„λ‘œν† μ½œ(Protocol) 은 μž₯μΉ˜λ“€ κ°„μ˜ 톡신을 μœ„ν•œ κ·œμΉ™κ³Ό ν‘œμ€€μ„ μ •μ˜ν•œ μ€‘μš”ν•œ μš”μ†Œμž…λ‹ˆλ‹€.
  • ν”„λ‘œν† μ½œμ΄ μ—†λ‹€λ©΄ λ„€νŠΈμ›Œν¬ μƒμ˜ λ‹€μ–‘ν•œ μ‹œμŠ€ν…œ κ°„μ˜ 데이터 κ΅ν™˜μ€ λΆˆκ°€λŠ₯ν•  κ²ƒμž…λ‹ˆλ‹€.
  • 인터넷과 λ„€νŠΈμ›Œν¬ ν†΅μ‹ μ—μ„œ ν”„λ‘œν† μ½œμ€ λ°μ΄ν„°μ˜ μ •ν™•ν•œ 전달을 보μž₯ν•˜κ³ , λ„€νŠΈμ›Œν¬ μž₯치 κ°„μ˜ μƒν˜Έ μš΄μš©μ„±μ„ μœ μ§€ν•˜κΈ° μœ„ν•œ ν•„μˆ˜μ μΈ ꡬ성 μš”μ†Œμž…λ‹ˆλ‹€.