Computer Science 기본 지식/컴퓨터 네트워크

[네트워크] 응용 계층 (1) 서비스 / 클라이언트-서버 vs P2P

로파이 2021. 1. 3. 20:33

응용 계층 서비스

- 네트워크를 사용하는 응용 프로그램

관련 프로토콜

HTTP (Hypertext Transfer Protocol)  : 서버와 클라이언트 사이에서 웹문서를 전송하기 위한 규정

FTP (File Transfer Protocol) : 파일 전송을 위한 규정

SMTP (Simple Mail Transfer Protocl) : 이메일 전송을 위한 규정

 

- 웹과 HTTP

  • 클라이언트는 사이트를 접속할 때 사이트를 구성하는 웹 문서에 해당하는 파일을 요청함
  • HTTP 프로토콜이 사용됨
  • 전송시간 : TCP 연결 + 파일 전송 = 2*RTT(Round Trip Time) + File 전송시간

웹 문서를 받는 과정

- 쿠키

  • 쿠키는 어떤 사이트를 방문한 상태
  • 서버는 사용자 A가 당사 사이트를 방문하였을 때 A에 대한 특정 id(A) 쿠키를 서버의 데이터베이스에 저장
  • 클라이언트는 웹 브라우저에서 쿠키 설정을 동의하였을 때 id(A)에 대한 쿠키 파일을 로컬 저장소에 저장
  • 같은 클라이언트가 추후 요청시 서버의 데이터베이스를 접근하여 id(A)에 대한 쿠키에 해당하는 서비스 제공 

- 프록시 서버 (웹 캐싱)

  • 프록시 서버는 메인 서버와 클라이언트 사이의 중간 역할
  • 캐시 기능이 있어서 로컬 클라이언트에게 요청에 대한 빠른 응답이 가능
  • 메인 서버를 보호하기 위한 보안 이유

- 이메일

  • 메일 송신자와 수신자의 상황
  • 두 메일 서비스 이용자는 서로 다른 사이트 (메일 서버)를 가짐, 예) naver.com -> gmail.com
  • 송신자 --(SMTP)--> 송신자의 메일 서버 --(SMTP)--> 수신자의 메일서버 --(POP3, IMAP, HTTP)--> 수신자
  • 송신자의 메일 서버는 메시지를 확인하여 수신자 (목적지) 메일 서버를 확인하여 전송해줌
  • SMTP는 메일 전송관련 프로토콜
  • 메일 내용을 담당하는 프로토콜은 POP3, IMAP, HTTP가 있음
POP3 IMAP HTTP
데이터 로드시 서버에 있던 메세지 삭제
다운로드 후 연결 해제
서버에 메세지를 보관할 수 있음
유저가 메세지를 정리 및 보관 가능
다운로드 후에도 연결을 유지함
웹 기반 이메일

 

클라이언트와 서버

 

- 서버

  • 항상 켜져있어야 서비스가 가능함
  • 고정된 IP 주소
  • 데이터 센터, 웹 서버, 메일 서버 등등

- 클라이언트

  • 동적 IP 주소 할당 (DHCP)
  • 간헐적 접속
  • 서비스 요청 requeset (->서버)과 응답 respond (<-서버) 과정으로 통신이 이루어짐
  • 자주 사용되는 프로토콜: TCP 

P2P (Peer-to-Peer)

  • 개인과 개인이 연결되어 통신되는 구조
  • 개인이 서비스를 요청, 제공 모두 할 수 있음
  • 파일 공유 서비스, streaming, VoIP (Skype)
  • 자주 사용되는 프로토콜: UDP

클라이언트-서버 vs P2P 비교

  

  Client-Server Peer-To-Peer
기본 특정 서버와 클라이언트가 존재 서버와 클라이언트가 구분되어 있지 않음
모든 노드가 두 역할을 수행할 수 있음
서비스 클라이언트는 요청만 가능, 서버는 요청에 대해 응답 서비스를 제공하거나 받을 수 있음.
초점 정보 제공 연결 자체
데이터 데이터는 중앙 서버에 존재 데이터는 각 개인에 의해 소유
서버 중앙형 서버에 많은 요청이 동시적으로 들어올 경우 병목현상이 생길 수 있음. 분산된 서버에 의해 데이터가 제공됨으로 병목현상이 적음
구축 비용 비쌈 싸다
안정성 요청 기록에 따라 제어가 가능하기 때문에 시스템을 안정적으로 유지하기 쉽고 보안을 적용 할 수 있음 기록이 남지 않으므로 유지하기 어렵고 보안 적용이 힘듦

 

출처 : techdifferences.com/difference-between-client-server-and-peer-to-peer-network.html