안뇽안뇽 시간 빠르네염~ 벌써 포스팅하고 있구 ㅎ.ㅎ

빨리 공부하고 끝냅시다!

근거리 통신망은 어느 거리를 근거리 통신망이라 할까요? 근거리 통신은 초 중 고등학교, 아파트 등등 저희가 평소에 사용하는 통신망이 다 근거리 통신망 입니다.


랜은 대학교, 혹은 회사 같이 규모가 조금 있는 곳에서 사용합니다. 랜은 제가 다니고 있는 멀티미디어 공학과 전용 랜 이런식으로 빼서 사용하죠.

그런 단과대학의 랜들이 모여서 단국대학교의 랜이 됩니다. 대표적인 랜이 이더넷 입니다. 이더넷은 버스형입니다. 토큰링은? 링형입니다. 무선랜은? 스타형 입니다.

뜬금없는소리

이더넷은 사무실과 집에서 사용하고 공장은 토큰링을 사용합니다. 무선망은 와이파이 입니다.

뭐.. 그니까!! 이더넷은 세계적으로 가장 많이 쓰는 인터넷 입니다


오늘은 이더넷에서 발생하는 이슈중에 하나인 CSMA/CD 에 대하여 포스팅 하려 합니다.


CSMA/CD ( Carrier Sence Multi Access Collision Detection )

처음 쉽게 설명하고 시작 하겠습니다. 이건 이전에 눈치게임을 생각하시면 됩니다.

4명의 학생에서 눈치게임을 했을 때 , 겹칠 확률도 있지만, 보통 순서대로 1 , 2 , 3 , 4 이런식으로 외치게 됩니다.

이런경우 어떤 알고리즘으로 동작 했을까요? 

공기로 누가 말을 하나 안하나 캐리어 센스(다른 사람이 말 하나 안하나 보고 느끼는것)를 한 것 입니다. 만약 다른 사람이 말을 하고 있으면, Chanel이 Busy하다고 말을 하고, 말을 안하고 있으면 Chanel이 free하다고 이야기 합니다.

Carrier Sence Multi-Access - 여러명이 공기를 통하여 일단 말을 합니다.

Collision Detection - 그리고 서로 겹쳤나 느끼는 겁니다. 충돌이 안 났으면 행복한거고, 충돌이 난 경우 다시 게임을 해야 합니다.


쉽죠?


이더넷 통신 네트워크를 사람과 빗대어 이야기 해보겠습니다.

만약 특정한 장소에서 제 친구가 말을 하면, 다른 사람들도 그 말을 듣습니다. 그리고 저도 그 말을 듣고 대답을 하지만, 다른 사람들은 자신과 상관이 없으면 무시를 합니다. 근데 어떤 사람들은 대화 내용을 바탕으로 나쁜짓을 합니다. 

예를 들면, 어떤 커플이 인터넷 상으로 데이트 장소를 정하고 있습니다. 그리고 그 인터넷은 암호화가 안 되어 있으면 소리를 다 들을 수 있습니다. 이런 뜻이죠. 인터넷은 이런식으로 동작합니다.

여기서 이런 질문을 던질 수 있겠죠.

뭐...뭐?! 내가 말을 한 것을 다른사람들이 다 들을 수 있다고!? 그럼...내가 지금까지 말 했던것은 다 다른사람들이 보고 있었던거야!? 헐?! 뭐야!!!? 비효율적 아니야!?

답 : 이전 포스팅을 참고하시길 바랍니다.


그럼, 만약 두개 이상의 PC가 프레임을 송신하면 어떻게 될 까? 컴퓨터는 당연히 못알아 먹죠 ㅋㅋㅋㅋ(두개의 소리가 섞여서 못 알아 먹음.) 이렇게 못 알아 듣는 말을 충돌이라 합니다. 충돌이 났을 경우 수신이 불가능하다고 하는 것 이다!(뒤에서 이야기 할 테지만, 이럴때 jamming signal을 던진다)


다시 정리하면, 

