공부합시다!/Network

Packet Analysis - 1. Frame Header

간서치 2022. 3. 14. 13:04
728x90

음! 오늘부터는 Protocol을 분석하는 시간을 갖어 보겠습니다.

물론 Wireshark등의 프로그램을 사용해야 하지만 아직은 여러분들이 거부감을 갖을 수 있기에 

그림과 설명으로 일단 시작해 보겠습니다.

 

우선 오늘은 그 첫번째 순서로 2계층의 Data 단위인 Frame을 분석해 보겠습니다.

1. Frame Header 

 1.1. Frame Header 전체 구조

Ethernet II Frame Header

  1.1.1. MAC Header : Destination Address + Source Address + Type = 14Byte

  1.1.2. LLC(Logical Link Control) Frame : 46Byte (46Byte가 안되면 Padding(0x0의 값으로 채움))

  1.1.3. MAC Frame : MAC Header + LLC Frame + FCS = 64Byte ~ 1,518Byte

1.2. Wireshark의 Capture 영역

Frame Header Wireshark Capture Area

  1.2.1. Wireshark로 Packet Capture 시

  1.2.2. 물리계층 헤더인 Preamble 영역을 제외됨.

  1.2.3. Error를 검출하는 FCS 역시 제외됨.

 

2. Frame Header 분석

 2.1. Preamble : 8Byte

Frame Preamble

  2.1.1. 송신측과 수신측의 비트 동기화를 위해 사용 - "서로 Frame 통신하자!" 이 영역 다음 유효한 Frame 전달 알림

  2.1.2. 상위 7Byte : Bit동기화를 위해서 10101010으로된 Bit열 전달

  2.1.3. 하위 1Byte : Frame의 시작을 알리는 10101011을 전달

  2.1.4. Preamble의 크기는 Frame Header 크기를 계산할 때 제외 왜? 물리계층의 Header니까!

  2.1.5. Ethernet II의 Preamble는 IEEE802.3의 Preamble(7Byte) + SFD(Start Frame Delimeter) 1Byte

 2.2. Destination Address : 6Byte

Frame Destination Address

  2.2.1. 목적지의 2계층 주소

  2.2.2. 6Byte의 첫번째 Bit가 1이면 Multicast를 의미

  2.2.3. 6Byte의 모든 Bit가 1면 Broadcast를 의미  

 2.3. Source Address : 6Byte

Frame Source Address

  2.3.1. 출발지의 2계층 주소

 2.4. Type/Length : 2Byte

Frame Type/Length

  2.4.1. Ethernet Frame의 Data 부분에 실려있는 상위계층(IP계층)의 Protocol 종류 표시

  2.4.2. Ethernet II Type의 경우 값이 0x0600 이상

  2.4.3. IEEE802.3의 Length 0x0600미만

Protocol Type

 2.5. Data : 46 ~ 1500Byte

Frame Data

  2.5.1. 상위 계층으로 부터 받은 데이터 혹은 상위 계증으로 전달한 데이터

  2.5.2. 최소 46Byte가 안될 경우 Padding(0으로 채움)영역을 추가하여 46Byte를 만듦

 2.6. FCS : 4Byte

Frame FCS

   2.6.1. Preamble과 FCS 부분을 제외한 유효한 Frame의 Bit열에서 오류 검사

   2.6.3. FCS(Frame Check Sequence), CRC(Cyclic Redundancy Check)

 

조금 힘든 내용이지만 Wireshark 와 비교해서 공부하다 보면 "어! 신기하네" 하실 겁니다.

 

Have a nice day!

728x90