목차
- 애플리케이션 아키텍처
- 응용 계층 프로토콜의 정의
- 응용 계층이 필요로 하는 전송 계층의 서비스
1. 애플리케이션 아키텍처
클라이언트-서버
서버
- 서버는 항상 작동
- 영구 IP 주소
클라이언트
- 서버와 통신
- 간헐적으로 연결
- 동적 IP 주소 보유 가능
- 서로 직접적인 의사소통을 하지 않음
P2P(Peer-to-Peer)
중앙 서버 없음
임의의 엔드 시스템이 직접 통신
Peer가 다른 Peer에게 서비스를 요청하고, 제공받기도 함
자체 확장성 - 새로운 Peer가 새로운 서비스 기능을 제공하며 수요도 발생함
Peer가 간헐적으로 연결되며 IP 주소가 바뀜
프로세스 커뮤니케이션
프로세스 - 호스트 내에서 실행 중인 프로그램
- 동일한 호스트 내에서 두 프로세스가 프로세스 간 통신을 사용하여 통신함(OS에 의해 정의)
- 서로 다른 호스트의 프로세스가 메시지를 교환하여 통신함
한 쌍의 프로세스들 사이의 통신 세션의 컨텍스트에서, 통신을 시작하는 프로세스는 클라이언트로서 라벨링되고, 세션을 열기 위해 연락을 대기하는 프로세스는 서버가 됨
소켓
프로세스는 소켓을 통해 메시지를 송/수신 받음
프로세스의 주소
식별자는 프로세스와 관련된 IP 주소와 포트 번호를 가지고 있음
포트 번호 예
- HTTP server: 80
- mail server: 25
2. 응용 계층 프로토콜의 정의
- 주고받은 메시지의 종류 - 예: 요청, 응답
- 메시지 구문 - 메시지의 어떤 필드를 설명하는 방법
- 메시지 의미론 - 필드에서 정보의 의미
- 프로세스가 메시지를 보내고 응답하는 시기와 방법에 대한 규칙
3. 응용 계층이 필요로 하는 전송 계층의 서비스
안정적인 데이터 전송
일부 애플리케이션(예: 파일 전송, 웹 트랜잭션)은 100% 안정적인 데이터 전송을 필요로 함
다른 애플리케이션(예: 오디오)은 약간의 손실이 있어도 괜찮음
속도
일부 앱(예: 인터넷 전화, 대화형 게임)은 속도를 위해 낮은 지연을 요구
전송량
최소 전송량이 보장되어야 함
일부 앱(예: 전자 메일)은 보내지기만 하면 됨
보안
암호화, 무결성, 가용성
TCP/UDP service
TCP - 신뢰성 있는 데이터 전송
UDP - 실시간 데이터 전송
보안 기술
Secure SocketLayer(SSL) → Transport Layer Security(TLS)
TCP 암호화
무결성
인증
Datagram Transport Layer Security(DTLS)
UDP 보안
무결성 아님
'전공 > 네트워크' 카테고리의 다른 글
[네트워크] #8 전자 메일 (SMTP, 메일 전송 프로토콜) (0) | 2023.10.17 |
---|---|
[네트워크] #7 웹과 HTTP, 웹 캐시 (프록시 서버) (2) | 2023.10.17 |
[네트워크] #5 성능 (손실, 지연, 처리량) (0) | 2023.10.17 |
[네트워크] #4 네트워크 코어 (패킷/서킷 스위칭, 인터넷 구조) (0) | 2023.10.17 |
[네트워크] #3 네트워크 엣지 (hosts, access net, physical media) (1) | 2023.10.17 |