| 리포트 | 기술문서 | 테크-블로그 | 원샷 갤러리 | 네트워크/통신 뉴스 | 기술자료실 | 자유게시판      한국 ICT 기업 총람 |

제품 검색

|

통신 방송 통계

 
 
 
섹션 5G 4G LTE C-RAN/Fronthaul Gigabit Internet IPTV/UHD IoT SDN/NFV Wi-Fi Video Streaming KT SK Telecom LG U+ OTT Network Protocol CDN YouTube Data Center
 
Private 5G | Edge 넷매니아즈 Private 5G 분석글 KT SK Telecom Verizon AT&T Vodafone DT Telefonica China Mobile Optage

NEC

Fujitsu Microsoft AWS    
  Ericsson Nokia Huawei Samsung Mavenir Affirmed Metaswitch Athonet Altiostar Airspan Kyocera Apresia   일본 Local 5G 전개 현황
 
스폰서채널 |

 

  스폰서채널 서비스란?
banner
banner
3편: L3 스위치의 Ethernet 스위칭 과정
Part 3: L3 Switch Ethernet Switching Process
June 19, 2012 | By 유창모 (cmyoo@netmanias.com)
banner
코멘트 (10)
22

지난 시간에는 라우터의 IP 라우팅 과정에 대해서 알아보았는데요.

오늘과 다음 시간에는 L3 스위치에서의 Ethernet 스위칭(L2 bridging) 및 IP 라우팅(IP forwarding) 과정에 대해서 설명을 드리겠습니다. 설명에 앞서 용어 정리부터 해보겠습니다.
  • IP Router: IP 패킷의 목적지 주소(Destination IP address) 기반으로 패킷을 전달하는 장비이며, 일반적으로 Router는 Ethernet 뿐만 아니라 SONET/SDH(POS), ATM, Serial 등과 같은 다양한 인터페이스(포트) 타입을 제공합니다. 보통 L3 장비라 부릅니다 (L3 = IP).
  • Ethernet Switch: Ethernet 패킷의 목적지 주소(Destination MAC address) 기반으로 패킷을 전달하는 장비이며, Ethernet이라는 하나의 포트 타입만 제공합니다. 보통 L2 장비라 부릅니다 (L2 = Ethernet).
  • L3 Switch: 수신된 Ethernet 패킷의 목적지 주소(Destination MAC address)에 따라 (1) IP 포워딩(Destination IP 주소 기반으로 패킷 전달) 혹은 (2) Ethernet 스위칭(Destination MAC 주소 기반으로 패킷 전달)을 하는 장비이며, Ethernet이라는 하나의 포트 타입만 제공합니다. 보통 L2/L3 장비 혹은 Multi-Layer Switch라 부릅니다 (L2 = Ethernet, L3 = IP).
  • 정리하면 L3 Switch는 Ethernet Switch와 IP Router가 하나로 통합한 장비로 생각하시면 될 듯 합니다.
Juniper의 경우 M/T series가 IP Router에 해당이 되고, EX series가 L3 Switch에 해당됩니다.
 
Network Topology
 
지난 시간과 비슷한 Topology이지만 그 구성이 좀 다릅니다. 
  • SVR1, SVR2, SVR3는 R1의 ge1/1, ge1/2, ge2/1 포트에 각각 연결되어 있고, R1 입장에서 ge1/1, ge1/2, ge2/1 포트는 VLAN 10(동일 Bridge Domain)에 속해 있으며 이 VLAN 10에는 IP 주소 1.1.1.1/24와 MAC 주소 a1이 할당되어 있습니다.
  • SVR4, SVR5, SVR6은 R1의 ge1/3, ge2/2, ge2/3 포트에 각각 연결되어 있고, R1 입장에서 ge1/3, ge2/2, ge2/3 포트는 VLAN 20에 속해 있으며 이 VLAN 20에는 IP 주소 2.1.1.1/24와 MAC 주소 a2가 할당되어 있습니다.
  • 그래서 동일 VLAN에 속한 SVR1과 SVR3간에는 Ethernet Switching에 의해 서로 통신이 되고, 서로 다른 VLAN에 속한 SVR1과 SVR4간에는 IP Routing에 의해 통신이 됩니다.
  • 이와 같은 특성의 인터페이스(하나의 포트/인터페이스가 Switching과 Routing을 동시에 지원)를 Cisco에서는 SVI(Switch Virtual Interface)라 부르고, Juniper에서는 RVI(Routed VLAN Interface)라 부릅니다.
 

 

 

