본문 바로가기
CS공부

[네트워크] 2-1 Application Layer (응용계층)

by 디토20 2022. 4. 7.
반응형

 

 

[네트워크] 2-1 Application Layer (응용계층)

 

 

1. Application의 두가지 종류

다양한 네트워크 어플리케이션은 두가지 구조 중 하나를 가짐

 

1. client-server(클라이언트-서버) Architecture

2. peer-to-peer(P2P) Architecture

 

 

1.1. client-server(클라이언트-서버) Architecture

 

 

server
  • 언제나 켜져있음
  • 영구적으로 할당된 아이피주소를 갖고있음
  • 데이터 센터 형식으로 존재

 

clients
  • 서버와 통신함
  • 간헐적으로 연결될 수 있음
  • 동적으로 할당된 아이피 주소를 갖고 있음. 즉 아이피가 변경 될 수 있음
  • client 끼리 직접적으로 커뮤니케이션 하지 않음 -> 서버를 통해서 함

 

 

 

1.2. peer-to-peer(P2P) Architecture

  • 커뮤니케이션 하는 호스트가 전부 유저 호스트 -> 이런 유저 호스트를 피어라고 부름
  • 피어들은 request 하기도 하고 response 하기도 함.
  • self scalability 가능 -> 새로운 피어가 들어오면 새로운 서비스에 대한 요청을 가져올 수 있음
  • 간헐적으로 연결될 수 있음
  • 동적으로 할당된 아이피 주소를 갖고 있음. 즉 아이피가 변경 될 수 있음
  • 호스트끼리 직접적으로 커뮤니케이션
  • 관리가 복잡하다는 단점

 

 

 

 

2. Sockets

Application Layer는 Transport Layer와 socket을 통해 메세지를 주고 받는다.

 

 

  • 커뮤니케이션은 두 호스트 사이에서 이루어지는 것이 아닌, 두 프로세스 간에 이루어진다.
  • 궁극적인 목적지는 프로세스이므로 실행되는 프로세스를 identifier 해줘야 한다.
  • Port : 호스트 안에서 실행되는 프로세스를 identifier 해주는 것
  • HTTP messge를 보낼때는 IP 주소와 port 번호가 필요

 

보편적으로 사용되는 포트 번호 예시
  • HTTP server port : 80
  • mail server port : 25

 

 

 

3. Application Layer Protocol

 

3.1. Protocol에서 정의 되는 것

  • 교환되는 message의 type -> ex) request, response
  • message syntax  -> 메세지에 어떤 필드들이 있고, 그 필드들의 구분은 어떻게 지어지는지
  • message semantics -> 메세지가 어떻게 해석이 되어야하는지
  • rules -> 어떤메세지를 받았을때 언제 어떤 메세지를 response 해야하는지

 

3.2. open protocols & proprietary protocols

open protocols
  • open protocol은 RFCs 문서에 전부 오픈이 되어있음.
  • 규약이 오픈되어있기 때문에 서로 통신하기 유용함.
  • ex ) HTTP, SMTP

 

proprietary protocols
  •  비공개 프로토콜
  • 어떻게 돌아가는지 짐작만 할 뿐, 정확히 알수 없음
  • ex ) Skype

 

 

4. Application은 어떤 transport 서비스를 원할까?

각각의 어플리케이션은 각자가 원하는 전송계층의 기능이 있다.

4.1 data integrity

  • 100%의 신뢰도 있는 데이터 전송을 원하는 어플리케이션
  • 속도가 많이 빠르지 않아도 괜찮음
  • ex) file transfer, e-mail, web transactions 등

 

4.2 timing

  • 매우 적은 delay 시간을 요구하는 어플리케이션
  • 약간의 data loss는 가능하나, 실시간으로 데이터 전송이 되어야 한다.
  • ex) Internet telephony, interative games 등

4.3 throughput

  • 초당 최소한의 데이터 전송을 원하는 어플리케이션
  • ex) multimedia, 실시간 방송 등

4.4 security

  • 보안이 중요한 어플리케이션

 

 

 

5. Application별 사용되는 프로토콜들

 

 

 

 

 

 

 

728x90
반응형

댓글