본문 바로가기
CS/Network

4-2. 데이터링크 계층과 LAN : 이더넷

by pizzz 2022. 12. 21.

이더넷(Ethernet)

 

CSMA/CD

- IEEE 802.3 MAC

- 버스나 스타형 LAN에서 가장 일반적으로 이용되고 있는 매체 액세스 제어 기법

- 이더넷(Ethernet) 이라고 함

 

동작절차

- 채널을 사용할 때 먼저 다른 호스트가 채널을 이용하는지의 여부를 모니터링한 다음 사용하는 방법

1. 채널이 사용중이 아닌 것으로 판단되면 전송시작

  •  이때 다른 호스트가 동시에 전송을 시작하면 (충돌발생)
    • 이미 전송된 프레임은 충돌에 의해 데이터 파괴
    • 충돌이 발생하게 되면 곧바로 전송 중단
    • 전송 중단 후 일정시간이 지나고 나서 채널 모니터링 후 전송을 재개
  • 전송 도중 충돌발생하지 않으면
    • 전송완료

2. 만일 채널이 사용 중이면

  • 일정 시간만큼 기다렸다가 다시 채널 상태를 살핀 후 전송 재시도

 

동작 5단계

  1. 임의의 NIC(Network Interface Card)가 상위의 네트워크 계층으로 데이터를 받으면 이더넷 프레임을 만든 후 그 프레임을 어뎁터의 버퍼에 저장
  2. NIC는 다른 NIC가 전송매체를 사용하고 있지 않으면(Idle) 프레임 전송, 전송매체를 사용하고 있으면(Busy) 사용하지 않을 때까지 기다렸다가 프레임 전송
  3. NIC는 프레임 전송 중에도 다른 NIC가 데이터를 전송하는지 체크, 만일 다른 NIC로부터의 데이터 전송을 검출하지 않고 프레임 전체를 전송하면 프레임 처리는 완료
  4. NIC가 프레임 전송 도중 다른 NIC로부터의 데이터 전송을 감지 (충돌 탐지, Collision Detection)하면 자신의 프레임 전송을 즉시 중단하고 48비트 잼(Jam)신호 전송
  5. 잼 신호를 전송한 후, NIC는 지수적 백오프(Exponential Backoff) 알고리즘을 실행
    • 잼 신호는 LAN상의 모든 호스트에게 충돌이 발생했음을 알리는 신호
    • 지수적 백오프 알고리즘은 충돌이 많이 발생할수록 좀 더 긴 시간 동안 기다린 후에 전송을 재시도하려는 의도 

 

CSMA/CD 플로우 차트

 

 

CSMA/CD 충돌 예시

- 시간 t0 : 호스트A는 호스트C로 향하는 프레임을 전송하기 시작

- 시간 t1 : 호스트D는 B로 프레임을 전송할 준비가 되어 있고 이 시점에 채널이 사용중이 아님을 감지하고 전송시작

- 호스트 A, D에서 보낸 프레임은 충돌이 발생하며 호스트 A, D는 충돌이 발생했음을 감지

- 호스트 A,D는 랜덤 시간을 기다린 후에 전송 재개 

 

지수적 백오프 알고리즘

- 목적 : 재전송 시도를 부하의 정도에 따라 조절하기 위함

- 부하가 심한 경우에 더 오래 기다리도록 함

- 충돌의 횟수가 많을수록 네트워크 부하가 크다는 의미

- 알고리즘

k값 0~n 중에서 랜덤하게 선택

 

예제) CSMA/CD 프로토콜에서 NIC는 충돌 후 K*512비트시간을 기다린다. K=100일 때 100Mbps 이더넷에서는 얼마나 기다리는가?

풀이) 1sec = 100x10^6bit (100Mbps) 즉, 1비트시간 = 1/ 100x10^6

         K*512비트시간 = 100x512 / 100x10^6 = 512 / 10^6 = 0.000512sec

답) 0.512msec

 

CSMA/CD방식의 특징 및 장단점 

- 장점

  • 통신량이 적을 때 90% 이상으로 채널 이용률이 높음
  • 어느 한 호스트가 고장이 나도 다른 기기의 통신에 전혀 영향을 미치지 않음
  • 가장 많이 사용하고 있음

- 단점

  • 통신량이 많아지면 충돌의 횟수가 증가하면서 채널 이용률이 떨어짐
  • 지연시간을 예측할 수 없음
    • 이러한 문제는 특히 공장 자동화에 LAN을 이용할 때 제한 요소로 작용

- 비교적 저속이며 저부하의 경우에 적합

- 제어 방식이 간단하면서 시설비 저렴, 소규모에서 대규모 LAN까지 경제적인 구성 가능

- 전송매체는 UTP와 동축 케이블이 일반적이나 최근에는 광섬유 케이블을 이용하는 추세

 

IEEE 802.3 물리계층

- CSMA/CD에 대한 물리적 매체는 사용자 응용의 요구사항을 충족시키기 위해 IEEE 802.3에서 규정

- UTP(Unshielded Twisted Pair), 동축케이블(Coaxial Cable) 그리고 광섬유 케이블(Fiber Optics Cable)등이 사용

 

10BASET/100BASET 이더넷

- 10BASET : 10Mbps에 UTP케이블 사용하는 이더넷, 현재 사용X

- 100BASET : 100Mbps에 UTP케이블 사용하는 이더넷, 현재 사용 

- 스타형 구성형태를 가지며 허브 또는 스위치라는 중앙장치가 있음

 

 

패스트 이더넷(Fast Ethernet)

- 100BaseT를 지원하는 이더넷을 패스트이더넷이라고 함

- 각 호스트의 이더넷 어댑터는 UTP케이블을 통해 허브로의 직접적인 연결

- 보통 고급의 카테고리-5 UTP케이블을 사용

- 10BaseT와 달리 맨체스터 인코딩을 사용하지 않고 대신 4B5B라는 좀 더 효율적인 인코딩 방식을 사용

 

기가비트 이더넷(Gigabit Ethernet)

- 10Mbps와 100Mbps 이더넷 표준을 확장 -> 1Gbps

- 기존 이더넷과 완전한 호환이 가능

- 10Mbps와 100Mbps 이더넷들을 서로 연결햊는 백본으로 자주 사용

- 2006년에 10Gbps 이더넷(10GBase-T)이 표준화 되어 이더넷의 전송속도는 지속적으로 향상 

- 장점

  • 기존 이더넷 네트워크를 기가비트 이더넷으로 간편한 전환 가능
  • 기존 이더넷, 패스트 이더넷의 모든 장점을 포함
  • 가격 또한 투자대비율로 봤을 때 저렴
  • 기가비트 이더넷은 랜 분야 백본용으로 사용이 훨씬 용이

 

 

데이터링크란?

인터넷 프로토콜 계층에선 네트워크 인터페이스 계층으로 Layer 2

호스트A와 호스트 B가 네트워크 장비에 연결되어 있는 상태에서 호스트와 네트워크 장비사이를 datalink라고 함

(즉, 노드와 노드 사이를 의미)

*호스트 A와 호스트B사이는 트랜스포트 계층(end-toend)

데이터링크, 트랜스포트 계층 모두 error 탐지기능 있는데 탐지 범위가 상이함

    - 데이터 링크계층에서는 노드와 노드 사이의 에러탐지

    - 트랜스포트 계층에서는 호스트와 호스트 사이의 에러 탐지 

* 허브에 여러 대 호스트가 연결되어 있는 LAN과 같은 형태도 하나의 데이터 링크라고 할 수 있음