Multiple Access Protocols
-> Random access protocols(랜덤이기 때문에 충돌이 일어남)
ALOHA
CSMA
CSMA/CD
CSMA/CA
>>가장 중요 위 4가지는 무조건 알아두기
-> 충돌을 피하기 위해서 각 스테이션이 어떤 절차를 가지면 될까?
-> 언제 접근을 해야할까?
-> 현재 매체가 바쁘다면 나는 무엇을 해야할까?
-> 내가 전송한 것이 성공했는지 실패했는지는 어떻게 알 수 있을까?
-> 누군가 동시에 접근하게 되어 충돌이 발생했다면 난 무엇을 할 수 있을까?
>>위의 질문들을 가지고 multiple access에 접근해야함
ALOHA
-> 대표적임 – 주파수 대역을 정해서 보내주는 것 ex. 업로드는 407MHz, 다운로드는 413MHz
-> 임의적으로 전송을 하기 때문에 충돌이 발생함
알고리즘
시작 -> K=0 -> 프레임을 보냄 -> 최대 전파시간의 두 배만큼을 기다림 -> 응답(ACK)가 오면 성공 or 응답이 오지 않는다면 K=K+1(별도의 메커니즘을 진행) -> K>Kmax인지 판단 ->
맞다면 중단시킴 or 아니라면 랜덤 수 R을 0에서 2^k-1사이의 값에서 선택하여 연기시간(연기시간(Tb)은 R x 최대 전파시간(Tp) or R x 프레임의 평균 전송 시간(Tfr))만큼 기다렸다가 다시 프레임을 전송하는 단계부터 반복한다.
>>타임 슬롯 두 개 안에서 하나가 발생
throughput(처리량) = 18%
-> Slotted ALOHA를 만듬 -> 이건 정해진 슬롯간격을 두어 프레임을 전송시키는 것
CSMA
-> 캐리어를 센서함 -> 내가 지금 정송할 수 있는지 없는지 회선/미디어에 전파가 있는지 없는지를 센싱함(노이즈의 변화를 파악함)
Persistence methods(3가지 중요)
-> 1-persistent – 연속적으로 매체가 바쁜지 아닌지 확인 후 아니라면 바로 전송
-> Nonpersistent – 일정한 간격대로 확인해보다가 바쁘지 않다면 전송
-> p-persistent – 연속적으로 확인하다가 없으면 확률시간만큼 기다렸다가 전송
CSMA/CD(뒤에서 기다림)
-> 충돌이 일어났을 때 다른 누군가 또 전송했다면 중간에 충돌 난 부분에서 시간이 지나면 알아낼 수 있는데(충돌이 일어났다면 기존의 에너지에서 변화된 에너지가 전송됨, 스파크 – 더 높은 주파수)
과정
시작 -> K=0 -> 앞에서 배운 persistence 방법 중 하나가 선택되어 지원함 -> 전송이 되지 않고 충돌을 발견하지 못했다면 다시 전송하고 받음 -> 전송이 되었거나 충돌을 발견하였다면 다시 진행해서 충돌이 발견되었는지 확인 없다면 성공 or 충돌이 발견되었다면 충돌신호를 보냄(broadcast jamming signal – 다른 애들한테도 충돌이 났음을 알림) -> K=K+1 -> K>Kmax 판단 -> 맞다면 중단함 or 맞지 않다면 -> 0부터 2^k – 1사이의 값을 선택함 -> 연기시간(연기시간(Tb)은 R x 최대 전파시간(Tp) or R x 프레임의 평균 전송 시간(Tfr))만큼 기다렸다가 다시 persistence 지원 선정 단계부터 반복한다.
CSMA/CA(앞에서 기다림)
-> 지속해서 idle 판단 -> idle되면 Inter frame space만큼을 기다렸다가 충돌이 일어났던 확률 비율만큼 이진 지수함수만큼의 사이즈의 window를 운영했다가 타임이 끝나면 프레임을 보냄
과정
시작 -> K=0 -> idle 채널인지 아니라면 다시 판단 -> 맞다면 IFS time만큼 기다림 -> idle인지 다시 확인한 후 아니라면 다시 idle 채널 판단을 계속하고 -> 맞다면 0에서 2^k-1사이의 랜덤 수 R을 선택해서 R슬롯만큼 기다림(보내기 전에 먼저 기다림, 이게 중요한 차이, 앞에는 충돌이 발생하면 기다림) -> 프레임을 보냄 -> time-out(시간초과)를 기다림 -> 응답(ACK)을 받았다면 성공 or 받지 못했다면 K=K+1 -> K>15 판단 -> 맞다면 중단 or 아니라면 다시 idle 채널 판단 단계로 돌아가 반복함
>>위에 CSMA 두 가지 메커니즘 꼭 알고있기
-채널화
-> 2계층에서 내려와서 매체를 사용할 때 아래(데이터링크 계층)와 같은 것들 활용
FDMA – 동시에 매체를 multiple access하기 위해서 매체 별로 주파수 대역을 다르게 사용하는 것
TDMA – 시간에 대한 슬롯을 모두 다르게 할당해서 동시에 단말기들이 접속함
CDMA(이건 계산 방법도 알고 있어야함) - chip 시퀀스라고 불리는 코드 값을 부여 받고 부여받은 것을 가지고 data bit가 0이면 –1, 1이면 +1, silence이면 0을 부여함 -> 전체 bandwidth를 다 사용함.
-> 전부 동시에 각 채널로부터 데이터를 받아가지고 계산을 진행하여 합쳐서 한 번에 무선으로 전송을 함
-> 그렇게 반대편에 들어온 값을 역으로 계산을 진행해서 각각을 모두 더해서 나누기 4를 해주면 변형된 값이 나오는데 이것을 통해 데이터 비트를 판단함
-> CDMA – Sequence Generation 할 수 있어야함 (Walsh table)
ex.
W1 -> W2 = W1 W1 -> 이런 식으로 확장됨
W1 W1’
-> Controlled-access protocols(조작을 통해 충돌을 막아줌)
Reservation
Polling
Token passing
-> Channelization protocols(채널화 시키는 것)
FDMA
TDMA
CDMA
'👨💻Computer Science > 컴퓨터네트워크' 카테고리의 다른 글
[컴퓨터네트워크] 19장 Network Layer: Logical Addressing (0) | 2021.07.24 |
---|---|
[컴퓨터네트워크] 18장 Virtual-Circuit Networks: Frame Relay and ATM (0) | 2021.07.24 |
[컴퓨터네트워크] 15장 Connecting LANs, Backbone Networks, and Virtual LANs (0) | 2021.07.24 |
[컴퓨터네트워크] 14장 wireless LANs (0) | 2021.07.24 |
[컴퓨터네트워크] 13장 Wired LANs: Ethernet (0) | 2021.07.24 |
댓글