본문 바로가기

컴퓨터통신

[컴퓨터통신] 2장. 데이터 링크 네트워크 (무선 LAN, 네트워크 어댑터)

  • 2-5) 무선 LAN
  • 2-6) 네트워크 어댑터

 

  • 2-5) 무선 LAN

A. 무선 LANs

  • IEEE 802.11 : Wifi를 의미한다.
  • 물리적 매체 : 확산 스펙트럼 (2.4 GHz, 5 GHz) - license free band를 사용한다. / 발산 적외선 (10m)

 

B. LAN 구조

Wifi를 쓰는 두가지 경우

  • 1) Infrastructure mode : base station을 통해 호스트가 무선으로 통신한다.

        - AP(access point) : base station (기지국, 공유기)

        - BSS(Basic service set) : 셀

  • 2) ad hoc mode : 디바이스끼리 직접 연결 (ex. 블루투스)

C. 확산 스펙트럼

  • 개념

        - 신호를 보다 넓은 주파수 대역으로 확산 시켜서 보낸다. -> 넓은 대역에 데이터가 퍼져있어서 특정 주파수에 간섭이 생겨도 상대적으로 그 간섭은 무시할 수 있게된다.

        - 다른 사용자를 지속적으로 방해하면 안 된다. - For 간섭 충돌 회피

        - Code Division Multiplexing도 포함 (But,  원리는 같지만 목적이 다르다) - For 다중화

  • Ex1) 주파수 호핑 - Bluetooth

        - 임의의 주파수 시퀀스로 전송한다. 

        - 주파수를 임의로 건너뛰면서 전송하고 송/수신자는 그 패턴을 공유한다.

  • Ex2) 직접 시퀀스 - CDMA

        - 넓은 채널을 항시 다 쓴다.

        - 전송할 각 비트에 대해 n 개의 임의 비트와 xor한 비트열을 전송한다.

        - 송/수신자는 임의의 n 비트 시퀀스를 공유한다.

        - 예를 들어, 4-bit chipping code 경우 1bit를 4bit와 xor해서 전송한다. (1bit 대신 4bit를 보냄)

 

  • 확산 스펙트럼? 다중화? MAC

각 노드에서 전송하는 신호는 여러 주파수가 합쳐진, 주파수 대역으로 신호를 보낸다.

이때 서로다른 주파수 대역끼리는 서로 간섭이 일어나지 않는다. 따라서 서로 간섭이 지속적으로 일어나지 않게 하기 위해 주파수 호핑같은 확산 스펙트럼을 이용한다. 그럼에도 간섭을 100프로 피할 수 있는건 아니다. 따라서 같은 주파수 대역으로 두 개 이상의 노드가 신호를 보내려할때 이는 같은 주파수 대역이므로 같은 공유 채널을 이용하려하는 것이다. 따라서 이는 MAC를 이용해서 공유자원을 접근하는데에 있어 제어가 필요하다. 그리하여 AP에 서로 다른 신호들이 쌓였을때 이들을 하나의 신호로 결합하여 하나의 링크에 공존할 수 있게 하는 것이 다중화이다.

https://www.quora.com/What-is-the-difference-between-multiple-access-and-multiplexing-like-in-FDMA-and-FDM

 

D. 매체 접근

  • 개념

        - 기본적으로 이더넷과 유사하다.

        - 공중 매체라는 특성 떄문에 CS는 가능하지만 CD는 불가능하다. (무선에서는 원천적으로 보내면서 듣는게 어려움)

        - 그에따른 문제로 hidden and exposed nodes 문제가 있다.

        - 따라서 위의 문제를 해결하기 위해 겹치는 AP영역에 대한 문제를 해결하기 위한 MAC(접근제어)이 필요하다.

 

  • hidden

        - B가 C에게 통신하고 이때 D도 C에게 통신할때 C입장에서는 충돌이 일어나지만 B입장에서는 D가 영역 밖이라 감지못한다. D의 신호가 B한테까지 안와서 회선이 idle이라 판단하고 B도 같이 신호 보내서 결국 충돌 일어난다.

        - 해결 : C에서 CTS를 뿌림으로써 해결가능

  • exposed nodes

        - B가 A에게, C가 D에게 통신하려할때 유선에서는 서로 상관없는 통신이지만 무선에서는 공유되는 영역이 존재하여 CS단계에서 C가 신호를 보내면 안된다고 판단한다. 

        - B가 A에게 통신하고 있어도 A의 CTS가 C에게 닿지 않고, C가 보낸 RTS에 D가 CTS를 보내므로 데이터 전송 가능

 