위 그림의 L3 스위치 구조를 보시면 지난 시간의 Router 구조와 달리 Control Module과 Line Card에 VLAN Table 및 MAC Table이 존재하며, 이는 동일 VLAN에 속한 포트간에 Ethernet Switching을 하기 위해 필요한 테이블입니다.

 

1. Ethernet Switching

 

1.1 서버 SVR1에서 SVR3으로 패킷 전달 - Unknown MAC (Flooding)

 

 

SVR1에서 목적지 1.1.1.30으로 패킷을 보내려 합니다. (Ping이라 가정하겠습니다.)

SVR1의 Routing Table lookup 결과, 목적지 주소 1.1.1.30은 SVR1(1.1.1.10)과 동일 네트워크에 위치한 주소입니다.

SVR1의 ARP Table lookup 결과, 목적지 주소 1.1.1.30의 MAC 주소는 m3입니다. (설명을 간략하게 하려고 - 그래도 매우 복잡하긴 합니다만 - SVR1의 ARP Table에 해당 엔트리가 이미 있다고 가정함)

SVR1은 목적지 주소 1.1.1.30으로 패킷을 송신합니다. 패킷 구성은 다음과 같습니다.

     [Ethernet Header] Destination MAC 주소 = m3(SVR3의 MAC 주소), Source MAC 주소 = m1(SVR1의 MAC 주소)

     [IP Header] Destination IP 주소 = 1.1.1.30(SVR3의 IP 주소), Source IP 주소 = 1.1.1.10(SVR1의 IP 주소)

ge1/1 포트로 패킷을 수신한 R1의 Line Card #1은 이 패킷을 잠시 Ingress Packet Buffer에 저장합니다. 

 

Source MAC Learning

 이제 수신 패킷의 Source MAC 주소를 learning할 차례입니다. 그래서 Line Card #1의 Packet Processor는 수신된 패킷의 Source MAC 주소인 m1이 자신의 MAC Table에 등록되어 있는지 확인합니다. 이 경우 등록되어 있지 않습니다.

 따라서 Packet Processor는 Source MAC Learning Event(VLAN=10, Source MAC=m1, Port=ge1/1)를 Control Module로 보냅니다.

 본 Event를 수신한 Control Module은 자신의 MAC Table에 그 값(VLAN 10에 속한 ge1/1 포트에 Source MAC 주소 m1이 존재함)을 기록합니다(Source MAC learning을 합니다).

 이제 Control Module은 learning한 MAC 정보를 Line Card에 전달해야 하는데, 이 때 모든 Line Card가 해당 MAC 정보를 필요로 하지는 않습니다. 동일 VLAN을 소유한 Line Card들만 그 정보를 공유하면 됩니다. 따라서 Control Module은 VLAN Table을 참조하여 VLAN 10에 속한 포트가 ge1/1, ge1/2, ge2/1이므로 VLAN 10을 소유한 Line Card가 #1과 #2임을 알게 됩니다. VLAN Table은 CLI를 통해 각 Port에 VLAN 값을 할당할 때 그 엔트리가 생성됩니다.

 Control Module은 MAC 정보(VLAN=10, Source MAC=m1, Port=ge1/1)를 Line Card #1, #2로 전달하여 MAC Table에  그 값을 저장하게 합니다(Source MAC learning을 하도록 합니다).

 

