1. static entry 추가 후 동작 실습

⦁ arp 명령을 이용하여 arp cache에 static entry를 추가하고 해당 IP로 ping을 수행

- 명령어 예제 : C:>arp –s 192.168.0.1 00-16-EC-AD-B1-1F

 

rp –d명령어를 실행하여 기존에 있던 ARP 테이블안의 List들을 모두 삭제 한 후 직접 arp /s 192.168.0.1 00-16-ec-ad-b1-1f 명령어를 사용하여 직접 ip주소와 Ethernet address를 연결하여 ARP 테이블 안에 저장하였다.(arp /s 명령어는 사용자가 직접 ip주소와 Ethernet address를 입력하여 ARP테이블안에 저장시키는 기능을 하는 명령어이다.)

 

- 그 후  ping 명령어를 이용하여 192.168.0.1에 핑을 보내면, 보내는 패킷은 4개이고 손실되는 패킷은 4개이다. 이 때 보내지는 패킷은 Request Message패킷이고 손실 되는 패킷은 Reply Message 패킷이다.

 

 

⦁ ICMP 패킷을 수집한 다음 echo request패킷의 Ethernet header에 잇는 목적지 주소를 확인

 - ICMP(Internet Control Message Protocol)는 인터넷 환경에서 오류에 관한 처리를 지원하는 용도로 사용되며, IP 패킷의 데이터 부분에 캡슐화되어 송신 호스트에게 전달된다. TCP/IP 기반의 통신망에서 전송 과정에 문제가 발생하면 라우터에 의해 ICMP 메시지가 자동으로 발생하여 패킷 송신 호스트에게 전달된다.

- 192.168.52.1대역에서 ping명령어를 사용하여 192.168.0.1에 핑을 보낼 때 발생하는 패킷들을 Wireshark로 수집한 내역들이다. 여기서 수집된 패킷 4개 모두다 Request 패킷인 것을 알 수 있다. 그리고 no response found! 라는 문구를 볼 수 있는데 이 것은 192.168.0.1에 핑을 보냈는데 반응이 없다라고 하는문구로 Reply 패킷이 없다는 뜻이다.  이 패킷들의 Ethernet Header에 있는 목적지 주소는 MAC address로 구성되어 있는데 이 것은 192.168.0.1에 대한 MAC address가 아니다. 이 Ethernet Header안에 있는 Destination에 있는 정보는 192.168.52.1에 대한 MAC address이다. 그 이유는 192.168.0.1은 외부 망의 ip주소로 해당 컴퓨터에서 ARP Request Message를 보낼 때 해당컴퓨터에서 192.168.0.1로 ARP Request Message를 보내지 않고 아니라 기본게이트웨이 주소로 ARP Request Message를 보내기 때문에 Destination의 정보는 192.168.52.1의 MAC address가 담겨져 있다.

 

  ⦁ ping을 이용한 통신이 제대로 되는지 확인하고 안 되는 경우 그 이유를 리포트에 정리

 

- Wireshark에서 패킷을 수집하여 관찰 하였듯이 192.168.52.1대역에서 ping 명령어를 이용하여 192.168.0.1에 핑을 보낼 경우 Request만 발생하고 Reply는 발생하지 않는다. 그 이유는 192.168.0.1은 사설망 ip주소로 사설망 ip주소는 외부에서는 접속이 불가능하다. 사설망 ip주소의 시점으로 보았을 경우 해당 컴퓨터는 고정ip로 공인ip라고 할 수 있고 외부 망으로 구분된다. 사설 망과 공인ip주소인 외부망은 서로 라우팅 경로가 있지 않기 때문에 해당 컴퓨터에서 192.168.0.1로 ping을 보내도 Request만

있고 Reply는 없는 이유가 이 때문이다.

 

 

