CSMA / CD 프로토콜

Dev.nuts·2021년 3월 19일
0

네트워크

목록 보기
2/2

CSMA/CD란?

  • LAN의 통신 프로토콜의 종류 중 하나이며, 이더넷 환경에서 사용한다.
  • CSMA/CD는 Carrier Sense Multiple Access/Collision Detetion의 줄임말로, 즉 '대충 알아서 눈치 껏통신하자' 라는 방식의 프로토콜이다.

CSMA/CD의 방식

  • 이더넷 환경에서 통신을 하고 싶은 PC나 서버는 먼저 네트워크 상에 통신이 일어나는지 확인을 한다. 캐리어가 있는지 검사 Carrier Sense라 부름.

    캐리어란? 네트워크 상 나타내는 신호

  • 네트워크 통신이 일어나고 있으면 (캐리어가 감지되면) 데이터를 보내지 않고 기다린다.

  • 네트워크 통신이 일어나고 있지 않으면 (캐리어가 감지되지 않으면) 데이터를 네트워크 상에 보낸다
    즉 '눈치를보다가 보낸다.'

  • 만약, 캐리어가 감지 되지 않았을 때, 두 PC나 서버가 데이터를 동시에 보내면 이 경우를 Multiple Aceess (다중 접근)이라 한다.

  • 위 처럼 두 PC나 서버가 데이터를 동시에 보내려다 부딪치는 경우 충돌(Collision) 이 발생했다고 한다.

  • 만약, 충돌이 일어나게 된다면 데이터를 전송했던 두 PC나 서버들은 랜덤한 시간 동안 기다린 다음 다시 데이터를 전송 한다.

  • 이러한 충돌이 계속해서 15번 일어나면 통신을 끊는다.


CSMA/CD 충돌 X

  • 전송을 원하는 호스트는 네트워크에 캐리어를 감지해 전송이 가능한지 검사한다.
    Ex) A에서 D로 데이터 프레임을 전송
  • 전송이 가능할 경우 A에서 B,C,D로 브로드캐스트를 하여 D를 찾아낸다. (여기서 D는 유니캐스트로 응답한다)
  • 그 후 전송을 한다.

CSMA/CD 충돌 O

  • 전송을 원하는 호스트는 네트워크에 캐리어를 감지해 전송이 가능한지 검사한다.
    Ex) A에서 D로 데이터 프레임을 전송, B에서 C로 데이터 프레임을 전송
  • A에서 발생한 프레임과 B에서 발생한 프레임은 공유매체에서 충돌을 발생한다 (빨간선과 파란선이 만나는 지점)
  • 충돌이 발생하면 Jam Signal을 모든 호스틀 ㅗ전송하여 충돌 발생에 대해 알리고, Jam Signal을 받으면 일정 시간 뒤에 다시 전송을 시작한다.
profile
40대에 은퇴해, 제주살이를 꿈꾸는 Fire족

0개의 댓글