CSMA/CD(Carrier Sense Multiple Access/Collision Protection)는 공유 버스 토폴로지가 있었고 각 노드(컴퓨터)가 동축 케이블로 연결되었던 초기 이더넷 기술/LAN에서 널리 사용되었던 미디어 액세스 제어 방법입니다. 이제 Days 이더넷은 전이중이고 토폴로지는 스타(스위치 또는 라우터를 통해 연결) 또는 지점 간(직접 연결)입니다. 따라서 CSMA/CD는 사용되지 않지만 여전히 지원됩니다.
링크에 'n'개의 스테이션이 있고 모두 해당 채널을 통해 데이터 전송을 기다리고 있는 시나리오를 생각해 보세요. 이 경우 모든 'n' 스테이션은 자체 데이터를 전송하기 위해 링크/채널에 액세스하려고 합니다. 문제는 현재 둘 이상의 스테이션이 데이터를 전송할 때 발생합니다. 이 경우 서로 다른 스테이션의 데이터에 충돌이 발생합니다.
CSMA/CD는 이 프로토콜을 따르는 여러 스테이션이 효과적인 전송을 위해 일부 조건과 충돌 감지 조치에 동의하는 기술 중 하나입니다. 이 프로토콜은 데이터가 손상되지 않고 대상에 도달할 수 있도록 어느 스테이션이 언제 전송할지 결정합니다.
CSMA/CD는 어떻게 작동하나요?
- 1단계: 발신자가 데이터 패킷을 전송할 준비가 되었는지 확인합니다. 2단계: 전송 링크가 유휴 상태인지 확인합니다.
송신자는 전송 링크/매체가 유휴 상태인지 계속 확인해야 합니다. 이를 위해 다른 노드로부터의 전송을 지속적으로 감지합니다. 발신자는 링크에 더미 데이터를 보냅니다. 충돌 신호를 받지 못한다면 이는 링크가 현재 유휴 상태임을 의미합니다. 캐리어가 비어 있고 충돌이 없음을 감지하면 데이터를 보냅니다. 그렇지 않으면 데이터 전송을 자제합니다. 3단계: 데이터 전송 및 충돌 확인
발신자는 링크를 통해 데이터를 전송합니다. CSMA/CD는 '승인' 시스템을 사용하지 않습니다. 충돌 신호를 통해 전송 성공 여부를 확인합니다. 전송 도중 노드가 충돌 신호를 수신하면 전송을 중단한다. 그런 다음 스테이션은 링크에 정체 신호를 전송하고 프레임을 다시 보내기 전에 임의의 시간 간격을 기다립니다. 임의의 시간이 지난 후 다시 데이터 전송을 시도하고 위의 프로세스를 반복합니다. 4단계: 전파 중에 충돌이 감지되지 않으면 송신자는 프레임 전송을 완료하고 카운터를 재설정합니다.
스테이션은 데이터가 충돌하는지 어떻게 알 수 있나요?
위의 상황을 고려해보세요. 두 개의 스테이션, A & B.
전파 시간: Tp = 1시간(신호가 A에서 B로 이동하는 데 1시간 소요)
At time t=0, A transmits its data. t= 30 mins : Collision occurs.>
충돌이 발생한 후 충돌 신호가 생성되어 A와 B 모두에 전송되어 스테이션에 충돌을 알립니다. 충돌이 중간에 발생했기 때문에 충돌 신호도 A와 B에 도달하는 데 30분이 걸린다.
Therefore, t=1 hr: A & B receive collision signals.>
이 충돌 신호는 해당 링크의 모든 스테이션에서 수신됩니다. 그 다음에,
충돌한 것이 우리 스테이션의 데이터인지 확인하는 방법은 무엇입니까?
이를 위해서는 전송 시간(Tt)> 전파 시간(Tp) [대략]
이는 스테이션에서 데이터의 마지막 비트를 전송하기 전에 적어도 일부 비트가 이미 목적지에 도달했는지 확인해야 하기 때문입니다. 이렇게 하면 링크가 사용 중이지 않고 충돌이 발생하지 않습니다.
그러나 위의 내용은 느슨한 경계입니다. 우리는 충돌 신호가 우리에게 다시 돌아오는 데 걸리는 시간을 갖지 않았습니다. 이를 위해 최악의 시나리오를 고려하십시오.
위의 시스템을 다시 생각해 보세요.