E. 충돌 회피

  • 개념

        - 송신자는 RTS 프레임을 전송한다 / 수신자는 CTS 프레임으로 응답한다

        - CTS가 들리면 다른 노드들은 기다린다.

        - RTS들렸는데 CTS안 들리면 통신을 한다. => exposed node 문제 해결 (C는 RTS 들었지만 CTS 안들려서 RTS 전송)

        - 두 개의 노드가 동시에 RTS 보낼때 충돌 발생한다.

        - 무선에서 송신자는 Listen While Talk(CD)를 못하므로 그냥 CTS를 받지 못하면 충돌이라 판단한다. -> exp.backoff

        - CSMA/CD : 충돌 발생 시 전송을 중간에 끊어서 충돌 비용 개선 / RTS&CTS : 우선 무조건 데이터 전송하여 발생하는 충돌 overhead를 RTS 충돌 overhead로 대체하여 충돌 비용 개선

 

F. 이동성 지원

P1(사람)이 P2에게 신호를 보냈는데 P2가 A에서 H로 이동하면 Distribution system에서 신호를 A에서 H로 이동시켜줌

 

G. BSS 접속 / 가입

  • 스캐닝 : AP 선정 작업 (Wifi 찾기)

        - 이동 노드가 probe 프레임을 브로드캐스트로 쫙 뿌린다.

        - Probe 받은 AP가 ProbeResponse 프레임으로 응답한다.

        - 노드가 AP를 선택하는 의미로 AssociateRequest 프레임을 전송한다.

        - AP가 AssociationResponse 프레임으로 응답한다.

        - 새 AP가 이전 AP에게 유선으로 통보한다.

 

  • 스캐닝 시점

        - 능동적 : 이동노드가 움직일때 스캐닝을 한다.

        - 수동적 : AP가 주기적으로 Beacon 프레임을 전송한다. 따라서 들리던 Beacon이 들리다가 안들리면 스캐닝한다.

 

H. 매체접근제어(MAC) 비교

  • 이더넷, 토큰링, 무선 LAN (CSMA / CD, 토큰링, CSMA / CA)

        - 경쟁, 신호등, RTS/CTS(Collision Avoidance)

  • 충돌에 대비하는 방법

        - 충돌 발생 확률 / 충돌 발생에 따른 비용

  • MAC 오버헤드? (어댑터 가격 / Throughput 결정)
  • 적합한 환경? (Token - 신뢰 / 이더넷 - traffic 낮은 환경)
  • 발전방향

 

  • 2-6) 네트워크 어댑터

 

 

A. 개요

  • 데이터 링크 기능이 구현되는 곳 (프레이밍, MAC, 오류검출CRC) - Link interface

B. 호스트 관점에서 네트워크 어댑터

  • 상태 제어 레지스터 (Control Status Register)

        - 특정 메모리 주소로 사용 가능하다.

        - CPU가 읽고 쓸 수 있다.

        - CPU가 어댑터에게 명령할 수 있다. (ex. 전송)

        - 어댑터는 CPU에게 정보를 알려준다. (ex. 수신오류)

 

C. 호스트와 어댑터 사이에서의 프레임 이동

  • 직접 메모리 접근(DMA)

        - CPU를 거치지 않고 바로 메모리에서 꺼내쓴다.

        - 디스크에서 많이 쓰는 방식이다. (꺼내쓸 데이터가 너무 길어서 오히려 CPU통해서 왔다갔다 하는게 손해)

 

  • 프로그램 I/O

        - CPU가 메모리에서 데이터 꺼내와서 어댑터에게 전송한다.

        - 메모리에서 꺼내오는 프레임 크기가 작을때는 CPU가 읽고 가져오는게 빠르다.