◈ CSMA/CD 란 무엇인가요 ?
CSMA/CD(Carrier Sense Multiple Access/Collision Detect)는 이더넷의 전송 방식이다. 이더넷에서 데이터를 전송하기 위해서는 회선을 사용하고 있는 노드가 없어야 한다.
만약 다른 노드에서 회선을 사용하고 있을 때 데이터를 전송하면 충돌이 발생해서 전송을 할 수 없게 된다. 그러면 CSMA/CD가 이더넷에서 어떻게 동작하는지에 대해서 좀더 자세히 알아보도록 하자.
CSMA/CD는 데이터를 전송하기 전에 회선이 사용 중인지를 먼저 점검한다. 만약 회선이 사용 중이라면 회선이 사용가능할 때까지 대기하고 그렇지 않다면 데이터를 전송한다. 만약 데이터의 전송 중에 다른 데이터와 충돌이 발생하게 되면 임의의 시간을 대기한 후에 다시 데이터를 보내게 된다. 이것을 정리해보면 다음과 같다.
CSMA(Carrier Sense Multiple Access)
현재 회선이 사용 중인지를 확인한다. 회선이 사용 중일 때에는 캐리어(Carrier) 신호가 발생하게 된다. 만약 회선에서 캐리어 신호가 발견되면 회선이 사용 중인 것으로 알고 임의의 시간동안 대기한 후 다시 캐리어 신호를 검사하게 된다. 만약 회선에서 캐리어 신호가 발견되지 않을 경우에는 캐리어 신호와 함께 데이터를 전송한다.
CD(Collision Detect)
회선에 캐리어 신호가 없는 것을 확인한 후에 데이터를 전송하는 것만으로 데이터를 전송할 때 생기는 충돌을 완전히 막을 수는 없다. 간단한 예를 들어, 두 개의 노드가 동시에 캐리어 신호를 검사하고 데이터를 전송하게 된다면 두 노드에서 보내는 데이터들은 서로 충돌하게 된다.
이와 같이 어떠한 문제로 서로의 데이터가 충돌한 경우에는 전송 중이던 모든 데이터는 무효화 된다. 이럴 경우 데이터를 보내던 노드는 임의의 시간동안 대기한 후에 다시 전송을 하게 된다. 또 다시 데이터가 충돌하는 것을 막기 위해서 각각의 노드는 서로 다른 임의의 시간동안 대기하게 된다. 이러한 CSMA/CD 방식은 네트워크 트래픽을 중앙에서 제어할 필요가 없고 트래픽이 적을 경우에는 모든 대역폭을 사용할 수 있기 때문에 효율이 높은 방법이다. |