본문 바로가기

네트워크

BUS | CSMA/CD

오늘은 Carieer Sensing / Multi Access / Collision Detection/ 

회선감지 / 다중접근 / 충돌감지 

에 대해 애기를 나누어보고 싶어요 :) 

 

 

 

줄여서 CSMA/CD 방식이라고 부릅니다

이는 네트워크와 운영체제에 둘다 쓰이는 개념인데요

 

 

 

 

 

먼저 운영체제에서 시스템 버스에 적용시켜 보도록 하겠습니다.

 

 

CPU    버스     HDD 

                   RAM

                IO

 

이렇게 CPU는 보조기억장치/ 주기억장치 등등하고 시스템 버스

랑 연결 되어있습니다

 

저번에 비유했던 교통체제에서보자면

자동차들은 입출력장치( 보조기억장치) 

CPU는 경찰

도로는 시스템 버스라고 볼 수 있겠죠~ ?

 

 

 

그러면 위에서 말했떤 CSMA/ CD방식을 

운영체제에 비유해서 나눠서 설명해보도록 하겠습니다

 

먼저 다중접근 Multi Access 은 무슨뜻일까요 ?

여러 프로세스들이 도로를 점유할 수 있다는 뜻이 됩니다.

따라서 다중 접근이라고 부르는 것이구요

이때 필요한 것이 스케쥴링이 될 수 있겠죠

스케쥴러가 스케쥴링을 하는것이 되겠죠 

 

 

 

그러면 Collision Detection은 무슨뜻일까요 ?

하드웨어 장치들이 서로 충돌이 될 때를 막아줄 때 쓰는 개념이에요 

즉 다시말해 인터럽트가 필요한 부분이 되는것이지요

 

 

지금까지 운영체제에서 관점에서 바라본

 

회선 감지/ 다중접근/ 충돌감지 였구요 

 

 

네트워크 관점에서 바라본 

CSMA/CD 도 이와 같습니다.

 

 

PC3            PC 4

 

버스

 

PC 1         PC2

 

이렇게 있다고 가정해봅시다 

 

그리고 PC1이 PC2로 신호를 보내는 중이라고 합시다

그러면 혹시 PC3은 PC4로 송신이 가능할까요 ??

정답은 "아니요" 입니다.

 

그 이유는 무엇일까요?

운영체제에서 말했던 "충돌" 과 같은 개념입니다.

 

아 여기서 잠깐, 추가로 충돌하면 "deadlock", 교착 상태와 비슷한 개념이라고 

볼 수 도 있는데요 

예를 들어 하드웨어 A자동차가 1차선 시스템버스를 점유하면서 가고 있는데

2차선에 있던 B자동차가 1차선 시스템 버스를 점유하려고 하다가 부딪혔어요 

이 떄를 교착상태, 충돌 상태라고 보는거에요

그래서 인터럽트가 필요한 것입니다.

 

 

이처럼 네트워트도 network bus가 존재하고

pc사이에 데이터를 보내는 송신도 하나의 회선에서는

충돌이 발생하지 않도록 송신을 해야하는것이랍니다.