컴퓨터통신#12

LeeMir, 01 June 2021

7장 - Wireless and Mobile Networks


Wireless Network
  • Wireless Link 특징
    • 신호 세기가 거리의 제곱에 반비례해 확확 줄어듦
    • 간섭을 받기 쉬움
    • 신호가 항상 동일한 형태로 목적지에 도달하기 어려움
    • 신호의 세기가 강해지면 SNR(Signal-to-Noise Ratio)이 커지고, BER(Bit Error Rate)이 작아짐
      • 신호의 세기는 physical layer의 modulation 기법에 따라 달라짐
      • 속도가 느린 modulation 기법이면 SNR이 그렇게 크지 않아도 BER이 작음
  • Wireless Network 특징
    • Hidden Terminal Problem
      • A, B, C가 있고 A와 C가 장애물에 가로막혀있고, B는 A와 C 모두 연결 가능한 상태에서 A와 C가 서로 B로 신호를 보내게 돼 B에서 충돌이 발생할 수 있음
      • 굳이 장애물이 아니더라도 거리 차이 때문에도 발생할 수 있는 상황
IEEE 802.11 Wireless LAN
  • 802.11b
    • 2.4GHz ~ 2.485GHz 대역(unlicensed)을 주파수(frequency)를 기준으로 11개의 채널로 나눔
    • 그렇다고 11개를 다 사용하면 간섭이 일어나기 쉬워 보통 3개 정도 채널(1, 6, 11)만 사용
    • AP admin이 사용할 채널을 정함
      • 서로 이웃해있는 AP가 같은 채널을 고르면 간섭이 일어날 수 있음
      • AP가 몰려있는 것을 Hot Spot(Wi-Fi jungle)이라고 부름
  • host
    • AP에 연결해야 함
    • AP의 이름(SSID)과 MAC 주소가 담긴 beacon frame을 감지하는 방식으로 채널을 탐색 후 AP 선택
    • 인증이 필요할 수 있음
    • 일반적으로 DHCP를 이용해 Ap의 서브넷으로부터 IP 주소를 받음
  • passive scanning
    • host가 여러 AP를 감지했을 경우 RSS(Received Signal Strength)가 큰 AP를 일반적으로 선택함
    • host는 선택을 한 AP로 Association Request frame을 전송함
    • 선택받은 AP는 frame을 받은 후 host로 Association Request frame을 보냄
  • active scanning
    • host가 broadcast로 Probe Request frame을 전송함(주변 AP가 받을 수 있도록)
    • frame을 받은 AP는 host로 Probe Request frame을 보내 본인의 존재를 알림
    • host가 AP를 선택한 후 Association Request frame을 주고 받음
  • multiple access
    • 802.11에서는 collision detection을 하지 않음
      • 기본적으로 collision detection은 신호의 세기가 겹쳐져 갑자기 커지는 상황을 감지하는 것인데, 무선에서는 신호의 세기가 거리의 제곱에 반비례하다보니 신호가 많이 겹쳐도 멀어질 경우 세기가 그렇게 크지 않아 구분하기 힘들어짐
      • 따라서 CSMA 또는 CA 방식으로 collision avoidance를 함
  • IEEE 802.11 MAC Protocol: CSMA/CA
    • sender
      • 데이터를 보내기 전에 누가 채널을 사용하고 있는지 carrier sense를 함
      • 아무도 사용하고 있지 않더라도 DIFS라는 필수 휴지 기간이 존재
      • DIFS동안 계속 carrier sense를 함
      • 만약, 채널을 누가 사용하고 있을 경우 random backoff time을 해 채널이 비워질 때까지 대기
      • 데이터를 보낼 때에는 끊지 않고 한꺼번에 다 보냄
      • ACK가 오지 않을 경우, collision이 발생한 것으로 판단해 다시 random backoff interval을 해 대기함
    • receiver
      • ACK를 보낼 때에는 반드시 SIFS라는 휴지 기간을 기다렸다가 보내야 함
  • Avoiding collisions
    • sender가 보낼 때 처음에 RTS(request-to-send)라는 작은 크기의 frame을 보냄
    • AP는 RTS에 대한 응답으로 CTS(clear-to-send)를 broadcast로 보내서 다른 host가 채널을 사용하지 못하게 알림
      • 보내려고 했던 다른 host들은 전송을 연기해야 하는데, 연기하는 시간은 CTS에 들어있음
    • RTS와 CTS는 결국 추가적으로 1RTT의 오버헤드가 생겨 잘 쓰지 않음
  • mobility within same subnet
    • 한 IP Subnet에 있는 host가 같은 IP Subnet의 다른 AP로 이동해 연결했을 경우 switch에서 이 host가 어느 AP에 위치해있는지 어떻게 알까? 라는 상황
    • switch는 self-learning을 통해 이 host가 보낸 frame이 어느 AP를 통해 왔는지 기억해놨다가 해당 port로 보내줘서 해결함
  • power management
    • node가 AP로 다음 beacon frame까지 sleep할거라고 알림
      • 따라서 AP는 이 node한테 frame을 보낼 필요가 없음
    • beacon frame : AP가 모든 mobile node에게 broadcast로 보내는 frame
      • 이 frame에는 현재 어떤 mobile node가 frame을 받고 있는지(sleep이 아닌지) list가 담겨있음
  • IEEE 802.15: Personal Area Network
    • 대표적으로 802.15.1(Bluetooth)과 802.15.4(Zigbee, sensor network)가 있음
    • 약 10미터 안에서 동작함
    • 주로 cable을 대체(마우스, 키보드, 헤드폰 등)
    • ad hoc 방식(no infrastructure)
    • master/slave로 동작
      • 아이폰이 master, 에어팟이 slave
      • master를 포함해 최대 8개까지 연결 가능
      • master/slave 말고도 inactive 상태를 나타내는 parked도 있음
      • 이러한 연결을 piconet이라고 부름
    • 현재 Bluetooth는 많이 발전해서 BLE(Bluetooth Low Energe)라는 Bluetooth 4.0 버전까지 나와 거리도 많이 늘어남