- arp –a명령어를 사용하여 arp 테이블을 확인하면 유형에 동적 유형과 정적 유형이 있다. 동적 유형은 다른 host와 통신을 하게 되면 ARP 테이블에 저장이 되는데, 만약 저장이 된 상태로 최대 10분 동안 사용하지 않으면 해당 List는 ARP 테이블에서 삭제된다. 또, 정적 유형은 arp –s명령어로 사용자가 직접 수동으로 ARP 테이블에 저장할 때의 유형으로 이 것은 사용자가 직접 삭제하거나 해당 컴퓨터를 재부팅 하지 않는 이상 이 List는 ARP 테이블에서 사라지지 않는다.

 

 2. ARP 정보가 ARP cache에 남아 있는 최대 시간 확인 실습

 ⦁ command 창에서 “arp –a”를 주기적으로 실행해서 ARP 정보가 ARP cache에 얼마의 시간 동안 남아 잇는지 확인⦁ 명령어를 이용하여 직접 입력한 정적 엔트리는 어떻게 되는지 확인

 

- arp –a명령어를 사용하여 arp 테이블을 확인하면 유형에 동적 유형과 정적 유형이 있다. 동적 유형은 다른 host와 통신을 하게 되면 ARP 테이블에 저장이 되는데, 만약 저장이 된 상태로 최대 10분 동안 사용하지 않으면 해당 List는 ARP 테이블에서 삭제된다. 또, 정적 유형은 arp –s명령어로 사용자가 직접 수동으로 ARP 테이블에 저장할 때의 유형으로 이 것은 사용자가 직접 삭제하거나 해당 컴퓨터를 재부팅 하지 않는 이상 이 List는 ARP 테이블에서 사라지지 않는다.

 

3. 다른 network에 있는 host의 IP주소에 대한 MAC 주소가 가능한지 실습

-명령어 예제 : ping www.yahoo.com

 

 - ping 명령어를 통하여 www.yahoo.com에 핑을 보내면 총 4번의 Request와 4번의 Reply가 발생한 것을 알 수 있다.

 

 

 arp –a 명령어를 이용하여 www.yahoo.com에 대한 IP주소와 MAC 주소를 확인하고 확인이 가능하지 않는 경우는 이유

 

 ping www.yahoo.com의 명령어를 실행시켜 발생하는 Request와 Reply로 얻어진 ARP테이블을 보면 www.yahoo.com의 ip주소와 MAC address가 저장되어 있지 않고 확인 할 수 없다. 그 이유는 해당 컴퓨터의 기준에서 www.yahoo.com은 외부 ip망으로 라우터를 거쳐야 한다. 이 때 라우터는 Request Message 패킷에 붙어있는 Ethernet Header의 정보를 보고 자기 것이 아니면 그냥 버리게 되는데 이것을 방지하기 위해 외부 ip망 과 통신을 하기 위해 송신측에서 www.yahoo.com에 대해서 Request Message를 발생 시키는 것이 아니라 송신측이 해당되어 있는 라우터포트 즉, 게이트웨이 주소로 broadcast 망을 통하여 Request Messgae를 송신시키기 때문이다. 또 Request Message를 수신한 라우터 포트는 해당 컴퓨터로 자신의 MAC address를 Reply Message에 실어 송신하며 Target은 해당컴퓨터가 되고 Sender은 라우터 포트가 될 것이다.

 

- ping www.yahoo.com명령어를 실행시켰을 때 발생하는 Request Message의  패킷을 보면 Ethernet header부분에 Destination 영역이 Broadcast로 방송망 주소인 것을 알 수 있다. 그리고 Target은 위에서 말했다 시피 192.168.52.1으로 라우터 포트에 할당되어 있는 ip주소로 기본게이트웨이 주소이다. Request Message는 ip에 대한 Ethernet address를 알아내기 위하여 보내는 Message이기 때문에 Target MAC address영역이 비어 있는 것을 확인 할 수 있다. 그리고 Sender항목에는 해당컴퓨터의 ip주소와 MAC address가 저장되어 있다.

 

4. 연습문제 풀이

[1] 주어진 IP주소에 대하여, 해당 MAC 주소를 찾는 프로토콜은_____이다.

a) RARP            b) DHCP

c) ARP             d) ICMP

 

- RARP :   ARP와 반대의 기능으로 Ethernet address를 가지고 해당 ip주소를 찾는 기능을 하는 프로토콜이다.

- DHCP :  Dynamic Host Configuration Protocol의 약자로서 서버에서 ip주소를 할당하면 그 정보 그대로 자동으로 단말에 설정되는 기능을 하는 프로토콜이다.

