OSI 7 Layer (Open Systems Interconnection Reference Model)

국제 표준화 기구 ISO에서 정의한 모델로, 컴퓨터 네트워크 통신을 계층에 따라 분류한 모델이다.

 

1 계층 - Physical Layer

이진수 0,1 값만을 가진 전기적 신호로, Bit 단위로 데이터를 송수신한다. (인터페이스 통신 및 송수신)

1계층 장비로는 Hub, Repeater, Cable 등이 존재한다.

 

2계층 - DataLink Layer

흐름제어 · 오류제어 (오류 수정X, 재전송) 기능을 수행하며, Frame 단위로 데이터를 송수신한다. (Point-to-Point)

Encapsulation 과정에서 오류 검출을 위한 FCS (Frame Check Sequence) Trailer를  붙인다.

2계층 장비로는 Switch, Bridge 등이 존재한다. 

2계층 프로토콜로는 Ethernet, HDLC, PPP, Frame-Relay, X.25 등이 존재한다.

-> 1, 2 계층만 존재하더라도 데이터 송수신 (통신)은 가능하다.

 

3계층 - Network Layer

데이터 송수신 과정에서의 최적의 이동 경로를 설정하여 Packet Forwarding 하며, Packet 단위로 데이터를 송수신한다.

데이터 링크 계층과 달리 흐름제어 오류제어 기능은 제공하지 않는다.

3계층 장비로는 L3 Switch, Router 등이 존재한다.

3계층 프로토콜로는 ICMP, IGMP, ARP, RARP, IP, IPX 등이 존재한다.

 

4계층 - Transport Layer

흐름제어 (Sliding Window 방식) · 오류제어 (에러 수정 후 재전송), 다중화 기능을 수행하며, Segment 단위로 데이터를  송수신한다. 3계층과 달리 서비스 종류를 Port 번호를 통해 분류할 수 있다. (End-to-End)

4계층 장비로는 L4 Switch, Gateway 등이 존재한다.

4계층 프로토콜로는 UDP, TCP 등이 존재한다.

 

- TCP:  3 way hand-shaking 과정을 거치므로 UDP 보다 속도가 느리지만 신뢰도가 높다.

            양방향통신으로, 서버와 클라이언트 구조의 명령 전달 서비스 및 프로그램이다.

- UDP:  3 way hand-shaking 과정을 거치지 않아 속도가 빠르지만 신뢰도가 낮다.

            단방향통신으로, 실시간 동기화가 필요한 스트리밍과 프로세스 등에 사용된다.

 

5계층 - Session Layer

세션의 성립 · 유지 · 종료 (대화제어) 등의 기능을 수행하며, Message 단위로 데이터를 송수신한다.

응용 프로그램이 주기억장치 RAM에 올라와 활성화된 상태인 프로세스 간의 통신을 연결한다.

보안을 위한 프로토콜로는  SSL (Secure Socket Layer), 국제 표준 TLS (Transport Layer Security) 등이 있다. 웹 서버와 클라이언트는 기본적으로 평문으로 데이터를 송수신하지만, 위의 프로토콜을 통해 HTTPS로 보안을 강화한다. SSL과 TLS는 전송 계층 ~ 응용 계층에 걸쳐 운용된다.

    

6계층 - Presentation Layer

데이터의 표현 형식 결정 (확장자 정의), 암호화 및 복호화 기능을 수행하며, Message 단위로 데이터를 송수신한다.

ASCII, AVI, JPG, PNG, MP3, MPEC, GIF 등의 데이터 표현 형식이 존재한다.

 

7계층 - Application Layer

사용자 응용 프로그램을 제공하며, Message 단위로 데이터를 송수신한다.

응용 프로그램으로는 HTTP, FTP, SSH, Telnet, SMTP, SNMP, DNS, TFTP, DHCP 등이 존재한다.

응용 프로그램의 보안을 위해 만들어진 프로토콜로는 민간 기업 메일 암호화 프로토콜인 PGP (Pretty Good Protocol), 국제 표준 메일 암호화 프로토콜인 PEM (Privacy Enhanced Mail), 암호화 전송 프로토콜인 SSH (Secure Shell), HTTPS 등이 존재한다.

서비스를 요청하는 프로그램은 클라이언트, 서비스를 제공하는 프로그램은 서버라고 불린다.

 

계층별 데이터 단위는 PDU (Protocol Data Unit) 이라고 칭한다. (Frame, Packet, Segement, Message ...)

 

TCP/IP (Transmission Control Protocol / Internet Protocol) 4 Layer

1계층 - Network Access Layer (Network Interface Layer)

OSI 7 Layer의 물리 계층과 데이터링크 계층에 속하는 계층으로 물리적 주소 MAC (Media Access Control) 을 사용한다.

 

2계층 - Network Layer

OSI 7 Layer의 네트워크 계층에 속하는 계층으로 논리적 주소 IP (Internet Protocol) 를 사용한다.

이외에도 ARP, RARP, IGMP, ICMP 등의 프로토콜을 사용한다.

 

3계층 - Transport Layer

OSI 7 Layer의 전송 계층에 속하는 계층으로 TCP, UDP 프로토콜을 주로 사용한다.

 

4계층 - Application Layer

OSI 7 Layer의 세션 계층, 표현 계층, 응용 계층에 속하는 계층으로 응용 프로그램 서비스를 제공한다.

 

   

신뢰성있는 프로토콜이란?

오류 제어 기능 (데이터 재전송) 의 유무로 구분할 수 있다.

TCP는 오류가 검출되거나 패킷이 유실되면 데이터를 재전송하는 기능을 가지고 있으므로 신뢰성있는 프로토콜이고, UDP는 오류를 검출하지만 데이터의 재전송 없이 패킷을 폐기하므로 비신뢰성 프로토콜이다.

 

 

연결형 프로토콜이란?

3 way hand-shaking 을 통해 세션을 연결하는 과정의 유무로 구분할 수 있다.

TCP는 SYN, SYN + ACK, ACK 패킷을 통해 3 way hand-shaking 과정을 거치므로 연결형 프로토콜이고, UDP는 별도의 연결 과정 없이 데이터를 송수신하므로 비연결형 프로토콜이다.

 

 

위의 이미지는 Wireshark를 통해 패킷을 캡쳐한 결과이다. TCP는 연결형 프로토콜로 3 way hand-shaking 과정을 거치고 있음을 확인할 수 있다.

 

 

 

 

 

공부하면서 정리한 내용을 글로 작성하였습니다.

혹시나 잘못된 내용이 있다면 댓글로 알려주시면 감사하겠습니다 :)

COMMENT