Tuesday, April 5, 2011

패킷이란 무엇인가

질문 : Packet 이란 무엇인가?
요약 : 패킷이란 01010... 와 같은 데이터를 일정 단위로 자른 단위이다.
당연하지만 패킷은 그냥 데이터를 나누는 것만이 아니라 전송에 필요한 정보가 든 헤더가 붙는다.

설명 :
만일 패킷이 없다면 01010... 의 연속을 그냥 기약없이 보내야 할 것이다.
이래서는 컨트롤이 안된다. 따라서 01010... 을 일정 단위로 잘라서 그 단위로
보내는 것이 편하다. 그 자른 단위를 패킷이라고 하고,
패킷 단위로 자르는 행위를 packet framing 이라고 한다.

패킷은 두가지 종류의 데이터를 갖고 있다.
  1. control information : source and destination 주소, 에러 체크용 checksum 등
  2. user data : 보내는 데이터. 즉 0101010...
비유하자면 control information 은 주소 등이 써진 봉투와도 같고
user data 는 그 안에 들어 있는 편지(실제 데이터)와도 같다.

부연 : 패킷은 OSI 레벨 몇부터 존재하는가
패킷이 쓰이느냐 안쓰이느냐로 OSI의 layer 1과 layer 2가 구분된다.
레이어 1 은 말 그대로 Physical layer 로, 여기서는 데이터를 0101010.. 을 본다.
레이어 2 는 Data Link 레이어라고 불리우며, 이 레이어가 레이어 1과 틀린 점은
데이터가 0101010.. 의 연속이 아닌 data frame 의 단위로 나뉘어 있다는 점이다.
따라서 패킷이라는 것은 OSI Level 2 이상에서 존재 가능하다.

부연 : packet 과 datagram
위와 같이 패킷화 된 것이라면 어떤 것이라도 패킷이라고 부를 수 있다.
패킷의 일종으로 datagram 이라는 용어가 있는데 이것은
IP, 또는 UDP and IP 가 쓰일 때와 같이 "unreliable" 서비스에서 사용되는
데이터 패킷을 지칭하는 용어이다.

레퍼런스 : http://en.wikipedia.org/wiki/Data_packet Data Packet
http://en.wikipedia.org/wiki/Frame_%28telecommunications%29 Frame (networking)
http://en.wikipedia.org/wiki/Data_Link_Layer Data Link Layer

No comments:

Post a Comment