Carrier Sence(데이터를 보내기 전에, 전송 매체가 사용중인지 알아낸다.-내가 말하기 전에 공기가 사용중인지 확인한다)

Multi Access(전송 매체가 사용중이 아니라면, 내 귀가 사용중이 아니라면 누구든 사용 가능하다.)

Collision Detection (내가 말 하고 있는 도중에 다른 사람이 말을 하면 충돌이 났다고 기계는 생각한다.)


이것이 CSMA/CD 입니다.


그래서 사용하는 기법이 RTS / CTS가 있습니다 

station ready to send clear (RTS - 보낼 준비가 완료되었다)

clear to send - CTS

A라는 컴퓨터가 B라는 컴퓨터에게 데이터를 보내기 위해서 먼저 말을한다

B야!! 나 데이터 보낼꺼니까 준비해!!

그래서 어떤 특정한 선에다가 신호를 써서 보낸다.( 그럼 RTS가 1로 쭈욱~~ 들어온다 , 다른 예로는 수업중 교수님에게 질문 하려고 손 드는것! 그리고 교수님이 손 내리라고 하는것이 신호를 내리는 것(clear)!)


캐리어 센스 하면 2가지 중 하나이다. 이미 쓰고 있거나 아니면 쓰지 않고 있거나!

안 쓰고 있다는 것이 채널이 free 하다는 것이고, 쓰고 있으면 채널이 busy 하다는 것이다!

채널이 비면 CTS를 보내준다!


Trasmit gamming signal

한 100개서 통신을 하면 충돌이 많이 날 것인데, 이것을 정하는 기준이 되게 어렵다.(나중에 포스팅 하도록 하겠다)


컴퓨터 ABC가 있다. ABC가 다 데이터를 전송 하려고 한다. 그래서 ABC가 Carrier Sence 한다!(전송이 가능한지 듣는것!) 그리고 나서, 공기가 비어 있다고 생각하면 서로 보낼 수 있다고 생각한다 (Multi-Access) 그리고 A와 C가 데이터를 보낸다! 그럼 중간에 충돌이 발생할 것이지!(Collision Detection) 그럼 충돌이 난 사실을 누가 알고 있을까!? 

정답은 아무도 모른다!

왜 그럴까!?  정답은 "충돌은 내가 말을 할 때 내 귀에도 다른 말이 들리면 충돌이다! "라는 말을 생각해 보자. 컴퓨터도 말을 하고 있지만, 아직 신호가 들어오지 않았습니다.B는 말은 안하고 있고 신호만 있습니다. C는 아직 말하고 있지만 A의 데이터가 도착하지 않았으니 충돌이 나지 않았다고 생각을 한다.


그런데 시간이 지나서 A의 데이터가 C로 도착하거나 C의 데이터가 A로 도착하면 충돌이 난 것을 알 수 있다.

그러고 나서 다른놈에게 도착하면 충돌이 난 것을 알고 Gamming signal을 보낸다. 그리고 생각합니다 " 나 말고도 숫자를 외친 애가 있구나 .. 조금 기다려야지"

이러면서 B가 어부지리로!!!!!!!!!!! 신호를 보냅니다. 


우리 집에서 이런 일이 계속 발생한다.

만약 나를 괴롭히는 형이 지금 영화를 실시간 스트리밍으로 보고 있다고 생각하자.

그럼 우리는 무선랜에 파일 다운을 걸어버린다. 그럼 영화가 엄청 끊길 것이다 ㅋㅋㅋㅋㅋㅋ (데이터가 왔다가 멈췄다가 할 거기 때문에)

여기에서 저런 젬 신호가 왔다갔다 하면서 싸우는 것이기 때문이죠 ㅋㅋㅋ 

이건 옛날에 누나가 인강들을때 저도 동영상 켜놓고 막 이럣던 기억이 있네여 ㅋㅋㅋ


포스팅 내용은 실시간으로 변경될 수 있습니다. 조금 맞지 않는 개념 혹은 틀린 개념이 있으면 언제든지 댓글 달아주세요!

마지막 수정 : 2016-04-20

+ Recent posts