다른 사람에게 편지를 보내려면 일정한 규칙을 지켜서 보내야 한다. 그 규칙들 중 하나라도 지키지 않게 된다면 편지를 보낼 수가 없게 된다.
이러한 편지를 보내는 규칙이 있듯이, 네트워크에서도 문제없이 통신하려면 규칙을 지켜야 하는데 이와 같은 규칙을 프로토콜이라고 한다.
프로토콜
통신하기 위해 지켜야 하는 규칙
옛날에는 같은 회사의 컴퓨터끼리만 통신이 가능하던 시절이 있었다(고 한다). 따라서 공통으로 사용할 수 있는 표준 규격을 정했어야 했는데, ISO라는 국제표준화기구에서 OSI 모델이라는 표준 규격을 제정했다.
컴퓨터끼리 데이터를 송수신 할 때, 작업을 7개의 계층으로 나눠서 한다. 그 7개의 계층을 OSI 모델이라고 한다. 계층이라는 용어 대신 레이어라는 용어를 사용하기도 한다.
OSI 모델
데이터를 송수신 할 때 수행되는 7계층으로 나눠진 통신 작업
7계층 – 응용 계층(Application) : 사용자에게 보이는 부분이다. 7계층에서 작동하는 응용프로그램은 사용자와 직접적으로 상호작용한다. 사용자와 가장 밀접한 인터페이스 역할.
6계층 – 표현 계층(Presentation) : 응용프로그램이나 네트워크를 위해 데이터를 '표현'하는 계층이다. 송수신자가 공통으로 이해 할 수 있도록 정보의 데이터 표현방식을 바꾸는 기능을 한다. 데이터의 변환 작업을 하는 계층.
5계층 – 세션 계층(Session) : 네트워크 대화 제어기로 통신 시스템 간에 상호대화를 설정하고, 유지하고, 동기화 한다.
4계층 – 전송 계층(Transport) : 전체 메시지를 발신지 대 목적지 (end-to-end)간 제어와 에러를 관리한다.
3계층 – 네트워크 계층(Network): 송신측에서 수신측까지 데이터를 안전하게 전달하기 위해서 네트워크를 설정 하고 상위계층 데이터를 작은 크기의 패킷으로 분할하여 전송하는 역할을 수행한다. 데이터를 목적지까지 가장 안전하고 빠르게 전달하도록 한다.(Routing 기능)
2계층 – 데이터 링크 계층(Data Link) : 물리적 매체에 패킷 데이터를 실어 보내는 계층
1계층 – 물리 계층(Physical) : 통신 케이블로 전기적 신호를 전송하는 계층
통신할 때 송신 측은 데이터를 맨 위의 응용 계층에서 순차적으로 아래 계층으로 전달한다.
각 계층은 독립적이므로 데이터가 전달되는 동안에 다른 계층의 영향을 받지 않는다.
수신 측은 하위 계층에서 상위 계층으로 전달된 데이터를 받게 된다.
TCP/IP 모델은 OSI 모델의 7계층을 4계층으로 바꿔 설명할 수 있는 모델이다.
OSI 모델과 TCP/IP 모델의 차이점
- TCP/IP 모델은 OSI 모델보다 먼저 개발되었다. 그러므로 TCP/IP 모델의 계층은 OSI 모델의 계층과 정확하게 일치하지 않는다.
- 두 모델을 비교할 때, 세션(Session)과 표현(presentation) 2개의 계층이 TCP/IP모델 그룹에 없다는 것을 알 수 있다.
- 두 모델 모두 계층형 이라는 공통점을 가지고 있으며 TCP/IP는 인터넷 개발 이후 계속 표준화되어 신뢰성이 우수한 반면, OSI 모델은 표준이 되기는 하지만 실제적으로 구현되는 예가 거의 없어 신뢰성이 저하되어있다.
- OSI 모델은 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용되는 반면, 실질적인 통신 자체는 TCP/IP 프로토콜을 사용한다.
데이터를 보내려면 데이터의 앞부분에 전송하는데 필요한 정보를 붙여서 다음 계층으로 보내야 한다. 이 정보를 헤더라고 한다.
이처럼 헤더를 붙여나가는 과정을 캡슐화라고 하며, 반대로 수신측에서 헤더를 하나씩 제거하는 과정을 역캡슐화라고 한다.
트레일러
데이터를 전달할 때 데이터의 마지막에 추가하는 정보