At time t=0, A transmits its data. t= 59:59 mins : Collision occurs>
이 충돌은 데이터가 B에 도달하기 직전에 발생합니다. 이제 충돌 신호가 다시 A에 도달하는 데 59:59분이 걸립니다. 따라서 A는 대략 2시간 후에, 즉 2*Tp 후에 충돌 정보를 수신합니다.
Hence, to ensure tighter bound, to detect the collision completely, Tt>>= 2 * 도시>
이는 충돌이 자체 데이터에 의한 것인지 여부를 감지하는 데 시스템이 소요할 수 있는 최대 충돌 시간입니다.
전송할 패킷의 최소 길이는 얼마입니까?
Transmission Time = Tt = Length of the packet/ Bandwidth of the link [Number of bits transmitted by sender per second] Substituting above, we get, Length of the packet/ Bandwidth of the link>= 2 * 도시>
Length of the packet>= 2 * Tp * 링크 대역폭>
패딩은 그렇게 긴 패킷이 없는 경우에 도움이 됩니다. 위 조건을 만족시키기 위해 데이터 끝에 추가 문자를 채울 수 있습니다.
CSMA/CD의 충돌 감지에는 다음 기능이 포함됩니다.
- 캐리어 감지: 데이터를 전송하기 전에 장치는 네트워크를 수신하여 전송 매체가 사용 가능한지 확인합니다. 매체가 사용 중인 경우 장치는 데이터를 전송하기 전에 매체가 사용 가능해질 때까지 기다립니다. 다중 액세스: CSMA/CD 네트워크에서는 여러 장치가 동일한 전송 매체를 공유합니다. 각 장치는 매체에 대해 동일한 액세스 권한을 가지며, 매체가 비어 있으면 모든 장치에서 데이터를 전송할 수 있습니다. 충돌 감지: 두 개 이상의 장치가 동시에 데이터를 전송하면 충돌이 발생합니다. 장치가 충돌을 감지하면 즉시 전송을 중단하고 네트워크의 다른 모든 장치에 충돌 사실을 알리기 위해 Jam 신호를 보냅니다. 그런 다음 장치는 다시 전송을 시도하기 전에 임의의 시간 동안 대기하여 또 다른 충돌 가능성을 줄입니다. 백오프 알고리즘: CSMA/CD에서 백오프 알고리즘은 장치가 충돌 후 데이터를 재전송할 수 있는 시기를 결정하는 데 사용됩니다. 이 알고리즘은 장치가 데이터를 재전송하기 전에 무작위 지연을 사용하여 또 다른 충돌이 발생할 가능성을 줄입니다. 최소 프레임 크기: CSMA/CD에서는 전송이 끝나기 전에 모든 장치가 충돌을 감지할 수 있는 충분한 시간을 갖도록 최소 프레임 크기가 필요합니다. 프레임이 너무 짧으면 장치가 충돌을 감지하지 못하고 계속 전송하여 네트워크의 데이터가 손상될 수 있습니다.
CSMA/CD의 장점:
- 단순하고 널리 사용됨: CSMA/CD는 이더넷 네트워크에 널리 사용되는 프로토콜이며 단순하므로 구현 및 사용이 쉽습니다.
공평: CSMA/CD 네트워크에서는 모든 장치가 전송 매체에 동일하게 액세스할 수 있으므로 데이터 전송의 공정성이 보장됩니다.
능률: CSMA/CD를 사용하면 불필요한 충돌을 방지하고 네트워크 혼잡을 줄여 전송 매체를 효율적으로 사용할 수 있습니다.
CSMA/CD의 단점:
- 제한된 확장성: CSMA/CD는 확장성에 한계가 있어 장치 수가 많은 대규모 네트워크에는 적합하지 않을 수 있습니다.
충돌에 대한 취약성: CSMA/CD는 충돌을 감지할 수 있지만 충돌 발생을 방지할 수는 없습니다. 충돌은 데이터 손상, 재전송 지연 및 네트워크 성능 저하로 이어질 수 있습니다.
비효율적인 대역폭 사용: CSMA/CD는 장치에서 지속적으로 충돌이 발생할 경우 네트워크 대역폭을 비효율적으로 사용할 수 있는 임의 백오프 알고리즘을 사용합니다.
보안 공격에 대한 취약성: CSMA/CD는 어떠한 보안 기능도 제공하지 않으며 프로토콜은 패킷 스니핑, 스푸핑 등의 보안 공격에 취약합니다.
다음 읽기 – CSMA/CD의 효율성