병훈's Blog

[CCNA] Ethernet LAN Switching 본문

자격증/CCNA

[CCNA] Ethernet LAN Switching

thdqudgns 2024. 4. 13. 18:41

https://www.youtube.com/playlist?list=PLxbwE86jKRgMpuZuLBivzlM8s2Dk5lXBQ

 

Free CCNA 200-301 | Complete Course 2023

A free and complete CCNA course covering everything you need to pass the latest version of the CCNA exam (exam code 200-301). There's no better way to start ...

www.youtube.com

 

Ethernet에는 OSI의 1,2 계층이 포함된다.

 

Preamble

  • 7 bytes (56 bits)
  • 1과 0이 교대로 나열되어 있음
  • 10101010 * 7
  • 수신 장치의 클락을 동기화하여 프레임의 나머지 부분과 내부 데이터를 수신할 준비가 되어있는지 확인함

SFD

  • Start Frame Delimiter: 시작 프레임 구분 기호
  • 1 byte (8 bits)
  • 10101011
  • Preamble의 끝과 나머지 프레임의 시작을 알린다.

+ Preamble과 SFD는 이더넷 프레임과 함께 전달되지만, 이더넷 헤더로 취급하지 않는다.
따라서 이더넷 헤더는 Destination, Source, Type으로 구성된다.

Preamble과 SFD를 제외한 '이더넷 헤더 + 이더넷 트레일러'의 길이는 18 bytes이다.

 

Destination & Source

  • 프레임을 보내고 받는 장치를 나타낸다.
  • 이더넷에서 사용되는 주소는 목적지이자 출처인 MAC 주소다.
  • MAC = Media Access Control = 6 bytes (48 bits)

Type / Length

  • 2 bytes (16 bits)
  • 캡슐화된 패킷의 유형이나 길이를 나타내는 데 사용한다.
  • 필드의 값이 1500(bytes) 이하이면 캡슐화된 패킷의 길이(bytes)를 나타낸다.
  • 필드의 값이 1536 이상이면 캡슐화 된 패킷의 유형을 나타낸다. 일반적으로 IPv4, IPv6이며 길이는 다른 방법으로 결정된다.

FCS (Ethernet trailer)

  • Frame Check Sequence
  • 4 bytes (32 bits)
  • 수신된 데이터에 CRC(순환 중복 검사) 알고리즘을 실행하여 손상된 데이터를 감지한다.
  • CRC: Cyclic Redundancy Check

Packet

  • 이더넷 프레임의 최소 크기는 64 bytes 이다. (Preamble과 SFD 제외)
  • 여기서 헤더와 트레일러의 크기인 18 bytes를 빼면 46 bytes가 남고, 이는 Payload(Packet)의 최소 크기를 뜻한다.
  • 만일 Payload가 46 bytes 보다 작으면 padding byte가 추가되며, 이는 모두 0이다.

MAC Address

  • 6 bytes (48 bits)
  • MAC 주소는 장치가 만들어질 때 할당되는 고유한 주소다.
  • Burned-In Address
  • MAC의 처음 3 byte는 조직의 고유 식별자를 나타내는 OUI이며 장치를 만드는 회사에 할당된다.
  • 후반부 3 byte는 장치 자체에 고유하다.
  • MAC 주소는 12자리 16진수 문자로 작성한다.

(*OUI: Organizationally Unique Identifier)

 

같은 네트워크 안에서 MAC 주소로 데이터를 주고받는 과정

PC1, 2, 3이 있고, 각각 MAC 주소가 있으며, PC 사이에 SW1로 데이터를 주고받는다.

PC1에서 PC2로 데이터를 전송하고, PC2에서 PC1으로 데이터를 전송하는 것을 보자.

 

  1. PC1에서 'Source는 PC1의 MAC 주소이고, Destination은 PC2의 MAC 주소인 프레임'이 NIC를 통해 외부로 나온다. 
  2. 이 프레임은 SW1에 도착하고, SW1은 MAC 주소 테이블에 '어떤 인터페이스에 어떤 MAC이 연결'되어 있는지 기록한다. 이렇게 스위치가 데이터 요청에 의해 자동적으로 기록하는 것을 Dynamic(동적)으로 기록한다고 한다.
  3. 그 후에 데이터를 전송하기 위해 프레임에 기록된 목적지를 확인한다. 그리고 MAC 주소 테이블을 확인한다. 지금 상황에는 MAC 주소가 '.0002'인 인터페이스 데이터가 없다.
  4. 프레임의 목적지 MAC 주소는 '.0002' 이지만 정확한 경로를 모른다. 이를 "Unknown Unicast frame"이라 부른다. 경로를 특정할 수 없기에, 데이터가 들어온 포트를 제외하고 연결된 모든 포트에 프레임을 전달하는 FLOOD를 할 수 밖에 없다. 브로드캐스트다.
  5. PC3의 MAC 주소는 '.0003'이다. 자신에게 온 프레임이 아니므로 무시한다.
  6. PC2는 자신에게 온 프레임인 것을 확인하고 수신한다.

 

