데이터통신

데이터통신 12.1.2 CSMA

공부승식 2021. 6. 8. 00:10
728x90

충돌의 기회를 최소화 -> 성능 높이기 를 하기 위해서 CSMA 방법이 개발되었다.

지국이 매체를 사용하려고 시동하기 이전에 매체를 감지하게 되면, 충돌의 기회를 줄일 수 있다.

반송파 감지 다중 접근(CSMA, Carrier Sense Multiple Access)은 각 지국이 전송하기 이전에 먼저 매체에 귀를 기울일 것을 요구한다.

CSMA => 전송 이전에 감지, 말하기 이전에 듣기

CSMA는 충돌의 가능성을 줄일 수는 있으나 완전히 없앨 수는 없다.

그 이유는 CSMA 네트워크의 시공간 모델에 있다.

지국들은 흔히 공유 매체에 연결되어 있다.

전파지연때문에 충돌의 위험은 여전히 있다. 지국이 프레임을 전송할 때는 그 프레임의 첫번째 비트가 모든 지국들에 도착하여 각 지국들이 감지하기까지에는 아무리 짧더라도 시간이 걸린다. 

->지국이 매체를 감지하여 매체가 놀고있다고 판단 하더라도, 다른 지국이 전송한 프레임의 첫번째 비트가 아직 도달중일 수 있다는 것.

시간t1에서 지국B가 매체를 감지하여 매체가 휴지상태에 있다고 판단하여 프레임을 전송한다.

시간t2에서 지국 C가 매체를 감지하여 휴지상태에 있다고 판단하는데, 

이 시각에 B가 보낸 프레임의 첫번째 비트가 아직 C에게 도달하지 않았기 때문이다.

그래서 지국 C또한 프레임을 전송한다. 

=>두 신호는 충돌하여 두 프레임 모두 손상된다.

 

취약시간(Vulnerable time)

CSMA의 취약시간은 전파시간(propagation time)Tp이다. 

이 시간은 신호가 매체의 한 끝에서 다른 끝으로 전파되는데 소요되는 시간이다.

지국이 프레임을 전송할 때 다른 지국이 이 시간동안 전송을 시도하게 되면 충돌이 생긴다. 

그러나 프레임의 첫번째 비트가 매체의 다른 끝에 도달하게 된다면, 각 지국은 이미 이 비트를 감지했을 것이어서 전송하지 않을 것.

 

 

지속 방식

채널이 사용중이면 지국은 무엇을 해야할까?

채널이 휴지상태면 무엇을 해야할까?

이 질문에 답하기 위해 1-persistent method, nonpersistent method, p-persistent method의 3가지 방법이 고안되었다.

 

1-persistent method

1-지속방식은 간단하고 직선적이다. 이 방식에서는 지국이 회선이 idle상태인것을 감지하게 되면 '즉각' 프레임을 전송한다.(1의 확률로)

이 방식은 2개 이상의 지국이 회선이 idle한것을 감지할것이고 그런 경우에 모두 즉각 프레임을 전송하기 때문에, 

가장 충돌 가능성이 높다!!!!!!!!!!!! -> 이더넷이 이 방식을 사용한다.

 

nonpersistent method

비지속방식에서는 전송할 프레임이 있는 지국이 회선을 감지한다. 

회선이 idle상태라면 즉각 프레임을 보낸다. 

만일 회선이 휴지상태에 있지 않다면! 일정시간을 대기하고 있다가 다시 회선을 감지한다. 

비지속방식은 2개 이상의 지국이 같은 시간을 대기하고있다가 동시에 전송할 확률이 낮기 때문에 충돌의 위험을 낮춘다.

그러나 이 방식은 전송할 프레임이 있는 지국임에도 불구하고 회선이 idle상태에 있을 수 있기 때문에 회선의 효율이 낮아진다. 

 

p-persistent method

p-지속방식은 채널이 최대 전파 지연시간과 같거나, 그보다 큰 시간 슬롯을 사용하는 경우에 채택된다.

p-지속방식은 2가지 방식의 장점을 합한것이다. 

충돌의 위험 줄이고! 효율 높인다!

이 방식에서 회선이 idle상태인걸 감지하면! 2단계를 거친다.

1단계: 확률 p를 가지고 프레임을 전송

2단계: q=1-p를 가지고 지국은 다음 슬롯 시작까지 기다리다가 회선을 다시 감지한다.

a. 만일 회선이 idle상태라면 1번 단계로 간다.

b. 만일 회선이 사용중이면 충돌이 생긴것으로 간주하고 대기 절차에 들어간다.

 

12.1.3CSMA/CD(충돌 검출)

CSMA방법은 충돌 뒤에 따라야하는 절차에 대해 말하고 있지 않다.

충돌 검출을 하는 CSMA,

충돌 검출 매체 감지 다중 접근(CSMA/CD, carrier sense multiple access with collision detection)

