Computer >> 컴퓨터 >  >> 네트워킹 >> 인터넷

TCP/IP 모델이란? 계층 구조와 핵심 프로토콜 완벽 정리

무언가를 창조하는 과정의 핵심 중 하나는 아직 존재하지 않는 것을 상상하는 능력입니다.

이러한 능력은 인터넷의 탄생에 결정적인 역할을 했습니다. 만약 아무도 오늘날 우리가 당연하게 여기는 기반 기술을 상상하지 않았다면, 고양이 밈도 존재하지 않았을 것입니다.

인터넷을 가능하게 만들기 위해 상상해야 했던 두 가지 개념이 바로 계층(layer)프로토콜(protocol)입니다.

계층은 유사한 기능들을 하나로 묶는 개념적 구분입니다. '프로토콜'이라는 단어는 어쩌면 "우리는 여기서 일을 이렇게 하기로 약속했다"는 의미에 가깝습니다.

요약하자면, 계층과 프로토콜은 다섯 살짜리 아이에게 이렇게 설명할 수 있습니다. "사람들이 좋은 생각이라고 동의했고, 그것을 기록해 두어서 다른 사람들도 같은 생각을 바탕으로 일할 수 있게 된 것"입니다.

인터넷 프로토콜 스위트(Internet Protocol Suite)는 계층과 프로토콜의 관점에서 설명됩니다. 이 스위트는 우리가 끝없이 스크롤할 수 있게 해주는 통신 프로토콜들의 집합체를 의미합니다.

흔히 이 스위트는 기반이 되는 두 프로토콜의 이름으로 불립니다. 바로 전송 제어 프로토콜(TCP)과 인터넷 프로토콜(IP)입니다. TCP/IP로 묶어 부르는 이 프로토콜들은 인터넷에서 데이터가 어떻게 패키징되고, 주소가 지정되고, 전송되고, 수신되는지를 규정합니다.

그렇다면 인터넷 프로토콜 스위트, 즉 TCP/IP가 왜 상상 속의 무지개 레이어 케이크인지 하나씩 살펴보겠습니다.

계층은 상상의 산물입니다

무지개 레이어 스폰지 케이크의 일반적인 특성을 떠올려 보면, 대부분은 입에서 녹아드는 부드러운 바닐라 풍미로 이루어져 있습니다. 그리고 그 풍미 자체는 달걀, 버터, 밀가루, 감미료 같은 재료로 만들어집니다.

TCP/IP 모델이란? 계층 구조와 핵심 프로토콜 완벽 정리

사실 무지개 스폰지 케이크의 한 층과 다른 층을 구별할 만한 것은 많지 않습니다. 보통 계층 간의 유일한 차이는 식용 색소와 약간의 프로스팅뿐입니다. 잘 생각해 보면 위에서부터 아래까지 모두 케이크입니다. 무지개 층이 존재하는 이유는 단지 베이커가 그래야 한다고 생각했기 때문입니다.

케이크 재료와 마찬가지로, 컴퓨터 네트워킹에서 계층은 대부분 프로토콜, 알고리즘, 설정으로 구성되며 여기에 약간의 데이터가 뿌려져 있다고 볼 수 있습니다.

컴퓨터 네트워킹의 방대한 기능들을 그룹별로 나누면 이해하고 이야기하기가 훨씬 쉬워집니다. 그래서 어떤 사람들이 계층에 대한 설명을 만들어냈고, 우리는 이를 네트워크 모델이라고 부릅니다. TCP/IP는 여러 네트워크 모델 중 하나일 뿐입니다. 이런 의미에서 계층은 물리적인 실체가 아니라 개념입니다.

앞서 언급한 사람들 중 일부는 인터넷 엔지니어링 태스크 포스(IETF) 소속입니다. 이들은 인터넷의 통신 계층을 다루는 RFC-1122 문서를 발행했습니다. 전체의 절반에 해당하는 이 표준 문서는 다음을 다룹니다.

"…통신 프로토콜 계층인 링크 계층, IP 계층, 전송 계층을 다루며, 그 짝이 되는 RFC-1123은 응용 및 지원 프로토콜을 다룹니다."

RFC-1122와 RFC-1123에서 설명하는 각 계층은 해당 계층의 기능을 충족하는 프로토콜들을 내포하고 있습니다. 이제 각 통신 계층을 살펴보면서 TCP와 IP가 이 인터넷 케이크 모델에서 어떻게 쌓여 있는지 알아보겠습니다.

TCP/IP 모델이란? 계층 구조와 핵심 프로토콜 완벽 정리

링크 계층은 통신 프로토콜 중 가장 기본적인, 즉 최하위 수준의 분류입니다. 이 계층은 동일한 로컬 네트워크 내 호스트 간 정보 전송과, 상위 계층의 데이터를 물리 계층으로 변환하는 작업을 담당합니다.

링크 계층의 프로토콜들은 데이터가 특정 하드웨어를 통해 전달되는 전기 신호 같은 전송 매체와 어떻게 상호작용하는지를 규정합니다. 다른 계층과 달리, 링크 계층 프로토콜은 사용되는 하드웨어에 의존한다는 특징이 있습니다.

인터넷 계층 프로토콜