PC2에서 PC1으로 데이터를 보내는 것을 보자.

 

  1. 이제 프레임의 Source와 Destination이 반대로 된다. 출처가 PC2이고, 목적지가 PC1이 된다.
  2. 이 프레임은 PC2의 NIC 외부로 나와 SW1로 전송된다.
  3. SW1은 F0/2를 통해 MAC 주소가 '.0002' 인 프레임을 수신하였으므로 MAC 주소 테이블Dynamic하게 이를 기록한다.
  4. 그리고 목적지를 확인한다. MAC 주소 테이블에 목적지인 '.0001'과 관련된 데이터가 있으므로, 이 프레임을 어디로 전송해야 하는지 알고 있다. 이 프레임을 "Known Unicast frame"이라 부르고, 목적지로 유니캐스트한다. 이를 Forward라 부른다. 다른 곳으로 전송할 필요 없이 한 곳에만 전송하면 된다.
  5. 프레임은 PC1으로 전송되고, PC1은 이를 수신한다.

 

 

MAC 주소 테이블에 기록된 Dynamic MAC 주소는 5분 동안 사용되지 않으면 삭제된다.

 


 

실제로 데이터를 다른 장치로 보낼 때 MAC 주소만 포함되는 것이 아니다. IP도 있다.

 

PC1이 PC3에 데이터를 전송하려는 경우

  • 출처 IP 주소는 본인 PC이므로 알고있다.
  • 목적지의 IP 주소는 DNS를 통해서 알게 된다.
  • 출처 MAC 주소는 본인 PC이므로 알고있다.
  • 목적지 MAC 주소는 아직 모른다.

따라서 PC1은 PC3로 이더넷 프레임을 보내기 위해 PC3의 MAC 주소를 스스로 찾아내야 한다.
스위치는 L2 장치이며, L3에서 작동하지 않으므로 IP 주소가 아닌 MAC 주소를 사용해야 한다.

ARP를 사용하면 된다.

 

ARP

  • Address Resolution Protocol: 주소 확인 프로토콜
  • 알고 있는 IP 주소의 MAC 주소를 검색하는데 사용된다.
  • ARP 과정은 두 가지 메세지로 구성된다.
    • ARP Request: 다른 장치의 MAC 주소를 알고 싶어하는 장치가 보낸 ARP 요청
    • ARP Reply: 요청한 장치에 MAC 주소를 알려주는 ARP 응답
  • ARP Request는 broadcast다. = 네트워크의 모든 호스트에 전송된다.
  • ARP Reply는 unicast다 = 하나의 호스트에만 전송한다.

ARP 요청과 응답은 위에 MAC 주소를 알고 있을 때 데이터를 송수신하는 과정과 동일하다.

목적지 IP를 찾아갈 때 브로드캐스트를 하며 도달하고, 도달한 후에는 목적 IP의 MAC을 알게 된다.

알게된 MAC 주소를 다시 ARP 응답으로 요청했던 PC에 알려준다.

이때는 필요한 주소 정보가 MAC 주소 테이블에 기록되어 있으므로 유니캐스트를 할 수 있다.

 

 

이더넷 프레임을 전송하기 전에, MAC 주소를 알아야 하기에 ARP Request가 먼저 수행된다.

목적지 MAC을 보면 FFFF.FFFF.FFFF로 되어있다. 이는 브로드캐스트 MAC 주소다.

 

 

OS에 상관없이 "arp -a" 명령어를 사용하면 ARP 테이블을 확인할 수 있다.

테이블의 컬럼은 IP 주소, MAC 주소, Type이다.

 


ping

  • ping은 컴퓨터가 서로 연결할 수 있는지 테스트하는 데 사용되는 유용한 네트워크 도구다.
  • 네트워크 왕복 시간을 측정한다.
  • 두 가지 메세지로 구성된다.
    • ICMP Echo Request
    • ICMP Echo Reply
  • ARP 요청 응답과 유사하다. 그러나 PC는 ICMP Echo Request을 유니캐스트한다.
  • 따라서 목적지의 MAC 주소를 알아야 하므로 ARP를 먼저 수행한다.
  • 명령어: ping [IP주소]

 

ping을 사용한 패킷을 캡쳐하면, ARP를 먼저 수행한 후에 ICMP를 수행하는 것을 볼 수 있다.

그 후에는 4개의 ICMP 요청과 응답 쌍이 있다.


Cisco 장비의 MAC 주소 테이블

 

명령어: show mac address-table

구성: VLAN, MAC 주소, Type, 포트

 

MAC 주소 테이블의 데이터를 지우는 방법

  1. clear mac address-table dynamic
  2. clear mac address-table dynamic address [MAC주소]
  3. clear mac address-table dynamic interface [인터페이스 포트]

 

 

 

 

 

728x90
728x90

'자격증 > CCNA' 카테고리의 다른 글

[CCNA] Switch Interfaces  (0) 2024.05.13
[CCNA] IPv4 Addressing  (0) 2024.04.13
[CCNA] Intro to the CLI  (1) 2024.03.25
[CCNA] 자주 봐야 하는 정보 (Always updating..)  (0) 2024.03.25
[CCNA] OSI Model & TCP/IP Suite  (0) 2024.03.03