네트워크 기초

패킷이란 무엇일까? 패킷의 정의와 구조(What is packet?)

Jay x 2 2020. 3. 15. 17:55
728x90
반응형

네트워크 공부를 해보신 분들은 '패킷(packet)'이라는 단어를 들어본 적 있을 것입니다.

매번 패킷 패킷.. 말하기만 하지 패킷의 정의에 대해서 정확히 알지 못하는 경우가 많은데요.

쉽게 정리해 보겠습니다.

패킷(Packet)의 정의

패킷(paket) : wekipidia에는 이렇게 나와있습니다. 정보 기술에서 패킷 방식의 컴퓨터 네트워크가 전달하는 데이터의 형식화된 블록이다. 즉, 컴퓨터 네트워크에서 데이터를 주고받을 때 정해 놓은 규칙입니다. 

 

조금 더 쉽게 정리해 보겠습니다!

패킷은 pack과 bucket의 합친 말인데요~ 우체국에서는 화물을 적당한 덩어리로 나눠 행선지를 표시하는 꼬리표를 붙이는데, 이러한 방식을 데이터 통신에 접목한 것이에요.

즉, 정보를 보낼 때 특정 형태를 맞추어 보낸 다는 것입니다. 컴퓨터 간에 데이터를 주고받을 때 네트워크를 통해서 전송되는 데이터 조각이라고 생각하면 편합니다.

 

그렇다면 데이터를 한 번에 통으로 보내는 것이 더 편하지 않을까요? 

물론, 그렇게 하면 빠르고 좋겠지만 큰 데이터는 대역폭을 너무 많이 차지하기 때문에 패킷의 흐름을 원활하게 하지 못합니다. 트래픽이 많아지죠. 예를 들자면 도로가 4차선인데 차가 2차선을 차지하고 있는 경우 각 차선마다 차가 다니는 것보다 정체가 일어나겠죠? 이런 것을 방지하기 위해 패킷을 사용하는 것입니다.

※ 대역폭 : 신호를 전송할 수 있는 주파수 범위 또는 폭

 

큰 사진 하나를 상대방에게 보낸다고 가정해 볼게요.

큰 사진은 작은 패킷들로 분할합니다. 이유는 위에 설명해 드렸죠? 작은 패킷들로 분할된 사진은 상대방에게 전달될 때 번호를 붙여서 전달이 됩니다. 그래야지 순서대로 나열했을 때 원하는 사진을 볼 수 있겠죠.

이러한 교환 방식을 패킷 교환 방식이라고 합니다.

패킷의 구조.jpg

패킷의 구조

IP 패킷은 헤더로 정의되며 해당 헤더에는 많은 필드가 포함됩니다. 헤더에 있는 주요 요소는

  • 버전 : 사용 중인 IP 버전을 식별하는 데 사용됩니다. 버전 4 (구현된 IP의 첫 번째 프로덕션 버전) 또는 버전 6 (현재 인터넷을 통해 구현 중인 프로세스) 중 하나만 선택할 수 있습니다. 이 예는 향후 10 년 동안 가장 많이 접하게 될 것으로 예상되는 IPv4 헤더를 보여줍니다. 현재는 IPv6 버전도 나왔습니다.

  • TTL (Time to Live) : 이 패킷이 네트워크에 남아있을 수 있는 시간입니다. 이 패킷을 처리하는 각 라우터는 이 카운터를 하나 이상 감소 (감소)시킵니다.

  • 프로토콜 : IP 패킷의 데이터 부분이 전달되는 전송 계층 프로토콜. TCP (Transmission Control Protocol) 또는 UDP (User Datagram Protocol)입니다.

  • 헤더 체크섬 : 검증 계산의 기반이 되는 헤더 체크섬 데이터는 헤더 데이터 일 뿐이며 해당 계산 결과는 헤더 체크섬 필드에 저장됩니다. 헤더가 손상되지 않은 경우 IP는 패킷이 양호하다고 간주합니다.

  • 소스 주소 : 패킷을 네트워크로 보내는 장치의 IP 주소입니다. ICMP (Internet Control Message Protocol) 전송 실패 또는 제어 메시지를 포함하여 네트워크 수준 오류 메시지가 전송되는 곳이기도 합니다.

  • 대상 주소 : 패킷이 전송되는 주소입니다.

  • 데이터 : 이더넷 프레임과 마찬가지로 데이터 부분이 전송 계층, TCP 또는 UDP로 전송됩니다. IP는 여기서 찾은 것을 신경 쓰지 않습니다. 그것은 단지 전달 수단 일뿐입니다.

 

패킷에 대하여 조금 더 깊게 설명드리면,

패킷에는 Preamble정보, SFD, FCS, IFG 등등 비트열을 붙여서 전송됩니다. 

나중에는 패킷을 프레임이라는 용어로 표현하기도 합니다. 또한 헤더와 트레일러를 포함하고 있어요. 이는 네트워크 계층을 정리했을 때 말씀드리겠습니다. 

 

사진출처: https://www.dummies.com/programming/networking/cisco/cisco-networking-packets/

 

 

 

반응형