호빗의 인간세상 탐험기

통신프로토콜 IP(Internet Protocol) 본문

네트워크

통신프로토콜 IP(Internet Protocol)

딜레이라마 2017. 3. 24. 00:26
반응형

1. DIX 2.0/IEEE802.3 frame

preamble

(8byte)

 destination address

(6byte)

source

address

(6byte)

ether type

(2byte)

Data

Pad

FCS

(4Byte)

 

- DIX2.0 frame 형식을 나타낸 것이다. preamble은 8byte로 구성되어 있으며 시작점을 나타낸다.
- destination address~ether type 까지를 Ethernet Header 라고 부른다. destination address 에는 6byte의 목적지 주소가 들어 있다. source address에는 6byte의 송신측 주소가 들어 있다. 그리고 ether type은 2byte로 0x600(=1536)이상의 값이 저장되어 있다.

- 여기서 IEEE802.3 frame 형식에서는 DIX2.0 frame 형식의 ether type자리에 2byte로 구성된 length 영역이다. DIX2.0 frame 형식의 ether type 영역과 IEEE802.3 frame형식의 length 지역은 IEEE802.3 frame형식인지 DIX2.0 frame형식인지 구별 하게 해주는 중요한 자리이다. 구별 하는 방법은 위에서 말했다시피 ether type이 0x600(=1536)이상의 값이 있으면 DIX2.0 frame 형식이고 1536이하이면 IEEE802.3 frame 형식이다.

- Data 부분은 Ethernet Data가 들어있으며 최소 46byte이고 최대 1500byte이다.

- Pad 영역은 destination address ~ FCS 영역까지의 길이가 frame 최소 길이인 64byte보다 짧은 경우에 모자란 길이를 0으로 채워 넣는다.

- 따라서 DIX2.0 frame 형식의 총 길이는 64byte ~ 1518byte이다.

 

2.IEEE802.3 frame

 

Preamble

(7byte)

SFD

(1byte)

destination

address

(6byte)

source

address

(6byte)

length

(2byte)

Information

Pad

FCS

(4byte)

 

 

 

 

- IEEE802.3 frame 패킷 형식을 나타낸 것이다.

- IEEE802.3 frame 패킷 형식을 나타낸 것이다. IEEE802.3 frame은 DIX2.0 frame과는 다르게 Preamble 이 7byte이며 SFD라는 영역이 있다. 이 SFD 영역은 1byte로 구성되어 있다. Preamble 이 시작점을 나타내는 것이면 SFD는 유효한 프레임이 시작되는 것을 알린다.

- destionation address와 source address영역은 DIX2.0 frame형식과 마찬가지로 6byte이며 각각 수신측과 송신측의 주소를 나타낸다.

- length 영역은 위에서 말했다 시피 DIX2.0 frame과 IEEE802.3 frame을 구별 하는 중요한 역할을 한다 DIX2.0 frame과 같은 2byte로 구성되어 있지만 이 영역이 1536보다 작은 수가 들어 있으면 IEEE802.3 frame이다.

- Information영역과 Pad영역을 합쳐서 LLC영역이라고 한다. 이 LLC(Logical Link Control의 줄임말)영역은 크게보면 LLC Header와 LLC information field영역으로 나뉘어 진다. 먼저 LLC Header 영역은 DSAP, SSAP, CTRL 영역으로 나뉘어지며 DSAP, SSAP 영역은 각각 1byte씩으로 구성 되어 있고, CTRL영역은 1, 2byte로 구성되어 있으며 보통은 1byte이다. CTRL영역은 제어 필드이다. 그리고 DSAP, SSAP영역에서 IEEE802.3 frame의 ether type의 정보를 담고 있다. 또, LLC information field영역은 상위 계층 프로토콜의 종류를 저장하고 있다.

 

 

- 만약 DSAP, SSAP영역에서 ether type의 정보를 담고 있지 않는 경우가 있는데 이 경우에는 LLC information field의 영역이 갈라져 3byte로 구성된 OUI 영역과 2byte로 구성된 PID 영역으로 나뉘어 진다. OUI는 할당받은 어댑터 회사 코드이다. PID영역에 ether type의 정보가 들어가 있는 경우에는 LLC에서 표시를 해주는데 DSAP영역과 SSAP영역에는 0xAA값 CTRL영역에는 0x03값이 들어가 있다.

 

 

- 이렇게 표시하는 방법을 SNAP방법이라고 한다.

- DSAP영역과 SSAP영역에는 항상 같은 값이 저장되어 있다. ether type정보가 들어가 있을때도 같은 값이 저장되어 있고 PID영역에 ether type의 정보가 들어가 있을 때에도 0xAA라는 값이 똑같이 들어가 있다.

 

 

 

3.  ARP Request와 ARP Reply 패킷의 형식

 

Destination MAC address 

6Byte

Source MAC address

6Byte

Ether Type

ARP = 0x0806

RARP = 0x8035

