이더넷(Ethernet)
CSMA/CD
- IEEE 802.3 MAC
- 버스나 스타형 LAN에서 가장 일반적으로 이용되고 있는 매체 액세스 제어 기법
- 이더넷(Ethernet) 이라고 함
동작절차
- 채널을 사용할 때 먼저 다른 호스트가 채널을 이용하는지의 여부를 모니터링한 다음 사용하는 방법
1. 채널이 사용중이 아닌 것으로 판단되면 전송시작
- 이때 다른 호스트가 동시에 전송을 시작하면 (충돌발생)
- 이미 전송된 프레임은 충돌에 의해 데이터 파괴
- 충돌이 발생하게 되면 곧바로 전송 중단
- 전송 중단 후 일정시간이 지나고 나서 채널 모니터링 후 전송을 재개
- 전송 도중 충돌발생하지 않으면
- 전송완료
2. 만일 채널이 사용 중이면
- 일정 시간만큼 기다렸다가 다시 채널 상태를 살핀 후 전송 재시도
동작 5단계
- 임의의 NIC(Network Interface Card)가 상위의 네트워크 계층으로 데이터를 받으면 이더넷 프레임을 만든 후 그 프레임을 어뎁터의 버퍼에 저장
- NIC는 다른 NIC가 전송매체를 사용하고 있지 않으면(Idle) 프레임 전송, 전송매체를 사용하고 있으면(Busy) 사용하지 않을 때까지 기다렸다가 프레임 전송
- NIC는 프레임 전송 중에도 다른 NIC가 데이터를 전송하는지 체크, 만일 다른 NIC로부터의 데이터 전송을 검출하지 않고 프레임 전체를 전송하면 프레임 처리는 완료
- NIC가 프레임 전송 도중 다른 NIC로부터의 데이터 전송을 감지 (충돌 탐지, Collision Detection)하면 자신의 프레임 전송을 즉시 중단하고 48비트 잼(Jam)신호 전송
- 잼 신호를 전송한 후, NIC는 지수적 백오프(Exponential Backoff) 알고리즘을 실행
- 잼 신호는 LAN상의 모든 호스트에게 충돌이 발생했음을 알리는 신호
- 지수적 백오프 알고리즘은 충돌이 많이 발생할수록 좀 더 긴 시간 동안 기다린 후에 전송을 재시도하려는 의도
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과 같은 형태도 하나의 데이터 링크라고 할 수 있음
'CS > Network' 카테고리의 다른 글
5-1. 네트워크 계층과 라우팅 (0) | 2022.12.23 |
---|---|
4-3. 데이터링크 계층과 LAN : 토큰 버스(Token Bus) (0) | 2022.12.21 |
4-1. 데이터링크 계층과 LAN (0) | 2022.12.16 |
3-3. OSI 참조모델과 인터넷 프로토콜 구조 : 와이어 샤크 (0) | 2022.12.16 |
3-2. OSI 참조모델과 인터넷 프로토콜 구조 : 인터넷 프로토콜 구조 (0) | 2022.12.15 |