Layer 2 Switch vs Router
Switch의 4대 기능
Learning
- Source MAC Address를 기반으로 MAC 주소 테이블을 만드는 기능
- 1번 포트로 들어온 프레임의 Source MAC Address가 AA:AA:AA:AA:AA:AA일 경우 1번 포트에 MAC Address가 AA:AA:AA:AA:AA:AA인 장비가 연결되어 있는 것을 알고 1번 포트에 MAC Address가 AA:AA:AA:AA:AA:AA인 장치를 MAC 주소 테이블에 등록
Forwarding
- 생성된 MAC 주소 테이블을 기반으로 Destination MAC Address가 연결되어 있는 포트로 프레임을 전달하는 기능
- 위에서 1번 포트에 AA:AA:AA:AA:AA:AA인 장비가 연결되어 있다는 것을 학습하고 해당 장치의 맥 어드레스와 포트 번호가 MAC 주소 테이블에 등록된 상태에서 도착지 MAC 주소가 AA:AA:AA:AA:AA:AA인 프레임이 인입될 경우 1번 포트가 AA:AA:AA:AA:AA:AA인 MAC 어드레스와 연결되어 있는 것을 MAC 주소 테이블을 보고 알 수 있으므로 1번 포트로만 프레임을 포워딩
Filtering
- Frame이 유입된 포트로 다시 Frame을 전송하지 않는 기능
- Frame을 포워딩할 때, 다른 포트로는 해당 Frame을 전송하지 않는 기능
Flooding
- MAC 주소 테이블에 등록되지 않은 Destination MAC 주소를 가진 Frame을 모든 포트로 전송하는 기능
Router 동작
- 라우터는 L2 헤더의 도착지 맥 주소가 자신의 인터페이스의 맥 주소와 동일한지 체크
- 동일하지 않으면 드랍하고 동일할 경우 L2 헤더 디인캡슐레이트
- L3 헤더의 도착지 아이피 주소와 내 아이피를 비교
- 동일할 경우 처리, 내 아이피와 다르다면 라우팅 테이블 룩업
- 목적지에 대한 네트워크 정보를 라우팅 테이블이 가지고 있을 경우 포워딩, 목적지에 대한 정보가 없으면 드랍
- Layer 2 헤더를 보고 Layer 3를 보기 위해 L2 헤더를 디인캡슐레이트했으므로 라우팅되어 다른 인터페이스로 나갈 때는 L2 헤더를 다시 만들어서 포워딩, 이 때 소스 MAC 주소는 라우터 인터페이스의 MAC 주소로 변경
Switch 동작
- 스위치도 마찬가지로 L2 헤더의 도착지 MAC 주소 확인
- 모든 스위치는 각각의 포트마다 MAC 주소를 가지고 있으므로 자신의 MAC 어드레스인지 확인
(이더넷 포트는 모두 MAC 어드레스를 가지고 있으며 실제로 통신 용도는 아님), 스위치의 MAC 주소가 도착지 MAC 주소로 오는 경우는 없음
- 도착지 맥 주소와 자신의 맥 주소와 다를 경우 MAC 주소 테이블 룩업
- MAC 주소 테이블안에 도착지 맥 주소가 없으면 나머지 포트로 플러딩, 있다면 해당 장비로 포워딩
- L2 헤더만 확인하므로 디인캡슐레이트 과정이 없어 그대로 포워딩