[Network] Protocol
"Protocol"
[Network]
· Application 목적에 맞는 통신 방법 제공
· 신뢰할 수 있는 데이터 전송 방법 제공
· 네트워크 간의 최적의 통신 경로 결정
· 목적지로 데이터 전송
· 노드 사이의 데이터 전송
→ 네트워크의 통신 기능이 제대로 동작하기 위해서는 참여자들 사이에서 약속된 통신 방법 필요
[Network Protocol]
· 네트워크 통신을 하기 위해서 통신에 참여하는 주체들이 따라야 하는 형식, 절차, 규약
→ 네트워크의 모든 기능을 단 하나의 Protocol로 구현 불가 ∴ 모듈화 필요
→ 각 기능이 계층 별로 동작하는 특징 존재
→ Layered Architecture (계층 구조로 Modeling)
· OSI Model (7 Layer) - 범용적인 네트워크 구조
· TCP/IP Stack (4 Layer) - 인터넷에 특화된 네트워크 구조
[OSI 7 Layer]
· 네트워크 시스템 구성을 위한 범용적이고 개념적인 Model
· ISO/IEC에서 OSI Model 관리
· 각 Layer에 맞게 Protocol이 세분화돼서 구현
· 각 Layer의 Protocol은 하위 Layer의 Protocol이 제공하는 기능을 사용하여 동작
Application Layer
· Application 목적에 맞는 통신 방법 제공 (HTTP, DNS, SMTP, FTP 등)
Presentation Layer
· Application 간의 통신에서 메세지 포맷 관리 (Encoding ↔ Decoding / 암호화 ↔ 복호화 / 압축 ↔ 압축 풀기)
Session Layer
· Application 간의 통신에서 Session을 관리 (RPC = Remote Procedure Call)
Transport Layer
· Application 간의 통신 담당
· 목적지 Application으로 데이터 전송
· 안정적이고 신뢰할 수 있는 데이터 전송 보장 (TCP) / 필수 기능만 제공 (UDP)
Network Layer
· Host 간의 통신 담당 (IP)
· 목적지 Host로 데이터 전송
· 네트워크 간의 최적의 경로 결정
Data Link Layer
· 직접 연결된 노드 간의 통신 담당
· MAC 주소 기반 통신(ARP)
Physical Layer
· Bits 단위로 데이터 전송
[TCP/IP Stack]
· 인터넷이 발명되면서 함께 개발된 Protocol Stack
· IETF에서 인터넷 표준을 관리
· RFC라는 이름의 문서를 통해서 표준을 관리 (TCP, UDP, IP 등의 스펙은 RFC에서 정의)
댓글
댓글 쓰기