은 충돌을 처리하는 절차를 더한 것.

이 방법에서는 지국은 프레임을 전송 한 뒤에 전송이 성공적인지 매체를 관찰한다. 

성공적이면 지국은 할일을 다 한것. 그렇지 않다면 충돌이 생긴것, 프레임은 다시 전송됨.

A가 t1에서 출발해서 우하단으로 내려가고 있고, A가 도착하기 전에 C도 데이터를 전송했다(A가 안도착했기 때문에 idle이라고 판단.)

Collision occurs지점에서 충돌이 일어난다. 하지만 충돌 직후에는 A,C둘다 충돌을 인지하지 못한다.

A가 C에 도달한 지점 t3에서 C는 "내가 A와 충돌했구나!" 인지한다. 그래서 전송을 멈춘다. t3-t2가 C의 Transmission Time 이 된다.

A도 같은 방식으로 충돌을 인지한다. C가 A에 도달한 지점 t4에서 A도 "내가 C와 충돌했구나!" 인지해서 전송을 멈춘다.

t4-t1이 A의 Transmission time 이 된다.

 

 

최소 프레임 크기

CSMA/CD가 동작하기 위해서는 프레임 크기에 제한을 두어야 한다.

프레임의 마지막 비트 보내기를 마치기 전에, 송신지국이 충돌을 감지하면 전송을 멈추어야 한다.

이는 지국이 전체 프레임을 보내고 나면 프레임의 사본을 가지고 있지 않으며, 회선을 관찰하여 충돌이 생겼는지 확인하지 않기 때문. 

그러므로 프레임 전송시간 Tfr은 최소한 전파시간 Tp의 2배가 되어야 한다.

왜? 최악의 시나리오를 생각해보자.

충돌에 연루된 두 지국이 서로 떨어질 수 있는 최대 거리만큼 떨어져 있다면 첫번째 지국으로부터의 신호는 두번째 지국에 도달하기 까지 Tp만큼 걸리며, 충돌의 효과는 다시 Tp만큼 더 걸려 첫번째 지국에 도달한다.

따라서 첫 번째 지국은 2Tp이후에도 계속 전송을 하고 있어야한다. 

 

예제

어느 CSMA/CD를 사용하는 네트워크의 대역폭이 10Mbps이다. 최대 전파시간(장치에서의 지연시간을 포함하되 충돌을 알리는데 걸리는 시간을 무시)는 25.6us이다. 최소 프레임의 크기는?

풀이

프레임 전송시간 Tfr = 25.6*2 = 51.2*10^-6이 되어야하는데, 대역폭이 10*10^6이기 때문에

512bit이다. (51.2*10) = 64바이트 이다.

 

 

CSMA/CD의 절차

CSMA/CD의 흐름과 ALOHA프로토몰의 흐름은 유사하지만 차이가 있다

CSMA/CD의 흐름도

1. 지속 과정이 더해졌다

앞에서 논의한 (비지속, 1-지속, p-지속)중 하나를 사용하여 프레임을 전송하기 전에 채널을 감지해야한다.

2. 프레임 전송

ALOHA는 전체 프레임을 보내고 나서 응답을 기다린다.

CSMA/CD에서는 프레임전송과 충돌 감지는 연속된 과정이다. (전체 프레임을 보내고 난 후 충돌했는지 찾는게 아님)

지국은 2개의 다른 포트 혹은 양방향 포트를 사용하여 보내는 것과 받는 것을 연속적으로 동시에 수행한다.

루프를 사용하여 전송이 연속된다.

또한 전송이 종료되었는지 아니면 충돌이 생겼는지 탐지하기 위해 지속적으로 지켜본다.

전송이 종료 or 충돌 생김 이벤트가 발생하면 전송이 종료된다.

루프를 나왔을 때 충돌이 감지되지 않았다면, 이는 전송이 완료된 것을 의미하여 전체프레임이 전송된것!

아니라면! 충돌이 생긴것.

3.충돌신호를 보낸다.

충돌이 생겼을 때 모든 지국이 충돌에 대해 알 수 있도록 짧은 길이의 jamming signal(충돌신호/)를 보내어 충돌 사실을 알린다.

 

 

처리량

CSMA/CD의 처리량은 Pure or Slotted ALOHA의 처리량보다 크다.

최대 처리량은 다른 G값에서 나타나며, p-지속방식의 에 좌우된다.

'데이터통신' 카테고리의 다른 글

데이터통신 12.2 제어 접근  (0) 2021.06.08
데이터통신 12.1.4 CSMA/CA  (0) 2021.06.08
데이터통신 12,1 매체접근제어  (0) 2021.06.07
데이터통신 11.4 점-대-점 프로토콜  (0) 2021.06.06
데이터통신 11.3 HDLC  (0) 2021.06.04