Chapter 2. 애플리케이션 계층
더보기
닫기
1. 네트워크 애플리케이션의 원리
2. 웹과 HTTP
3. 인터넷 전자메일
4. DNS : 인터넷의 디렉터리 서비스
5. P2P 파일분배
6. 비디오 스트리밍과 콘텐츠
7. 소켓 프로그래밍 : 네트워크 애플리케이션 생성
1. 네트워크 애플리케이션의 원리
1) 네트워크 애플리케이션 구조 두가지
클라이언트-서버 구조
- 항상 동작하고 있는 서버가 존재하고, 클라이언트라는 다른 호스트들로부터 서비스 요청을 받는다.
- 클라이언트는 서로 직접적으로 통신하지 않는다.
- 서버는 잘 알려진 고정 IP 주소를 갖는다.
- 서버가 클라이언트로부터 오는 모든 요청에 더 응답하는 것이 불가능할 때,
많은 수의 호스트를 갖춘 데이터 센터가 강력한 가상의 서버를 생성하는 역할로 사용된다. 보통, 10만개 정도의 서버를 갖추고 있다.
P2P 구조
- 항상 켜져있는 인프라스트럭처 서버에 최소로 의존한다. (혹은 의존하지 않는다.)
- 대신에 애플리케이션은 peer라는 간헐적으로 연결된 호스트 쌍이 서로 직접 통신하게 한다.
- peer는 흔히 알려진 클라이언트(개인 데스크톱과 랩톱 등등)이다.
- 자가 확장성을 가진다. 예를 들어, 파일 공유 애플리케이션에서는 각 피어들이 파일을 요구하여 작업 부하가 생기지만
각 피어들은 파일을 다른 피어들에게 분배하여 시스템에 서비스 능력을 갖춘다. - 데이터 센터 등이 필요 없으므로 비용 효율적이다.
2) 프로세스 간 통신
프로세스는 소켓을 통해 네트워크로 메시지를 주고받는다.
즉, 소켓은 호스트의 애플리케이션 계층과 트랜스포트 계층간의 인터페이스다.
네트워크 애플리케이션이 인터넷에 만든 프로그래밍 인터페이스이므로, 애플리케이션과 네트워크 사이의 API라고도 한다.
송신 측의 애플리케이션은 소켓을 통해 메시지를 보내고,
트랜스포트 프로토콜은 네트워크를 통해 그 메시지를 수신 프로세스의 소켓으로 이동시킬 책임이 있다.
3) 애플리케이션이 이용 가능한 트랜스포트 서비스
트랜스포트 프로토콜이 그것을 이용하는 애플리케이션에게 제공할 수 있는 4가지 서비스 는 다음과 같다.
- 신뢰적 데이터 전송(data integrity)
- 처리율(throughput)
- 시간(timing)
- 보안(security)
4) 인터넷 전송 프로토콜이 제공하는 서비스
TCP 서비스
UDP 서비스
5) 애플리케이션 계층 프로토콜
애플리케이션 계층 프로토콜은 다른 종단 시스템에서 실행되는 애플리케이션의 프로세스가 서로 메시지를 보내는 방법을 정의한다.
이는 다음과 같은 내용을 정의한다.
- 교환 메시지의 타입
- 여러 메시지 타입의 문법(syntax)
- 필드의 의미, 즉 필드에 있는 정보의 의미(semantics)
- 언제, 어떻게 프로세스가 메시지를 전송하고 메시지에 응답하는지를 결정하는 규칙
여러 애플리케이션 계층 프로토콜은 RFC에 명시되어 있어 공중 도메인에서 찾을 수 있다.
2. 웹과 HTTP
3. 인터넷 전자메일
4. DNS : 인터넷의 디렉터리 서비스
5. P2P 파일분배
6. 비디오 스트리밍과 콘텐츠
7. 소켓 프로그래밍 : 네트워크 애플리케이션 생성
'전공과목 스터디 > 컴퓨터 네트워크' 카테고리의 다른 글
[컴퓨터 네트워킹:하향식 접근] 4장 (0) | 2024.05.23 |
---|---|
[컴퓨터 네트워킹:하향식 접근] 3장 (0) | 2024.05.22 |