전공/네트워크

[네트워크] #6 네트워크 응용 원칙 (애플리케이션 아키텍쳐, 응용 계층 프로토콜)

Campus Coder 2023. 10. 17. 21:21
728x90
반응형

목차

  1. 애플리케이션 아키텍처
  2. 응용 계층 프로토콜의 정의
  3. 응용 계층이 필요로 하는 전송 계층의 서비스

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 보안

무결성 아님

728x90
반응형