728x90


사무실 네트워크인 이더넷이 어떻게 동작하는지에 대해서 설명한 자료입니다.

네트워크 지식을 쌓은 좋은 방법은 헤더구조를 파악하고 어떻게 동작하는지를 이해하는 것입니다.

제가 많은 책을 보면서 깨달은 습득한 노하우라면 노하우입니다.

외우려고 하지 마시고 원리를 이해하시면 나중에 응용력이 생겨서 실무에서 많은 도움이 되실 것입니다. 

 

ㅇ 개요
IP주소체계는 가상 네트워크의 모양을 만들도록 설계된 논리적 주소 체계이다.
물리적 네트워크에서 IP 데이터그램을 실제로 전송하려면 IP 데이터그램을 데이터 링크계층 프레임으로 Encapsulation해야 한다.
이더넷이나 토큰링과 같은 데이터링크 계층 프레임은 그 frame의 일부로 하드웨어 주소를 요구한다.
하드웨어주소와 IP주소를 연계시키는데 필요한 프로토콜을 ARP (Address Resolution Protocol)라 한다. 

 

ㅇ 동작원리

  • 기반 물리네트워크가 broadcast를 지원한다는 것이다.(이더넷, 토큰링, FDDI, ARCnet와 같은 LAN)


 
①    ARP모듈은 ARP요청을 보내기 전에 ARP 캐시 테이블(RAM에 보관됨)에서 목적지 하드웨어주소(MAC주소) 가 있는지 검사한다.
  • ARP캐시 테이블에서 목적지 IP주소가 발견되면 
  • 해당 하드웨어 주소를 조사하고, 그것을 ARP모듈에 되돌려 준다.
  • ARP모듈은 요청을 한 네트워크 드라이버에 하드웨어주소를 되돌려주어서 대상 노드의 하드웨어주소를 알아낸다.
  • 이때 네트워크 드라이버는 목적지 하드웨어주소와 IP 데이터그램이 들어있는 데이터링크 계층 프레임을 송신한다.
  • ARP캐시 테이블에서 목적지 IP주소가 발견되지 않으면 ARP모듈이 ARP요청이 들어있는 데이터링크 계층 프레임을 생성하여 대상 노드의 하드웨어 주소를 알아낸다.
    • 목적지가 지역 네트워크인가? -> 송신자 호스트는 목적지의 하드웨어 주소를 알아야 한다.
    • 목적지가 원격 네트워크인가? -> 송신자 호스트는 IP 데이터그램을 발송할 라우터 포트의 하드웨어 주소를 알아내야 한다.
②    Host A는 네트워크에서 ARP 요청 프레임이라는 MAC 동보전송 프레임(송신자 호스트A의 IP Address 및 MAC주소와 목적지 IP Address 포함)을 보낸다.
③    동보전송 프레임을 수신하는 모든 다른 노드는 그 IP주소를 ARP request의 IP주소와 비교한다.
 


④    ARP request frame에 요청한 것과 같은 IP주소를 가진 호스트만 응답한다.
 




⑤    호스트 A는 ARP응답에 포함된 대답으로 ARP Cache Table을 초기화한다.
  • ARP 캐시항목은 일부 TCP/IP 구현에서 구성할 수 있는 특정기간이 지난 후에 시간 종료한다.
  • 대체로 ARP 캐시 종료시간은 15분이다.
  • ARP 캐시항목이 특정 호스트에 대한 시간 종료하고 나면, 호스트의 하드웨어 주소를 발견하기 위해 ARP요청 프레임을 다시 보낸다.

 

ㅇ  패킷구조
 


  •  하드웨어 종류 필드값은 HLen 필드의 설정을 제어한다.
  • 프로토콜 종류는 해당 하드웨어 주소로 제공되는 상위계층 프로토콜 주소이다.
    프로토콜 종류값은 EtherType 값과 같다.
    IP프로토콜의 경우, 16진수로 800인 값이 프로토콜 종류 필드에 사용된다.
  • HLen 필드는 옥텟 단위로 본 하드웨어 주소의 길이이다. 이 필드는 길이가 1옥텟이다. 이더넷 네트워크의 경우 8로 설정된다.
  • PLen필드는 옥텟단위로 본 프로토콜 주소의 길이이다. 이 필드는 길이가 1옥텟이다. PLen필드값은 프로토콜 종류 필드의 값으로 제어된다.
  • 프로토콜 종류가 16진수로 800이면, 그것은 IP주소가 4옥텟인 IP프로토콜을 나타낸다. 따라서 PLen값은 IP 네트워크의 경우 4로 설정된다.
  • 작동 필드는 길이가 2옥텟이며 패킷이 ARP요청을 가지고 있는지 또는 ARP응답을 가지고 있는지를 나타낸다.
  • 송신자 HA 필드는 ARP 요청을 보낸 노드의 하드웨어 주소를 포함하고 있다. 송신자는 하드웨어 주소를 네트워크 기판에서 읽고 알아내며 이 필드를 네트워크 기판의 하드웨어 주소로 채운다.
  • 송신자 IP 주소는 ARP 요청을 보내는 노드의 IP 주소를 포함하고 있다. 송신자는 IP 주소를 네트워크 구성정보가 들어 있는 구성 파일 또는 메모리 캐시에서 알아낸다.
  • 대상 HA 필드는 대상의 하드웨어 주소이다. 이 값은 ARP 요청의 송신자는 모르고 있다. 그것은 ARP 요청 송신자가 결정해야 하는 값이다. 이 필드는 대개 모두 0이나 1로 설정된다.
  • 대상 IP주소 필드는 하드웨어 주소가 결정된 노드의 IP주소를 포함하고 있다.

ㅇ MAC Address 획득방법


네트웍이 커짐에 따라 이에 여러 종류의 프로토콜이 사용된다. 이들 프로토콜은 각기 고유의 데이터링크(Layer 2) 계층을 가지고 있다. 

  • Hello Protocol
    네트웍 상에 있는 디바이스들은 이 프로토콜을 이용, 서로간에 자기 존재를 알리고 확인하며 상대의 MAC 어드레스를 보관한다.
    어느 한 호스트가 특정 목적지에 데이터를 보내고자 할 때 만약 그 디바이스로부터 Hello 패킷을 받지 않았다면, 그 목적지에 도달하기 위해서는 반드시 라우터를 경유해야 한다고 판단하여 프레임을 라우터로 보낸다.
  • Predictable MAC Address(예측가능한 MAC 주소)
    네트웤 계층에서 MAC 어드레스를 네트웍 어드레스에 포함시키거나, 그 어드레스를 연관시키기 위한 특정 알고리즘을 사용한다.
  • WAN 사용시
    Point-to-Point WAN 환경에서는 데이터 링크 어드레스가 요구되지 않는다. 멀티 액세스 WAN 환경에서 Originating Device는 반드시 목적지의 데이터링크 Address를 명시하여야 한다.

 

도움이 되셨다면 댓글이나 공감 부탁드립니다. 꾸벅~


블로그 이미지

Link2Me

,