안녕하세요 테이저건 상남자 우기입니다!
오늘은 제가 쓰고 있는 논문 주제에 대한 내용을 포스팅 하려 합니다.
2021 추계종합학술발표회에 제출하고 발표를 마친 상태이고,
저널을 쓰기 위한 스케치 단계라고 생각하시면 될 것 같습니다. 많이 부족하므로 피드백은 감사히 받도록 하겠습니다.
연구 배경
1. 5/6G 등의 기술 발전 및 다양하고 새로운 서비스 등장 [1][2]
- 3GPP Release 15, 16에서 발표한 바와 같이 1ms 지연 시간과 99.999% 신뢰성을 요구하도록 서비스를 지원하고자 함
- 5G 환경에서 실시간 비디오 스트리밍 서비스는 그림과 같이 최소 700ms에서 250ms까지의 지연 시간이 요구
2. 하지만 서비스별 지연 요구사항이 다르고 기존 네트워킹 기술의 한계로 이를 극복하기 위해 SDN을 통한 효율적인 서비스 지원
관련 연구
1. SDN (이전 포스팅했던 글을 참고해주세요)
2021.09.22 - [논문 리뷰] - (1) A Survey on Software-Defined Networking
(1) A Survey on Software-Defined Networking
안녕하세요 미친 상남자 우기입니다! ICT 영역이 발달함에 따라 다양한 기술들이 나오고 있습니다. 그 중 SDN(Softeware-Definend Networking)에 관한 Survey 논문을 소개하려 합니다. 원문은 아래를 참고하
gmwoo.tistory.com
2021.10.06 - [논문 리뷰] - (2) A Survey on Software-Defined Networking
(2) A Survey on Software-Defined Networking
안녕하세요 뜨거운 상남자 우기입니다! 이전 SDN survey 논문에 이은 두 번째 포스팅입니다. 이전 글을 먼저 봐주시면 감사하겠습니다. 2021.09.22 - [논문 리뷰] - (1) A Survey on Software-Defined Networking..
gmwoo.tistory.com
- 정의 : 네트워크 제어가 포워딩에서 분리되고 직접 프로그래밍할 수 있는 새로운 네트워크 아키텍처 [3]
- 기존 네트워킹 시스템은 통신하는데 있어서 서버와 유저 또는 단말 등 사이에 독립적인 상태인 네트워킹 장비들이 있음. 때문에 네트워크 운영자는 각각의 네트워크 장비를 수동으로 관리해야 함. 그리고 성능 최적화나 통신망이 복잡할수록 비용적인 면에서도 비효율적임.
- SDN 기술을 적용하면, 독립적인 네트워크 장비들은 SDN Controller로 묶이게 됨. SDN Controller가 소프트웨어 프로그래밍으로 네트워크 장비들에게 data 전송 룰을 전달하고 각각의 장비들은 룰에 따라 데이터를 전송하는 역할만 담당하게 됨.
2. 본 연구의 SDN Controller
1) ONOS(Open Networking Operating System) [4]
- SDN Controller의 종류는 다양하지만 본 연구는 JAVA 기반의 ONOS 컨트롤러 활용
- ONOS는 2015년에 SDN을 정의한 Open Networking Lab에서 개발
연구 기법
1. 연구 시나리오
- 각 서비스별 지연 요구사항에 대하여 조사
- 강화학습의 기법 중 하나인 Q-learning 기법을 사용하여 사용자에게 까지 최적 경로 생성
- 이 둘을 기반으로 최적경로를 찾는 정책을 SDN Controller가 각 스위치에 전달
2. Mininet & ONOS 토폴로지 구성
1) Mininet [5]
- Open Networking Lab에서 개발한 가상 네트워크 에뮬레이터
- Miniedit : Mininet의 응용 프로그램을 사용하면 시각적으로 토폴로지를 생성할 수 있고 자동으로 Python 코드로 생성
- SDN의 특성과 같이, Controller에 모든 L3 스위치가 연결돼있는 것을 알 수 있음
2) ONOS Controller
- 구성한 토폴로지를 ONOS 컨트롤러로 넘겨 각 스위치의 정보와 현재 상태를 알 수 있도록 구현
- Flow Table을 작성하여 각 스위치에게 전달
3) Flow Table
- SDN의 장점 : 연결된 모든 L3 스위치의 상태을 알고 있음 / 하지만 어떤 경로가 최단 및 최적 경로인지 알 수 없음
- 이를 Q-learning 알고리즘 기반, 라우터별 Queue 딜레이를 통해 보상
- 보상을 얻은 경로를 점차 줄여가면서 최적의 경로를 구할 수 있음

- 현재 위치에서 좋은 경로를 탐색 액션을 취하게 되면 각 스위치의 Queue Delay에 따라 패킷(에이전트)의 현재 위치에서 연결된 각 스위치의 보상을 받게 되는 형태
3. 실험 환경
1) 구성한 토폴로지를 Matrix 형태로 구현
- Q-learning을 위함
- 모든 스위치는 꽉 찬 Dead Queue와 거의 꽉 찬 Full Queue를 제외하고 빈 큐라고 가정
2) 보상에 따른 경로 우선순위 결정
- 구성한 토폴로지를 기반으로 학습을 했을 때 모든 L3스위치의 각 방향마다 보상을 받음
- Dead Queue로 도착 시, 마이너스 보상을 받게 함으로써 사용자에게 좋은 경로를 제공
- SDN은 구해진 경로들에 대해 우선 순위를 매겨 저장
- 그림과 달리, 사용자 수와 스위치의 수가 늘어나더라도 SDN에서는 모든 경로를 저장하고 있기 때문에 서비스별 지연 요구사항에 따라 순위가 높은 경로 순으로 부여할 수 있음
3) 업데이트 주기
- 만약 장치의 상태가 변하게 되면 SDN에서는 변화한 토폴로지에 맞는 최적 경로를 제공 가능
- 라우터 상태 업데이트 주기는 본 연구에서는 가정을 하였고 경로 중에 Full Queue 이상 값이 나오게 되면 업데이트
- 업데이트 시 Dead Queue에서 받았던 위치의 보상은 0으로 초기화
향후 계획
학교에서 제공하는 장비를 통해서 실제 서비스를 구동하고 이에 대한 최적 경로를 탐색하고 도출된 결과값에 대해 결국 글로벌한 모델을 만드는 것을 목표로 함
참고 문헌
SDN과 강화학습 기반 Q-learning을 활용하여 서비스별 요구사항에 따른 최적 경로 결정하는 기법에 대해 소개하였습니다.
아직 스케치 단계이기 때문에 가정한 부분이 많고 디테일한 실험을 해야할 부분이 많습니다.
제가 놓치고 있는 부분이 있거나 잘못된 부분이 있다면 언제든지 피드백 부탁드립니다.
감사합니다!!

'논문 리뷰' 카테고리의 다른 글
TIDE: Time-relevant deep reinforcement learning for routing optimization[1] (0) | 2021.12.15 |
---|---|
(2) A Survey on Software-Defined Networking (0) | 2021.10.06 |
(1) A Survey on Software-Defined Networking (0) | 2021.09.22 |
(1) MEC (Mobile Edge Computing) (0) | 2021.07.06 |