TCP/IP란?

TCP/IP는 프로토콜의 집함

컴퓨터와 네트워크 기기가 상호간에 통신하기 위해서는 서로 같은 방법으로 통신하지 않으면 안됩니다.
어떻게 상대를 찾고, 어떻게 상대에게 이야기를 시작하고, 어떤 언어로 이야기하며 어떻게 이야기를 종료할까와 같은 규칙을 결정할 필요가 있습니다.
위와 같이 서로다른 하드웨어와 운영체제 등이 서로 통신을 하기위해 모든 요소에 규칙이 필요합니다. 이런 규칙을 프로토콜이라고 부릅니다.

그런 규칙이 한두개 정도면 좋겠지만.. 프로토콜에는 여러가지가 있습니다. 케이블 규격, IP주소 지정 방법, 떨어진 상대를 찾기위한 방법, 도달 순서등이 그렇습니다.

TCP/IP 계층이란?

TCP/IP를 찾아보면 계층에 대한 설명이 빠지지 않습니다 그만큼 TCP/IP에서 중요한 개념중 하나가 계층(Layer)입니다.

애플리케이션 계층
트랜스포트 계층
데이터링크 계층
링크계층

왜 이렇게 계층화 했을까요?

메리트가 있기 때문입니다. 예를 들면, 인터넷이 하나의 프로토콜로 되어있다면 사양 변경시 전체를 바꾸지 않으면 안됩니다. 허나 계층화 되어있다면 해당 계층만 변경하면 됩니다.
각 계층은 연결되어 있는 부분만 결정되어 있기 때문에, 각 계층의 내부는 자유롭게 설계할 수 있습니다.
또한, 계층화로 인해 설계를 편하게 할 수 있습니다. 자신의 계층만 신경쓰면 되기 때문입니다.

애플리케이션 계층

애플리케이션 계층은 유저에게 제공되는 애플리케이션에서 사용하는 통신의 움직임을 결정합니다.
FTP, DNS 등도 애플리케이션의 한가지 입니다. HTTP도 이 계층에 포함됩니다.

트랜스포트 계층

2대의 컴퓨터 사이의 흐름을 제공합니다.
서로 다른 성질을 가진 TCP와 UDP 두가지 프로토콜이 있습니다.
TCP : Transmission Control Protocol)
UDP : User Data Protocol

네트워크 계층(인터넷 계층)

네트워크상에서의 패킷의 이동을 다룹니다.
패킷이란 전송하는 데이터의 최소 단위입니다.
어떠한 경로를 거쳐 상대의 컴퓨터까지 패킷을 보낼지 결정하기도 합니다. 인터넷의 경우라면 상대 컴퓨터에 도달하는 동안에 여러 대의 컴퓨터랑 네트워크 기기를 거쳐서 상대방에게 배송되는데 그러한 길을 결정하는 것이 네트워크계층의 역할입니다.

링크계층(데이터 링크계층, 네트워크 인터페이스 계층)

네트워크에 접속하는 하드웨어적인 면을 다룹니다.
디바이스 드라이버, 네트워크 인터페이스 카드를 포함 케이블 등과 같이 물리적으로 보이는 부분도 포함됩니다.
하드웨어적 측면은 모두 링크 계층의 역할입니다.

TCP/IP 통신의 흐름



통신을 할때는 계층을 순서대로 거쳐 상대와 통신을 합니다.
송신 측은 애플리케이션 계층에서부터 내려가고, 수신측은 애플리케이션 으로 올라갑니다.

각 계층을 거칠 때는 반드시 헤더로 불려지는 해당 계층마다 해당 계층에 필요한 정보를 추가합니다.
반대로 수신측에서는 각 계층을 거칠 때마다 반드시 해당 계층마다 사용한 헤더를 삭제합니다.
이렇게 정보를 감싸는 것을 캡슐화라고 합니다.

마치며

다음시간에는 TCP/IP층에서 HTTP와 관계가 깊은 IP, TCP, DNS 세 개의 프로토콜에 대해서 알아봅시다.

이미지 출처 : cisco