프로토콜을 층(layer)로 만드는 이유
- 명시적 구조를 통해 식별하기 쉽게, 모듈화로 유지 관리 용이
- 프로토콜의 디버깅과 기능의 업그레이드 등에서 유리
- 계층화된 참조 모델로, 한 층의 변화가 다른 층에 영향을 주지 않음
Application Layer : 네트워크 애플리케이션 지원(ex: HTTP, IMAP, SMTP, FTP, DNS)
Transport Layer : 프로세스-프로세스의 데이터 전송 지원(ex: TCP, UDP)
Network Layer : 소스에서 목적지로 데이터그램 라우팅을 지원(ex: IP, routing protocols)
Link Layer : 인접 네트워크 요소 간 데이터 전송 지원(ex: Ethernet, 802.11(WIFI), PPP)
Physical Layer : 유선 상 비트
Services, Layering and Encapsulation
- 애플리케이션은 transport layer의 서비스를 사용하여 일부 애플리케이션 서비스를 구현하기 위해 메세지 교환
- 전송 계층 프로토콜은 네트워크 application layer message M을 transport layer 헤더 Ht로 캡슐화하여 전송 계층 세그먼트 생성
- 네트워크 계층 프로토콜은 transport layer segment를 캡슐화 하여 Hn을 이용해서 metwork layer datagram 생성(Hn은 네트워크 계층 서비스를 위해 사용)
- 링크 계층 프로토콜은 nework layer datagram를 링크 계층 헤더 Hl를 포함하여 캡슐화 한다.
ISO/OSI reference model
- presentation, session layer은 Internet protocol stack에서 볼 수 없다(필요한 경우 application에서 구현)