- ARP : ARP는 상대방의 ip주소만 알고 상대방의 Ethernet address를 모를 때 사용하는 방법으로 ARP Request를 broadcast망으로 보내어 해당 ip주소는 이를 받아 들이고 자신의 Ethernet address를 ARP Reply에 실어 송신하여 알게 하는 기능을 가진 프로토콜이다.

- ICMP : Internet Control Message Protocl의 약자로서 패킷을 송신하는 과정에서 오류가 발생하면 패킷을 송신한 송신측에 알려주는 기능을 하는 프로토콜이다.

 

 

[2] 주어진 MAC 주소에 대하여, 해당 IP 주소를 찾는 프로토콜은_____이다.

a) RARP            b) DHCP

c) ARP             d) ICMP

 

- RARP :   ARP와 반대의 기능으로 Ethernet address를 가지고 해당 ip주소를 찾는 기능을 하는 프로토콜이다.

- DHCP :  Dynamic Host Configuration Protocol의 약자로서 서버에서 ip주소를 할당하면 할당 한 정보가 자동으로 단말에 설정되는 기능을 하는 프로토콜이다.

- ARP : ARP는 상대방의 ip주소만 알고 상대방의 Ethernet address를 모를 때 사용하는 방법으로 ARP Request를 broadcast망으로 보내어 해당 ip주소는 이를 받아 들이고 자신의 Ethernet address를 ARP Reply에 실어 송신하여 알게 하는 기능을 가진 프로토콜이다.

- ICMP : Internet Control Message Protocl의 약자로서 패킷을 송신하는 과정에서 오류가 발생하면 패킷을 송신한 송신측에 알려주는 기능을 하는 프로토콜이다.

 

[3] ARP request 패킷의 Target Physical 주소에는_____이(가)  실려 있다.

a) 0.0.0.0                   b) 0x00-00-00-00-00-00

c) 요청한 단말의 MAC주소   d) 응답하는 단말의 MAC주소

 

→ Target Physical 주소란 물리적 주소로 Ethernet address를 나타내며 이는 곳 MAC address를 나타낸다. ARP Request에는 Target IP address에는 Ethernet address를 알기위해 필요한 ip주소가 들어가 있다.

 

[4] RARP와 기능적으로 유사한 프로토콜은     이다.

a) ARP              b) BOOTP

c) DHCP            d) b와c


→ ARP는 ip주소는 알고 Ethernet address는 모를 때 Ethernet address를 알아내는 기능을 하는 프로토콜이고, RARP는 Ethernet address는 알지만 ip 주소는 모를 때 ip 주소를 알아내는 기능을 하는 프로토콜이다. DHCP는 서버에서 ip주소를 할당하면 자동으로 단말에 입력되는 기능을 하는 프로토콜이다. 그리고 BOOTP는 자신의 Ethernet address를 가지고 ip주소를 받아오는 기능을 하는 프로토콜이다.

 

[5] ARP 캐시 테이블의 상태가 PENDING이면_____이다.

a) ARP가 완료되었음        b) ARP가 진행 중임

c) 해당 항목이 삭제되었음   d) 답 없음

 

→ ARP 캐시 테이블의 상태로는 FREE, PENDING, RESOLVED 가 있으며 FREE는 말그대로 비어 있는 것을 뜻하고, PENDING은 ARP Request Message를 송신한 후에 ARP Reply Message를 받지 못하였을 때의 상태로 진행 중인 것을 뜻한다. 그리고 RESOLVED는 ARP Request Message를 송신한 후에 ARP Reply Message를 수신 받았을 때의 상태이다.

 

6] Gratuitous ARP request의 Target IP 주소 항목에는_____이 들어 있다.

a) 0.0.0.0                  b) 0x00-00-00-00-00-00

c) 요청한단말의IP주소      d) 255.255.255.255

 

→ Gratuitous ARP는 ip주소와 중복된 ip가 있는지 확인 하는 프로토콜로서 Gratutious ARP Request의 Target IP는 자신의 IP를 입력하여야 한다. 그리고 broadcast망으로 내부 망에 송신이 될 경우 같은 IP를 가진 host는 Reply할 것이다. 그리고 같은 IP를 가진 host가 없으면 Gratuitous ARP Request 패킷을 버릴 것이다.

 

