본문 바로가기

OSI Model

4. CSMA/CD 와 CSMA/CA (2계층 Data-link Layer 데이터 링크 계층)

2계층 Data-link Layer (데이터 링크 계층)

Ethernet

특정구역 내 정보통신망인 LAN(local area network)에 사용되는 네트워크의 모델로

IEEE(미국 전기전자기술자협회)가 표준사양으로 채택한 동축케이블 네트워크를 말한다.

 

Ethernet의 네트워크 형태는 루프 (loop) 형이 아닌 버스 (bus) 형으로 액세스 방식으로는 CSMA/CD (carrier sensemultiple access/ collision detection) 방식을 채용하고 있다

 

일반적으로 LAN을 구성하는 3가지 요소로 토폴로지(전송로의 형태), 전송매체, 액세스방식을 들 수 있는데

 

네트워크형태가 버스형인 이더넷는 액세스방식으로 CSMA/CD방식을 채용하고 있어 다른 방식들과는 달리 네트워크에서 사용자가 동시에 패킷을 전송할 경우에 발생하는 패킷의 충돌로 인해 낭비되는 대역폭을 크게 줄일 수 있으며,

 

전송로가 비어있는지의 여부 등 상태를 스스로 검출하고 충돌을 검출했을 때는 일정시간 기다렸다가 전송로가 비어있을 때에 송신을 한다.

 

이더넷의 기본적인 개념은 하나의 물리적인 전송매체를 다수의 사용자가 공유하는 것으로 효율면에서는 토큰링 방식보다 떨어지지만 무엇보다도 가격이 저렴하기 때문에 많이 사용되는 네트워크 방식이다.

 

Giga bit Ethernet(GbE, 기가비트 이더넷)은 1,000Mbps 대역폭을 제공하고 이미 설치된 9,000만 개 이상의 이더넷 노드와 호환된다.

 

이런 환경에서 기가비트 이더넷은 기존 프레임 기반의 네트워크를 확장해 주고, ATM백본과 WAN 애플리케이션을 보완해 준다.

 

이더넷의 기본동작

허브는 플러딩(flooding)을 통해 세그먼트 범위 내 모든 기기에 데이터를 전달된다

 

이렇게 되면, 특정 기기는 자신과 관련 없는 데이터를 받는 경우가 많아진다

 

그래서 이더넷에서는 수신한 프레임의 수신처 MAC 주소(Destination MAC Address)를 보고 자신에게 온 것 외의 다른 프레임은 파기한다

 

멀티캐스트는 그룹 번호가 다르면 파기, 브로드캐스트는 전체 수신이기 때문에 반드시 수신하여야 한다

 

 

위 그림을 이해했다면 CSMA/CD 동작방식을 완벽히 이해한것이다

 

요약하자면

주요 절차

여러 허브가 동시에 플러딩을 하면 충돌(collision)이 발생할 수 있다

이더넷에서는 이러한 충돌 현상을 방지하기 위해 CSMA/CD라는 액세스 제어를 시행한다

 

1. 사용하려는 통신 매체가 현재 사용 중인지 검사(Carrier Sense) 하여

 

2. 사용 중이면 대기, 사용하지 않고 있으면 데이터를 전송한다(Multi Access).

 

3. 데이터를 전송한 후에는 충돌 여부를 확인(Collision Detection) 해서

 

4. 충돌이 발생하면 임의의 시간 동안 대기(backoff) 한 후 재전송한다

*Backoff : 충돌 발생 시 시간적으로 지연대기

충돌 여부는 잘 받았다는 신호 ACK를 통해서 확인한다

 

충돌 탐지 절차

 

1.정체 신호가 전체 송신자에게 전달되도록 하기 위해 최소 패킷전송시간 까지 전송을 계속한다.

 

2.재전송 계수기의 재전송 시도횟수를 증가시킨다.

 

3.임의의 시간동안 대기한다.

 

4.첫 번째 단계부터 반복한다.

 

4-1) 충돌이 감지되지 않았다면 재전송 계수기를 초기화 하고 프레임 전송을 종료한다

4-2)충돌이 계속 일어나 최대 패킷전송시간을 초과한다면 프레임을 폐기한다

 

충돌 탐지 방법은 매체에 의존한다.

 

그러나 이전 버전의 이더넷과 같은 전자적인 버스에서, 충돌은 송신자가 보낸 데이터와 수신자가 받은 데이터를 비교해봄으로써 탐지가 가능하다.

 

만일 두 가지가 다르다면 다른 송신자 측에서 보낸 데이터를 덮어씌웠다는 것을 의미한다.

 

프레임 전송 중에 충돌을 감지했다면, 전송은 즉시 중단된다.

 

대신 정체신호를 네트워크 상에 있는 전체 노드들에게 전송하면서 충돌 여부를 확정하게 된다.

 

*무선 랜 (wireless LAN)

CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance)

 

CSMA/CD는 전송 이후, 충돌을 감지하여 재전송을 시도하는 방식이다

 

하지만 무선 랜에서는 전송 이후 충돌을 감지하는 방식은 바람직하지 못하다

 

