반응형
[네트워크] 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
반응형
'CS공부' 카테고리의 다른 글
[네트워크] 2-3 Application Layer (응용계층) - Mail access protocols, DNS (0) | 2022.04.16 |
---|---|
[네트워크] 2-2 Application Layer (응용계층) - 쿠키, 웹캐시, SMTP (0) | 2022.04.09 |
[네트워크] 1-2 네트워크 퍼포먼스와 인터넷 5계층, 네트워크 시큐리티 (0) | 2022.04.03 |
[네트워크] 1-1. 인터넷이란? (0) | 2022.03.30 |
[네트워크] TCP/IP 5계층 (0) | 2022.03.27 |
댓글