Mobility
  • vocaulary
    • home network
    • permanent address(home address)
      • mobile node한테 할당된 주소로, mobile node가 어디로 가든 사용됨
      • correspondent는 항상 이 주소로 접근
    • home agent
      • mobile node가 다른 곳으로 이동해도 permanent address를 사용할 수 있게 해줌
      • router에서 주로 맡는 역할
    • visited network(foreign network)
      • 현재 mobile node가 속해있는 network
      • permanent address는 home network에서 사용하던 그대로 사용
    • foreign agent
      • visited network에서의 home agent
    • care-of-address
      • visited network에서의 주소
    • correspondent
      • 통신하고 싶어하는 상대 mobile node
  • 움직이고 있는 상대의 위치를 어떻게 찾아서 통신할 수 있을까?
    • router를 이용하는 방법
      • routing table을 바꿀 때 mobile node가 어디 있는지도 최신화
      • end-system은 바꿀 필요가 없으나 오버헤드가 너무 큼
    • end-system을 이용하는 방법
      • indirect routing
        • correspondent가 home agent에 연락하고, home agent는 foreign agent를 통해 통신
        • 반면 mobile node는 direct로 correspondent에 연결하는데, 이를 triangle routing이라고 부름
          • moblie node와 correspondent가 같은 network 상에 있다면 굉장히 비효율적인 방식임
      • direct routing
        • correspondent가 어떤 방식을 이용하든지간에 foreign address를 알아내서 직접 연결
  • registration
    • mobile node가 foreign network에 들어가면, foreign agent에게 입장했다고 알려줌
    • foreign agent는 home agent한테 mobile node의 permanent address와 care-of-address를 알려줌
      • mobile node가 다른 foreign network에서 이동해왔더라도 home agent는 care-of-address를 업데이트만 해주면 되는거라 상관 없음
    • 따라서 home agent는 mobile node의 위치를 알고 있고, correspondent는 두가지 routing 방식으로 연결
      • indirect routing
        • correspondent가 permanent address로 보내는 신호를 home agent가 가로챔
        • home agent와 foreign agent는 tunneling(encapsulation) 방식으로 연결됨
        • foreign agent가 없을 수도 있음: co-located foreign agent
          • 이 경우에는 mobile node가 직접 foreign agent의 역할을 함
        • triangular routing 형성
      • direct routing
        • correspondent가 permanent address로 보내는 신호를 home agent가 가로챈 후, home agent로부터 care-of-address를 받아옴
        • 받아온 care-of-address로 다시 신호를 보냄
          • triangular routing의 오버헤드를 줄임
        • home agent와 통신하는 사이 mobile node의 위치가 바뀔 경우를 대비해 chaining 방식을 이용해 anchor foreign agent가 새로운 foreign agent로 연결
Mobile IP
  • 기본적으로 indirect routing 방식을 사용
  • ICMP message를 사용함(typefield = 9, router advertisement)
Wireless, Mobility: impact on higher layer protocols
  • Wireless와 Mobility는 상위 layer에 영향을 최소로 미쳐야 함
  • TCP와 UDP는 Wireless와 Mobility를 유선과 따로 구분하지 않고 상관없이 동작함
    • 그러나 높은 BER 등으로 packet loss/delay가 자주 발생할 수 있는데, 이를 TCP에서는 congestion으로 인식해버려 cwnd를 줄일 수 있음
      • 이러면 throughput이 많이 떨어지게 됨