인터넷과 네트워크를 설명하는 문서 에서 조금 더 자세히 알아보고자 한다.
프로토콜은 둘 이상의 통신 개체 간에 교환되는 메세지 포맷과 순서 뿐 아니라, 메세지의 송수신과 다른 이벤트에 따른 행동들을 정의한다.
즉, 메세지를 주고 받는 양식과 규약의 체계이다.
구문(Syntax)
: 시스템 간의 정보 전송을 위한 데이터 형식(format), 코딩(coding), 신호레벨(signal level) 등의 규정의미(Sementic)
: 시스템 간의 정보 전송을 위한 제어 정보로 조정과 에러처리를 위한 규정타이밍(Timing)
: 시스템 간의 정보 전송을 위한 속도 조절과 순서 관리 규정네트워크 프로토콜의 설계에 대한 구조를 제공하기 위해, 프로토콜을 계층으로 조직함
각 프로토콜은 한 계층(Layer)에 속하고, 한 계층이 상위 계층에 서비스를 제공함
프로토콜 계층화는 구조화, 모듈화 된 방법을 제공하여 시스템 구성요소의 갱신을 더 쉽게 함
일부는 계층화를 반대하기도 하는데, 한 계층의 기능이 하위 계층과 기능적으로 중복된다는 결점 때문
다양한 계층의 프로토콜을 모두 합해 프로토콜 스택(Protocol Stack)
이라고 함
세계적으로 프로토콜 표준화를 시도했고, ISO에서 OSI 7 계층을 정의했음
어플리케이션 계층을 다루고 아래로 내려가는 톱-다운(Top-Down) 방식을 채택하고 있음
응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하는 역할을 담당하는 계층
네트워크 애플리케이션과 애플리케이션 계층 프로토콜이 있는 곳임
인터넷의 애플리케이션은 HTTP
(웹 문서 요청과 전송), SMTP
(전자 메일 전송), FTP
(두 엔드 시스템 간의 파일 전송) 과 같은 많은 프로토콜을 포함함
애플리케이션 계층 프로토콜은 여러 엔드 시스템에 분산되어 있어, 한 엔드 시스템에 있는 애플리케이션이 다른 엔드 시스템에 있는 애플리케이션과 정보 패킷을 교환하는데 이 프로토콜을 사용함
애플리케이션 계층에서의 정보 패킷을 메세지(Message)
라 부름
애플리케이션이 다루는 정보를 통신에 알맞은 형태로 만들거나, 하위 계층에서 온 데이터를 사용자가 이해할 수 있는 형태로 만드는 역할을 담당하는 계층
애플리케이션들이 교환되는 데이터의 의미를 해석하도록 하는 서비스를 제공
응용 프로그램 간의 메세지를 유지하기 위한 구조를 제공하고, 이를 처리하기 위해 프로세스들의 논리적인 연결을 담당하는 계층
상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해주면서 종단 간의 사용자들에게 신회성 있는 데이터를 전달하는 계층
인터넷에는 2가지 TCP, UDP 라는 프로토콜이 있으며, 이들은 애플리케이션 계층 메세지를 전달함
트랜스포트 계층의 패킷을 세그먼트(Segment)라고 함
목적지 host의 transport 계층으로 segment를 운반하는 서비스를 제공
다양한 길이의 패킷을 네트워크들을 통해 전달하고, 그 과정에서 전송계층이 요구하는 서비스 품질(QoS)을 위한 수단을 제공
라우팅
, 패킷 포워딩
, 인터 네트워킹
등을 수행함
이 계층은 IP 데이터그램의 필드를 정의하며 종단 시스템과 라우터가 이 필드에 어떻게 동작하는지를 정의하는 프로토콜을 가지고 있음
-> 이게 바로 IP 프로토콜
임!!
출발지와 목적지 사이에서 데이터그램이 이동하는 경로를 결정하는 라우팅 프로토콜
을 포함함
데이터를 전ㅅ송할 데이터의 주소 확인 후 Transport 계층으로 전달함
한 노드에서 인접한 노드로 (One-hop 단위) 패킷을 보내기 위한 역할
경로상의 한 노드에서 다른 노드로 패킷을 이동하기 위해, Network Layer은 Link Layer 서비스에 의존해야함
네트워크 계층에 데이터를 전달하고, 물리 계층에서 발생할 수 있는 오류를 탐지하고 수정하는 기능을 제공
시스템 간에 오류 없는 데이터 전송을 위해 상위계층에서 받은 패킷을 프래임(Frame)으로 변환하여 물리계층으로 전송
헤더의 끝에는 물리주소 정보가 들어있고, 트레일러에는 오류를 검출하는 비트를 포함함
오류 제어 방식에는 FFC(순방향 오류 수정), BEC(역방향 오류수정) 이 있음
실제 장치들을 연결하기 위해 필요한 전기적, 물리적 세부사항들을 정의하는 계층
통신 채널을 통해 전송되는 사용자 장치의 디지털 데이터를 이에 상응하는 신호들로 변환(변조 및 복조) 함
OSI 계층을 타고 전달된 데이터를 전기적인 신호(Bit)로 변환시켜 통신을 수행
데이터 링크 개체 간의 비트 전송을 위한 물리적 연결을 설정, 유지, 해제 하기 위한 수단을 제공
Link 계층이 전체 프레임을 한 네트워크 요소에서 이웃 네트워크 요소로 이동하는 것이라면,
Physical 계층은 프레임 내부의 각 bit를 한 노드에서 다음 노드로 이동하는 것
계층 | 프로토콜 종류 |
---|---|
Application Layer (응용 계층) | HTTP, SMTP, FTP, POP3,.. |
Presentation Layer (표현 계층) | JPEG, MPEG, ... |
Session Layer (세션 계층) | RPC, NetBIOS, ... |
Transport Layer(전송 계층) | TCP, UDP, ... |
Network Layer(네트워크 계층) | IP, ARP,... |
Data Link Layer(데이터 링크 계층) | HDLC, PPP, Ethernet |
Physical Layer(물리 계층) | RS-232 |
References
[컴퓨터 네트워킹 하향식 접근 - James F.Kurose]