제이제이
article thumbnail

 

👉🏻네트워크 애플리케이션 구조


🤔 응용 프로그램이란?

  • 컴퓨터를 사용할 때 직접 다루는 프로그램을 의미합니다.

ex) MS Offiece 프로그램, 한글 프로그램, 게임 등

 

 

😀 응용 프로그램의 구조(2가지)

 

🔎 클라이언트 - 서버 구조

 

🔎 P2P 구조

 

🦈프로세스 간 통신


 

👨🏻‍🍳 응용 계층 프로토콜

  • 서로 다른 응용 계층의 프로그램들끼리 데이터를 주고 받기 위한 프로토콜을 의미합니다.

 

🧔🏻 사람간의 의사 소통에 필요한 요소들

 

🤖 응용 계층 프로토콜의 요소들

📧 데이터를 주고 받는 메시지의 타입 (2가지)

  • Request(요청), Response(응답)

→ 하나의 응용프로그램이 요청을 하면, 서버에서 Response를 하는 방식으로 응용 계층의 프로그램은 소통합니다.

 

📥 응용 계층 프로토콜 메시지 안의 요소들

메시지의 문법(Message Syntax)

  • 전체 메시지에 어떤 타입이 있는지 혹은 요구하는 데이터의 타입을 명시합니다.
  • 몇 Byte를 메시지의 타입으로 할 것인가를 결정합니다.

 

메시지의 의미(Message Sementics)

  • 실제 데이터에 담는 것
  • 메시지에 담기는 데이터를 무엇인가를 결정합니다.

 

메시지 어순(Message Pragmatics)

  • 언제 또는 어떤 방식으로 메시지를 주고 받을 것인지에 대한 것을 명시합니다.
  • 어떻게 응답할 것인지, 어떤 순서로 응답할 것인지를 결정합니다.

 

👨🏻‍🏫인터넷 전송 프로토콜이 제공하는 서비스


🔎 대표적은 응용 프로그램의 예시

  • 응용 프로그램은 대표적으로 파일 시스템, 이메일, 웹 문서, 메시지 전송, 온라인 게임, 오디오 및 비디오를 들 수 있습니다.

 

 

 

🏠애플리케이션이 이용 가능한 트랜스 포트 서비스


  • 대표적인 전송 계층 프로토콜에는 TCP와 UDP가 있습니다.

 

 

😎TCP

👨🏻‍🍳 TCP가 하는일

1. 에러 검사(Error Control) - 데이터를 받을 때 검사를 해서 해당 데이터에 에러가 있다면 재전송을 요구합니다.

신뢰성 있는 프로토콜입니다.

2. 전송 제어(Flow Control) - 송신하는 곳에서 수신받는 곳에 받을 수 있는 용량의 데이터를 보냄, 메시지 순서를 체크함

3. 혼잡 제어(Congestion Control) - 네트워크 코어에 있는 라우터나 스위치에 데이터가 쌓이지 않도록 제어함

 

 

🤩UDP

👨🏻‍🍳 UDP가 하는일

1. 데이터 전송(비신뢰성) - 데이터가 깨져도 그대로 보냅니다.

비신뢰적 프로토콜입니다.

2. 빠른 데이터를 전송함 - 과거 비디오나 오디오 같이 손실이 있더라도 일정한 전송량을 요구하는 응용 프로그램에서 사용됩니다.

→ TCP보다 UDP가 전송 속도가 더 빠릅니다.

↔ 현재는 오디오, 비디오도 TCP를 이용합니다!

 

 

👨🏻‍🏫정리 - 현재 응용 프로그램들이 사용하는 전송 프로토콜

 

 

🤨애플리케이션 계층 프로토콜


🥴오픈 프로토콜(Open Protocols) - HTTP, SMTP

 

😒 소유, 독점 프로토콜(Propritary Protocols) - 스카이프

 

📒Reference (참고 자료)


  1. 컴퓨터 네트워킹 하양식 접근(Computer Networking _ A Top Down Approach, 8th)
  2. K Mooc - 부산대 컴퓨터 네트워킹 ppt 및 강의  video | K-MOOC
 

video | K-MOOC

Dynamic Host Config, Protocol 시청

www.kmooc.kr

 

profile

제이제이

@아사비치즈스틱

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!