[7] 어떤 장치에 대한 ARP request를 자신이 수신하여, 자신의 MAC 주소를 대신 응답하는 장치가 있을 때, 이 장치는_____기능이 있다고 한다.

a) Gratuitous ARP      b) ARP

c) proxy ARP          d) RARP

  Proxy ARP는 내부 망 안에서 라우터를 임의로 중간에 설치하여 네트워크들을 반으로 나누었을 때 라우터 기준으로 왼쪽에 있는 망에서 라우터 오른쪽에 잇는 망으로 ARP Request하면 기본적인 ARP에서는 라우터는 자신에게 요청 온 ARP Request가 아니기 때문에 이 ARP Request를 버린다. 하지만 Proxy ARP는 왼쪽에 있는 망에서 오른쪽에 있는 망으로 ARP Request를 보내면 라우터에서 자신의 다른 라우터 포트에 있는 것을 인지하고 ARP Request패킷이 들어오는 라우터 포트의 Ethernet address값을 ARP Reply패킷에 실어서 보낸다.

 

1.ARP, RARP, InvARP, Gratuitous ARP

① ARP : ARP란 Address resolution protocol의 약자로서 ip는 알지만 Ethernet address를 모를 때 사용하는 방법으로 ip를 가지고 Ethernet address를 찾아내는 방법이다. ARP의 동장 원리는 내부 네트워크에서는 알아내고자 하는 ip의 MAC address를 ARP 패킷에 실어 broadcast망으로 모든 host에 대하여 송신한다. 수신 받은 host들이 이 패킷을 확인 하여 자신의 ip인지 아닌지 확인히 자신의 ip가 아니면 이 ARP 패킷은 버리게 되고 자신의 ip이면 ARP 패킷에 자신의 MAC address를 실어 송신자에게 송신한다. ip를 알아내고자 ARP 패킷을 만들어 broadcast망으로 송신하는 Message를 ARP Request Message라고 하며 해당 ip주소를 가진 host가 송신자에게 MAC address를 싫어 보내는 Message를 ARP Reply Message라고 한다.

 또, 라우터를 거치는 외부망에 존재하는 ip에 대한 MAC address를 알아내기 위해서 ARP Request Message를 보내면 라우터에서는 Ethernet Header를 열어 ip가 수신 받는 라우터 포트의 ip(라우터의 각 포트 에도 ip주소가 각각 할당되어 있다.)와 같은지 다른지 확인한다. 라우터 포트에 할당되어 있는 ip주소와 알아내고자 하는 MAC address를 가진 ip주소는 다르기 때문에 라우터에서는 버리게 되는데(라우터가 다시 Ethernet Header를 붙여 broadcast망으로 송신하게 되면 수 많은 ARP Request Message가 송신되게 되고 네트워크 망은 매우 복잡해 질 것 이다.) 이를 방지 하기 위해 송신측은 자신의 subnet mask와 목적지 ip주소를 subnetting하여 subnet 주소(네트워크 주소)를 구한후 자신의 네트워크 주소와 다르면 송신측은 자신의 기본게이트웨이 주소(라우터 포트에 할당되어 있는 ip 주소)로 ARP Request Message를 송신한다. 그럼 수신한 라우터는 Ethernet Header를 떼서 안에있는 ip(알아내고자 하는 ip)를 확인 후 해당 포트로 라우팅되어 그 해당 포트에서 Ethernet Header를 붙인 후 알아내고자 하는 ip를 가진 host에 도착하게 된다. 그 후 목적지에서는 자신의 MAC Address를 ARP Reply Message에 실어 송신측에 송신하게 된다. (* Ethernet Header는 라우터를 거칠 때 마다 떼어지고 붙여지고 반복한다.)송신측에서는 도착한 ARP Reply Message를 열어 MAC address를 확인 후 테이블안에 저장해놓는다. 다음에 MAC주소를 불필요한 ARP를 하지 않고 알아내기 위해 테이블안에 저장해놓으며(만약 없으면 다시 ARP를 한다.) 저장된 List들은 일정 시간 흐른 후에도 그 해당 ip주소와 Ethernet에서 패킷이 오지 않으면 테이블안에서 그 항목을 삭제 한다.

 ② RARP : Reverse ARP로 ARP의 반대의 기능을 하는 protocol이다. ARP는 ip주소는 알지만 Ethernet address를 모를 때 사용하는 protocol인 반면 RARP는 자신의 Ethernet address을 RARP Request Message에 실어 Server에 송신하게 되면 Server에서는 수신받은 RARP Request Message를 열어 안에있는 Ethernet address를 확인 후 그에 해당하는 ip주소를 RARP Reply Message에 실어 송신측에 송신한다. RARP의 단점이 있는데 RARP는 ip주소외의 정보(기본 게이트웨이주소와 DNS 주소 정보)는 알려주지 않고, 라우터를 지나다닐 수 없다.

 ③ InvARP : InvARP는 위의 RARP와 마찬가지로 Ethernet address는 알지만 ip주소는 모를 때 사용하는 방법이다. 하지만 차이점이 있다면 RARP는 자신의 Ethernet address를 가지고 자신의 ip주소를 알아내는 방법이지만 이 InvARP는 상대방의 Ethernet address를 가지고 상대방의 ip주소를 알아내는 방법이다.

 ④ Gratuitous ARP : Gratuitous ARP는 자신의 ip와 중복되는 ip를 찾을 때 사용하는 프로토콜로 내부 망에서 자기 자신의 ip 주소로 ARP Request Message를 broadcast망으로 송신하면 내부 망에 있는 host들이 이 ARP Request Message를 수신하게 된다. 이때 수신 받은 host들은 자신의 ip주소와 같은지 다른지 확인 후 다르면 수신 받은 ARP Request Message를 버린다. 만약 host들 중에 같은 ip를 사용하는 host가 있으면 그 host에서 ARP Reply Message를 송신측에 송신하게 되고 송신측은 수신 받은 ARP Reply Message로 자신의 ip와 중복된 ip를 가진 host가 있는 것을 알 수 있다.

 

