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

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
반응형

'전공 > 네트워크' 카테고리의 다른 글

[네트워크] #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
'전공/네트워크' 카테고리의 다른 글
  • [네트워크] #8 전자 메일 (SMTP, 메일 전송 프로토콜)
  • [네트워크] #7 웹과 HTTP, 웹 캐시 (프록시 서버)
  • [네트워크] #5 성능 (손실, 지연, 처리량)
  • [네트워크] #4 네트워크 코어 (패킷/서킷 스위칭, 인터넷 구조)
dev_ares
dev_ares
대학에서 컴퓨터공학을 전공하고 있는 학생입니다.
    반응형
    250x250
  • dev_ares
    노트
    dev_ares
  • 전체
    오늘
    어제
    • 분류 전체보기 (188)
      • IT 트랜드 (2)
      • 백엔드 (18)
        • Java + Spring (8)
        • Kotlin + Spring (5)
        • 백엔드 (5)
      • 프론트엔드 (1)
        • React (1)
      • 대외활동 (17)
        • 42서울 (17)
      • 백준 (6)
        • Java (2)
        • C++ (3)
      • 전공 (121)
        • 객체지향프로그래밍 (17)
        • 자료구조 (23)
        • 리눅스시스템관리 (16)
        • 컴퓨터구조 (25)
        • 네트워크 (25)
        • 데이터베이스 (15)
        • 기타 전공 (0)
      • 프로그래밍 언어 (18)
        • Java (5)
        • Swift (4)
        • C++ (1)
        • Kotlin (8)
      • 기타 (4)
      • 공군 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준
    추가 문제
    상속
    메모리 계층 구조
    티스토리챌린지
    사설 문제
    C++
    자바
    명령어
    단일 사이클
    컴퓨터구조
    42서울
    리눅스
    오블완
    컴공 포트폴리오
    자료구조
    코틀린
    반복자
    컴퓨터 구조 및 설계
    데이터패스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
dev_ares
[네트워크] #6 네트워크 응용 원칙 (애플리케이션 아키텍쳐, 응용 계층 프로토콜)
상단으로

티스토리툴바