OSI 7 Layer
국제표준화기구(ISO)에서 제안한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한다. 각 계층은 하위 계층의 기능을 이용하여 상위 계층에 기능을 제공한다.
계층을 나눔으로써 각 기능을 독립적으로 수행할 수 있게 되고, 문제가 발생했을 때 어디서 문제가 발생하였는지 찾기 수월해진다.
OSI 7 계층은 다음과 같은 구조로 이뤄져 있다.
- Physical Layer
- Data Link Layer
- Network Layer
- Transport Layer
- Session Layer
- Presentation Layer
- Application Layer
각 계층의 특징에 대해 알아보았다.
Physical Layer (물리 계층)
- 기본 네트워크 하드웨어 전송 기술
- 네트워크의 높은 수준의 기능에 대한 논리 데이터 구조를 기초로 하는 필수 계층
- 전송 단위 Bit
Data Link Layer (데이터 링크 계층)
- Point to Point 간 신뢰성있는 전송을 보장하기 위해 이용되는 계층
- 물리적 주소값을 할당 (MAC 주소)
- 전송 단위 Frame
Network Layer (네트워크 계층)
- 여러 개의 노드를 거칠 때마다 경로를 찾아주는 역할
- Transport Layer에서 요구하는 서비스 품질을 제공하기 위한 기능적, 절차적 수단 제공
- 라우팅, 흐름제어, 세그멘테이션, 오류제어, 인터네트워킹 수행
- IP 주소 사용
- 전송 단위 Datagram(Packet)
Transport Layer (전송 계층)
- End to End의 사용자들 간의 신뢰성 있는 데이터 전송 제공
- 시퀀스 넘버 기반의 오류 제어 방식 사용
- 일부 프로토콜은 상태 기반(Stateful)
- 연결 기반
- TCP, UDP 프로토콜
- 전송 단위 Segment
Session Layer (세션 계층)
- 양 끝단의 응용 프로세스의 관리를 위한 방법 제공
- Duplex, Half-duplex, Full Duplex의 통신과 함께 체크 포인팅, 유휴, 종료, 다시 시작 과정 등을 수행
Presentation Layer (표현 계층)
- 코드 간의 번역을 담당
- 사용자 시스템에 데이터의 형식상 차이를 두는 부담을 Application Layer로부터 덜어줌
- MIME 인코딩, 암호화 등의 동작을 수행
Application Layer (응용 계층)
- 일반적인 응용 서비스 수행
- 일반적인 응용 서비스는 관련된 응용 프로세스들 사이의 전환을 제공
- HTTP, FTP 등의 프로토콜
OSI 7 Layer Protocol
Physical Layer
-
RS-232
- 15m 이하 단거리에서 38400bps까지 전송을 위한 직렬 인터페이스
-
X.25 / X.21
- X.25는 패킷교환망, X.21은 회선교환망에 대한 액세스 표준
Data Link Layer
- Ethernet
- 비연결성 모드, 전송 속도 10Mbps 이상, LAN 구현 방식
- HDLC(High-Level Data-Link Control)
- 고속 데이터 전송에 적합하고, 비트 전송을 기본으로 하는 범용의 데이터 링크 전송제어절차
- PPP(Point-to-Point Protocol)
- 전화선과 같이 양단간 비동기 직렬 링크를 사용하는 두 컴퓨터 간의 통신을 지원하는 프로토콜
Network Layer
- IP(Internet Protocol)
- 패킷 교환 네트워크에서 정보를 주고 받을 때 사용하는 정보 위주의 규약
- 호스트의 주소 지정과 패킷 분할 및 조립 기능 담당
- ICMP(Internet Control Message Protocol)
- TCP/IP에서 IP 패킷을 처리할 때 발생하는 문제를 알림
- 진단과 같이 IP 계층에서 필요한 기타 기능들을 수행하기 위해 사용되는 프로토콜
- IGMP(Internet Group Management Protocol)
- IP 멀티캐스트를 실현하기 위한 통신 프로토콜
- PC가 멀티캐스트로 통신할 수 있다는 것을 라우터에 통지하는 규약
Transport Layer
- TCP(Transmission Control Protocol)
- 전송제어프로토콜, 네트워크의 정보전달을 통제하는 프로토콜
- 데이터의 전달을 보증하고 보낸 순서대로 받게 해줌
- 3 Way Handshake와 4 Way Handshake 등을 활용한 신뢰성있는 전송 제공
- UDP(User Datagram Protocol)
- 비연결성이고 신뢰성이 없으며, 순서화되지 않은 Datagram 서비스 제공
- 실시간 스트리밍 서비스에 적합
Session Layer
- NetBIOS
- RPC(Remote Procedure Call)
- Windows 운영 체제에서 사용하는 원격 프로시저 호출 프로토콜
- WinSock(Windows Socket)
- 유닉스 등에서 TCP/IP 통신 시 사용하는 Socket을 Windows에서 그대로 구현한 것
Presentation Layer
- SSL(Secure Socket Layer)
- 네트워크 레이어의 암호화 방식, HTTP뿐만 아니라 FTP, NNTP에도 사용
- 인증, 암호화, 무결성 보장하는 프로토콜
- ASCII(American Standard Code for Information Interchange)
- 문자를 사용하는 많은 장치에서 사용되며 대부분의 문자 인코딩이 아스키에 기반
- 7비트 인코딩, 33개의 출력 불가능한 제어 문자들과 공백을 비롯한 95개의 출력 가능한 문자
Application Layer
- HTTP(Hyper Text Transfer Protocol)
- WWW 상에서 정보를 주고 받을 수 있는 프로토콜
- 주로 HTML문서를 주고 받는 데에 쓰이고, TCP와 UDP를 사용하며, 80번 포트 사용
- SMTP(Simple Mail Transfer Protocol)
- 인터넷에서 이메일을 보내고 받기 위해 사용되는 프로토콜, TCP를 사용하며, 25번 포트 사용
- FTP(File Transfer Protocol)
- 컴퓨터 간 파일을 전송하는데 사용되는 프로토콜, 데이터 전달 시 20번 포트 사용, 제어정보 전달 시 21번 포트 사용
- TELNET
- 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜, IETF STD 8로 표준화
- 보안 문제로 사용이 감소하고 있으며, 원격제어를 위해 SSH로 대체