2. ARP 명령어 실행 실습

 arp -a 명령어는 사용 중인 컴퓨터에 저장되어있는 ARP테이블을 보여주는 기능을 하는 명령어 이다.

 

②  arp –d 명령어는 저장되어 있는 ARP테이블안에 있는 List를 삭제하는 기능을 하는 명령어이다 ex) arp-d 192.168.52.11

 

 ftp명령어: 삭제한 ip 192.168.52.11에 대한 MAC address 알아내기 위하여 ftp 192.168.52.11 명령어를 사용하였다. 여기서 사용된 ftp명령어는 File Transfer Protocol의 약자로서 입력하는 파일을 전송할 때 사용하는 프로토콜이다. CMD창에서 ftp명령어는 입력하는 ip주소를 가진 host와 연결을 하는데 이때 Request Message를 broadcast망으로 보내고 수신측은 Request Message를 수신하면 Reply Message에 MAC address를 실어 전송하게 된다. 이렇게 MAC address를 알아 내어 연결을 하면 192.168.52.11에 대한 MAC address를 ARP 테이블 안에 저장 시킨다.

 

arp/?를 이용하여 arp명령어가 arp-a, arp-d외에 다른 기능이 무엇이 있는지 확인하였다.

 

 

3. 실습실 내의 컴퓨터 간의 ARP 패킷 수집 실습

 

 ⦁ router를 거치지 않는 경우의 ARP 실습

 

 

ARP 테이블안에 있는 List들을 모두 삭제하는 명령어인 arp –d를 입력하고 테이블 안에 있는 정보들을 보여주는 arp –a를 사용하여 저장되어 있는 List들이 없는 것을 확인 하고 난 후 ftp 192.168.52.11에 접속을 하기 위해 ARP동작을 하여 ARP 테이블 안에 List가 추가 된 것을 확인 할 수 있다.

 

 

