본문 바로가기

컴퓨터 네트워크 프로토콜30

728x90
반응형
Chat-GPT에게 NS-3에 대해서 물어보았다. 질문 1 NS-3가 뭐야? 답변 1 NS-3는 네트워크 시뮬레이터(Network Simulator)로, 무선 및 유선 네트워크를 모델링하고 시뮬레이션하는 데 사용되는 오픈 소스 시스템입니다. NS-3는 C++로 작성되었으며, 무선 및 유선 네트워크, 인터넷 프로토콜, 라우팅 알고리즘, TCP/IP 프로토콜 등 다양한 네트워크 기술을 모델링할 수 있습니다. 이를 통해 다양한 네트워크 시나리오를 시뮬레이션하고, 이를 바탕으로 네트워크의 동작과 성능을 평가할 수 있습니다. NS-3는 무료로 사용할 수 있으며, 오픈 소스로 개발되고 있기 때문에 다양한 사용자들이 개발에 참여할 수 있습니다. 또한, NS-3는 Python 바인딩을 제공하여, Python을 사용하는 사용자들도 쉽게 NS-3를 사용할 수 있습니다. .. 2023. 2. 23.
2023년에는 Wi-Fi 7 관련 제품을 많이 볼 수 있겠네요. 벌써 Wi-Fi 7 AP(Access Point)와 스마트폰이 출시되고 있습니다. 얼마 전에는 샤오미에서 세계 최초로 제품이 출시되었습니다. 802.11be를 기반으로 하는 Wi-Fi 7은 더 빠른 통신이 가능한 것이 특징입니다. 높은 전송 속도를 통해 고해상도의 콘텐츠를 제공할 수 있으므로 더 실감 나는 응용의 현실화가 가능해집니다. 군 복무를 수행하는 동안 컴퓨터 네트워크 프로토콜 기술 변화를 따라가지 않았는데 벌써 이 정도나 나왔다니 놀랍습니다. 저도 이제 좀 공부도 하고 시뮬레이션도 돌려보면서 따라가보도록 하겠습니다. 참고문서 "중국 Xiaomi, 세계최초 Wi-Fi 7 스마트폰 출시", 한국전파진흥협회, 2022년 12월 26일. @원문보기 "Xiaomi Surprises With New Pho.. 2023. 1. 2.
이음5G 소개 및 현황과 향후전망에 대해서 이음5G 정의 이음5G는 건물과 공장 등 특정 구역에 한하여 기업이 과학기술정보통신부로와 한국방송통신전파진흥원, 전파관리소, 지자체로부터 인가를 받아서 사용할 수 있는 주파수 대역이다. 주파수 대역은 4.72GHz~4.82GHz(100MHz)와 28.9GHz~29.5GHz(600MHz)이며 5G 이동통신 기술로 구축하는 것을 주목표로 하고 있다. 아래의 표처럼 기존 5G 이동통신 사업자가 제공하는 망과의 차별성이 있다. 이음5G 주파수 할당 및 지정 현황 아래의 사진처럼 네이버 클라우드, LG CNS 등 10여개 기관 및 회사에서 이음5G 주파수를 할당 또는 지정 받았다. 이음5G 활용 내용 아래의 사진처럼 이음5G는 항공 분야와 에너지 분야, 산업안전 분야, 의료 분야, 연구개발 분야에 활용되고 있다... 2022. 11. 2.
통행료 자동 지불 시스템 '하이패스(Hi-Pass)' 개요와 통신방식 하이패스 정의 하이패스(Hi-Pass)는 통행료 자동 지불 시스템인 ETCS(Electronic Toll Collection System)의 서비스 명칭이다. 우리나라의 하이패스는 한국도로공사가 1996년 8월부터 추진해온 사업이며 2000년 6월 30일부터 지금까지 운영되고 있다[1]. 하이패스 통신방식 한국도로공사의 경우 능동형(Active) DSRC(Dedicated Short Range Communication) 하이패스 시스템을 운용하고 있으며 DSRC 주파수 대역은 IR(Infrared Ray, 적외선)과 RF(Radio Frequency, 전파) 모두 지원하고 있다[2]. IR을 사용하는 DSRC를 IR-DSRC라고 부르며 RF를 사용하는 DSRC를 RF-DSRC라고 부른다. IR-DSRC는.. 2022. 6. 25.
컴퓨터 네트워크 연구자가 시뮬레이터로 NS-3를 써야하는 이유 필자는 NS-3를 왜 썼는가? 연구실에서 생활할 때 신입생으로부터 많이 받았던 질문 중 하나로 'NS-3를 왜 추천하시는거에요?'가 있었다. 그 당시에 내가 생각하던 NS-3를 써야하는 이유로 적당히 답을 했었던 기억이 난다. 나또한 석사과정 신입생일 때 '컴퓨터 네트워크 시뮬레이터로 NS-2와 NS-3 중에 뭘 쓰는게 좋을까요?'라고 선배에게 물어봤었다. 내가 석사과정 신입생일 때 대부분의 선배들은 NS-2 기반으로 연구를 했었고 몇명의 입학년도가 가까운 선배들만 NS-3를 쓰고 있었다. 선배들로부터 받은 각종 연구 자료들은 NS-2와 NS-3가 혼재되어 있었는데 나는 이 중에 어떤 것에 집중할 지를 고민을 했었다. 고민한 결과 나는 다음과 같은 이유로 NS-3를 주로 썼다. NS-3는 2011년부터 .. 2022. 2. 24.
테더(Tether, USDT) 개요와 설립인물, 경영진, 관련회사 테더(Tether) 개요 테더는 암호화폐 중 하나로 명목화폐와 1:1 비율로 교환할 수 있는 스테이블코인(Stable coin)이다. 1테더는 항상 1달러의 가치를 지니고 있다. 테더는 테더 리미티드(Tether Limited)가 만든 암호화폐이며 홍콩의 암호화폐 거래소인 비트파이넥스(Bitfinex)가 발행하였다. 미국 달러에 페그된 테더를 USDT라고 하며 유로에 페그된 테더를 EURT, 중국 역외 인민폐에 페그된 것을 CNHT, 금에 페그된 것을 XAUT라고 부른다. * 페그(Peg): 페그는 특정 국가의 통화에 자국 통화의 환율을 고정해 두는 페그 제도(peg system)를 줄여서 부르는 경제 용어이다. 설립인물과 경영진 테더 유한회사는는 현재 비트코인 재단의 회장인 브록 피어스(Brock Pi.. 2022. 2. 24.
블록체인 기반 에너지 거래 시스템 동향 분석 블록체인 기반 응용의 한 분야로 에너지 거래가 있다. 미국과 일본, 네덜란드 등 전세계에서 이러한 거래에 관심을 가지고 서비스를 구축하여 시범운영 중이다. 현재는 블록체인 기반 에너지 거래 서비스를 시범구축하고 경제성을 판단하는 수준이다. P2P(Peer-to-Peer) 기반 에너지 거래 시스템의 장점 중앙서버 기반 서비스가 아니고 참여자 간에 네트워크를 형성해서 거래를 하므로 거래 수수료가 없거나 최소화할 수 있고 생산자와 소비자의 시장 참여 절차가 간소화 되어 참여자들의 적극적인 시장 참여를 유도할 수 있는 장점이 있다고 말한다[1]. 국내·외 동향 국내에는 한국전력공사가 미래창조과학부와 한국정보화진흥원의 '사물인터넷 활성화 기반조성 시범사업 블록체인 분야'에서 지원을 받아 2017년부터 '세대 간에.. 2022. 2. 23.
프로슈머(Prosumer) 정의와 등장 정의 프로슈머(Prosumer)는 미래학자 앨빈 토플러(Alvin Tofler)가 정의한 용어로 생산자(Producer)와 소비자(Consumer)의 역할을 둘 다 할 수 있는 주체를 말한다. 최근에 나타나는 프로슈머의 형태 중 우리 근처에서 쉽게 볼 수 있는 것은 태양광전기발전을 설치(생산)한 가정에서 사용(소비)하고 남은 전기를 한전이나 주변 가정에 판매하는 형태이다. 위키피디아에 따르면 개념 자체는 1972년에 마샬 맥루한(Herbert Marshall McLuhan)과 베링턴 네빗(Barrington Nevitt)이 쓴 책 '현대를 이해한다(Take Today)'에서 '전기 기술의 발달로 소비자가 생산자가 될 수 있다.'라는 말로 처음 등장했다고 한다[1]. 근데 내가 조사해보니 마샬 맥루한이 1.. 2022. 2. 23.
ExpressVPN 환경에서 넷플릭스를 보는 것이 가능할까? 넷플릭스에서 시청이 제한된 콘텐츠를 보기 위해서는 VPN을 활용하여 우회하는 것이 필요하다. 하지만 VPN을 사용하는 경우 통신 속도가 많이 느려지는 문제가 있는데 이로 인해서 원하는 화질로 시청을 못할 수도 있다. 넷플릭스는 최강 OTT(Over The Top) 서비스 답게 해상도 대비 매우 적은 대역폭(인터넷 연결 속도)를 요구한다. 우리가 흔히 보는 720p 또는 1080p를 위해서는 5Mbps의 회선 대역폭이 필요하다. 필자는 한국에 있으며 ExpressVPN의 속도 실험 결과 여러 VPN 서버 위치에서 HD 영상 시청을 위한 대역폭인 5Mbps 이상을 제공하는 것을 확인할 수 있었다. ExpressVPN의 경우 널리 사용되고 있는 VPN 서비스이고 안정성이 검증되었으며 저녁에 사람들이 많을 때 .. 2021. 1. 4.
이클립스로 NS-3 개발하기(1/3) - 이클립스 설치 통합개발환경(Integrated Development Environment, IDE)로 개발하는 것은 생산성을 대폭 향상 시켜준다. 통합개발환경은 버튼 한번으로 빌드와 실행이 가능하고 자동완성 기능 등 다양한 생산성 향상을 위한 도구가 통합되어 있기에 이 시대를 살아가는 개발자들은 다 통합개발환경을 활용하여 개발하고 있다고 볼 수 있다. 마찬가지로 NS-3도 여러 통합개발환경을 통해 개발이 가능하다. 이번 글에서는 개인과 기관 모두 사용료가 무료인 이클립스(Eclipse)를 활용한 NS-3 개발환경 구축을 소개한다. 개발환경 Ubuntu 18.04 OpenJDK 8 Eclipse 2018-09 R 이클립스는 JVM(Java Virtual Machine, 자바가상머신)에서 실행가능하므로 우분투(Ubuntu.. 2020. 12. 7.
NS-3에 LoRaWAN 모듈을 설치하고 실행해보자 LoRaWAN은 LoRa Alliance에서 2015년에 1.0을 공개하여 현재까지 활발히 활용되고 있는 저전력 광역 통신망(Low-Power Wide-Area Network, LPWAN) 기술 중 하나이다 [1]. 최근에 나는 LoRaWAN 기반의 IoT(Internet of Things) 응용을 개발하기 전에 통신 실험을 할 필요가 있어서 이 모듈을 활용해서 실험에 활용하려고 한다. 이 NS-3 모듈은 이탈리아 파도바 대학교의 SIGNET 연구실의 학생 중 한 명이 석사학위 논문을 작성하기 위해 개발하였으며 현재는 Github에 공개되어 있다 [2]. 구동환경 CPU : i7-4790K 운영체제 : 우분투 18.04 x64(윈도우 10 x64 기반 VMWARE 가상환경) Github에 공개되어 있는 .. 2020. 11. 29.
NS-3를 우분투에 설치하고 실행하자 최근에 실험해보고자 하는 주제가 생겨서 하는 김에 신 버전 NS-3를 설치하다가 설치 방법을 정리하게 되었다. 네트워크 프로토콜 시뮬레이터로 강력한 툴인 NS-3는 우분투(Ubuntu)에서 설치 및 실행이 가능하다. 이번 설치에는 VMWARE로 가상머신을 하나 생성하여 우분투 18.04를 설치한 다음 거기에다가 신 버전 NS-3를 설치했다. 구동환경 CPU : i7-4790K 운영체제 : 우분투 18.04 x64(윈도우 10 x64 기반 VMWARE 가상환경) 의존성 패키지 설치 NS-3를 설치하기 전에 설치해야하는 것들이 있다. 다음 명령어를 터미널에 입력하여 설치한다. sudo apt install gcc sudo apt install g++ NS-3 다운로드 NS-3 공식 홈페이지(www.nsnam.. 2020. 11. 27.
NS-3.32 업데이트 정보 네트워크 시뮬레이터 NS-3의 3.32 버전이 출시되었습니다. Wi-Fi 관련 기능이 보충되었고 여러 혼잡 제어 기능과 각종 버그들이 수정되었습니다. 변화된 점 Wi-Fi 802.11ax가 6 GHz 대역을 지원합니다. Wi-Fi 모델에서 RIFS(Reduced Interframe Space) 기능이 삭제되었습니다. NS-3의 Emulation에 Netmap과 DPDK(Data Plane Development Kit) 기능이 추가되었습니다. TCP에서 동적 페이싱이 추가되었습니다. TcpLinuxReno 혼잡 제어가 추가되었습니다. RFC 8033에 있는 PIE queue disc model이 추가되었습니다. FqCoDel 및 CoDel queue disc에 L4S 모드가 추가되었습니다. STL Pair.. 2020. 11. 9.
MQTT 서버(브로커) 프로그램 목록 및 정보 본 글은 2016년 3월 30일 17시 34분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. HTTP에 Apache와 NginX, IIS, Tomcat이 있듯이 MQTT에도 Mosquitto와 HiveMQ, WebSphere MQ가 있다. Github에 있는 MQTT 프로젝트의 위키에 가면 MQTT 목록과 지원 되는 기능을 한 눈에 볼 수 있는 표가 있다. 아래가 그 표인데 표에 나타난 모든 기능을 지원하는 서버가 대다수 상용인 점을 고려하면 저비용에 개발하기에는 아직은 시기상조이지 않을까 생각이 든다. ※ 참고 : MQTT에는 브로커(Broker)라는 개념이 있는데 서버-클라이언트 모델의 서버에 해당한다. 현재 MQTT 관련 자료들을 살펴 보면 브로커의 개념을 브로커와 서버라는.. 2020. 10. 14.
MQTT로 개발하는 것이 무조건 좋은 것인가? 본 글은 2016년 3월 29일 17시 28분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. 현재(2020년 10월 14일)의 MQTT시장과는 상황이 전혀 다릅니다. MQTT를 써야한다면 쓰면 됩니다. MQTT 프로토콜이 적합한 경우 환경과 시나리오, 준비된 기술에 따라서 적합한 프로토콜이 있다. MQTT의 경우 1999년 네트워크의 신뢰성이 낮고 연산과 처리속도, 메모리가 극히 제한적인 상황을 고려해서 설계가 되었기에 2016년 현재 이러한 특징을 살릴 수 있는 상황이 아니라면 MQTT가 큰 의미는 없을 수 있다. 예를 들어 사용할 수 있는 네트워크의 단위 시간당 처리량이 크고 패킷 이용로가 아주 저렴할 때 IoT 장비가 이 네트워크를 사용해서 한달동안 100MB의 패킷을 절약.. 2020. 10. 14.
NS-3에서 UAN 프레임워크로 IPv4 수중 시뮬레이션을 하는 방법 본 글은 2016년 10월 11일 17시 31분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. NS-3에서 UAN 프레임워크로 IPv4 수중 시뮬레이션을 하는 것이 가능한 지 조사해보았다. UAN 프레임워크로 생성된 노드는 기본적으로 0-255의 한 바이트(unit8_t) 주소를 부여 받는다. 즉 기본적으론 IPv4를 지원하지 않는다. 이를 해결하기 위한 방법으로 두 가지가 있는데 하나는 적응계층(adaptation layer)을 두는 것과 다른 하나는 NS-3에 구현되어 있는 IPv4 관련 클래스를 수정해서 UAN 프레임워크의 주소를 관리하도록 만드는 것이다. 관련 링크 1 : https://groups.google.com/forum/#!msg/ns-3-users/ag2CoKE.. 2020. 10. 14.
NS-3 로그의 종류와 로그를 터미널에 출력하는 법 본 글은 2016년 10월 14일 12시 56분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. NS-3는 각종 정보를 저장하고 확인하기 위한 로그를 지원한다. 이런 로그 정보는 파일로 저장 될 수도 있고 터미널에서 실시간으로 확인할 수도 있다. 로그의 종류는 아래와 같다. 종류 의미 LOG_LEVEL_ERROR 오류가 발생 했음을 의미하는 로그 LOG_LEVEL_WARN 경고용 로그 LOG_LEVEL_DEBUG 디버깅용 로그 LOG_LEVEL_INFO 각종 정보를 알려주는 로그 LOG_LEVEL_FUNCTION 함수 추적(tracing)을 위한 로그. LOG_LEVEL_LOGIC 함수안에서 추적흐름제어(control flow tracing)을 위한 로그 LOG_LEVEL_ALL .. 2020. 10. 14.
왜 TCP/IP에서는 OSI의 5,6,7계층이 하나의 계층에 들어가는가? 본 글은 2016년 2월 26일 9시 58분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. TCP/IP의 어플리케이션 계층은 OSI 7계층의 어플리케이션 계층과 표현(프레젠테이션)계층, 세션계층이 해당에 해당한다고 흔히 알고 있다. 그럼 왜 TCP/IP에서는 ISO(International standasdasdasda)가 심혈을 기울여 만든 OSI 7계층의 3개 계층을 1개의 계층으로 표현했을까? 라는 의문이 들 수 있다. 나도 의문이 들었던 사람 중 한 명으로서 이 의문의 해답을 얻으려 했지만 쉽게 얻지는 못 했다. 나는 지금까지 흔히들 알고 있는 내용인 "지나친 계층화는 각 계층 간의 커뮤니케이션이 불필요하게 많이 일어나게 만드는 문제가 있다. 이는 비용(메모리사용량증가, 수.. 2020. 10. 14.
MQTT(Message Queuing Telemetry Transport, 엠큐티티) 개요 본 글은 2016년 3월 29일 11시 58분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. MQTT(Message Queuing Telemetry Transport, 엠큐티티)는 Publish–Subscribe 기반의 경량 메시징 프로토콜이다. 응용계층의 프로토콜로로써 1999년에 IBM과 Eurotech에 의해 제한된 리소스(적은 배터리)를 가진 가진 센서가 사용하는 목적으로 개발하였다. 2013년부터 OASIS(Advaning open standards for the information society)가 표준화를 진행 중이다. 발행-구독 모델을 기초로 제작된 프로토콜이다. 기본포트는 1883이며 SSL용으로 8883을 쓴다. 신뢰성 있는 메시지 전송을 위해 세 종류의 Qo.. 2020. 10. 13.
아이폰에서의 와이파이 다이렉트 지원 여부 조사 본 글은 2017년 6월 23일 13시 35분에 썼던 글이며 블로그 자료 이전으로 날짜와 일부 내용이 갱신되었습니다. 아이폰이 와이파이 다이렉트(Wi-Fi Direct, Wi-Fi P2P)를 지원하는 지에 대해서 조사할 필요가 있어서 조사하게 되었다. 아이폰에서는 블루투스와 와이파이, 와이파이다이렉트, 이더넷 등의 인터페이스를 각기 독립적으로 사용하는게 아니라 여러 인터페이스를 하나처럼 사용할 수 있도록 MultipeerConnectivity라는 프레임워크를 제공하고 있다. 애플 개발자 문서: https://developer.apple.com/documentation/multipeerconnectivity 해당 프레임워크를 사용하면 아이폰에서 지원하는 인터페이스들을 활용하여 근처의 디바이스와 서비스를 찾.. 2020. 10. 13.