TCP/IP 이해하기, 프로토콜이란?

IP는 뭔지 알 거 같은데, 앞에 하나 추가되어 TCP/IP라고 하면 전혀 새로운 용어 같지 않나요? 저는 그랬습니다. 결론부터 말씀드리면 둘은 거의 동의어로 사용됩니다. 물론 두 용어의 개념과 역할은 다르지만, 한 몸처럼 쓰이기 때문입니다. TCP/IP는 네트워크에 대해 조금만 알아보더라도 상당히 자주 등장하는 용어입니다. 그러나 정의만 몇 줄 읽어선 단번에 이해가 어려운 개념이기도 하죠. 이 글을 통해서 “아 이런 거구나” 정도는 감이 오실 수 있도록 정리를 해보겠습니다.

 

TCP/IP는 네트워크 장치를 연결할 때 사용되는 통신 프로토콜(Protocol)입니다. 인터넷 같은 외부 네트워크와 인트라넷 같은 내부 네트워크 모두에서 사용됩니다. 프로토콜이란 컴퓨터 간 데이터를 통신하기 위해 정해놓은 규약을 의미합니다. TCP는 전송 제어 프로토콜(Transmission Control Protocol), IP는 인터넷 프로토콜(Internet Protocol)로 모두 ‘OOO 프로토콜’이라는 걸 알 수 있습니다.

 

통신 프로토콜이 TCP/IP만 있는 건 아닙니다. 다만 그중에서 가장 널리 사용되는 통신 규약이 TCP/IP입니다. 굳이 두 프로토콜을 합쳐서 부르는 이유는 네트워크 통신 시 각자 다른 역할을 수행하며 함께 사용되기 때문입니다.

통신, 표준의 가치

네트워크 통신에서 표준을 정하는 건 아주 중요합니다. 표준을 정하면 모든 회사의 제품군이 서로 호환될 수 있기 때문입니다. 과거 컴퓨터가 정보를 교환을 시작하던 초창기엔 공급 업체 별로 통신 프로토콜이 달라 통신을 할 수 없는 문제가 있었습니다. 이런 불편함에 따라 표준을 정했는데 그것이 TCP/IP입니다.

 

참고로 TCP/IP는 1970년대에 미국 국방부에서 만들었습니다. 이를 계기로 TCP/IP는 널리 사용됐고 현재 웹에서 가장 보편적으로 사용되고 있습니다. TCP/IP에는 HTTP, FTP, SMTP 등이 포함됩니다. 쉽게 말해 인터넷으로 구글링을 하고, 넷플릭스를 보고, 파일을 전송하고, 이메일을 보내는 등의 작업에 모두 쓰인다는 의미입니다.

 

시중에 판매되는 모든 컴퓨터에는 TCP/IP가 기본으로 내장되어 있습니다. 덕분에 사용자는 TCP/IP의 개념을 몰라도 마음껏 인터넷으로 다른 컴퓨터와 통신을 주고받을 수 있습니다.

TCP와 IP의 상호작용

둘은 같이 쓰인다고 언급했죠. 이걸 쉽게 이해할 수 있도록 비유를 먼저 들어보겠습니다. 완성된 퍼즐 위에 매직으로 글을 작성하고 퍼즐을 분해해서 누군가에게 보낸다고 상상해보세요. 이때 퍼즐 조각은 한 번에 묶어서 보내지 않고 하나씩 따로 보냅니다. 이렇게 하면 각 퍼즐 조각이 도착하는 시간도 다르고, 순서도 뒤죽박죽일 겁니다. 모든 퍼즐 조각이 제대로 도착하면 그것을 다시 원형으로 맞춥니다. 이제 수신자는 완성된 퍼즐에 쓰여있는 글을 확인할 수 있습니다.

 

위 비유에서 퍼즐 조각을 보내는 역할은 IP가, 도착지에서 퍼즐 조각을 맞추고, 만약 누락된 조각이 있으면 다시 보내달라 요청하는 등 재조립과 문제 확인을 하는 역할을 TCP가 한다고 보면됩니다. 결국 두 역할 모두 필요한 것이죠. 

 

만약 퍼즐을 분해해서 보내는 게 이해가 안 되신다면 패킷(packet)의 개념을 모르셔서 그렇습니다. 네트워크 간 데이터를 주고받을 땐 데이터를 블록 형태로 나눠서 보내기 때문에 그런 비유가 나온겁니다. 이런 방식을 패킷 교환 방식이라고 하며, 나눠진 블록 조각을 패킷이라고 합니다.

참고 : 네트워크 패킷(packet)이란?

 

마지막으로 TCP/IP 데이터 통신이 이루어지는 과정을 살펴보겠습니다.

출처 :  https://docs.oracle.com/cd/E18752_01/html/816-4554/ipov-29.html

사용자에게 원격 시스템 로그인에 필요한 패킷을 전달하는 과정을 계층 별로 구분한 것입니다. TCP 와 IP는 각각 전송 계층과 인터넷 계층에 포함됩니다.

  • 응용 프로그램 계층

사용자가 통신을 시작하는 단계입니다. rlogin이라는 명령을 내렸습니다. 명령 데이터를 TCP 스트림으로 보냅니다.

  • 전송 계층

도착한 데이터는 분절(segment)되고 각 세그먼트에는 포트 송수신 정보 등을 담은 헤더가 연결됩니다. 이를 캡슐화라고 합니다. TCP 세그먼트를 통해 수신자가 데이터를 받을 수 있는지 확인합니다.

  • 인터넷 계층

IP는 IP 데이터그램이라는 단위로 패킷을 전달합니다.

  • 데이터 링크 계층

IP 데이터그램을 프레임으로 포멧하고 물리 계층으로 전달합니다.

  • 물리 네트워크 계층

프레임을 수신하고 IP 주소를 네트워크 미디어에 적합한 하드웨어 주소로 변환합니다. 그리고 네트워크 미디어를 통해 프레임을 보냅니다.

 

수신 시스템은 발송 시스템의 역순으로 계층을 거쳐 패킷을 전달받습니다. 모든 패킷이 전달되면 다시 조립해 수신을 완료합니다.

반응형

댓글

Designed by JB FACTORY