Path Loss: 무선 신호가 전송될 때의 현상
Attenuation(신호 감쇄)
송신자(신호원) 근처에서 수신자가 거리 변동하면서 움직일 때 발생하는 신호의 현상입니다.
Long-Term Fading
signal path가 장애물을 만나는 경우 발생하는 현상이며, 장시간 동안 송신자와 수신자 사이의 평균적인 무선 신호 변화를 뜻합니다.
Short-Term Fading
단시간 동안 순간적인 무선 신호 변화입니다. Reflection, Scattering, Diffraction의 종류가 있습니다.
- Reflection (반사): 전자기파 신호가 신호의 파장보다 상대적으로 넓은 표면을 만났을 때 일어납니다. 입사각과 같은 각으로 반사되며, 이것을 스넬의 법칙(Snell's law)라고 부릅니다.
- Scattering (산란): 전자기파 신호가 신호의 파장보다 상대적으로 비슷하거나 작은 표면을 만날 때 일어납니다. 신호는 장애물을 지나면서 몇 개의 약화된 신호로 흩어지며, 같은 파장으로 모든 방향(사방)에 발산됩니다.
- Diffraction (회절): 파동이 입자로서는 갈 수 없는 영역에 휘어져 도달하는 현상입니다. 전파의 파장보다 넓은, "투과 불가능한" 물체의 가장자리에서 발생합니다.
Path loss 효과
RSSI(Received Signal Strength Indicator in dBm)은 기지국과 모바일 단말 사이의 물리적인 거리에 따라 Path Loss가 일어나는 현상을 측정한 측정치로, Path Loss를 측정하는 지표입니다.
RSSI를 측정할 때에는 Mininet-WiFi Emulator 전송 모델과 R2Lab을 이용할 수 있습니다.
- Mininet-WiFi Emulator 전송 모델: 가상 환경에서 Wi-Fi 네트워크를 시뮬레이션할 수 있으며, Free-Space, Log-Dlstance, ITU 등이 있습니다.
- R2Lab: 실제 네트워크 환경에서 무선 네트워크 기술을 테스트하고 연구할 수 있는 실험 플랫폼입니다. 해당 플랫폼에서 실제 네트워크 장비를 사용하여 Wi-Fi와 5G 네트워크 성능을 실험하는 실제 환경을 제공합니다.

이처럼 Path Loss 효과는 무선 통신에서 신호가 전송되는 동안 거리나 장애물 등의 요인에 의해 신호 강도가 감소하는 현상을 의미합니다. 즉, 송신기에서 수신기까지 전파되는 신호가 전파되는 거리가 멀어질수록, 그리고 그 사이에 장애물이 있을수록, 신호의 강도는 점차 감소하게 됩니다.
WiFi
WLAN
WiFi란 802.11 기반 Wireless Local Area Network(WLAN) 표준입니다. WLAN은 무선 통신 기술로, WiFi는 WLAN을 구현하는 주요 기술 중 하나입니다.
IEEE 802.11 modes
WiFi는 IEEE(Institute of Electirical and Electronics Engineers: 전자기술 및 전기공학 분야의 표준을 제정하는 국제 비영리 단체)에 의해 제정되어 있습니다. 다양한 802.11 표준이 존재하며, 일반적으로 802.11에 대해 정의한 표준은 2.4GHz 또는 5GHz 두 가지 주파수에서 작동합니다.

IEEE 802.11b channels
IEEE 802.11b 표준에서 사용하는 Wi-Fi 채널 할당 방식
802.11b는 2.4GHz ~ 2.4835GHz 주파수 대역을 사용하며, 13개의 채널이 2.4GHz 대역 안에 정의되어 있습니다. 채널 하나는 22MHz의 대역폭을 사용하지만, 채널 간 중심 주파수 간격은 5MHz입니다. 따라서 대부분의 채널은 서로 대역이 겹칩니다(즉, 중복 간섭 발생). 2.4GHz 대역에서는 채널 1, 6, 11만이 대역이 겹치지 않도록 설정할 수 있습니다. 예를 들어, 동일한 장소에서 Wi-Fi를 여러 대 운영한다면, 각각의 Access Point가 1, 6, 11로 설정되도록 구성하면 간섭을 최소화할 수 있습니다.
IEEE 802.11 아키텍처 구조: 인프라 모드(BSS) 및 애드혹 모드(IBSS)
-
인프라 모드: 주로 Access Point와 여러 무선 Station(클라이언트)로 구성되며, BSS(Basic Service Set)이라고도 합니다.

-
애드혹 모드: 무선 Station(클라이언트)로만 구성되며, IBSS(Independent Basic Service Set)이라고도 합니다.

소프트웨어 정의 무선 네트워킹 (Software-defined wireless networking)
소프트웨어 정의 무선 네트워킹은 소프트웨어 정의 네트워킹(SDN)의 개념을 무선 네트워크 환경에 적용한 기술입니다. 무선 네트워크의 유연성과 관리 효율성을 높이기 위해 제어와 데이터 전송 기능을 분리하는 아키텍처를 제공합니다.
특징
- 제어와 데이터 평면의 분리 (SDN의 원칙과 유사)
기존 무선 네트워크 장치는 데이터 전송과 제어 기능이 장치에 통합되어 있었습니다. SDWN에서는 제어 플레인과 데이터 플레인을 분리하여 관리합니다.
- 제어 평면: 무선 네트워크의 정책 결정과 관리 역할 수행.
- 데이터 평면: 실제 데이터 패킷의 전송 및 처리 담당.
-
중앙 집중식 관리
네트워크 관리자는 중앙의 컨트롤러를 통해 무선 네트워크의 동작을 제어합니다. 이 컨트롤러는 네트워크 동작을 논리적으로 정의하고, 그에 따른 규칙을 각 장치(ex. Access Point)에 전달합니다.
-
프로그램 가능한 네트워크
SDWN은 네트워크 동작을 프로그래밍할 수 있게 해줍니다. 스위치, 라우터, 액세스 포인트(AP) 등의 장치에서 사우스바운드 인터페이스(Southbound Interface)를 통해 규칙을 전달받아 동작합니다.
사운드바운드 인터페이스
제어 평면에서 네트워크 장치(스위치 등)와 상호작용할 때 사우스바운드 인터페이스라는 방식을 사용합니다. 이 인터페이스를 통해 제어 평면이 네트워크 장치에 명령을 내리고, 장치는 그 명령을 실행합니다. 즉, 사우스바운드 인터페이스는 제어 평면에서 데이터 평면으로 명령을 전달하는 통로입니다.
대표적인 사운드바운드 인터페이스에는 OpenFlow가 있습니다. 가장 널리 사용되는 사우스바운드 인터페이스 프로토콜으로, 제어기가 스위치나 라우터와 같은 장비에 명령을 내리는 방식입니다. 이 외에도 CAPWAP, FORCES, NETCONF 등과 같은 프로토콜들이 사운드바운드 인터페이스로 사용됩니다.
네트워크 기능 가상화(NFV)
NFV(Network Function Virtualization)는 네트워크의 기능을 하드웨어 장비에서 소프트웨어로 가상화하는 기술입니다. 이를 통해 하드웨어 종속성을 줄이고 리소스를 효율적으로 활용할 수 있습니다. 최근에는 모바일 운영자들이 NFV에 대한 관심을 많이 가지게 되었습니다. 이는 SDWN과 결합되어, 네트워크 관리자는 무선 네트워크의 제어와 네트워크 기능의 가상화를 동시에 처리할 수 있으며, 더 유연하고 효율적인 네트워크 운영이 가능해집니다.
LWAPP 및 CAPWAP (프로토콜 엔지니어링)
소프트웨어 정의 네트워크와 OpenFlow 프로토콜이 개발되기 전, IETF는 LWAPP와 CAPWAP를 모두 표준화하여 각각 RFC5412와 RFC4564를 발행했습니다.
RFC 5412 표준
RFC 5412는 Lightweight Access Point Protocol (LWAPP)에 대한 표준을 정의한 문서입니다. 이 문서에서 TCP 기반의 통신이나 패킷 캡처와 같은 네트워크 프로토콜 분석 도구와 관련된 내용이 언급될 수 있습니다.
LWAPP와 CAPWAP와 같은 프로토콜을 통한 무선 네트워크 관리 시스템
많은 회사에서 LWAPP 및 CAPWAP와 같은 프로토콜을 통해 무선 네트워크 관리 시스템을 사용합니다.
- LWAPP은 구성, 인증 및 기타 작업에 대한 메시지 제어를 정의합니다.
- CAPWAP은 LWAPP를 기반으로 하며 컨트롤러가 다양한 액세스 포인트를 관리합니다.
- CloudMac: 이 아키텍처는 CAPWAP과 같은 프로토콜을 사용하지만, CAPWAP과 같은 무선 네트워크 관리 프로토콜을 새로운 기능으로 구성하기 어렵다는 한계가 있습니다. 이는 CAPWAP을 사용하는 액세스 포인트 컨트롤러가 대부분 독점 시스템에 기반하고 있기 때문입니다.
- Chandelle: 이 아키텍처는 SDN/OpenFlow를 사용하여 액세스 포인트 간에 부드럽고 빠른 마이그레이션을 제안하지만, 기존 스위치와 CAPWAP 시스템과의 통합 문제가 발생할 수 있습니다.
최근 몇 년 동안 소프트웨어 정의 무선 네트워크에 대한 연구의 수가 크게 증가하였으며, 이와 관련된 여러 연구 프로젝트들이 진행되고 있습니다. 예시로는 OpenRoads, Odin, OpenRF, Ethanol과 같은 소프트웨어 프로젝트 등이 있습니다.
tcpdump
tcpdump는 리눅스/유닉스 계열 OS에서 동작하는 네트워크 패킷 분석 도구입니다. 명령줄 인터페이스에서 실행되며, 조건에 맞는 네트워크 패킷을 캡처하여 표시하는 프로그램입니다. 패킷 캡처 방식은 네트워크 인터페이스의 패킷을 가로채기 때문에 스니핑이라고도 합니다. 패킷의 헤더, 데이터, 프로토콜 등을 분석하고 문제를 디버깅하는 데 유용합니다.
tcpdump 기본적인 옵션값
- -i : 네트워크 인터페이스가 여러 개일 경우 지정할 수 있다. (ex. -i wlp0s20f3)
- -c : 스니핑할 패킷의 개수를 정할 수 있다. (ex. -c 100)
- -v : 패킷 헤더의 정보를 조금 더 자세하게 보여준다 -vv로 옵션으로 넣으면 더욱 자세해진다.
- -n : 알려진 도메인 문자열을 IP로 보이게 해준다. -nn으로 옵션으로 넣으면 port도 숫자로 표시한다.
- -w : 스니핑 한 패킷을 .pcap 타입 바이너리(파일 형식)로 저장한다. -r 옵션으로 넣으면 TXT 타입으로 로드(저장된 파일을 읽는 용도)할 수 있다.
- src: 출발지 호스트 IP 주소 혹은 포트를 지정할 수 있습니다.
- dst: 목적지 호스트 IP 주소 혹은 포트를 지정할 수 있습니다.
- host: 호스트 IP 주소를 지정할 수 있으며, 기본적으로 양방향 패킷 덤프입니다. (TCP 자체가 양뱡향이므로) (ex. tcpdump src host 192.168.1.1 -> 출발지 IP 주소가 192.168.1.1인 모든 패킷을 캡처)
- port: 포트를 지정할 수 있으며, 기본적으로 양방향 패킷 덤프입니다. (ex. tcpdump port 22 -> 출발지 포트 또는 목적지 포트가 22인 패킷을 모두 캡처)
- udp: 네트워크에서 UDP 프로토콜을 사용하는 모든 패킷을 캡처 (ex. tcpdump udp src port 123 -> UDP 프로토콜을 사용하는 패킷 중에서 포트 123으로 송수신되는 패킷만 캡처)
tcpdump 사용 예시 (해당 패킷 덤프를 캡처하는 명령어들)
- tcpdump -i eth0: 네트워크 인터페이스 eth0를 지나는 패킷 덤프
- tcpdump -i eth0 -c 5: 네트워크 인터페이스 eth0를 지나는 패킷 덤프 5개
- tcpdump -i eth0 tcp port 80: TCP 80포트로 통신하는 패킷 덤프
- tcpdump -i eth0 src 192.168.1.18: 출발지 IP가 192.168.1.18인 패킷 덤프
- tcpdump -i eth0 dst 192.168.1.19: 목적지 IP가 192.168.1.19인 패킷 덤프
- tcpdump -i eth0 src 192.168.1.19 and tcp port 80: 목적지 IP가 192.168.1.19이고 TCP 80포트인 패킷 덤프
- tcpdump -i eth0 dst 192.168.1.19: 목적지 IP가 192.168.1.19인 패킷 덤프
- tcpdump host 192.168.1.18: 특정 호스트 IP(192.168.1.18)로 양방향 패킷 덤프
- tcpdump src 192.168.1.18: 특정 호스트 중에서 출발지가 192.168.1.18인 패킷 덤프
- tcpdump dst 192.168.1.18: 특정 호스트 중에서 목적지가 192.168.1.18인 패킷 덤프
- tcpdump -w dump.log: 결과를 파일로 저장
- tcpdump -r dump.log: 저장한 파일을 읽음
- tcpdump port 22 : 포트가 양뱡항으로 22인 패킷 덤프
- tcpdump src port 22: 출발지 포트가 22인 패킷 덤프
- tcpdump dst port 22: 목적지 포트가 22인 패킷 덤프
- tcpdump udp and src port 123: UDP이고 출발지 포트가 123인 패킷 덤프 (and 생략 가능)
- tcpdump src 192.168.1.18 and not dst port 22: 출발지 IP가 192.168.1.18이고 목적지 포트가 22가 아닌 패킷 덤프 (and 생략 가능)
tcpdump 사용 명령어
sudo tcpdump -i wlp0s20f3: 네트워크 인터페이스 wlp0s20f3에서 흐르는 네트워크 패킷을 캡처하는 명령어입니다. wlp0s20f3은 네트워크 인터페이스의 이름입니다. 이는 무선 네트워크 인터페이스로, 특정 장치가 사용하는 네트워크 인터페이스 이름을 의미합니다. 이름은 시스템마다 다를 수 있습니다.
mininet-wifi 설치
Mininet은 네트워크의 토폴로지를 정의하고, 이를 소프트웨어로 시뮬레이션하여 가상 환경을 만들어주는 도구입니다. Mininet-WiFi는 기존의 Mininet에 Wi-Fi 기능을 추가한 버전으로, 무선 네트워크 환경을 시뮬레이션할 수 있습니다.
설치 명령어 순서
- sudo apt-get install git: git 버전 관리 시스템 설치
- git clone https://github.com/intrig-unicamp/mininet-wifi: mininet-wifi 프로젝트의 GitHub 저장소를 로컬에 복제하여 다운로드
- cd mininet-wifi
- sudo util/install.sh -Wlnfv: mininet-wifi를 설치하는 스크립트 실행
- sudo mn --wifi: Mininet-WiFi 네트워크 시작

링크 구조

각종 명령어
- sta1 ping sta2: ping을 보내 네트워크 연결 상태 확인
- netstat -a -n -p tcp: 시스템에서 현재 열린 TCP 연결 확인
- -a: 모든 연결과 리스닝 포트를 표시
- -n: IP 주소와 포트를 숫자로 표시 (도메인 이름을 해석하지 않음)
- -p: 프로세스 ID와 연결된 프로세스 이름을 표시
- help: Mininet-WiFi에서 사용 가능한 명령어와 옵션에 대한 도움말 표시
- sta1 ifconfig: 네트워크 인터페이스 정보 표시 (IP 주소, 서브넷 마스크, 네트워크 상태 등)
- nodes: Mininet에서 현재 네트워크 시뮬레이션에 사용되는 모든 노드 표시
- sudo mn --wifi --ssid= --channel=<channel 번호>: Mininet-WiFi 시뮬레이션을 시작하면서, 무선 네트워크의 SSID와 채널 번호 지정
Quiz
1. Mininet-WiFi 설치에 필요한 기본 명령어 중 올바른 순서는 무엇인가요?
sudo apt-get install git → git clone ... → sudo util/install.sh -Wlnfv
2. Path Loss의 주요 구성 요소 3가지를 설명하고, 각각의 특징을 간략히 기술하시오.
- Attenuation (신호 감쇄): 송신자 근처에서 수신자의 거리가 변동하면서 움직일 때 생기는 신호의 현상
- Long-term fading: 장시간 동안 송신자와 수신자의 평균적인 무선 신호로, signal path가 장애물을 만나는 경우 발생하는 현상
- Short-term fading: 단시간 동안 순간적인 무선 신호 변화
- 반사(Reflection): 전자기파의 파장보다 표면적이 넓을 때 + 입사각과 반사각이 같음(스넬의 법칙(snell's law))
- 산란(Scattering): 전자기파의 파장보다 표면적이 좁거나 비슷할 때 + 물체 표면에서 구조특성에 따라 사방으로 전자기파가 흩어짐
- 회절(Diffection): 파동이 입자로서는 도저히 갈 수 없는 영역에 휘어져 도달하는 현상 + 전파의 파장보다 넓은 투과 불가능한 장애물의 가장자리에서 다른 방향으로 발생
회절은 파동이 장애물이나 틈을 지나면서 굴절되는 현상이고, 주로 파장과 장애물 크기에 의존합니다.
산란은 파동이 물체나 입자에 의해 방향을 바꾸는 현상이고, 주로 입자의 크기나 매질의 불규칙성에 의존합니다.
3. IEEE 802.11 네트워크의 "인프라 모드"와 "애드혹 모드"의 차이를 설명하고, 각각의 특징 및 활용 사례를 기술하시오.
- 인프라 모드: 액세스 포인트와 여러 무선 스테이션(클라이언트)로 구성 + BBS(Basic Service Set)이라 함
- 애드혹 모드: 여러 무선 스테이션(클라이언트)로만 구성 + IBBS(Independent Basic Service Set)이라 함
4. Mininet-WiFi에서 SSID를 mySSID로, 채널을 6으로 설정하는 명령어를 작성하시오.
sudo mn --wifi --ssid=mySSID --channel=6
5. Path Loss를 측정하는 지표는 무엇인가요?
RSSI
6. IEEE 802.11 표준 중 5GHz 대역에서 작동하는 것은 무엇인가요?
802.11ac
7. Reflection, Scattering, Diffraction의 정의를 각각 간략히 기술하시오.
Reflection: 반사. 표면면적이 전자기파보다 넓을 때 생김. 입사각과 반사각 동일(Snell's law).
Scattering: 산란. 표면면적이 전자기파보다 작거나 비슷할 때 생김. 같은 파장으로 모든 방향으로 발산됨.
Diffraction: 회절.
8. "소프트웨어 정의 무선 네트워킹(SDWN)"의 핵심 원칙 2가지를 설명하시오.
- 중앙 집중식 제어: 컨트롤러에서 정의한 규칙이 네트워크의 동작을 지시
- 제어 플레인과 데이터 플레인을 분리(SDN의 원칙)하여 효율성을 높임.
9. LWAPP와 CAPWAP의 차이를 설명하고, 각각의 네트워크 관리에서의 특징을 기술하시오.
- LWAPP: 구성, 인증 및 기타 작업에 대한 메시지 제어를 정의
- CAPWAP: LWAPP를 기반으로 컨트롤러가 다양한 액세스 포인트 관리 가능 + 대부분 독점 시스템
10. Mininet-WiFi에서 sta1과 sta2 간의 연결 상태를 확인하려고 합니다. 적합한 명령어를 작성하시오.
sta1 ping sta2
방향: sta1 -> sta2