스위치는 링크 계층상에서 동작하기 때문에 RIP나 OSPF와 같은 라우팅 알고리즘을 사용하지 않는다. 스위치는 링크 계층 프레임을 전달하기위해 MAC주소를 사용한다.
MAC 주소
- MAC주소는 호스트나 라우터가 가진것이 아니라, 호스트나 라우터의 어댑터가 가지고 있다.
- MAC주소는 어댑터마다 다르고, 위치에 따라 변경되지 않는다.
- MAC주소는 평면구조 ↔ IP주소는 위치에따라 변하며 계층구조
예를들어, 어댑터가 프레임을 목적지 어댑터로 전송하는 과정을 생각해보자.
- 송신 어댑터는 목적지 MAC주소를 프레임에 넣고 랜상으로 전송
- 스위치가 모든 인터페이스로 프레임을 전송 (목적지가 아닌 어댑터도 수신하게 됨)
- 수신 어댑터는 자신의 MAC 주소와 비교해서 수신할지 거부할지 결정
ARP (Address Resolution Protocol)
네트워크 계층주소와 링크계층 주소 사이의 변환에 사용되는 프로토콜이다.
ARP는 동일한 랜상의 임의의 IP주소에 대응되는 MAC주소를 찾아준다. 중요한점은 동일한 서브넷에 위치한 IP주소만을 찾아준다.
동일한 서브넷에서 데이터그램 전송하기
- 각 호스트와 라우터는 자신의 메모리에 ARP 테이블을 가지고 있음
- ARP 테이블은 IP주소와 MAC 주소간의 매핑정보를 포함
만약, 송신 호스트가 동일한 서브넷에 위치한 수신 호스트에 데이터그램을 전송하고 싶은데 ARP테이블에 목적지 주소에 대한 MAC주소가 없다면? → 찾아야한다.
A: ARP질의를 같은 서브넷에 위치한 다른 어댑터에게 보내어 목적지 IP주소와 일치하는지 검사. 매핑되는 노드는 ARP응답을 질의한 노드에 보내고 질의한 노드는 ARP테이블을 갱신한다.
서로다른 서브넷에 위치한 노드로의 데이터그램 전송
H1에서 H2로 데이터그램을 전송해보자.
- 송신 호스트는 자신의 어댑터로 데이터그램과 적절한 MAC주소를 전달함 (이때, 적절한 MAC주소는 라우터인터페이스에 대한 어댑터 주소가 된다)
- 송신 어댑터가 MAC주소를 가지면 목적지가 H2인 프레임을 만들어 자신이 포함되어있는 서브넷으로 전송하고, 서브넷에 위치한 라우터 어댑터는 프레임을 네트워크 계층으로 전달 → 라우터까지 전달 완료
- 라우터는 포워딩 테이블을 참조하여 인터페이스를 결정한다. → 출력 링크 결정
- 인터페이스는 데이터그램을 자신의 어댑터로 전달하고 데이터그램을 캡슐화하여 프레임을 H2가 포함된 서브넷으로 전송한다.
- 라우터는 ARP로부터 목적지 MAC주소를 얻는다