본문 바로가기
📝Computer Science/network

무선 이동 네트워크(2) _ IEEE 802.11 frame

by haegomm 2023. 7. 28.

 IEEE 802.11 frame 

  • 무선 인터넷은 free 주파수 대역을 사용한다.
    • 채널을 나눠서 사용하기 때문에 다른 채널끼리는 충돌이 나지 않는다.
      • AP1 연결된 호스트들은 CH3을 이용하고 AP2에 연결된 호스트들은 CH11을 사용
    • 같은 채널을 쓰는 AP끼리는 똑같이 CSMA/CA 방식으로 경쟁해서 데이터를 보낸다.

  • 무선 인터넷 프레임의 헤더에는 address 필드가 4개가 있다. (4번은 사용되지 않아 무시해도 됨)

1️⃣ 데이터를 받을 AP의 MAC 주소

2️⃣ 데이터를 보내는 host의 MAC 주소

3️⃣ 데이터를 받을 router의 MAC 주소

 

  • AP는 한쪽은 무선(와이파이), 한쪽은 유선(이더넷)이다. 데이터를 받을 때랑 전송할 때에 프레임 헤더가 바뀐다.
    • 양쪽의 MAC 프로토콜이 다르다.
  • AP는 링크 계층까지만 지원하는 기기(link layer device)이다.
    • host입장에서 AP가 보이지만 라우터 입장에서는 AP가 보이지 않는다(라우터는 H1보임).
  • AP는 host의 프레임을 받아서 자기 자신 AP 주소(address1)를 빼고 dest 주소 → 라우터 주소(address3)으로, source 주소 → host의 주소(address2)로 설정 후 프레임을 전달한다.
  • 라우터에서 SRC 부분이 왜 H1이냐면 AP는 라우터에게 스위치 같은 존재이기 때문에 MAC 주소가 없다.

왜 굳이 주소를 3개씩 보낼까?

  • SRC → H1, DST → AP 인 경우
    • AP는 링크 계층까지만 존재하기 때문에(네트워크 레이어가 없음) 해당 프레임을 열고 IP 패킷을 봐도 모른다. IP패킷의 source는 H1의 IP, dest는 목적지 IP 주소이다. 근데 이건 라우터 정도 되어야 이해 가능한 정보이다. 따라서 라우터로 가야하나 라우터 주소를 알지 못한다.
  • SRC → H1, DST → R 인 경우
    • R이 없다..^^ 아무도 못 받는다.

❗위와 같은 이유로 AP에서 라우터까지 패킷을 전달하기 위해 3가지의 주소를 사용하는 것이다.

 

  • 데이터를 받을때도 AP는 이더넷 프레임을 와이파이 프레임으로 바꿔주어야 한다.
  • 라우터가 source는 자기 자신, 목적지는 host 주소(ex. H1)로 보내면 AP가 중간에 받아서
    • 1️⃣ 데이터를 받을 host의 MAC 주소
    • 2️⃣ 데이터를 보내는 AP의 MAC 주소로 프레임을 바꾸어 전송한다.
    • 3️⃣ 데이터를 보낸 router의 MAC 주소

⇒ AP가 링크계층까지만 존재해서 주소를 하나 더 추가해서 라우터의 정보를 담아 주는 것이다!


각 주소를 구별하는 법

  • 보낼 때 address2는 자기 자신이라 쉽게 알 수 있다.
  • address1(AP)은 AP가 주기적으로 전송하는 비콘 메시지로 알 수 있다.
  • address3(Router)은 DCHP를 통해 얻은 라우터의 IP주소로 ARP 프로토콜을 사용하여 구한다.

무선일 때 DHCP 동작과정

DHCP - IP address, subnet mask, Gateway Router, Local NS IP

이디야의 AP만 앎

내 IP몰라서 DHCP 리퀘스트를 보내야함.

리퀘스트를 보내야하니 DHCP리퀘스트를 담은 프레임을 만들어야함

1️⃣ 프레임에 AP, host, 브로드캐스트를 담고 IP패킷에는 source는 비워두고 dest는 브로드캐스트로 보낸다.

2️⃣ AP는 source는 host(DHCP서버의 MAC 주소), dest는 브로드캐스트인 이더넷 프레임으로 바꾸어서 전달한다.

3️⃣ DHCP 포트가 열려있는 DHCP 서버만 받아서 다시 브로드캐스트로, 생성된 IP 주소를 전달한다.

4️⃣ 이때 IP 패킷의 dest가 브로드캐스트면 프레임의 dest도 브로드캐스트이다. MAC 주소를 아는 방법은 가지고 있는 IP 주소를 ARP 매칭해서 알아내기 때문이다.

5️⃣ DHCP 포트가 열려있고, 트랜젝션 id가 동일한 host만 받아서(애플리케이션 계층에서 처리) IP 주소를 생성한다.

6️⃣ 사실 DHCP 과정에서 AP의 ARP테이블에 라우터의 MAC 주소가 등록되기 때문에 다시 또 ARP 리퀘스트를 보낼 필요는 없다.

 

AP는 공유기일까?

❗ 큰 회사의 경우 하나의 라우터에 여러 AP를 연결해서 사용한다. 하지만 집에 있는 공유기는 AP 역할과 라우터 역할을 모두 담당한다. 지금까지는 하나의 라우터에 여러 AP를 연결한 경우를 살펴본 것이다. 집에서는 AP와 라우터가 바로 붙어있어서 AP에서 라우터까지 전달되는 과정에 생략되어있다고 보면 된다.


 802.11: mobility within same subnet 

  • 인터넷 사용중에 이동을 해서 ap가 바뀔 때, TCP 커넥션은 source IP 주소, source port 번, dest IP 주소, dest port번호가 바뀌지 않으면 연결이 유지된다.
    • 내 IP와 port가 안 바뀌면 연결이 안 끊긴다.
  • 이동 할 때 AP만 바뀌었을 뿐 같은 네트워크(서브넷) 안에 있기 때문에 IP가 바뀌지 않는다.