OSI 7계층과 TCP/IP 4계층
OSI 7계층과 TCP/IP 4계층
과거에는 통신용 규약이 표준화 되지 않아 각 벤더에서 별도로 개발을 했기 때문에 호환되지 않는 시스템이나 애플리케이션이 많았고, 서로 통신하기에 어려움이 있었다.
때문에 이를 ARPANET에서 TCP/IP 4계층으로 정리하고, OSI 7계층으로 세분화 되면서 네트워크의 동작을 나누어 설명하고 있다.
그러하여 이후엔 네트워크 프로토콜 전체를 개발하는 대신, 계층별로 프로토콜을 개발하여 네트워크 구성 요소들을 모듈처럼 사용할 수 있게 되었다.
두 계층 모델 모두 물리적인 계층에 가까운 부분을 하위 계층(Lower Layer)이라고 부르며, 개발자가 직접 접하게 되는 애플리케이션에 가까운 부분을 상위 계층(Upper Layer)이라고 부른다.
이는 쉽게 말해,
개발자의 측면에서 네트워크를 바라보면 물리~응용 순의 하향식으로 바라보게 되고,
엔지니어의 측면에서 네트워크를 바라볼 땐 응용~물리 순의 상향식으로 바라보게 되지만,
어느 측면에서 네트워크를 바라보건 물리 계층은 1계층, 응용 계층은 7계층이라고 생각하면 된다.
OSI 7계층
OSI 7계층은 데이터 플로우 계층과 애플리케이션 계층으로 구분할 수 있다.
이는 데이터를 만드는 애플리케이션 부분과 이 데이터를 잘 전달하는데 집중하는 하부 계층으로 구분하는 것에 목적이 있다.
1계층 - 물리 계층 (Physical Layer)
- 주로 물리적 연결과 관련된 정보를 정의
- 전기 신호를 전달하는 데 초점을 두고, 들어온 전기 신호를 그대로 잘 전달하는 것이 목적
2계층 - 데이터 링크 계층 (Data Link Layer)
- 물리 계층에서 들어온 전기 신호를 모아 알아 볼 수 있는 데이터 형식으로 처리
- 주소 정보를 정의하고 출발지와 도착지 주소를 확인한 후, 데이터 처리를 수행
3계층 - 네트워크 계층 (Network Layer)
- IP주소와 같은 논리적인 주소를 정의
- 라우터를 통해 정의한 IP주소를 이해하고, 이를 사용해 최적의 경로를 찾아 패킷을 전송
4계층 - 전송 계층 (Transport Layer)
- port 번호, 전송방식(TCP/UDP)을 결정
- 해당 데이터들이 실제로 정상적으로 보내지는지 확인하는 역할
- 네트워크 계층에서 사용되는 패킷이 유실되거나 순서가 바뀌는 경우가 있는 데, 이를 바로 잡아주는 역할도 담당
- 신호를 분산하고 다시 합치는 과정을 통해 에러와 경로를 제어
5계층 - 세션 계층 (Session Layer)
- 양 끝 단의 프로세스가 연결을 성립하도록 도와주고, 작업을 마친 후에는 연결을 끊는 역할
- TCP/IP 세션 체결, 포트번호를 기반으로 통신 세션 구성
6계층 - 프레젠테이션(표현) 계층 (Presentation Layer)
- 일종의 번역기 같은 역할을 수행
- 전송하는 데이터의 표현방식을 결정
- MIME 인코딩이나 암호화, 압축, 코드 변환과 같은 동작이 이루어짐
7계층 - 애플리케이션(응용) 계층 (Application Layer)
- 애플리케이션의 프로세스를 정의하고 서비스를 수행
- 이 계층에서 사용되는 프로토콜을 다양한 종류가 있지만, 대표적으로 HTTP, FTP, SMTP 등이 있음
TCP/IP 4계층
TCP/IP는 현재 수많은 프로세스들이 인터넷으로 통신하는 데 있어 가장 기반이 되는 프로토콜로, 실제 대다수 프로세스는 TCP와 IP로 통신하고 있다.
이는 인터넷 프로토콜 그 자체를 표현하는 용어이기도 했고, 다양한 프로토콜이 개발된 현 시점에도 사실상 인터넷 프로토콜을 대표하는 용어로 사용중이다. 이를 이용해 컴퓨터를 연결하는 체계를 이더넷(Ethernet)이라고 부른다.
1계층 - 네트워크 액세스 계층 (Network Access Layer OR Network Interface Layer)
- OSI 7계층의 물리 계층과 데이터 링크 계층에 해당
- 물리적인 주소로 MAC을 사용하며 LAN, 패킷망 등에 사용됨
2계층 - 인터넷 계층 (Internet Layer)
- OSI 7계층의 네트워크 계층에 해당
- 통신 노드 간의 IP 패킷을 전송하는 기능과 라우팅 기능을 담당함
3계층 - 전송 계층 (Transport Layer)
- OSI 7계층의 전송 계층에 해당
- 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당함
4계층 - 응용 계층 (Application Layer)
- OSI 7계층의 세션 계층, 표현 계층, 응용 계층에 해당
- TCP/UDP 기반의 응용 프로그램을 구현할 때 사용됨