CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance)
엮은글 참고
CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance)란 무선LAN에서 일반적으로 사용되는 MAC알고리즘으로써 아래와 같은 동작원리를 갖는다.
CSMA/CD 를 사용하는 AppleTalk 네트워크에서는 네트워크통신 상태를 점검 한 후 데이터를 전송한다. 그러나 CSMA/CD와는 달리 CSMA/CA에서는 네트워크의 케이블에 데이터의 전송이 없는 경우라도 충돌을 대비하여 확인을 위한 신호를 전송한다. 확인 신호가 충돌없이 전송된 것을 확인하면 이어서 데이터를 보내게 된다.
○ 작동원리
송신단 →수신단 RTS (Request to Send) |
→ | 송신단 → 수신단 CTS (Clear to Send) |
→ | 송신단 → 수신단 Data 전송 |
→ | 송신단 → 수신단 ACK |
<< Note >>
▶ 수신측에서 CTS를 받지 못하면 일정 회수만큼 RTS를 보낸 다음, 그래도 CTS를 받지 못하면 일정시간을 대기한 후 다시 RTS를 보냄
▶ 두 Station간에 통신 중일 때 다른 Station은 Duration Time(두 Station간 Data전송시간) 만큼 Channel을 이용할 수 없다.
[단 점]
CSMA/CA 에서의 네트워크 데이터 충돌 방지 방식은 네트워크의 사용 빈도가 많아져서 네트워크가 복잡해지면 충돌 방지의 신호가 흐르는 속도가 매우 느려지며 이에 따라 데이터의 전송도 많이 지연되게 된다. 이러한 이유로 CSMA/CA 방식은 CSMA/CD보다 많이 사용되지 않는다.
CSMA/CA의 원리
단말 A는, 다른 PC가 데이터 송신중인지 여부의(전파를 내보내고 있는지의 여부) 반송파 감지를 한다.(반송파 감지)
다른 단말이 송신중인 것을 알게되면 대기한다.
송신 시작까지의 시간으로, 랜덤한 시간이 할당된다.
재반송파 감지를 하여 다른 반송파가 없는지를 확인한다.
데이터(패킷) 송신을 시작한다.
OSI 모델의 MAC 계층에서 작동하는 미디어 엑세스 방식으로, 로컬 토크(Local Talk) 네트워크에 사용된다. CSMA/CA 프로세스에서는 노드가 네트워크 상에서 전송에 들어가기 전에 먼저 활동(activity)이 있는지를 살핀다.
활 동이 탐지되면 해당 노드가 전송 시도에 들어가기 전에 임의로 설정한 시간 동안 대기한다. CSMA/CA는 논쟁형(contentious)으로, 사용되지 않는 네트워크에 대한 액세스를 제일 먼저 시도한 노드가 전송 허락을 받는다. CSMA/CA는 데이터에 우선순위를 할당 할 수 있는 방법이 없다. 충돌이 생기는 경우에는 로컬토크가 문제 해결을 상위 계층의 프로토콜에 맡긴다. 충돌 기피(collision avoidance)는 충돌 탐지(collision detection)에 비해 세련도가 떨어지므로, 칩 세트에 장착하는 비용도 적다.
802.11 표준에서는 ACK(Acknowledgment), CTS/RTS(Clear To Send/Request To Send)라 는 절차를 이용한다.
CSMA/CD (Carrier Sense Multiple Access with Collision Detection)
CSMA/CD는 이더넷의 전송 프로토콜로서 IEEE 802.3 표준에 규격화되어 있다. 이더넷에 접속되어 있는 장치들은 어느 때라도 데이터를 전송할 수 있는데, 전송하기 전에 회선이 사용중인지 감시하고 있다가 회선이 비어 있을 때 데이터를 전송한다. 이더넷은 데이터를 송신하려는 클라이언트가 네트워크상에 다른 컴퓨터가 통신하고 있는지를 조사해 신호가 송출되고 있지 않을시 데이터를 전송하는 구조다. 동시에 여러 노드에서 데이터를 전송할 경우 충돌이 발생한다.
CSMA/CD는 이 충돌을 감시하는데, 충돌(Collision, 콜리전)이 발생한 경우에는 일정 시간 갖고 있다가 다시 신호를 보내 통신을 제어한다.
한 노드가 네트워크를 사용하려 한다고 가정하자. 먼저, 네트워크의 선로 상태를 점검한다. 이때 다른 노드에서 사용 없이 선로에 아무런 데이터가 없다면 아무런 문제도 발생하지 않는다. 따라서 원하는 작업을 문제없이 수행할 수 있다.
그러나 네트워크를 다른 노드가 사용하고 있는 경우 네트워크 사용을 시도한다고 하면, 이때 선로에 충돌이 발생하게 된다. 일단 충돌이 발생하면 먼저 사용하고 있던 노드가 계속 사용할 수 있도록 기다린다. 그리고 잠시 후 다시 시도한다. 충돌이 생긴 후에 기다리는 시간은 대개 노드 내에 부착된 타이머에 의해 결정된다. 이때 각 노드의 기다리는 시간이 서로 달라야 다시 충돌을 일으키지 않는데, 이 대기 시간은 노드 내에 고정적으로 설치하거나 난수 발생기의 원리를 사용하거나 하여 해결한다.
CSMA/CD 기법은 마치 점잖은 사람들이 둥글게 앉아 이야기하는 것과 같다고 하겠다. 누군가 이야기를 하면 가만히 듣고 있다가 이야기가 끝나면 자신이 이야기하고, 누군가 동시에 이야기를 하려고 하면 서로 양보하는 것에 비유할 수 있다.
CSMA/CD를 사용하면 충돌한 패킷들을 전송하는 데 낭비되는 대역폭을 줄 일 수 있다. CSMA/CD의 단어가 의미하는 바는 다음과 같다.
CS (Carrier Sence) | 네트워크가 사용중인지 알아낸다. |
MA (Multiple Access) | 네트워크가 비어 있으면 누구든 사용 가능하다. |
CD (Collision Detection) | 메세지를 전달하면서 충돌 여부를 살펴본다. |
---------------------------------------------------------------------------------------
매체접근제어(MAC)-CSMA/CD
1. CSMA/CD(Carrier Sense Multiple Access with Collision Detection)
■ 자료를 전송하고 있는 동안 회선을 감시하여 충돌이 감지되면 즉각 전송을 종료 시키는 방식.
■ 버스형 LAN에 적용되는 방식
2. 동작
가. 송신을 원하는 호스트는 송신하기 전에 다른 호스트가 채널을 사용하고 있는 지를 조사
나. 만일 채널이 빈 상태이면 전송을 시작하고 채널이 사용 중이면 계속 감시하고 있다가 빈 채널이
감지되는 즉시 전송한다.
다. 전송하는 동안 계속적으로 채널을 감시하여 전송중인 데이터에 충돌이 발생되는 지를 조사한
다.(충돌 발생은 정상적인 데이터 송수신시 적용되는 전압 레벨보다 훨씬 높은 레벨의 검출로
인지)
라. 만일 충돌이 감지되면 전송은 즉각 중지되고 충돌을 알리는 jam 신호 를 전송한다.
(jam 신호는 32비트에서 48비트의 길이를 갖는 특수한 프레임)
마. jam 신호 송신 후 일정 시간 후에 재전송을 시도하는데 이 시간은 충돌이 재발되는 것을 방지하
도록 설계된 대기 프로토콜에 의해 결정된다.
■ CSMA/CD 에서의 충돌
* CSMA/CD의 매체접근 제어 기능은 송신하는 동안 송신한 내용의 충돌 여부를 인지함을 근간으
로 한다. 이러한 조건은 송신 프레임에 대한 최소 길이의 제약으로 나타난다.
* 네트워크 사이에서 가장 멀리 떨어진 호스트간에 통신이 이루어지고 있는 경우 송신한 데이터가
착신지에 거의 다 도달해서 충돌이 일어 났다면 충돌된 신호가 다시 발신 호스트까지 돌아와서
충돌이 인식되기 까지는 두 호스트간 전송시간의 두 배가 된다.
* 따라서 발신 호스트는 최소한 이 시간 동안은 계속해서 패킷을 송신하여야만 송신중에 자신이
송신한 패킷에 대한 충돌 여부를 알 수 있으므로 전송 패킷의 슬록 타임은 최소한 가장 먼 호스트
간의 전송 시간의 2배가 되어야 하고, 이는 최소한의 패킷 길이에 대한 요구 조건으로 나타난다.
2. 프레임 형태
■ PA(Preamble) : 수신부로 하여금 비트 동기를 확립하는데 사용되는 특정한 형태의 비트열
(10101010)로서 동일한 형태가 7번 반복된다.
※ 수신부가 비트동기를 확립하기 위해서는 수신되는 신호에 천이(transition)가 충분히 발생되어야
하며 PA 비트열은 이러한 조건을 만족한다. CSMA/CD LAN에서는 맨체스터 코딩방식을 사용
하여 신호를 코딩하는데 이 방식은 비트 값이 1 이건 0 이건 반드시 천이가 발생되는 코딩 방식
이다.
■ SD(Start Frame Delimeter) : 프레임 시작을 수신 장치에 알리는 용도로 사용(프레임 동기)
되며, 사용되는 값은 10101011이다.
■ DA(Destination Address) : 목적지 주소를 의미하며 최상의 비트가 0이면 개별적 주소를,
1이면 그룹 주소를 나타낸다. 특히 값이 모두 1을 갖는 경우는
네트워크상의 모든 호스트를 목적지로 갖는 방송 주소를 의미
한다.
■ SA(Source Address) : 발신지 주소
■ LI(Length Indication) : 프레임의 데이터 부분의 길이를 나타내며 단위는 옥텟이다.
■ FCS(Frame Check Sequence) : 전송 도중 발생한 오류를 검사하기 위한 필드이다.
3. 종류
■ 각 LAN의 이름에 붙여지는 첫 번째 수 10 혹은 1은 10Mbps, 1Mbps의 전송속도를 의미
■ BASE, BROAD는 각각 Manchester코딩 방식의 베이스밴드 전송방식과 DPSK(Differential
Phase Shipt Keying)코딩 방식의 브로드밴드 전송방식을 의미
■ 끝의 숫자인 5, 2, 36은 100m 단위 세그먼트의 최대 길이를 의미
■ 10 BASE T는 전송 매체로 Twisted Pair 선로를 사용했음을 의미
■ 10 BASE T의 전송매체인 UTP(Unshielded Twisted Pair)는 Twisted Pair 선로의 한 종류이며 아래 표는 Twisted Pair 선로의 종류를 나타낸다.
■ 10 BASE T는 스위칭 기능을 수행하는 허브장치를 중심으로 호스트가 Star 형태로 접속된다.
1) 브로드밴드 전송방식
■ 변조과정을 통하여 하나의 물리적인 전송매체에 다수의 논리채널(주파수분할방식 등)을 형성
하여 전송 효율을 높일 수 있는 장점이 있다.
■ 브로드밴드 전송방식은 유선 TV에 적용되어 각 채널 당 6MHz 주파수 밴드를 갖는 주파수 분할
방식이 사용되었다.
■ 브로드밴드 랜의 형태는 헤드엔드로 부터 분기되는 트리 형상이며 분배기와 증폭기 등의 장치가
사용된다.
■ 이러한 형태는 단방향성 이므로 쌍방향 통신이 요구되는 랜에 이 기술을 적용하기 위해서는 두
가지 방안을 생각할 수 있다.
1) 하나의 전송로를 송수신 방향에 대응되는 두 개의 선로로 대치하는 방식
2) 하나의 물리적인 전송선로를 주파수 영역에서 두 개의 상이한 논리적 채널로 분할 하여 송수신
채널로 사용하는 방식. 이러한 방식의 헤드엔드는 수신되는 주파수 영역을 송신 주파수 영역으
로 변환하는 기능을 필요로 한다.
'IT > 리눅스마스터1급' 카테고리의 다른 글
Ethernet frame format etc.. (0) | 2022.05.03 |
---|---|
SFD jam sequence (0) | 2022.05.03 |
pcap (0) | 2022.05.02 |
soap (0) | 2022.05.02 |
probe 구조체 platform_driver, platform_device (0) | 2022.05.02 |