👉🏻네트워크 애플리케이션 구조
🤔 응용 프로그램이란?
- 컴퓨터를 사용할 때 직접 다루는 프로그램을 의미합니다.
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 (참고 자료)
- 컴퓨터 네트워킹 하양식 접근(Computer Networking _ A Top Down Approach, 8th)
- K Mooc - 부산대 컴퓨터 네트워킹 ppt 및 강의 video | K-MOOC
'네트워크' 카테고리의 다른 글
네트워크 - ch2-3. 인터넷 전자메일 (0) | 2023.03.26 |
---|---|
네트워크 - ch2-2. 웹과 HTTP (0) | 2023.03.26 |
네트워크 - ch1-7. 컴퓨터 네트워킹과 인터넷의 역사 (0) | 2023.03.19 |
네트워크 - ch1-6. 공격받는 네트워크 (0) | 2023.03.19 |
네트워크 - ch1-5. 프로토콜 계층과 서비스 모델 (0) | 2023.03.19 |