본문 바로가기
네트워크

이더넷, 링크 계층 스위치

by 학식러 2023. 4. 30.

 

6.4.2 이더넷

오늘날 이더넷은 가장 우세한 랜 기술이다.

 

1. 발전 과정

 

1) 1980년대

: 이더넷 랜은 노드를 연결하기 위해 동축 버스를 사용했다.

버스 토폴로지의 이더넷은 브로드캐스트 랜으로, 전송되는 모든 프레임은 버스에 연결된 모든 어댑터를 거치며 이들에 의해 처리된다.

 

2) 2000년대 초반

: 중앙의 허브가 스위치(switch)로 대체되었다.

스위치(switch) 는 충돌 없는 장치일 뿐만 아니라 저장-후-전달 패킷 스위치이다.

 

 

2. 이더넷 프레임 구조

 

 

1) 데이터 필드(46~1500바이트)

a) 이 필드는 IP 데이터그램을 운반한다.

b) 1500바이트를 초과하면 호스트가 단편화해야한다는 것을 의미한다.

c) 46바이트보다 작으면 데이터 필드를 채워서 46바이트로 만들어야 한다. 채운 부분을 제거하기 위해 IP 데이터그램 헤더의 길이 필드를 사용한다.

 

2) 목적지 주소(6바이트) : 목적지 MAC주소가 들어간다.

 

3) 출발지 주소(6바이트) : 출발지 MAC주소가 들어간다.

 

4) 타입 필드(2바이트)

a) 네트워크 계층 프로토콜을 이더넷으로 하여금 다중화하도록 허용한다.

b) 즉, IP 이외의 네트워크 계층 프로토콜을 사용할 수 있게끔 한다.

c) 한 계층에서의 프로토콜을 상위 계층의 프로토콜로 연계시키는 역할을 한다.

 

5) 순환 중복 검사(CRC)(4바이트) : CRC 필드의 목적은 수신 어댑터가 프레임에 오류가 생겼는지 검출할 수 있게 한다.

 

6) 프리앰블(8바이트)

a) 이더넷 프레임은 8바이트의 프리앰블(preamble) 필드로 시작한다.

b) 프리앰블의 첫 7바이트는 10101010 값을 갖고 마지막 바이트는 10101011이다.

c) 프리엠블의 첫 7바이트는 수신 어댑터를 깨우고, 수신자의 클록을 송신자의 클록과 동기화하는 역할을 한다.

 

이더넷의 비연결형 서비스(connectionless service), 비신뢰적인(unreliable) 서비스

비연결형 서비스

송신 어댑터는 데이터그램을 전송할 때 핸드셰이킹 하지 않고 이더넷 프레임에 캡슐화해서 랜으로 전송한다.

: 송수신쪽이 시작하는 절차를 갖고 있지 않다.

 

비신뢰적인 서비스

수신 어댑터는 CRC 검사를 통해 프레임을 검사하지만 이에 대한 확인 응답 혹은 부정 확인 응답을 보내지 않는다.

실패하면 단순히 그 프레임을 폐기한다.

: 받는 쪽이 보내는 쪽에게 잘 받았다는 또는 문제가 있다는 것을 알려주지 않음

애플리케이션이 UDP 또는 TCP를 사용하는지에 따라 데이터그램의 손실을 알 수 있음이 결정된다.

UDP의 경우 알 수 없고, TCP는 확인 후 재전송하게 할 것이다.

즉, 이더넷은 전송하고 있는 데이터그램이 재전송인지 새로운 데이터그램인지 구분할 수 없다.

 

 

3. 이더넷 기술

이더넷은 수년에 걸쳐 진화해왔으며, 오늘날의 이더넷은 동축케이블을 사용하는 초기 버스 토폴로지 설계와 상당히 다르다.

요즘은 노드가 꼬임쌍선이나 광섬유 케이블로 만들어진 점대점 세그먼트를 통해 스위치에 연결된다.

이더넷이 발전하여도, 프레임 형식은 그대로 유지되어 사용된다.

 

 

6.4.3 링크 계층 스위치

 

스위치의 역할은 들어오는 링크 계층 프레임을 수신해서 출력 링크로 전달하는 것이다.

스위치는 그 자체가 서브넷의 호스트와 라우터들에게 투명하다. : 즉, 호스트/라우터는 프레임을 스위치가 아닌 다른 호스트/라우터를 목적지로해서 랜상으로 보내며, 중간에 스위치가 프레임을 받아서 다른 노드에게 전달하는 것을 알지 못한다.

프레임이 스위치 출력 인터페이스들 중 하나에 도착하는 속도가 그 인터페이스의 링크 용량을 일시적으로 초과할 수 있다.

