두 종류의 네트워크 링크
- 점대점 링크
- 링크의 한쪽 끝에 한 송신자와 링크의 다른 쪽 끝에 한 수신자가 있음
- PPP, HDLC
- 브로드캐스트 링크
- 동일한 하나의 공유된 브로드캐스트 채널에 다수의 송신 노드 및 수신 노드들이 연결됨
- 브로드캐스트: 임의의 한 노드가 프레임을 전송하면 그 채널이 그 프레임을 broadcast해서 다른 모든 노드들이 그 프레임의 복사본을 수신하는 것
- 이더넷, 무선 랜
다중 접속 문제
- 다수의 송수신 노드들의 공유되는 브로드캐스트 채널로의 접속을 조정하는 문제
- 2개 이상의 노드가 동시에 프레임을 전송하면 모든 노드는 동시에 여러 개의 프레임을 받게 되고 충돌이 발생
- 충돌에 관련된 모든 프레임은 손실되며 브로드캐스트 채널은 충돌 기간만큼 낭비됨
다중 접속 프로토콜
- 공유되는 브로드캐스트 채널로 보내는 노드들의 전송을 조정하기 위한 프로토콜
- 즉, 다수의 노드가 활성화되어 있을 때 브로드캐스트 채널이 제대로 동작하도록 보장하기 위해 활성 노드들의 전송을 조정
- 채널 분할 프로토콜
- 랜덤 접속 프로토콜
- 순번 프로토콜
3.1 채널 분할 프로토콜
1. 시분할 다중화 (TDM)
- 시간을 시간 프레임으로 나누고 각 시간 프레임을 N개의 시간 슬롯으로 나눔
- 각 시간 슬롯은 N개의 노드에게 각각 할당되고, 노드는 전송할 패킷이 있을 때마다 TDM 프레임에서 자신에게 할당된 시간 슬롯 동안 패킷 비트들을 전송함
장점
단점
- 전송할 패킷이 있는 노드가 단 하나인 경우에도 노드 전송률이 평균 R/N으로 제한됨
- 노드가 전송 순서상 자신의 차례를 항상 기다려야함
2. 주파수분할 다중화 (FDM)
- R bps의 채널을 다른 주파수로 나눠서 각 주파수를 N개 노드 중 하나에게 할당함
장점
- 충돌을 피하고 N개 노드에게 대역폭을 균등하게 분할함
단점
- 전송할 패킷을 가진 노드가 단 하나일지라도 노드는 R/N의 대역폭으로 한정됨
3. 코드 분할 다중 접속 (CDMA)
3.2 랜덤 접속 프로토콜
- 랜덤 접속 프로토콜에서 전송 노드는 항상 채널의 최대 전송률인 R bps로 전송함
- 충돌이 생기면 충돌과 관련된 각 노드는 프레임이 충돌 없이 전송될 때까지 자신의 프레임을 계속해서 재전송함
- 그러나, 프레임이 충돌했을 때 즉시 재전송하지 않고, 랜덤 지연 시간 동안 기다린 후 재전송 함
- 충돌했던 노드 중 하나는 다른 노드가 선택한 지연 시간보다 충분히 작은 지연시간을 선택함으로써 충돌 없이 자신의 프레임을 채널로 전송할 수 있음
슬롯 알로하 (slotted ALOHA)
- 노드는 전송할 새 프레임이 있으면 다음 슬롯이 시작할 때까지 기다렸다가 그 슬롯에 전체 프레임을 전송함
- if 충돌 x -> 노드는 성공적으로 자신의 프레임을 전송한 것이므로 그 프레임을 재전송할 필요가 없음
- if 충돌 o -> 노드는 그 슬롯이 끝나기 전에 충돌을 검출함 노드는 그 프레임이 충돌 없이 전송될 때까지 확률 p로 해당 프레임을 다음 슬롯들에서 재전송함
- 최대 효율은 p = 1/e = 0.37
알로하
- 프레임이 도착하면 노드는 즉시 프레임 전체를 브로드캐스트 채널로 전송함
- if 충돌 -> 노드는 확률 p로 즉시 재전송
- 즉시 재전송하지 않는 경우, 노드는 프레임 전송 시간 동안 기다림
- 기다리고 나서 확률 p로 전송하거나 아니면 1-p 확률로 또 다른 프레임 시간 동안 기다림
- 최대 효율은 1/(2e)
CSMA (Carrier Sense Multiple Access)
- 위 두 프로토콜에서는 다른 노드의 활성 여부와 무관하게 전송 여부를 결정함
충돌시간을 줄이기 위한 규칙
- 캐리어 감지 (carrier sensing)
- 만일 다른 노드가 프레임을 채널로 전송하고 있으면, 노드는 임의의 짧은 시간 동안 전송 중단을 감지하면 프레임을 전송하기 시작함
- 충돌 검출(collision detection)
- 만일 다른 노드가 방해 프레임을 전송하고 있음을 검출하면, 자신의 전송을 중단하고 랜덤 시간 동안 기다린 후 유휴 시 감지 및 전송과정을 반복함
CSMA 충돌
- 채널 전파 지연(channel propagation delay): 신호가 채널의 한쪽 끝에서 다른 쪽 끝으로 전파되는데 걸리는 시간이 CSMA의 성능을 결정하는데 중요한 역할을 함
- 전파 지연이 길수록 네트워크의 다른 노드에서 이미 시작된 전송을 캐리어 감지 노드가 감지할 수 없는 경우가 더 증가함
CSMA/CD (Carrier Sense Multiple Access with Collision Detection)
- CSMA/CD는 충돌을 검출한 뒤에 두 노드가 바로 자신의 전송을 취소(abort)함
동작 과정
- 어댑터는 네트워크 계층으로부터 데이터그램을 받아서 링크 계층 프레임을 만든 후에 그 프레임을 어댑터 버퍼에 저장함
- 어댑터는 채널이 유휴(idle) 상태임을 감지하면 프레임 전송을 시작함
만일 어댑터가 채널이 바쁜(busy) 상태임을 감지하면, 어떤 신호 에너지도 감지되지 않을 때까지 더 기다렸다가 프레임을 전송하기 시작함
- 전송하는 동안 어댑터는 브로드캐스트 채널을 사용하는 다른 어댑터로부터의 신호 에너지가 있는지 감시함
- 프레임 전체를 전송하는 동안 다른 어댑터로부터의 신호 에너지가 감지되지 않으면, 프레임 전송을 완료함
그러나, 전송 도중에 다른 어댑터로부터의 신호 에너지를 감지하면, 자신의 프레임 전송을 취소함
- 어댑터는 전송 취소 후 임의의 랜덤 시간만큼 기다린 후 (동일한 고정시간동안 기다리면 계속 충돌하므로) 2단계로 돌아감
랜덤 백오프 시간 간격
- 이진 지수적 백오프 알고리즘
- 충돌을 n번 경험한 프레임을 전송할 때 노드는 {0,1,2,...,2^n-1} 중에서 랜덤하게 K값을 선택
- 프레임이 충돌을 더 많이 경험할수록 K를 선택할 간격을 크게함
CSMA/CD의 효율
- d_prop: 신호 에너지가 임의의 두 어댑터 사이에서 전파되는데 걸리는 최대 시간
- d_trans: 최대 크기의 이더넷 프레임을 전송하는 데 걸리는 시간
효율=1/(1+5dprop/dtrans)
3.3 순번 프로토콜
다중 접속 프로토콜에서 요구되는 두가지 특성
- 단 하나의 노드만이 활성이면 Rbps의 처리율을 가짐
- M개의 노드가 활성이면 각 노드가 거의 R/M bps의 처리율을 가짐
- 알로하와 CSMA 프로토콜은 두 번째 특성이 없기 때문에 순번 프로토콜을 개발하게 됨
중요한 프로토콜 2가지
1. 폴링 프로토콜(polling protocol)
- 노드 중 하나를 마스터 노드로 지정하고 마스터 노드를 라운드 로빈 방식으로 폴링함
- 장점: 충돌뿐만 아니라 랜덤 접속 프로토콜의 단점인 빈 슬롯을 제거함으로써 훨씬 높은 효율을 제공
- 단점: (1) 폴링 지연 (노드가 전송할 수 있음을 알리는 데 걸리는 시간), (2) 마스터 노드가 고장 나면 전체 채널이 동작하지 못함
2. 토큰 전달 프로토콜(token-passing protocol)
- 마스터 노드가 없고, 토큰이라고 알려진 작은 특수 목적 프레임이 정해진 순서대로 노드 간에 전달됨
- 장점: 분산 방식으로 효율이 매우 높다
- 단점: 노드 하나가 실패하면 전체 채널이 동작하지 않음
3.4 DOCSIS: 케이블 인터넷 접속을 위한 링크 계층 프로토콜
- DOCSIS는 하향 및 상향 망 세그먼트들을 다수의 주파수 채널로 나누기 위해 FDM을 사용함
하향 채널
- 6 MHz 대역에 약 40 Mbps의 최대 처리율 제공
- CMTS에 의해 하향 채널로 전송된 프레임은 그 채널을 통해 수신하는 모든 케이블 모뎀에 의해 수신됨
상향 채널
- 6.4 MHz 대역에 약 30 Mbps의 최대 처리율 제공
- 시간 간격으로 나뉘어져 있고, 각 시간 간격은 케이블 모뎀이 CMTS로 전송할 수 있는 일련의 미니 슬롯들로 구성되어 있음