'CSMA/CD'에 해당되는 글 1건
- 2009/09/20 [네트워크] Ethernet - CSMA/CD
안녕하세요 Noel입니다!
뜬금없이 네트워크 카테고리를 슥 만들고 Ethernet의 특징? 전송방식?인 CSMA/CD에 대해 슬그머니 끄적여 보려구요
(Server / Network / Network Security... 다 재미있는 주제들이잖아요 ^^ )
Ethernet 이라는 기술 자체를 하나의 포스트로 정리한다는 건... 저의 부족한 능력으로는 불가능하고
이 포스트에서는 Ethernet에서 채택하고 있는 전송 방법인 CSMA/CD에 대해 이야기해 볼께요
CSMA/CD = Carrier Sense Multiple Access with Collision Detection
간단하게 용어를 보자면 "네트워크 내의 Carrier 를 Sense 해 하나의 Media를 통해 Multiple Access를 가능하게 하는 기술" 이 되겠네요.
뒤의 CD는 위처럼 Carrier Sense를 수행했음에도 불구하고 동시에 여러개의 Node에서 패킷을 전송했을 경우 발생하는 Collision을 Detection 하는 방식을 함께 취한다고 생각하시면 되겠습니다.
무슨 말인지 도통 이해가 안가신다구요? 아래서 자세히... (제가 아는게 적어서 충분히 이해를 시켜드릴 수 있을지는 잘 모르겠습니다. =ㅅ=)
이 CSMA/CD가 사용되는 이유는 한 네트워크에 동시에 여러개의 패킷이 전송될 경우... 제대로 된 통신을 할 수 없기 때문입니다.
그럼... 각 Node마다 별개의 케이블을 연결해 통신을 하면 되지 않느냐고요? 설마 이렇게 생각하실 분은 없을거라 생각하지만...
저는 10개의 Node를 가지고 45개의 케이블을 서로서로 연결해야 하고 하나의 시스템에 9개의 랜카드가 꼽힌 환경에서 일할 자신은 없습니다.. 네트워크 관리는 더더욱.. ㅡ,.ㅡ;
이런 이유들로 Ethernet은 CSMA/CD라는 방식을 이용해 패킷을 송신하게 됩니다.
일단 Node A, B, C, D가 한 네트워크를 이루고 있다고 가정해 봅시다.
Node A 에서 Node B에 전송할 패킷이 발생했습니다.
그럼 Node A 는 네트워크에 패킷들이 돌아다니고 있는지 한번 둘러봅니다. (Carrier Sense) 결과는 두 가지로 나뉘겠죠?
패킷이 있다 => 패킷이 없을 때까지 기다립니다. 네트워크에 너도나도 패킷을 전송할 경우... 하나의 Connection도 제대로 된 통신을 할 수 없겠죠?
패킷이 없다 => 자... 이제 보낼 때가 된겁니다. 자신있게 Destination을 B로 패킷을 날려 줍니다.
어라? Carrier Sense 하나로 위의 문제가 해결되었군요!!! 멋져요 o_O
하지만.. 여기서 문제가 하나 생기게 됩니다...
만약 Node A 는 Node B 에게 패킷을 보내려고 합니다. 그런데 동시에 Node C 도 Node D에 패킷을 보내려고 하고 있네요
Node A, C 는 Carrier Sense 과정을 거쳐 네트워크가 놀고 있다는 것을 확인하게 되고 패킷 전송을 시작합니다.
두둥!! 결국 네트워크상에서 Node A, C 가 보낸 두 가지 패킷은 충돌을 일으키게 되는군요.
이건 Collision Detection 후 어떤 과정을 거쳐 해결하게 됩니다. 이제 그 과정을 알아보도록 하죠
일단 충돌이 일어났을 경우 Node A, C 둘은 어라!! 충돌이네!! 하고 네트워크상에서 충돌을 감지하게 되고, Transmit jam signal을 생성하고 패킷 전송을 중단합니다.
중단한 이후 어느정도 시간을 기다린 후 다시 Carrier Sense 단계부터 패킷 전송 과정을 진행하게 됩니다.
Q : 그럼 또 충돌이 일어나지 않나요?
A : 날 수도 있고 안날 수도 있답니다. random backoff라 불리는데 random 한 시간동안 wait 후 패킷 전송을 시도하기 때문이죠. 정말 불운하게도 난수 발생시 같은 숫자가 발생했다면.... 다시 한 번 충돌 / 재전송 하는거죠 ^^;
wikipedia에서 발취한 순서도입니다.
< CSMA/CD - from wikipedia (http://en.wikipedia.org/wiki/File:Csmacd.JPG) >
그렇다면... Node 들이 매우 많을 경우는 어떻게 하나요??
흠흠... 이건 나중에 다른 포스팅에서 이야기 해 보도록 하죠.. ^^
너무 엉성한 포스트여서 혹시 읽으시는 분들에게 혼란을 드리는 건 아닐지 하는 걱정이 드네요.. 휴우..
즐거운 하루 되세요.
'네트워크, 보안' 카테고리의 다른 글
| [네트워크] Hub, Bridge/Switch (0) | 2009/09/28 |
|---|---|
| [네트워크] OSI 7 Layer (0) | 2009/09/22 |
| [네트워크] Token Ring (0) | 2009/09/21 |
| [네트워크] Ethernet - CSMA/CD (0) | 2009/09/20 |

Prev

Rss Feed