인터넷 계층의 프로토콜들은 데이터가 인터넷을 통해 어떻게 전송되고 수신되는지를 규정합니다. 이 과정에는 데이터를 패킷으로 패키징하고, 패킷에 주소를 지정해 전송하며, 들어오는 데이터 패킷을 수신하는 작업이 포함됩니다.

TCP/IP 모델이란? 계층 구조와 핵심 프로토콜 완벽 정리

이 계층에서 가장 널리 알려진 프로토콜은 TCP/IP라는 이름의 마지막 두 글자를 담당하는 IP입니다. IP는 비연결형(connectionless) 프로토콜로, 패킷이 올바른 순서대로, 같은 경로로, 혹은 온전한 형태로 전송되거나 수신된다는 어떠한 보장도 제공하지 않습니다.

대신 신뢰성은 전송 계층의 프로토콜처럼 스위트에 속한 다른 프로토콜들이 처리합니다.

현재 사용 중인 IP 버전은 두 가지입니다. IPv4와 IPv6입니다. 두 버전 모두 인터넷상의 장치에 IP 주소가 어떻게 할당되는지를 규정하며, 고양이 밈을 볼 때도 바로 이 주소가 사용됩니다.

IPv4가 더 널리 사용되고 있지만, 주소 지정에 32비트만 사용하기 때문에 약 43억 개(4.3×109)의 주소만 만들 수 있습니다. 이 주소들은 이미 고갈되어 가고 있으며, 점점 더 많은 사람들이 더 많은 장치로 인터넷에 접속함에 따라 IPv4는 결국 주소 고갈 문제에 직면하게 됩니다.

후속 버전인 IPv6는 주소에 128비트를 사용해 이 문제를 해결하는 것을 목표로 합니다. 덕분에 훨씬 방대한 주소 공간(약 3.4×1038개)을 확보할 수 있습니다.

전송 계층 프로토콜

1974년 5월, 빈트 서프(Vint Cerf)와 밥 칸(Bob Kahn)은 흔히 함께 '인터넷의 아버지'로 불리며, '패킷 네트워크 상호통신을 위한 프로토콜(A Protocol for Packet Network Intercommunication)'이라는 논문을 발표했습니다.

이 논문에는 전송 제어 프로그램(Transmission Control Program)에 대한 최초의 설명이 담겨 있었고, 이 개념은 훗날 전송 제어 프로토콜(TCP)과 사용자 데이터그램 프로토콜(UDP)로 알려지게 됩니다. (필자는 빈트 서프를 직접 만난 적이 있는데, 영화 '매트릭스'의 아키텍트와 똑같이 생겼다는 사실을 개인적으로 확인할 수 있었습니다.)

TCP/IP 모델이란? 계층 구조와 핵심 프로토콜 완벽 정리

현재 전송 계층은 TCP와 UDP를 포괄합니다. IP와 마찬가지로 UDP는 비연결형 프로토콜이며, 신뢰성보다 시간을 우선시해야 하는 경우에 활용됩니다.

반면 TCP는 연결 지향형 전송 계층 프로토콜로, 지연 시간보다 신뢰성을 우선시합니다. TCP는 데이터를 전송된 순서 그대로 전달하고, 손실된 패킷을 재전송하며, 데이터 전송률에 영향을 주는 흐름 제어 등을 담당합니다.

응용 계층 프로토콜

TCP/IP 모델이란? 계층 구조와 핵심 프로토콜 완벽 정리

응용 계층은 소프트웨어 애플리케이션이 가장 자주 상호작용하는 프로토콜들을 규정합니다. 이 사양에는 원격 로그인 프로토콜인 텔넷(Telnet), 파일 전송 프로토콜(FTP), 단순 메일 전송 프로토콜(SMTP)에 대한 설명이 포함되어 있습니다.

또한 응용 계층에는 하이퍼텍스트 전송 프로토콜(HTTP)과 그 후속 버전인 HTTP 보안(HTTPS)도 포함됩니다.

HTTPS는 전송 계층 보안(TLS)으로 보호되며, TLS는 인터넷 프로토콜 스위트가 설명하는 네트워킹 모델의 최상위 계층이라고 할 수 있습니다.

TLS와 이 프로토콜이 고양이 밈 감상을 어떻게 안전하게 지켜주는지 더 깊이 이해하고 싶다면, 필자가 작성한 TLS와 암호화에 관한 글을 읽어보시길 추천합니다.

인터넷 케이크는 아직 굽는 중입니다

아직 부풀어 오르고 있는 스폰지 케이크처럼, 계층에 대한 새로운 설명, 더 나은 프로토콜, 새로운 모델들이 매일 개발되고 있습니다. 인터넷, 혹은 미래에 그것이 될 무엇이든, 여전히 상상되고 있는 진행형의 산물입니다.

TCP/IP 모델이란? 계층 구조와 핵심 프로토콜 완벽 정리

이 글을 통해 배운 내용이 도움이 되었다면, 더 많은 글이 준비되어 있습니다! 필자는 컴퓨팅, 사이버 보안, 그리고 훌륭한 기술 팀 구축에 대해 집필하고 있습니다. victoria.dev에서 글로 배우는 수천 명의 독자들과 함께하세요. 이메일이나 RSS로 구독하시면 새 글을 가장 먼저 확인하실 수 있습니다.