IP Routing or Ethernet Switching

 그런 후 이 패킷을 IP routing 시킬 것인가(FIB lookup을 통해 패킷 전달), Ethernet switching 시킬 것인가(MAC Table lookup을 통해 패킷 전달)를 결정하기 위해 수신된 패킷의 Destination MAC 주소를 참조합니다. 

수신된 패킷의 Destination MAC 주소가 

  • L3 스위치 R1의 MAC 주소, 즉 a1이면 이 패킷은 IP routing 시키고,
  • L3 스위치 R1의 MAC 주소가 아니면 Ethernet switching 시킵니다.
이 경우 Destination MAC 주소가 m3이므로 R1은 이 패킷을 Ethernet switching 시킵니다.

 

Ethernet Switching based on Destination MAC

이제 Ethernet Switching(패킷 전달)을 할 차례입니다. 따라서 Line Card #1의 Packet Processor는 수신된 패킷의 Destination MAC 주소 m3가 자신의 MAC Table에 있는지 검사합니다. 이 경우 없습니다.

Ethernet의 경우 MAC Table에 해당 엔트리(Destination MAC 정보)가 없으면 동일 VLAN에 속한 포트 중에 수신된 포트를 제외한 나머지 모든 포트로 패킷을 Flooding 합니다. 따라서 Packet Processor는 VLAN Table을 참조하여 수신 포트를 제외한 ge1/2와 ge2/1로 패킷을 Flooding 해야 함을 알게 됩니다.

 Line Card #1의 Packet Processor는 동일 Line Card내의 포트인 ge1/2로 패킷을 전달하기 위해 Ingress Packet Buffer에 있는 패킷을 Egress Packet Buffer로 옮기고, 다른 Line Card의 포트인 ge2/1로 패킷을 전달하기 위해 Switching Fabric을 거쳐 Line Card #2의 Egress Packet Buffer로 패킷을 전달합니다.

이제 QoS 정책에 따라 그 패킷은 지금 즉시 혹은 조금 늦게 ge1/2와 ge2/1로 Flooding 되어 SVR2와 SVR3가 그 패킷을 수신하게 됩니다.

 
1.2 서버 SVR3에서 SVR1으로 패킷 전달 - Known MAC (Unicasting)
 

 

SVR2와 SVR3가 패킷을 수신하며, Destination MAC 주소가 m3이므로 SVR2는 이 패킷을 버립니다(자신의 MAC 주소가 아니므로). 그리고 SVR3는 그 응답(Ping에 대한 응답)으로 목적지 주소 1.1.1.10으로 패킷을 전달합니다(이 경우도 역시 SVR3가 SVR1의 MAC 주소 m1을 알고 있다고 가정하겠습니다). 패킷의 구성은 다음과 같습니다.

     [Ethernet Header] Destination MAC 주소 = m1(SVR1의 MAC 주소), Source MAC 주소 = m3(SVR3의 MAC 주소)

     [IP Header] Destination IP 주소 = 1.1.1.10(SVR1의 IP 주소), Source IP 주소 = 1.1.1.30(SVR3의 IP 주소)

Line Card #2의 Packet Processor는 수신 패킷을 잠시 Ingress Packet Buffer에 저장합니다.
 Source MAC 주소를 확인하였더니 자신의 MAC Table에 없는 주소입니다.
 따라서 Control Module로 "Source MAC 주소를 배웁시다"라는 Event를 전달합니다.
 Control Module은 수신한 Event를 기반으로 자신의 MAC Table에 그 값(VLAN=10, Source MAC=m3, Port=ge2/1)을 기록합니다.
 그런 후 VLAN Table을 참조하여 MAC 정보를 어느 Line Card로 전달해야 하는지 확인 후에
 Line Card #1, #2로 MAC 정보를 전달하여 MAC Table에 쓰게 합니다.
 Packet Processor는 Destination MAC 주소를 확인하였더니 L3 스위치 R1의 MAC 주소 a1이 아닙니다. 따라서 Ethernet Switching 시킬 패킷입니다. 
