한 채널(회선)에서 여러 컴퓨터들이 통신을 하게 되면 신호는 충돌할 수 밖에 없다. 그래서 채널이 사용중인지 확인을 하거나, 확인을 하지않고 그냥 보내는 여러가지 방식이 있다. 여기에는 크게 3가지 방식이 있다.
랜덤한 확률이나 시간을 대기 후 채널이 비어있다면(Idle) 사용하는 방식이다. 아래의 요소들을 고려해야한다.
"각 매채는 언제 채널을 사용해야할까?"
"매체는 채널이 사용중이라면 무엇을 해야할까?"
"각 매체는 성공과 실패의 결정을 어떻게 해야할까?"
"충돌이 발생하면 매체는 무엇을 해야할까?"
Random Access Protocol에는 아래의 방식이 있다.
최초의 Random Access 방식으로 하와이에서 만들어서 ALOHA(인사)라 부른다. 아래의 과정을 거쳐서 전송을 하게 된다.
1. 데이터 전송
2. 최대 전송시간의 2배시간 만큼 대기
3. ACK가 왔다면 성공, 오지않았다면 RTO(Recieve Time Out)
4. 시도횟수 K = K + 1
5. K > Kmax(대체로 15)라면 Abort, 아니라면 랜덤시간 대기후 1로 이동
Slotted ALOHA는 Pure ALOHA와 다르게 일정 단위시간(Slot)마다 전송을 하기 때문에 충돌이 날 가능성이 낮다. 하지만 한 번 충돌난다면 Frame의 모든 구간이 충돌나게 된다.
ALOHA는 매체(Station)이 채널(Medium)이 사용중인지 모르지만, CSMA는 채널이 사용중인 상태인지 확인할 수 있다.
Persistent method
CSMA/CD는 일단 데이터를 보내고 충돌이난다면 그제서야 랜덤한 시간을 기다리는 방식이다. 그래서 빠르다는 장점이 있지만, 충돌이 자주난다는 단점이 있다.
Ethernet(802.3)에서 사용하는 방식으로 아래의 과정을 거쳐서 전송을 하게 된다.
1. Persistent method 중 하나의 방식을 선택
2. 전송을 했는데 충돌이 발생하지 않았다면 성공, 오지 않았다면 jamming 발생
3. 시도횟수 K = K + 1
4. K > Kmax(대체로 15)라면 Abort, 아니라면 랜덤시간 대기후 1로 이동
CSMA/CA 방식은 데이터를 전송하기 전에 많은 시간을 기다리고 전송하는 방식이다. 그래서 느리다는 단점이 있지만, 충돌이 거의 나지않는다는 장점이 있다.
Wifi(802.11)에서 사용하는 방식으로 아래의 과정을 거쳐서 전송을 하게 된다.
1. 채널이 사용중인지 확인
2. 채널이 Idle이라면 IFS 만큼 대기
3. 채널이 사용중인지 확인
4. 채널이 Idle이라면 랜덤회수 * 정해진만큼 대기
5. 데이터 전송
6. Time out 만큼 대기
7. ACK가 왔다면 성공, 오지않았다면 RTO(Recieve Time Out)
8. 시도횟수 K = K + 1
9. K > Kmax(대체로 15)라면 Abort, 아니라면 1로 이동
Primary(서버)와 Secondary(클라이언트)가 통신을 할 때 서로간에 제어를 하는 방법이 있다. 그 방식들은 아래와 같다.
데이터 프레임을 전송하기 전에 Reservation 프레임을 먼저 전송하는 방식이다.
Reservation Frame은 보낼 프레임을 1, 보내지 않는 프레임을 0으로 구성되어 있다.
Ring Topology에서 자주 사용하는 방식으로, 토크닝 있는 Station만 전송가능
하나의 채널을 여러 조각으로 나누어 사용하는 방식으로 대역폭을 쪼개느냐, 시간을 쪼개느냐, 코드를 쪼개느냐의 관점으로 아래 3가지로 나뉜다.
대역폭을 쪼개어 각자 Station에 해당하는 진동수로 전송하는 방식으로, 보통 쪼개진 대역폭마다 간섭이 일어나지 않도록 Guard Band를 둔다.
ex) FM 라디오
각 Station마다 정해진 시간에 돌아가며 채널을 사용하는 방식이다.
모든 Station은 시간과 대역폭에 관계없이 동시에 전송가능하다.
Code를 분할해서 합쳤기 때문에 Encoding과 Decoding과정이 필요하다.
CDMA에서의 비트 표현
위의 방식을 통해 각 Station의 코드를 추출
Walsh Table
Walsh Table의 하나 하나의 행은 각 Station의 En·Decoding 키를 의미
[-1 -1 -3 1]을 Wash Table로 다시 Decoding 할 수 있음