2Byte

Hardware Type

0001 : Ethernet

2Byte

Protocol Type

0800 : IP

2Byte

Hardware address size

6 : Ethernet

1Byte

Protocol size

4 : IP

1Byte

Operation = 01, 02, 03, 04

1Byte

Sender Ethernet address

6Byte

Sender IP address

4Byte

Target Ethernet address

6Byte

Target IP address

4Byte

PAD

 

 

 

 

 Destination MAC address : ARP Request의 주소이다. host에 전송할 때 필요한 주소이다.

- Source MAC address : Source(송신자)측의 주소이다, 이 주소는 ARP Reply받을 때 필요한 주소이다.

- Ether Type : ARP의 경우 0x0806, RARP의 경우 0x8035이다. Request나 Reply 모두 동일한 값을 가지고 있다.

- Hardware Type : MAC종류에 따라 Hardware주소 형식을 구별하기 위하여 사용하며 Ethernet 의 경우 1 이다. (* IEEE802.3 = 6,)

- Protocol Type : 네트워크 계층의 프로토콜 종류마다 가지고 있는 고유 값이다. IP는 0x800이다.

- Hardware address size : Hardware address의 크기를 표시한다. Ethernet은 6이다.

- Protocol size : 네트워크 계층의 프로토콜의 크기를 표시한다. IP는 4이다.

- Operation : ARP Request와 ARP Reply들을 구별 해 주는 것이다.

- Sender Ethernet/IP address : ARP Requst를 보내는 source(송신자)측의 Hardware주소와 ip주소 이다.

- Target Ethernet/IP address : Source(송신자)측에서 Destination(수신자)측으로 ARP Request를 보낼 때 필요한 Destination(수신자)측의 Hardware주소와 ip주소이다.

 

- RARP는 ARP의 반대개념으로 Ethernet 주소에 대한 IP주소를 알아내는 프로토콜이다. RARP와 ARP의 다른 점은 Ether Type의 값이 표에나타난 것처럼 0x8035이며 Operation의 값이 Request의 경우 3, Reply인 경우 4이다.

 

 

4.CSMA/CD, MTU, BPDU란

 

- CSMA/CD Ethernet의 전송 protocol로서 iEEE802.3의 표준화한 프로토콜이다.

CSMA/CD : 하나의 회선에 다수의 단말기가 연결되어 있을 때 데이터를 송신하는 방식으로 회선이 busy인지 확인을 하다가 idle이 되면 데이터를 보내는 방식이다, 이럴 경우에 동시에 데이터를 보내면 데이터는 충돌하게 된다. 이 경우를 방지하기위해 busy인 상태에서 random한 시간 동안 기다리다가 idle이 되면 데이터를 보내는 방식과 busy인 상태에서 idle로 바꼇을 때 random한 시간을 기다린 후에도 idle이면 데이터를 보내는 방법이 있다.

 

- MTU : MTU란 MAX Frame Length의 줄임말로 최대 프레임의 길이를 뜻한다. destination address ~ FCS 영역까지의 길이를 뜻한다.

 

- BPDU : BPDU란 STP 프로토콜 안에서 브리지의 정보 데이터로서 STP를 이루고 있는 브리지들 사이에서 주고 받는 데이터이다. 이 데이터로 인하여 STP의 상태를 바꾼다.

 

5. 1-persistent, non-persistent, p-persistent CSMA 란

 

- 1-persistent : 회선이 busy인지 계속 확인하다가 idle상태가 되면 데이터를 보내는 방식이다.     이 방식은 두 개 이상의 단말기에서 idle인 상태를 확인하여 데이터를 동시에 하게 될 것이고 이    경우에 데이터가 가장 많이 충돌한다.

 

- non-persistent : busy상태일 때 random한 시간 동안 기다린 후 다시 회선의 상태를 확인하는데 idle일 경우에는 데이터를 전송하고 busy일 경우에는 다시 random한 시간을 기다린다. 이 경우에는 회선이 idle인 상태에서도 대기할 확률이 많기 때문에 회선의 효율이 낮다.

 

- p-persistent : 회선이 busy인지 계속하다가 idle인 상태가 되면 p확률로 데이터를 전송하거나 1-p확률로 데이터를 보내지 못하게 된다. 1-p확률로 보내지 못할경우에는 random한 시간을 기다린후 다시 idle인 상태가 p확률로 보낸다. 이 방법은 1-persistent와 non-persistent를 합친 방식으로 충돌할 경우도 낮추면서 전송효율도 높인 방법이다.



 

반응형

'네트워크' 카테고리의 다른 글

통신프로토콜(ARP/RARP)연습문제(2)  (0) 2017.04.03
통신프로토콜(ARP/RARP)(1)  (0) 2017.04.02
패킷필터링(IPTABLES)  (0) 2017.03.11
통신프로토콜(1)  (0) 2017.03.11
Network란?  (0) 2016.12.15
Comments