무선 환경에서는 충돌을 감지하는 것이 쉽지 않기 때문에 충돌을 감지하고자 하는CSMA/CD 달리 최대한 충돌을 피하는 쪽으로 동작한다.

 

 

무선 랜이 충돌을 감지할수 없는 이유

유선 랜에서는 2가지의 충돌 감지 방법을 사용한다

 

1) signal strengths를 비교해본다.

collision 발생 시 signal 에너지 레벨이 상승하는데, 이를 감지함으로써 collision 발생 여부를 판단 가능하다 - 신호끼리 충돌로 인한 전압의 변화를 감지

 

2) 전송한 프레임과 수신한 프레임을 비교해본다.

같으면 collision이 발생하지 않은 것이고, 다르면 collision이 발생한 것이다.

무선랜에서는 이러한 방법을 사용하는 것이 불가능하다. 충돌을 감지하기 위해서는 채널을 사용할때 다른 사용자가 보낸 신호를 감지할수 있어야 된다

 그러나 무선랜에서는 무선장비와의 거리에 따른 신호감쇠나 주변에 영향을 받을경우 , hidden terminal prob(숨은 지국)등의 이유로 이것이 불가능하다.

 

그래서 나온 프로토콜이 CSMA/CA이다

CSMA/CA는 Avoidance 충돌을 사전에 회피하는 방식으로, 전송 전에채널 사용여부를 확인하고 일정시간 대기 후 전송 및 성공 여부를 확인하느 방식이다

여기서, 충돌 회피를 위하여 전송 타이머를 사용한다

하지만, 사용자수가 증가될 수록 전송 효율 또한 저하된다

 

CSMA/CA의 동적절차

1. 송신을 위하는 호스트는 송신 전, 채널의 사용여부를 검사한다.

 

2. 만일 채널이 빈 상태이면, IFS의 주기동안 기다렸다가

데이터 전송을 시작한다.

*IPS: Interface Space

(프레임의 종류와 우선순위에 따라 다양)

 

3. IPS 시간 이후, 채널이 여전히 비어있으면,

바로 전송을 시작한다.

 

그렇지 않은 경우, Baceoff Time 동안 대기 후에

전송이 가능하다

.

4. Backoff Timer가 만기되면, 채널 상태를 다시 확인한다.

 

 

5. 데이터 전송 후, ACK 메시지를 수신하여 정상 전달 되었는지

확인한다.

 

*Backoff Time는 0과 Contention Window 사이의 값으로

Binary exponential backoff 알고리즘에 의해 결정되며,

채널이 유효하지 않으면, 대기시간은 2배로 증가한다.

 

 

무선 랜에서 CSMA/CD를 이용하지 못하는 이유

무선 랜의 특징은

1. 낮은 전력으로 인하여 한번에 송신과 수신 중 한 동작밖에 할수없다

2. 숨은 사용자가 있다

 

 

숨은 지국

예1)

숨은 사용자라 함은 사용자 A와 사용자 B가 있고, 그 사이에 끼어있는 사용자 C가 있을 시, A가 C에 보내는 신호를 B는 모르고, B가 C에 보내는 신호를 A는 모르는 상황이면 A와 B는 C에 대해서 숨겨져 있다고 말한다.

 

예2)

- A와 B의 송수신, C와 D의 송수신이 각각 이루어 진다고 할 때,

C가 A로부터의 전송에 노출되어 있으면, C와 D간 전송에 방해받는 것이 없음에도 불구하고

C가 D에게 송신을 하지 못하고, 채널을 낭비하는 문제

 

이러한 특징으로 인하여 무선 랜에서는 CSMA/CD의 사용이 불가능하다

1. CSMA/CD이라면, 프레임의 송신과 충돌 신호 수신을 동시에 하여야 하는데,

구현이 불가능하다

2. 숨은 사용자 있어, 데이터를 수신받는 사용자에서 충돌이 발생한다

3. 거리로 인한 감쇠는 다른 측에서 발생하는 충돌을 감지하지 못하는 경우가 있다

 

 

차이점

CSMA/CD

-표준은 IEEE 802.3 이다

-LAN와 Ethernet 전송 프로토콜

-전송 후 충돌을 감지하여 충돌 발생 시 일정기산 이후 재전송하는 방식

 

-장점

1)프로토콜 구현이 쉬워 가격이 저렴

2)채널이 수동적이므로 어느 한 기기가 고장나도 통신의 영향이 미치지 않음

 

-단점

1)거리의 제약이 있다(이더넷 케이블 500m 이하 제한)

2)통신량이 많아지면 충돌 횟수가 증가하여 채널 이용률 떨어짐(지연시간 증가)

 

 

CSMA/CA

-표준은 IEEE 802.11 이다

-Wireless LAN 전송 프로토콜

-전송 전, 채널의 유휴여부를 확인하고 일정시간 대기한 후 전송/확인을 한다

 

-장점

1)충돌 패킷을 재전송 하는데 필요한 대역폭 낭비를 줄인다

2)회피를 통해 에러제어가 용이하다

 

-단점

1)매체 접근 속도가 느림

2)사용자 수가 증가할 수록 전송효율이 떨어짐