컴퓨터 네트워크 - 무선 네트워크: Wifi, CSMA/CA
K-MOOC에서 부산대학교 유영환 교수님의 “컴퓨터 네트워킹” 강의를 수강하며 적은 노트
Wireless Network
무선 네트워크
- 최근 사용량은 유선보다 무선으로 인터넷에 접속하는 디바이스들의 수가 훨씬 많음
- 무선 프로토콜: 와이파이, 블루투스, zigbee, ZWAVE, Light wave, LI-FI 등
- mobility: 사용자가 계속 이동해도 끊김없이 인터넷 접속 지점을 바꿔가며 접속
- 와이파이의 경우 와이파이에 멀어지면 새로 인위적으로 접속해야 연결이 가능하므로 모빌리티 제공 X
- 무선 전화망은 모빌리티 O
구성 요소
- 무선 호스트: 랩탑, 스마트폰, 태블릿 PC 등
- 유선망에서 호스트는 데스크탑, 라우터, 서버 등
- base station: 일반적 호스트가 아닌 네트워크를 구성하는 노드. 인터넷에 접속하는 지점
- relay: 유선망과 무선 호스트를 연결하는 접점
- 기지국, 와이파이 액세스 포인트
- 링크: wireless 호스트와 베이스 스테이션을 이어줌
- backbone: 베이스 스테이션과 백앤드의 인터넷망을 연결하는 망
- LTE 등 보통 backbone망이 유선, 와이맥스, 와이브로는 무선
- backbone: 베이스 스테이션과 백앤드의 인터넷망을 연결하는 망
무선통신망의 topology
- infrastructure 모드: 베이스 스테이션을 기준으로 해서 유선망 또는 전화망과 연결해 주는 기반 구조(infra)가 이미 갖춰져 거기에 연결
- 무선 구간은 베이스 스테이션과 wirless 호스트 사이의 single hop
- handoff(handover): 하나의 호스트가 접속해 있던 베이스 스테이션을 변경할 때 자동으로 변경이 되는 기술
- 와이파이, 셀룰러망(무선 전화망), 와이맥스, 와이브로 등
- ad hoc 모드: 어떤 특별한 모양을 가지지 않고 호스트들 사이에 임의로 자기들끼리 연결하는 네트워크
- 1:1 또는 그물 형태도 가능, muiti-hop 커뮤니케이션 가능
- 와이파이 다이렉트, 블루투스
무선 링크의 특성
- path loss: 무선 전파는 유선 링크를 통과하는 신호에 비해서 신호 세기가 급격하게 감소
- 간섭이 심하게 일어남
- 2.4 GHz대 대역: ISM(Industry, Science, Medical) 밴드로 와이파이, 블루투스 등 많이 사용됨
- 다중 경로 전파: 내가 내 신호에 의해서 간섭을 받음
- 보낸 신호가 반사 등으로 각각 다른 길로 지나와 도착 시간이 달라 신호가 섞임
- SNR(Signal-to-Noise Ratio): 신호 대 잡음 비
- 신호가 아무리 세도 잡음보다 크게 강하지 않으면 제대로 수신할 수 없음
- BER(Bit-Error Rate)
- SNR과 BER은 tradeoff 관계: SNR이 높으면(신호가 깨끗) BER은 떨어짐
- BPSK, QAM16, QAM256: QAM256은 BPSK의 속도 8배
- 비트율이 더 높은 QAM256은 SNR이 더 높아야 함
- 따라서 만약 SNR이 낮은 곳이라면 비트율을 낮추면 BER이 낮아짐
802.11 Wireless LAN(Wi-Fi)
Wireless Technologies
- 802.11: 와이파이 기술
- a, b: 99년 기술, g, n, ac가 나오며 전송 속도가 점점 증가
- 802.15: WPAN
- WPAN(Wireless Personal Area Network): 블루투스나 zigbee 등으로, 전송 거리는 크지 않지만 전력을 적게 소모
- 2G: CDMA, GSM(TDMA+FDMA) 사용
- 3G: 4 Mbps
- 4G: LTE, 와이맥스, 10 Mbps
- 5G: 100 Mbps
와이파이
- 802.11b: 1999 - 2.4 GHz 대역 사용 - 11 Mbps
- 802.11a: 1999 - 5 GHz 대역 사용 - 54 Mbps
- 802.11g: 2003 - 2.4 GHz - 54 Mbps
- 802.11n: 2009 - 2.4&5 GHz - 450 Mbps
- 802.11ac
- wave 1: 2014 – 5 GHz - 866.7Mbps
- wave 2: 2016 – 5 GHz - 1.73 Gbps
- 802.11n, 802.11ac는 SU-MIMO, MU-MIMO
- 멀티플 안테나를 써서 동시 전송
- SU: Single User, MU: Multiple User
- SU-MIMO: AP에 달린 여러 개의 안테나로 시간대마다 유저 한 명에게 서비스
- MU-MIMO: 여러 개의 안테나를 공유해서 여러 유저가 사용하는 것, SU-MIMO보다 속도 향상
- 802.11ac와 802.11n 비교
- 최대 네 배의 넓은 대역폭
- 11a나 g: 20 MHz, 11n: 40 MHz, wave1: 80 MHz, wave2: 160 MHz
- 안테나 수
- 11n: 4개, 11ac: 8개
- 모듈레이션 기술
- 11n: 64QAM, 11ac: 256QAM
- 최대 네 배의 넓은 대역폭
- 802.11은 모두 와이파이이므로 같은 구조
- 와이파이 표준에 따라 infrastructure 모드 또는 ad hoc 모드로 동작 가능
- 모두 MAC 프로토콜로 CSMA/CA 사용
와이파이의 구조(infrastructure 모드)
- 베이스 스테이션(공유기, 액세스 포인트)를 통해 호스트들의 데이터를 스위치에 모음
- 허브 스위치는 액세스 포인트와 인터넷을 연결
- BSS(Basic Service Set): 하나의 액세스 포인트가 커버하는 영역
- ex) 11b: 2.4 ~ 2.485 GHz 대역 사용하여 약 80 MHz 영역에 11개 채널 서비스
- 채널 당 20 MHz를 차지하게 겹치게 놓음
- 주로 서로 겹치지 않는 1, 6, 11 채널 사용, 3개 보다 더 많은 노드들이 이웃하면 다른 채널들도 사용
AP 접속 방식
- 각각의 AP들이 beacon 메시지를 보내 자기의 존재를 알림 A. beacon 메시지: 이름인 SSID와 MAC address가 존재
- 호스트가 하나를 정해 association request 메시지 전송
- AP는 암호를 요구하거나, 따로 하지 않거나 하여 association response 메시지 전송
- AP를 통해 DHCP 기술로 IP 주소 부여
프레임: 이더넷 프레임과 비슷
- frame control: 프로토콜 버전, type, subtype, to AP, from AP, more frag, retry, power mgt, more data, WEP, Rsvd 총 2 byte
- type: 2 bit, 프레임 타입 RTS, CTS, ACK, 데이터 구분
- AP한테 보낼 데이터가 있다, AP로부터 올 데이터가 있다, AP가 전달할 데이터가 있다 등 알림
- duration: NAV
- address 1, 2: 이더넷과 동일하게 Source MAC address, destination MAC address
- 1: 목적지, 2: 소스
- address 3: AP가 접속되어 있는 허브 스위치, 라우터, 게이트웨이의 주소
- seq control: ACK에서 사용하기 위한 시퀀스 넘버
- RDT(reliable data transfer)를 위해 메시지가 중복인지 아닌지 체크
- address 4: 와이파이 다이렉트로 ad hoc 모드를 쓸 때 사용하는 주소
- payload
- CRC
- 호스트1이 AP에게 프레임 보냄 A. AP의 MAC 주소, 호스트1의 MAC 주소, 인터넷에 접속된 라우터의 MAC 주소
- 앞부분(AP의 MAC 주소)을 떼고 목적지에 라우터 주소, 소스에 호스트 주소를 써서 이더넷 프레임(802.3)을 만들어 전송
- 이후 유선 이더넷 망과 똑같이 동작
*rate adaptation: 다양한 data rate 지원
- SNR 값이 좋을 땐 빠르게 전송할 수 있지만, 낮을 경우 BER이 높아져 통신 속도가 늦는 것이 더 나음
CSMA:CA
CSMA/CA
- CSMA: 내가 전송하기 전에 같은 공유 주파수나 링크를 사용하는지 sensing을 해서 전송할 지 말 지 선택
- CSMA, CSMA/CD 모두 충돌이 일어나면 재전송을 해서 통신 완료
- Hidden terminal problem: 무선에서는 다른 노드의 상황을 감지 못하는 경우가 있어 충돌을 감지 못할 수 있음
- ex) A와 C는 B의 신호를 듣고, 서로는 듣지 못함
- C가 B에게 전송해도 A는 감지할 수 없으므로 그냥 보내면 충돌 발생
- ex) A, B, C가 나란한 경우
- A의 신호는 B까지는 전달하지만 시그널 감쇠로 C에게는 SNR이 매우 낮아짐
- ex) A와 C는 B의 신호를 듣고, 서로는 듣지 못함
- DCF(Distributed Coordination Function): CSMA/CA를 기반으로 하는 802.11 표준 기술, 개별 노드들이 분산적으로 서로 협력
- CA(Collision Avoidance)
- 와이파이 sender가 먼저 일정한 시간 DIFS 동안 채널 지속적 감지
- 무언가 감지: backoff time 시작
- backoff time: 개별 노드들이 알아서 결정한 랜덤한 시간 3. backoff time 타이머는 채널이 idle일 동안 감소, 누군가 전송 중에는 freeze 4. 타이머가 0이 되면 전송 시작
ex) 스테이션 5개 A, B, C, D, E
- A가 프레임 전송
- B, C, D가 감지하니 전송 중 -> random backoff time 시작
- C의 backoff time이 가장 짧아 C가 전송, B와 D는 타이머 멈춤, E가 채널 감지 후 random backoff time 시작
- C의 전송이 끝나면 DIFS만큼 기다리고 B, D, E 타이머를 다시 가동
- D가 가장 짧아 D가 전송, …, B 전송, …, E 전송
CA인 이유
- CSMA/CD의 경우 충돌이 나면 collision detection으로 랜덤 시간 후 재전송
- 충돌이 나도 detection이 빨라 금방 복원 가능
- wireless는 자신의 신호가 커서 다른 신호는 잡음처럼 들려 collision detection이 안 됨
- 충돌이 나면 전체 프레임이 다 전송될 때까지 기다려 시간 낭비
- 따라서 충돌이 나지 않게 random backoff time으로 충돌 미리 방지
- 충돌이 난 경우: 우연히 random backoff time가 거의 비슷해 동시에 전송된 경우
- 따라서 수신자는 데이터를 받으면 ACK 메시지 보냄
- ACK를 받지 못하면 sender는 재전송
DIFS와 SIFS
- DIFS(Distributed Inter-Frame Space): 프레임 간의 시간 간격
- SIFS(Short Inter-Frame Space): 데이터를 받고 ACK를 보내는 시간
- DIFS > SIFS
- 만약 DIFS < SIFS일 경우
- Receiver가 데이터를 받고 나서 ACK를 전송하기 위해 있는 시간 중간에, 다른 노드가 채널을 감지하면
- 아무도 전송 중이지 않으므로 데이터 전송
- 다른 노드의 데이터와 ACK 메시지가 충돌해서 원래 노드는 재전송해야 함
- 만약 DIFS > SIFS일 경우
- Receiver가 데이터를 받고 나서 ACK를 전송하기 위해 있는 시간 중간에, 다른 노드가 채널을 감지하면
- 처음에는 아무도 전송 중이지 않지만 DIFS 시간 동안 ACK 메시지를 감지함
- 만약 DIFS < SIFS일 경우
- SIFS가 필요한 이유
- Checksum 등 에러 체크, ACK 메시지를 만드는 시간은 시스템마다 다름
- 따라서 일정 값으로 정해 놓아야 DIFS 시간을 정할 수 있음
hidden terminal problem
- CSMA/CA의 기본 방식은 해결할 수 없음
- 따라서 채널을 예약할 수 있게 RTS(request-ro-send) 메시지를 전송
- ex) A – B – C, A와 C는 듣지 못함
- A가 RTS 전송: B에게 도달, C는 도달 X
- B는 CTS 전송: A는 허가로 알아들음, C는 다른 누군가가 예약함을 알아챔
- RTS, CTS는 NAV(Network Allocation Vector)를 가짐: RTS, CTS, 데이터, ACK를 보내는데 보통 걸리는 시간
- 그 시간 동안 다른 노드들은 sleep에 들어가 에너지 절약
- ex) A – B – C, A와 C는 듣지 못함
- 데이터를 보내기 위해서는 항상 DIFS 동안 기다림
- (RTS와, CTS), (CTS, 데이터), (데이터, ACK) 사이는 SIFS 동안 기다림
댓글남기기