TCP/IP란 무엇인가?

 인프라를 운영 및 구축 혹은 어떠한 이슈를 해결함에 있어서 TCP/IP를 아느냐 모르냐는 차이가 매우 크다고 말할 수 있다. OSI 7 Layer와 더불어 TCP/IP는 개발자, 엔지니어를 가리지 않고 나오는 단골소재이다.

TCP/IP란?

 인터넷 프로토콜 스위트(Internet Protocol Suite는 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약(프로토콜)의 모음이다. 인터넷 프로토콜 슈트 중 TCP와 IP가 가장 많이 쓰인다.

 

IP 프로토콜 vs TCP 프로토콜? 무슨차이인가?

 TCP/IP는 하나의 프로토콜이 아닌 TCP와 IP를 합쳐서 부르는 말이며 TCP/IP를 사용하겠다는 말의 의미는 IP주소 체계를 따르고 IP Routing을 이용해 목적지에 도달하여 TCP의 특성을 활용해 송신자와 수신자가 논리적 연결을 생성하고 신뢰성을 유지할 수 있도록 하겠다는 의미이다.

 

여기서 말하는 IP(Internet Protocol)은 데이터 패킷을 한컴퓨터에서 다른 컴퓨터 전송하는 방법을 정의한 것이다.

IP 프로토콜은 아래와 같은 작동방식을 수행한다.

 

1. 데이터 패킷 생성

  : 인터넷을 통해 데이터를 전송할 때 패킷이라는 단위로 전송되는데 이 때 각 패킷에는 Header(헤더)가 존재한다.

헤더에는 패킷의 출발지 IP, 도착지 IP, 패킷의 크기, 패킷의 순서와 같은 정보들이 존재한다.

 

이러핸 패킷은 전송되는 동안에 여러개의 중간 노드(라우터, 스위치 등)을 거칠 수 있으며 이러한 노드들은 패킷을 

전달하고 경로를 결정하는데 도움을 준다.

 

2. 패킷전송

  : 패킷이 생성되면 이를 인터넷에 전송하는데 이 전송과정은 바로 라우터를 통해 이루어진다.

각 라우터는 IP 헤더를 확인하고, 패킷을 목적지로 가장 효율적으로 이동시킬 수 있는다음 라우터로 전송한다.

 

3. 패킷 재조립 

  : 패킷이 목적지에 도착하면, 패킷의 순서를 기반으로 원래의 데이터를 재조립한다. 이 과정에서 TCP 프로토콜에 의해 수행되며 그래서 TCP/IP를 같이 묶어서 말한다.

 

4. 오류처리

  : 패킷이 전송과정에서 손실되거나, 오류가 발생한 경우, IP는 이를 직접처리하지 않고 TCP와 같은 더 높은 계층의 프로토콜에 의해 처리한다.

 

그럼 TCP란?

 

TCP는 IP 위에서 동작하는 프로토콜로, 데이터의 전달을 보증하고 보낸 순서대로 받게 해 준다. HTTP, FTP ,SMTP 등 TCP를 기반으로 한 많은 수의 애플리케이션 프로토콜들이 이 IP위에서 동작하기 때문에, 묶어서 TCP/IP로 부르는 것이다.

 

즉, TCP/IP를 말한다는 것은 송신자가 수신자에게 IP주소를 사용하여 데이터를 전달하고 그 데이터가 제대로 갔는지, 너무 빠르지는 않은지, 제대로 받았다고 연락은 오는지에 대한 이야기를 하는 것이다.

 

인터넷에서 무언가를 다운로드할 때 중간에 끊기거나 부분 없이 완벽하게 받을 수 있는 이유도 이러한 TCP가 있기 때문이다. 이러한 TCP는 HTTP/HTTPS/SMTP 등과 같이 데이터를 안정적으로 모두 보내는 것을 중요시하는 프로토콜들의 기반이다.