이 문제를 해결하기 위해, 스위치 출력 인터페이스는 버퍼를 갖고 있다.

 

A에서 A'으로 , 동시에 B에서 B'으로 충돌 없이 보낼 수 있다.

하지만 A에서 A'으로 , 동시에 C에서 A'으로 보낼 수는 없다.

 

1. 포워딩과 필터링

1) 필터링(filtering)

a) 프레임을 인터페이스로 전달할지 또는 폐기(drop)할지 결정하는 스위치의 기능

b) 스위치 테이블(switch table)을 이용

 

2) 포워딩(forwarding)

a) 프레임이 전송될 인터페이스를 결정하고 프레임을 해당 인터페이스로 내보내는 기능

b) 스위치 테이블(switch table)을 이용

 

3) 스위치 테이블(switch table)

a) 랜상의 모든 호스트와 라우터는 아니지만 일부 노드에 대한 엔트리가 포함되어 있다.

b) 스위치 테이블 엔트리 구성

: MAC 주소, MAC 주소로 가게 하는 스위치 인터페이스, 해당 엔트리가 만들어진 시점

 

스위치 테이블 엔트리의 동작

목적지 주소를 가진 프레임이 스위치 인터페이스 x에 도달했다고 하자.

 

1) 테이블에 목적지 주소에 대한 엔트리가 없는 경우

: 스위치는 프레임의 복사본을 프레임이 수신된 인터페이스를 제외한 모든 인터페이스의 출력 버퍼로 전달한다. 즉, 브로드캐스트한다.

 

2) 테이블에 목적지 주소가 x 인터페이스에 연관된 엔트리가 있는 경우

 a) 프레임은 송신자 어댑터를 포함하는 랜 세그먼트로부터 왔다.

 b) 프레임을 다른 인터페이스로 전달할 필요가 없으며, 프레임을 제거함으로써 필터링 기능을 수행한다.

 

3) 테이블에 목적지 주소가 y≠x 인터페이스와 연관된 엔트리가 있는 경우

: 프레임은 y 인터페이스에 접속된 랜 세그먼트로 전달되어야 한다. 즉, 해당 인터페이스 출력 버퍼에 프레임을 넣음으로써 포워딩 기능을 수행한다.

 

 

2. 자가학습(self-learning)

스위치는 테이블을 자동으로, 자치적으로 자가학습(self-learning)하는 특징이 있다.

 

동작 과정

(A->A' 가고, A'->A 가는 과정)

 

1) 스위치 테이블은 초기에 비어있다.

 

2) 인터페이스로 수신한 각 프레임에 대해 스위치는 다음과 같은 정보를 저장한다.

 a) 프레임의 출발지 주소 필드에 있는 MAC 주소

: 즉, 다음번 수신 때 다른 랜에서 목적지 주소 필드를 해당 MAC 주소를 갖게되면 프레임을 알맞게 전달할 수 있게 된다.

 b) 프레임이 도착한 인터페이스

 c) 현재 시간

 

3) 랜에 있는 모든 호스트가 프레임을 송신하면, 결국 모든 호스트에 대한 정보가 테이블에 기록된다.

 

4) 수명 시간(aging time)이 지난 후에도 스위치가 해당 주소를 출발지 주소로 하는 프레임을 수신하지 못하면 테이블에서 이 주소를 삭제한다.

: 즉, PC가 다른 PC로 대체되면 원래 PC의 MAC 주소는 스위치 테이블에서 삭제된다.

 

스위치는 네트워크 관리자나 사용자의 개입을 요구하지 않으므로 플러그 앤 플레이 장치(plug-and-play device)다.

 

 

 

 

 

3. 링크 계층 스위치의 특성

: 충돌 제거

a) 스위치로 구축된 랜에는 충돌로 인해 낭비되는 대역폭이 없다.

b) 프레임을 버퍼링하며 어느 시점이든 세그먼트에 하나 이상의 프레임을 전송하지 않는다.

c) 브로드캐스트 링크를 사용하는 랜보다 성능이 월등히 향상된다.

 

 

4. 스위치 대 라우터

 

1) 라우터

 a) IP주소를 사용해서 패킷을 전달하는 저장 후 전달 패킷 스위치다.

 b) 네트워크 계층 패킷 스위치이다.

 

2) 스위치

 a) MAC 주소를 사용해서 패킷을 전달하는 저장 후 전달 패킷 스위치다.

 b) 링크 계층 패킷 스위치이다.

 

둘 다 포워딩 테이블을 갖고 있다.

라우터는 라우팅 알고리즘, IP주소를 통해

스위치는 flooding, 자가학습, MAC주소를 통해 테이블을 작성한다.

댓글