ftp 192.168.52.11 명령어를 실행 한 직후 wireshark에 수집되는 패킷들 중에서 filtering을 통하여 수집한 ARP Request Message이다. 이 패킷을 보면 Sender IP address란 항목에서 알 수 있듯이 이 항목은 송신하는 컴퓨터 즉 명령어를 실행한 컴퓨터의 ip주소이고 Sender MAC address는 송신하는 컴퓨터의 Ethernet address이다. 그리고 Target IP address항목에서 알 수 있듯이 ARP Request Message를 수신하는 컴퓨터 즉 상대방의 컴퓨터 ip주소이다. 그리고 Target IP address항목에서 알 수 있듯이 ARP Request Message를 수신하는 컴퓨터의 Ethernet address는 모르는 것을 알 수 있다.

 

  수신측에서 ARP Request Message를 수신한 후 송신측에 송신한 ARP Reply Message이다. 이 Reply Message에서 보면 Sender MAC Address, Sender IP address, Target MAC address, Target IP address 항목이 아까 ARP Request Message에 있던 항목과 다른 것을 알 수 있다. 이 Reply Message는 수신측이 송신측에게 자신의 Ethernet address를 보내기 위한 패킷인데 여기서 보면 Target MAC address와 Target IP address 항목이 아까 Request Message의 주소 정보와 같다는 것을 알 수 있다. 왜냐하면 이 Reply Message는 Request Message와는 반대로 수신측이 송신측에게 송신하는 패킷이기 때문이다. 그리고 Sender IP address는 자기 자신 즉, Request Message에서 Target IP address에 해당하는 정보가 들어있다. 그리고 Sender MAC address는 Request Message를 수신한 host에 대한 Ethernet address이다. 이렇게 내부 망 ip주소에 대하여 Ethernet address를 알 수 있다

 

 

 

4. 외부 server 접속 시의 ARP 패킷 수집 실습

 ⦁ router를 거치는 경우의 ARP 실습

 

arp –d 로 ARP 테이블을 삭제 후 arp –a명령어로 ARP 테이블안에 List가 없는 것을 확인 하였다. 그 후 ftp 명령어로 ftp.kaist.ac.kr에 연결 하여 Request와 Reply가 실행 되도록 한 후 ARP테이블에 List가 추가 된 것을 확인 하였다.

 

이 그림은 ipconfig/all명령어의 실행모습이다. 이 그림에서 알 수 있듯이 192.168.52.1이 기본 게이트웨이 주소 인 것을 알 수 있다. ARP 테이블에 ftp.kaist.ac.kr의 ip주소와 MAC address가 없고 기본게이트웨이 ip주소와 MAC address가 저장되어 있는 이유는 ftp.kaist.ac.kr은 외부 망 ip주소이기 때문에 송신측에서 Ethernet Header에 수신 받는 라우터포트에 할당된 ip주소를 넣어 라우터에서 라우팅 후 외부 망 ip주소에 할당되어 있는 라우터포트에서 Request Message를 송신하여 MAC address를 알아내기 때문에 송신측에서 보내는 Request는 라우터까지 가게 되고 라우터에서 Reply Message를 송신 한다. 그리고 이 Reply Message에 포함된 라우터포트에 해당되는 ip주소(기본 게이트웨이 주소)인 192.168.52.1에 대한 MAC address로 ARP 테이블에 저장시킨다.

 

위 그림은 외부 망인 ftp.kaist.ac.kr에 접속할 때 발생하는 ARP Request Message 패킷이다. 이 패킷을 보면 Sender IP address와 Sender MAC address는 해당 컴퓨터의 ip주소와 MAC address인 것을 알 수 있고,  Target IP address는 라우터포트에 할당되어 있는 ip주소로 기본게이트웨이 주소 인 것을 알 수 있다. 그리고 라우터포트의 MAC address는 모르기 때문에 Target MAC address는 비어 있다.

 

  위 그림은 위부 망인 ftp.kaist.ac.kr에 접속 할 때 발생하는 ARP Request Message에 대한 ARP Reply Message 패킷 이다. 이 패킷은 외부 망에 접속 할 때 발생하는 Request에 대한 Reply이기 때문에 라우터포트에서 라우터포트에 할당되어있는 ip에 대한 MAC address를 Reply에 실어 해당 컴퓨터로 송신 하여야 하기 때문에 Target IP address와 Target MAC address와 해당 컴퓨터의 ip와 MAC address의 정보이며 Sender IP address는 라우터포트에 할당되어 있는 ip 즉, 기본게이트웨이 주소이며 Sender MAC address는 라우터포트에 할당되어 있는 ip에 대한 MAC address이다.

 

 

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를 합친 방식으로 충돌할 경우도 낮추면서 전송효율도 높인 방법이다.

+ Recent posts