네트워크 에플리케이션의 원리

이재윤·2021년 2월 13일
0

네트워크

목록 보기
1/9
post-thumbnail
  • Application의 구조
    Network application protocol이 가질 수 있는 구조

    1. client-server
      • client
        서버와 통신을 하는 주체이다.
        필요할때마다 서버와 연결을 요청한다.
        대부분 dynamic IP Address를 소유하고 있다.
        client끼리 통신하지 않는다.
      • server
        항상 host에 켜져(always-on)있다.
        고정 IP주소를 가지고 있다.
        규모확장을 위해 Data Center를 이용하기도 한다.
    2. peer-to-peer

      임의의 End System(client)끼리 직접적으로 통신하는 구조이다.
      Peer들이 다른 Peer들에게 요청을 하고 응답을 받는다.
      • 장점
        사용자(peer)가 증가하면 서버의 규모도 커진다.(self-self scalability)
      • 단점
        Dynamic IP address를 가지고 있으므로 관리가 어렵다.
  • Process Communicating
    한 host내에서의 process들간의 통신: OS 처리한다.
    다른 host사이의 process들간의 통신: Network application이 처리한다.

    • Client Process
      먼저 연결을 요청하는 process들을 지칭한다.
    • Server Process
      연결을 기다리는 process들을 지칭한다.
    • P2P에서는 peer에서 server process, client process 모두 실행될 수 있다.
  • Socket
    Application Layer와 Transport Layer 사이의 문 역할 한다.

  • Port Number
    Host내의 process들을 구별해주는 identifier이다.

    네트워크 커뮤니케이션의 주체는, host들이 아니라 host내에서 동작하는 process들이다. 따라서 host들을 구별하는 IP address만으로는 충분하지 않다.

  • Transport Layer
    Application Layer는 메세지를 작성 후 Transport Layer에 전송을 요청한다.

    TCPUDP
    Connection-oriented protocol
    연결 지향형
    connetion-less protocol
    비연결 지향형
    Congestion Controlcongestion Control ✖
    Flow ControlFlow Control ✖
    Reliable TransportationUnreliable Transportation
    HTTP, SMTP, FTP, TelnetInteractive Game, Streaming Multimedia
    • UDP를 사용하는 이유
      1. TCP의 경우 Process Control Overhead가 발생한다.
      2. TCP보다 빠르다.( ∵ Flow Control, Congestion Control의 부재)
      3. App내에서 data integrity를 확인한다면, TCP사용할 필요가 없다.

0개의 댓글