컴퓨터망 14) 응용 계층

zh025700·2022년 7월 6일
0

컴퓨터네트워크

목록 보기
14/26
post-custom-banner

컴퓨터망

14. Application layer

이 장에서는 응용 프로그램 계층에 대해 소개한다

Client server paradigm

네트워크 또는 internetwork의 목적은 사용자에게 서비스를 제공하는 것이다
로컬 사이트의 사용자는 원격 사이트의 컴퓨터에서 서비스를 받기를 원한다
이 목적을 달성하기 위해서 두 개의 프로그램을 실행한다

  • 로컬 컴퓨터는 서비스를 요청하기 위해 프로그램을 실행
  • 원격 컴퓨터는 서비스를 제공하기 위해 프로그램을 실행

이것은 인터넷으로 연결된 두 대의 컴퓨터가 각각 서비스를 제공하기 위해 그리고 서비스를 요청하기 위해 각각 프로그램을 실행해야 한다는 것을 의미한다

Server types

Connection Iterative server

UDP를 사용하는 서버는 일반적으로 반복적이며, 서버가 한 번에 하나의 요청을 처리한다

  • 즉 하나에 하나의 일만 처리한다

서버는 수신된 요청을 수신하고 요청을 처리한 후 클라이언트에 보낼 응답을 UDP에 제공한다
데이터그램은 서비스를 기다리는 큐에 저장된다
모두 한 클라이언트에서 온 것일 수도 있고 여러 클라이언트에서 온 것일 수도 있다
두 경우 모두 도착 순서대로 하나씩 처리된다
서버는 well known포트를 사용한다
이 포트에 도착하는 모든 데이터 그램은 그림에 표시된 것처럼, 서비스 대기 줄에 대기한다

Connection oriented concurrent server

  • TCP(또는 SCTP)를 사용하는 서버는 일반적으로 concurrent이다

    • 서버가 동시에 많은 클라이언트에 서비스를 제공할 수 있음을 의미한다
  • connection oriented적이다

  • 서버와 각 클라이언트 사이에 연결이 설정된다

  • 각 연결에 포트가 필요하고 동시에 여러 연결이 열려 있을 수 있으므로 이 유형의 서버는 하나의 포트만 사용할 수 없다

  • 서버는 하나의 잘 알려진 포트만 사용할 수 있다

Socket interface

클라이언트 프로세스와 서버 프로세스의 통신을 위해서

  • transport 계층에 연결을 열고 다른 쪽 끝과 데이터를 주고받으며 연결을 닫도록 지시하는 새로운 명령 집합이 필요
  • 이러한 종류의 명령어 세트를 일반적으로 인터페이스라고 한다

인터페이스는 두 엔티티 사이의 상호작용을 위해 설계된 instruction set이다

  • 소켓 인터페이스는 instruction set으로 운영 체제와 응용 프로그램 사이에 위치한다

concept of socket

통신 채널을 사용하려면 응용 프로그램(클라이언트 또는 서버)이 운영 체제에 소켓 생성을 요청해야 한다
그러면 응용 프로그램은 데이터를 보내고 받기 위해 소켓에 연결할 수 있다
데이터 통신이 일어나려면 통신의 한 쪽 끝에 각각 한 쌍의 소켓이 필요하다

socket data 구조

Family

  • 프로토콜 그룹(IPv4, IPv6)을 정의

Type

  • 소켓 타입 정의
    • SOCK_STREAM
    • SOCK_DGRAM
    • SOCK_SEQPACKET

Protocol

  • 인터페이스를 사용하는 프로토콜 정의

    • TCPIP는 0으로 설정

Local Socket Address

  • local 소켓 주소 정의
    • IP주소와 포트 번호

Remote Socket Address

  • 통신하려는 소켓 주소 정의

Socket types

IPv4 socket address

UDP 연결

TCP 연결

profile
정리
post-custom-banner

0개의 댓글