
LAN의 통신 프로토콜 종류 중 하나로 이더넷 환경에서 사용함
Carrier Sense Multiple Access with Collision Detection = 대충 알아서 눈치껏 통신해~
통신 방법
- 반송파 감지(Carrier Sense): 네트워크 상에 통신이 일어나는지 확인
- 캐리어 감지 = 통신 중 → 대기
- 캐리어 감지 X = 통신 중 X → 통신 시도
- 다중 접근(Multiple Access): 두 서버가 데이터를 동시에 보낸 경우 다중 접근 발생
- 충돌 발생(Collision Detection): 두 서버가 보낸 데이터가 충돌한 경우 장치들은 즉시 데이터 전송을 중지
- 두 서버는 랜덤한 대기 시간(Backoff Time)을 대기한 후 다시 데이터를 전송
- 충돌이 15번 발생하면 통신 중단
토큰을 가진 노드만 데이터 전송이 가능함. 토큰이 순서대로 노드를 순회하며 통신 권한을 전달함.
- 토큰: 네트워크에서 통신 권한을 제어하는 신호
토큰 순회 방식
- 토큰이 데이터를 포함하지 않은 빈 상태로 전달됨
- 통신할 데이터를 가진 노드는 토큰에 데이터를 추가하여 전달
→ 목적지 노드에 도착하면, 토큰에서 데이터를 제거한 후 빈 토큰을 전달- 통신할 데이터가 없는 노드는 토큰을 사용하지 않고 그대로 전달
# 예시
1. Node 2 → (데이터 포함된 토큰) → Node 3 → Node 4
2. Node 4: 수신 확인, 데이터 읽고 토큰에서 데이터 삭제
3. Node 4 → (빈 토큰) → Node 1 → Node 2 → Node 3 → Node 4
통신이 완료되면, 데이터를 수신한 노드는 반드시 토큰을 비워서 전달해야함
이유: 다른 노드도 통신할 수 있는 기회를 가지도록 보장하기 위해서
즉, 링형 토폴로지에서는 공정성을 위해 토큰을 다시 빈 상태로 순회시키는 것이 원칙
스케줄링 방식
- 단일 토큰 방식 (일반적)
- 하나의 토큰이 네트워크를 순환하며, 각 노드가 차례로 통신 기회를 가짐
- 다중 토큰 방식 (고성능 링)
- 여러 개의 토큰이 링을 순환하며, 여러 노드가 동시에 통신 가능
- 우선순위 기반 토큰 방식
- 특정 노드가 중요한 통신을 수행할 수 있도록 우선순위가 높은 토큰을 사용
| 특성 | CSMA/CD (Carrier Sense Multiple Access with Collision Detection) | 토큰 패싱 (Token Passing) |
|---|---|---|
| 통신 방식 | 모든 노드가 동시에 통신 가능, 충돌 발생 가능 | 하나의 노드만 통신 가능, 충돌 없음 |
| 충돌 처리 | 충돌 발생 시 감지 (Collision Detection), 충돌 후 백오프 알고리즘 사용 | 충돌 자체가 발생하지 않음 |
| 충돌 발생 여부 | 충돌 발생 가능, 특히 네트워크 부하가 증가할수록 충돌 빈번 | 충돌 발생 불가 |
| 통신 권한 제어 | 노드가 자유롭게 통신 가능 (CSMA), 충돌 발생 시 재전송 | 토큰을 소유한 노드만 통신 가능 |
| 스케줄링 방식 | 없음 (무작위 통신), 충돌 시 재시도 (Backoff Time) | 토큰 패싱으로 순차적으로 통신 기회 부여 |
| 효율성 | 네트워크 부하가 증가할수록 성능 저하 (충돌 증가) | 네트워크 부하와 관계없이 일정 성능 유지 |
| 복잡성 | 간단한 동작 원리 (충돌 감지 + 백오프) | 토큰 관리 필요, 복잡도 증가 |
| 적용 환경 | 이더넷 (유선 네트워크), 허브 기반 네트워크 | 링형 토폴로지, FDDI, Token Ring 네트워크 |
| 토폴로지 유형 | 버스, 스타, 트리 (허브 기반 네트워크) | 링형 (순환형 네트워크) |
| 동시 통신 | 동시 통신 가능하지만 충돌 발생 (CSMA) | 동시 통신 불가 (순차적 통신) |
| 공정성 (Fairness) | 노드 간 통신 기회 불공정 (충돌 빈도에 따라 차이 발생) | 각 노드가 순차적으로 통신 기회 보장 |
| 효율성 저하 조건 | 네트워크 부하 증가 시 (충돌 증가) | 노드가 많아질수록 순차적 통신 지연 |