본문 바로가기
cs

[네트워크] 패킷 Packet

by 최연탄 2022. 9. 23.
728x90
반응형

패킷이란?

네트워킹에서 패킷이란 기다란 메시지를 여러개로 쪼갠 작은 한 조각을 말합니다. 인터넷과 같은 컴퓨터 네트워크를 통해 전송되는 데이터는 작은 단위의 패킷으로 나뉘어 전송하고 이를 수신하는 기기에서 재조합하는 과정을 거칩니다.

굳이 예를 들자면 A가 B에게 편지를 쓰려하는 상황이고 편지는 접을 수 없으며 B의 우편함은 엽서만 들어갈 정도로 작다고 가정해 보겠습니다. A는 편지에 쓰고 싶은 내용이 많아서 A4용지를 사용할 수도 있지만 B의 우편함은 작으므로 A4용지로는 편지르 붙일 수 없어서 더 작은 엽서 여러장에 편지를 쓰고 순서대로 B의 우편함에 전달하게 됩니다. 그러면 나중에 B가 우편함에 받은 여러장의 엽서를 받은 순서대로 읽게됩니다.

예는 패킷이 인터넷에서 작동하는 방식과 유사합니다. 실제로 인터넷 사용자가 이미지를 로드하는 경우를 생각해 있습니다. 이미지 파일은 서버에서 사용자의 컴퓨터로 한번에 이동하지 않고 작은 데이터 패킷으로 분해되어 인터넷을 통해 사용자의 컴퓨터에 전송된 다음 다시 원본 사진으로 재조립 됩니다.

왜 패킷을 사용하는가?

이론적으로는 파일과 데이터를 작은 단위의 패킷으로 자르지 않고 인터넷에 전송할 수 있습니다. 한 컴퓨터에서 다른 컴퓨터로 끊어지지 않은 긴 데이터의 나열을 전송할 수 있습니다. 그러나 이러한 접근 방식은 두 대 이상의 컴퓨터가 관련된 경우 엄청나게 비효율적이 됩니다. 두 대의 컴퓨터가 공유된 케이블을 통해 이런 긴 비트 라인을 송/수신하는 경우 이 케이블에 연결된 또 다른 컴퓨터는 앞선 두 대의 통신이 끝날 때 까지 정보를 보내지 못하고 기다려야 합니다.

이 접근 방식과는 다르게 인터넷은 "패킷 교환" 네트워크 입니다. 패킷 교환이란 네트워킹 장비가 패킷을 서로 독립적으로 처리한다는 말입니다. 또한 데이터 통신 시 여러개의 패킷이 지정된 목적지에 잘 도착하기만 한다면 어떤 경로를 이용해도 괜찮다는 의미입니다.

패킷 교환 덕분에 여러 대의 컴퓨터가 동일한 케이블을 통해 동시에 패킷을 전송할 수 있게 됩니다. 결과적으로 수십억 개의 장치가 인터넷을 통해 동시에 데이터 통신을 할 수 있게된 것 입니다.

패킷 헤더

패킷 헤더는 패킷의 내용, 출발지, 목적지 등에 대한 정보를 제공하는 일종의 레이블입니다.

앞선 편지 예제에서 A가 여러장의 엽서를 B에게 보내는 경우를 다시 생각해 보면 B는 우편함으로 받은 각각의 엽서 내용만으로는 엽서의 순서를 알 수 없습니다. 이를 해결하기 위해 A는 엽서를 보낼 때 각각의 엽서에 순서를 표시해놔야 하고 A가 여러장의 엽서를 보내는 동안 C도 B에게 엽서를 보낼 수 있으므로 A의 엽서가 다른 엽서와 섞이지 않도록 "A가 보냈음" 같은 표시도 해야합니다. 예를 들면 "A가 보냄 1/20", "A가 보냄 2/20" 이런 식으로 엽서 상단에 쓴다면 B가 올바로 취합해 편지를 읽을 수 있을 것 입니다.

편지 예제와 비슷하게 패킷을 수신하는 장치가 패킷의 출처, 용도, 처리 방법 등을 알 수 있도록 모든 네트워크 패킷은 헤더를 포함하고 있습니다.

패킷은 헤더와 페이로드로 구성됩니다. 헤더에는 출발지 목적지 IP 주소와 같은 패킷에 대한 정보가 포함되고 페이로드에는 실제 데이터가 들어갑니다. 사진 전송 예를 다시 생각하면 이미지를 구성하는 수천 개의 패킷에는 각각 페이로드가 있고 페이로드에는 이미지의 작은 부분이 포함되어있는 입니다.

관련 글

IP 주소란? IP 주소 확인 방법

HTTP(HyperText Transfer Protocol) 란?

반응형

댓글