이제 Packet Processor는 수신된 패킷의 Destination MAC 주소 m1이 자신의 MAC Table에 있는지 확인합니다. 이 경우 있습니다. MAC Table에는 MAC 주소 m1의 포트는 ge1/1으로 기록되어 있습니다.
따라서 Packet Processor는 이 패킷을 Switching Fabric을 통해 Line Card #1으로 전달하고, Line Card #1의 Packet Processor는 이 패킷을 Egress Packet Buffer에 저장합니다.
 QoS 정책에 따라 이 패킷은 지금 즉시 혹은 조금 늦게 ge1/1로 전달(MAC Table에 매치되어 하나의 포트로 나가는 경우를 Unicasting이라 함)되고, SVR1이 패킷을 수신하게 됩니다.
 
이와 같은 과정을 통해 SVR1과 SVR3은 L3 스위치의 Ethernet Switching 과정을 통해 서로 통신하게 됩니다.
 
다음 시간에는 서버 SVR1에서 SVR4로의 패킷 전달 과정 즉, L3 스위치에서의 IP 포워딩 과정을 설명 드리도록 하겠습니다.

 

김현규 2012-06-19 13:21:45
좋은 설명 감사합니다.
장재호 2012-08-27 14:25:48
쉽고 명쾌한 예시를 통한 설명이 너무 좋습니다.
다시 한번 개념 정리를 하는데 많은 도움이 되었습니다.
궁금이 2012-10-19 14:22:03
잘~배웠습니다.
네트워크 앞잡이 2014-12-02 10:45:16

설명 정말 잘 보았습니다.

 

 

질문이 있는데요.

질문1.

R1에 연결된 SVR들이 모두 VLAN10이나 어느 VLAN에 속하지 않는다해도

같은 네트워크에 속할 수 있나요?

그래야만 Ehternet Swithching이 가능할 것이라 생각하는데..

 

VLAN으로만 같은 네트워크 임을 알 수 있나요??

 

 

 

김재성 2015-07-09 10:34:59

잘 배우고 갑니다.

한가지 궁금한 것이 있어 문의 드립니다.

router에 특정 대역은 어느 port로 연동된다고 설정을 해놓을 수 있는 것 같은데요. (VLAN table 처럼)

만약 지정되지 않은 쪽에서 MAC learning이 일어나는 경우는 어떻게 될까요?

예를 들면, ge1이 1.1.x.x 대역에 대한 연동 port로 설정되어 있는데, 1.1.1.3이란 IP packet이 뜬금없이 ge2로부터 들어오게 되면 MAC learning에 의해서 이후 목적지 1.1.1.3 주소에 대한 packet 전달 시 ge2가 연동 port로 설정되나요?

아니면 이런 경우는 network의 꼬임으로 인해서 오류 처리가 되는 것인가요?

아니면 우선순위(이런 의미가 맞는지 모르겠지만)에 따라 설정된 ge1 port로 목적지 1.1.1.3 주소의 packet이 전달되게 되나요?

버너 2015-07-15 12:57:02

제가 직접 라우터를 다루지는 않지만, 라우터는 L3 계층인 IP 계위 이상에서 패킷을 송수신하는 장비이기 때문에 

L2 스위치처럼 MAC Learing에 따라 패킷 전달 방향이 오락가락 하지는 않습니다.

실제로 라우터에 "발신 IP  제한"을 걸어 놓으면 수신 패킷의 발신지 IP가 사전 등록한 IP가 아닌 한 라우터는

모두 패킷을 버립니다. 

L2 스위치의 경우에는 MAC 필터링이라는 기능이 "발신 IP 제한" 대신에 있고, 이 경우에는 IP는 보지 않고

포트에 사전 등록하지 않은 MAC 을 발신 MAC으로 달고 오는 패킷은 모두 버립니다. 

김재성 2015-07-18 15:58:56

답변 감사합니다~

