protocol
네트워크 통신을 하기 위해서 통신에 참여하는 주체들이 따라야 하는 형식, 절차, 규약
네트워크의 모든 기능을 단 하나의 프로토콜로 구현할 수 없기에 모듈화함
=> 각 기능을 계층 구조로 모델링함
OSI model(7 layer)
범용적인 네트워크 구조
application layer - L7
presentation layer
session layer
transport layer
network layer
data link layer
physical layer - L1
=> 각 레이어에 맞게 프로토콜이 세분화돼서 구현
=> 각 레이어의 프로토콜은 하위 레이어의 프로토콜이 제공하는 기능을 사용하여 동작
- application layer(L7)
=> 애플리케이션 목적에 맞는 통신 방법을 제공
ex) HTTP(웹 서비스), DNS(도메인을 IP주소로 변환), SMTP(이메일 서비스), FTP(파일 업로드 / 다운로드)- presentation layer(L6)
=> 애플리케이션 간의 통신에서 메시지 포맷 관리
ex) 인코딩 <-> 디코딩, 암호화 <-> 복호화, 압축 <-> 압축풀기- session layer(L5)
=>애플리케이션 간의 통신에서 세션을 관리
RPC(remote procedure call)?- transport layer(L4)
=> 애플리케이션 간의 통신 담당
=> 목적지 애플리케이션으로 데이터 전송
안정적이고 신뢰할 수 있는 데이터 전송 보장(TCP)
필수 기능만 제공(UDP)- network layer(L3)
=> 호스트 간의 통신 담당(IP)
=> 목적지 호스트로 데이터 전송
=> 네트워크 간의 최적의 경로 결정- data link layer(L2)
=> 직접 연결된 노드 간의 통신 담당
=> MAC 주소 기반 통신(ARP)
*ARP : IP주소를 MAC주소로 변환하는 프로토콜- physical layer(L1)
=> 매개체(유선/무선)을 통해 bits 단위로 데이터를 전송
TCP/IP stack(4 layer)
인터넷에 특화된 네트워크 구조
application layer - L4
transport layer
internet layer
link layer - L1