컴퓨터 네트워크

응용 계층: Application Layer

kiki1875 2023. 3. 31. 10:33

Internet protocol stack은 인터넷에서 컴퓨터와 기기들이 통신하기 위해 사용되는 프로토콜의 집합이다.

이는 총 4개의 계층 구조를 가지고 있는데, 서로 독립적으로 작동하여 효율적인 통신을 가능하게 한다. 

  • Application Layer: 최종 사용자 애플리케이션과 통신하기 위한 인터페이스를 제공. 
    • HTTP, FTP, SMTP 등
  • Transport Layer: 데이터 전송을 제어, 신뢰성 있는 전송을 보장하기 위해 사용.
    • TCP, UDP 등
  • Network Layer: 데이터를 패킷으로 분할하고 네트워크간 라우팅 및 인터넷 프로토콜을 사용하여 목적지에 전달
  • Link Layer: 물리적인 네트워크를 통해 데이터를 전송 - 인접한 노드로 전송

Application 은 다음과 같은 구조를 가질 수 있다 

  • Client - Server
    • 서버는 항상 켜져있는 호스트이다
    • 서버는 영구적인 IP 주소를 가지고 있다
    • 클라이언트는 서버와 소통한다
    • 클라이언트는 동적인 IP 주소를 가지고 있다
    • 클라이언트 간의 통신은 직접적이지 않다
  • P2P (peer to peer)
    • 항상 켜져있는 서버 x
    • End - system 끼리 직접적으로 소통한다
    • Peer은 다른 peer 에게 서비스를 요청한다
      • 새로운 peer 가 연결할 때, 새로 들어온 peer 가 직접적으로 확장시킨다. 
    • Peer들 끼리 연결되어 있다

Addressing  Process

  • 메세지를 주고 받기 위해 프로세스는 식별자가 필요하다
    • 식별자는 IP 주소와 포트 # 를 가지고 있다
  • 호스트는 32 bit IP 주소를 가지고 있다
  • App-layer protocol 은 다음 구조를 띄고 있다
    • 어떤 종류의 메세지: ex) request, response
    • Message Syntax
    • Message Semantics: 각 필드의 의미
    • Rules: 프로세스가 메세지를 어떻게 주고 받을 것인지

App 은 그렇다면 어떤 전송 서비스가 필요한가

  • Data Integrity: 특정한 app 들은 100% 믿을 수 있는 통신이 필요하다
  • Timing: 특정한 app 들은 delay 가 최소화 되어야 한다
  • Throughput: 특정한 app 들은 효율적이기 위해 처리되어야 하는 양의 데이터가 있다.
  • Security: 특정한 app 들은 암호화가 필요하다.