횬횬 2016-02-16 14:44:06

위에 말씀하신대로면 라우터는 Vlan Table은 따로 없는건가용?

심후엽 2016-12-25 16:41:51

글 올리신지 꽤 되셨지만 늦게나마 이 글을 보고 질문이 생겼습니다~~

1.1.1.30 server3로 패킷을 전송하려고 할 때 svr3의 mac 주소가 m3이라는걸 svr1이 기존에 알고 있었다 라고 가정하셨다고 했는데

그렇다면 m3인걸 몰랐다면 어떤 과정이 추가되는지 궁금합니다.

그걸 알아내기 위해 ARP request를 브로드캐스팅 하나요? 브로드캐스팅을 하면 svr3가 그에 대한 응답을 했을거고 그러면 사이에

위치한 l3 스위치는 벌써 source learning을 하면서 mac table을 추가했겠네요?

chofox78 2017-06-29 11:49:13

좋은글 감사합니다.

Thank you for visiting Netmanias! Please leave your comment if you have a question or suggestion.
banner
View All (995)
5G (75) AI (5) ALTO (1) AR (2) ARP (6) AT&T (1) Akamai (5) Authentication (5) BT (1) Backhaul (2) Big Data (2) Bridging (5) C-RAN/Fronthaul (17) CDN (20) CIoT (2) CPRI (6) Carrier Aggregation (5) Charging (2) China Mobile (2) Cisco (6) CoMP (3) Comcast (1) DHCP (6) DNS (15) Data Center (15) EDGE (14) EMM (1) EPS Bearer (7) Ethernet (3) FTTH (8) GSLB (5) Gigabit Internet (17) Google (17) Google Global Cache (8) Google TV (1) HLS (5) HTTP (5) HTTP Adaptive Streaming (7) HTTP Progressive Download (2) Handover (5) Huawei (1) IGMP (3) IP (6) IP Allocation (8) IP Routing (20) IPSec (4) IPTV (25) IoST (2) IoT (50) KT (45) Korea (8) Korea ICT Vendor (1) L3 Switch (5) LG U+ (24) LTE (99) LTE-A (10) LTE-A Pro (1) LTE-M (1) LTE-U (3) LoRa (5) MEC (14) MPLS (3) MWC 2013 (1) MWC 2015 (3) MWC 2016 (2) MWC 2017 (1) Mobile IPTV (1) Multi-Screen (1) Multicast (2) NAT (9) NB-IoT (6) NTT Docomo (1) Netflix (5) Network Protocol (49) Network Slicing (3) OSPF (3) OTT (20) Operator CDN (1) P2P (3) PS-LTE (3) Pooq (2) Private 5G (1) QoS (5) RCS (1) RRH (1) Request Routing (3) SD-WAN (8) SDN/NFV (37) SK Broadband (1) SK Telecom (38) Samsung (2) Security (8) Self-Driving (3) Shortest Path Tree (2) Small Cell (3) Spectrum Sharing (1) TAU (2) Transparent Caching (9) UHD (7) VLAN (2) VPN (3) VR (3) Video Streaming (22) VoLTE (1) VoWiFi (1) WAN Optimization (1) Wi-Fi (30) WiBro(WiMAX) (2) YouTube (16) eICIC (1) eMBMS (1) ePDG (6) u+ tv G (4) 로컬 5G (1)

 

 

     
         
     

 

     
     

넷매니아즈 회원 가입 하기

2020년 1월 현재 넷매니아즈 회원은 49,000+분입니다.

 

넷매니아즈 회원 가입을 하시면,

► 넷매니아즈 신규 컨텐츠 발행 소식 등의 정보를

   이메일 뉴스레터로 발송해드립니다.

► 넷매니아즈의 모든 컨텐츠를 pdf 파일로 다운로드

   받으실 수 있습니다. 

     
     

 

     
         
     

 

 

비밀번호 확인
코멘트 작성시 등록하신 비밀번호를 입력하여주세요.
비밀번호