통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다.
즉 컴퓨터와 컴퓨터가 서로 이해 할 수 있는 언어이자 통신규약 및 약속이다.
OSI(Open System INterconnection)7계층은 국제 표준화 기구인 ISO에서 개발한 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 개방형 시스템 상호 연결 모델이다.
AH : Application Header
PH : Presentation Header
SH : Session Header
TH : Transport Header
NH : Network Header / NT : Network Tail
DH : Data Link Header / DT : Data Link Tail
위에 나와 있는 그림과 설명과 같이 발신측에서 헤더를 생성하고, 트레일러를 만들어 보내는 부분, 즉 필요한 데이터를 추가해 나가는 것을 캡슐화라 하고, 수신측에서 헤더를 제거하며 상위 계층으로 전달하는 과정이 역캡슐화이다.
물리계층은 실제 장치들을 연결하기 위해 필요한 전기적, 물리적 세부 사항들을 정의하는 계층이다.
통신 채널을 통해 전송되는 사용자 장치의 디지털 데이터를 이에 상응하는 신호들로 변환한다.
OSI계층을 타고 전달된 데이터를 전기적인 신호로 변환시켜 통신을 수행한다.
데이터 링크 개체 간의 비트 전송을 위한 물리적 연결을 설정, 유지, 해제하기 위한 수단을 제공한다.
프로토콜: RS-232
PDU : Bit
장비 : 허브, 리피터
데이터 링크 계층은 링크의 설정과 유지 및 종료를 담당하며 노드 간의 오류제어, 흐름제어, 회선제어 기능을 수행하는 계층이다. 네트워크 계층에 데이터를 전달하고, 물리 계층에서 발생할 수 있는 오류를 탐지하고 수정하는 기능을 제공한다.
시스템 간에 오류 없는 데이터 전송을 위해 상위 계층에서 받은 패킷을 프레임으로 변환하여 물리계층에 전송한다.
헤더의 끝에는 물리 주소 정보가 들어있고, 트레일러에는 오류를 검출하는 비트를 포함한다.
프로토콜 : HDLC, PPP, 프레임 릴레이, ATM
PDU : Frame(L2)
장비 : 스위치, 브릿지
네트워크 계층은 다양한 길이의 패킷을 네크워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질을 위한 수단을 제공하는 계층이다. 라우팅 패킷 포워딩, 인터 네트워킹 등을 수행한다.
패킷을 네트워크를 통해 발신지에서 목적지까지 전달하기 위해, 라우팅 프로토콜을 사용하여 최적의 경로를 선택한다.
데이터를 전송할 떼이터의 주소 확인 후 전송계층으로 전달한다.
프로토콜: IP, ARP, RARP, ICMP, IGMP, 라우팅 프로토콜
PDU : Frame(L3)
장비 : 라우터, L3스위치
전송 계층은 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해주면서 종단 간의 사용자들에게 신뢰성 있는 데이터를 전달하는 계층이다. 순차번호 기반의 오류 제어 방식을 사용하고, 종단 간 통신을 다루는 최하위 계층으로 종단 간 신뢰성이 있고 효율적인 데이터를 전송한다.
프로토콜(TCP,UDP)로 구성되어 오류제어, 흐름제어, 혼잡제어 등을 담당하면서, 두 시스템 간에 신뢰성 있는 데이터를 전송한다.
프로토콜 : TCP, UDP
PDU : Segment(L4)
장비 : L4 스위치
세션 계층은 응용 프로그램 간의 대화를 유지하기 위한 구조를 제공하고, 이를 처리하기 위해 프로세스들의 논리적인 연결을 담당하는 계층이다. 통신 중 연결이 끊어지지 않도록 유지시켜주는 역할을 수행하기 위해 TCP/IP 세션 연결의 설정과 헤제, 세션 메세지 전송 등의 기능을 수행한다.
통신을 하기 위한 세션 확립, 유지, 중단을 수행한다.
통신하는 사용자들을 동기화해주고, 오류 복구 명령들을 일괄적으로 처리한다.
프로토콜 : PRC, NetBIOS
PDU : Data
표현 계층은 애플리케이션이 다루는 정보를 통신에 알맞은 형태로 만들거나, 하위 계층에서 온 데이터를 사용자가 이해할 수 있는 형태로 만드는 역할을 담당하는 계층이다. 수신자 장치에서 적합한 어플리케이션을 사용하여 응용계층 데이터의 부호화 및 변환 수행을 통해 송신 장치로부터 온 데이터를 해석한다.
데이터의 효율과 보안을 위해 압축과 암호화를 수행하고, 전송을 위한 포맷으로 변경을 수행한다.
프로토콜 : JPEG, MPEG
PDU : Data
응용계층은 응용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행하는 역할을 담당하는 계층이다.
응용 프로세스가 개방된 형태로 다양한 범주의 정보처리기능을 수행할 수 있도록 여러가지 프로토콜 개체에 대하여 사용자 인터페이스를 제공한다.
응용 프로세스 간의 정보 교환, 파일 전송 등의 서비스를 제공한다.
프로토콜 : HTTP,FTP,SMTP,POP3, IMAP, Telnet
PDU : Data
장비 : L7 스위치
TCP/IP 프로토콜 스택은 데이터 송수신의 과정을 7계층으로 계층화했던 OSI7계층과 다르게 4개의 영역으로 계층화했다. 인터넷 기반의 효율적인 데이터 전송이라는 문제를 작게 나눠서 계층화함으로써 탄생한 것이 TCP/IP이다.