기술문서 상 설계및구현 류승호
문서의연혁 버전 날짜 작성자 내용 초안 류승호 초안작성 류승호 프로바이더설계내용수정 류승호 내용추가 프로바이더동작확인 류승호 오탈자수정 류승호 그림추가 류승호 설계내용추가 류승호 설계그림수정 류승호 프로바이더동작확인내용수정 류승호 프로바이더설명추가 류승호 오탈자수정 본문서는 년도정부 미래창조과학부 의재원으로정보통신 기술진흥센터의지원을받아수행된연구임 글로벌 공개소프트웨어핵심모듈 기능개발
기술문서요약 소프트웨어정의네트워크 에서는네트워크인 프라스트럭처를관리및조작하기위해서전송평면과제어평면을분리시켰다 네 트워크에있는장비들은데이터전송을담당하고중앙집중컨트롤러가네트워크를 지능을담당하게된다 따라서 의핵심기술은중앙집중컨트롤러와네트워크 장비들의동작을제어하기위한프로토콜이다 네트워크프로토콜 일명 로는현 재 가 의표준으로사용되고있으나 컨트롤러개발에여러업 체와기관이뛰어들면서현재다양한 컨트롤러들이존재하고있다 여러종류 의컨트롤러중에서 와 가대규모네트워크에실제적용가능한컨트롤 러로고려되면서최근에많은관심을받고있다 은다양한네트워크프로토콜 들을 로지원하여네트워크에있는기존장비들을포함한대규모의 을구성 하는방법을취하고있다 는 에서단일컨트롤러가다수의네트워크장비들을관리하는데발생하는네트워크의성능저하문제를해결하고자한다 는 의성능을기존네트워크수준으로제공함으로써네트워크사업자와시장의 요구를만족할수있어캐리어레벨의네트워크에적용가능할것으로기대를받고 있다 하지만 는컨트롤러의성능향상에초점을맞추고있어 에비해 의지원이매우미비한실정이다 장비로현재인터넷을대체하기에 는높은비용과시간이필요할것으로예상된다 과기존인터넷이공존하는 상황에서 컨트롤러는네트워크에있는다양한장비들과협업을할필요가존 재한다 이에따라 의부족한 지원을보안하기위한프로젝트들이있었으며그결과 등이추가되었다 본기술문서에서는 의 를위한프로토콜로 을제안한다 은 주소가내포하고있는식별 자와라우팅위치정보를분리하여보다나은라우팅방법과인입트래픽가공과같 은기법을적용할수있는프로토콜이다 는 과유사하게제어평면과전 송평면을가지고있어 에적합한프로토콜이다 본기술문서에서는 을위 한 에 프로바이더설계와구현방법그리고사용방법을소개하도록한다 1
상 설계및구현 서론 소프트웨어정의네트워크 확장의필요성 본론 의 프로바이더설계 프로바이더구현 결론 2
그림목차 그림 계층의 구조 그림 의분산구조 그림 의계층구조 그림 에서패킷전송과정 그림 프로바이더의역할개념도 그림 프로바이더의기본동작패턴 그림 을위한프로토콜및프로바이더 그림 프로바이더와프로토콜경로 그림 프로바이더와프로토콜소스트리 그림 장비와통신ㅇ르위한채널생성 그림 수신한 메시지처리 그림 메시지포맷 그림 메시지포맷 그림 메시지처리코드 그림 메시지포맷 그림 메시지포맷 그림 메시지분석및 매시지생성함수호출 그림 생성코드 그림 에서 프로바이더실행 그림 프로바이더실행시로그내용 3
상 설계 및구현 4
1. 서론 본서론에서는이기술문서를이해하는데필요한배경지식으로 과 에대해서간단하게소개하고 에 확장이필요한이유를설명하도록한다 그리고마지막으로 의 로추가하고자하는 에대해서설명하도록한다 1.1. 소프트웨어정의네트워크 (Software Defined Network, SDN) 현재인터넷은스위치 게이트웨이 라우터등의수많은네트워크장비들이계층 구조로연결이되어있다 이런고정토폴로지에서네트워크장비의연결과네트워 크성능향상을위해다양한프로토콜들이사용됨에따라서네트워크가복잡해지게 되었다 이로인해서네트워크에새로운장비를추가하거나새로운기술을적용 하는데많은어려움이있다 게다가장비제조사들의긴장비생산주기로인해새 로운기술이나사용자의요구에빠르게대응하지하지못하고있다 이런현재네 트워크환경에서인터넷사용패턴의변화와시장의요구에빠르게대응할수있는 네트워크구조로써 이제안되었다 에 서는 을네트워크의제어평면을전송평면에서물리적으로분리하고제어평 면이다수의장비를관리하는것으로정의하고있다 즉 기존네트워크장비들이 경로연산 정책관리 패킷처리등전송평면과제어평면을모두수행하는것과다 르게 에서는네트워크장비가전송평면을담당하고중앙집중컨트롤러가제어평면을담당한다 그림 계층의 구조 5
그림 은 의인프라스트럭처 제어 애플리케이션의 계층구조를나타내며 에서정의한 의개념을잘보여주고있다 인프라스트럭처계층에는물리 적 논리적네트워크장치가포함되며실제데이터전송이이뤄지는전송평면을담 당한다 제어계층은이름그대로제어평면을담당하며소프트웨어로정의된컨트 롤러가인프라스트럭처계층에존재하는네트워크장비들을관리및제어한다 컨 트롤러가네트워크장비와통신위해사용하는프로토콜들은컨트롤러를기준으로 아래쪽에존재한다하여 라부르며일반적으로 를많이사용하고있다 컨트롤러가애플리케이션개발을위해제공하 는 를컨트롤러를기준으로위쪽이라하여 라고하 며 를이용하여개발된라우팅 접근제어 관리등과같은 애플리케이션들이애플리케이션계층에해당된다 에서는이러한표준화된인터페이스를통해서장비제조사에의존하지않고네트워크장비를제어할수있어보다유연하게네트워크를운용할수있다 또한 에서네트워크장비는컨트롤러의명령을수행하는단순한구조를가져장비의 단가가낮아지게된다 이러한 의특징으로보다손쉽게네트워크를구축및운용할수있다 1.2. Open Network Operating System (ONOS) 기존네트워크장비에서소프트웨어로구현된기능들을 에서는컨트롤러가수 행하며컨트롤러가다수의네트워크장비를제어하기때문에컨트롤러에대한중요도가매우높다 현재많은종류의컨트롤러가개발되고있는데최근에는 와 가대규모의네트워크에적용가능한컨트롤러로써많은관심을받고있다 Providers Providers Providers Providers 그림 의분산구조 6
이전에는다음과같은이유로 을캠퍼스나작은기업체와같은중규모의네트워크에적용이가능한기술로평가되었다 중앙집중구조에서컨트롤러가 이되어네트워크의성능이감소 다수의컨트롤러를사용하는 에서컨트롤러가네트워크의 를 알지못함 에서는분산구조를이용하여위의문제를해결하여기존컨트롤러보다높은네트워크성능을제공한다 그림 는 의분산구조를나타내고있다 는다수의 인스턴스 로구성되며각인스턴스는 컨트롤러로써네트워크장비를제어한다 인스턴스는분산저장소 을이용하여네트워크정보를공유하여모든 인스턴스가 를볼수있게도와준다 는분산구조를이용하여컨트롤러에몰리는제어 메시지를분산시키면서도네트워크의 를가지고네트워크장치들을제어할수있다 그림 의계층구조 는계층구조로구현이되어있으며각계층은 절에서설명한 의계 층구조와대응이된다 의핵심기능을담당하는코어영역은 의제어영역과매치되며코어를기준으로 애플리케이션을위한 과네트워크장비를제어하기위한 를제공하고있다 에서는 를프로토콜과프로바이더영역이담당하고있으며표준화된 를통해서 를관리함에따라서플러그인방식으로새로운 를추가할수있다 7
1.3. ONOS SBI 확장의필요성 일반적으로 을구성하기위해서는 를지원하는 스위치와컨트 롤러가필요하다 하지만현재인터넷을구성하고있는기존네트워크장비들은 를지원하지않으므로 를사용하는 으로인터넷을대체하 는데문제가있다 따라서기존인터넷과 이공존하면서 의영역을차츰차 츰넓혀감으로써기존인터넷을 으로교체할수있을것이다 의영역을 넓히기위해서 와기존 라우팅을지원하는스위치를사용하거나기존 네트워크장비에플러그인혹은펌웨어업데이트로 를지원하는방법이 있다 하지만전자는장비교체에비용에많이들고 후자는장비제조사의지원여부가중요하다 두가지방법모두오랜시간이소요된다 게다가 가 을위해서디자인된통신프로토콜이긴하지만 스 위치에서패킷처리하는것을목표로하고있기때문에다양한요구사항을지원하기위해서는 만으로는한계가있다 이러한문제를해결하기위해서 은 에여러프로토콜을지원하고있다 일반적으로 컨트롤러는 를유일한 로사용하는데반해서 은 등총 종의프로토콜을지원함으로써더많은네트워크장비를제어할수있다 이에반해 에서는 를포함해 종의프로토콜들만을 로제공하고있다 도네트워크의다양한장비들과협업을통해서네트워크의 를가질필요가있으므로더많은프로토콜을 의 로확장할필요성이존재한다 1.4. Locator/Identifier Separation Protocol (LISP) 앞절에서설명했듯이 을구성하기위해서 만을 로제한할필요 는없다 이미표준화된프로토콜중 에알맞은프로토콜을선택하여 의 로확장하는것이합리적이다 본기술문서에서는 을 의 로추 가하고자하고자하며이를통해네트워크에존재하는 장비들을 로제 어하는것을목표로하고있다 은현재 기반의인터넷에서는 주소 로나타내는라우팅위치정보와식별자를분리하는것을골자로하는프로토콜이 다 모바일기기의경우이동성에의해라우팅위치가바뀔수있는데 처음할당 받은 주소를가지고는모바일기기의실제위치에맞춰서전송경로를지정할수 없는문제가있다 또한 의시대가시작됨에따라서미래에는모든장비들에게 주소를할당해줄수없을것으로예상되고있다 은이러한 의문제를 해결하며라우팅의확장성 와 간의주소체계전환 인입트래픽가공 단말의모빌리티지원등을제공할수있다 8
그림 에서패킷전송과정 에서는 와 의두개의주소를사용하 여식별자와라우팅정보를나타낸다 이러한방법을이용하여 은기존 주소 할당을줄여서라우팅테이블크기또한줄어들어보다효과적인라우팅을지원한 다 는종단식별자를나타내는 주소로메시지의종착지인단말을식별하기 위해사용된다 그리고 은메시지전송시사용되는라우터의주소를나타낸다 그림 에서는 와 을사용영역과 의동작방식을보여주고있다 호스트 가메시지를전송할때 을지원하는라우터로 과 역할을모두지원 전까지는 를이용하여라우팅된다 이후두 사이에는터널링을통해서메시지가전송이된다 이때 가 의 을매핑시스템에게질의하는과정을거치게된다 결과적으로 에도달한메시지는호스트 의 를이용하여호스트 로전 송된다 의동작을제어평면과전송평면으로구분할수있는다 의제어 평면은메시지가전송될경로를지정하며 과매핑시스템간의맵정보교환 그 림 에서 이해당된다 의전송평면은두호스트사이에서실제로데이 터가전송되는것으로그림 의 이해당된다 의동작방식이 과매 우유사하며 에 을 로추가하면기존 의매핑시스템의역할을대체하여 전송의경로를제어할수있다 9
2. 본론 본장은 의 를담당하는프로바이더와프로토콜계층에대해서설명하고 을 로추가하기위해필요한 프로바이더와프로토콜의구조와구현방법에대해서설명한다 2.1. ONOS 의 SBI 에서는프로바이더와프로토콜계층이 을담당하고있다 프로토콜계층 은네트워크장비와직접적인통신을하는데필요한기능들이포함된다 프로바이 더계층은프로토콜과코어계층사이의중계역으로프로토콜로부터수집한네트워 크의상태를코어에게추상화하여제공하고 코어로부터네트워크장비제어명령을수신하면이에알맞은제어메시지를프로토콜을통해서전송하는역할을한다 그림 프로바이더의역할개념도 프로바이더는 의표준화된 를이용함으로써코어에서여러종류 의프로토콜에대해서알필요없이네트워크장비를제어할수있다 또한 표준화 된 를통해서새로운프로토콜을 의 로플러그인형식으로추가할수 있다 프로바이더는 에서애플리케이션과동일한방법으로취급하고있다 다 시말해서 을 하듯이프로바이더도필요에의해서사용 여부를결정할수있다 예를들어 의설정파일인 파일이나 의환 경변수에특정프로바이더를지정하면 가시작할때프로바이더가동작을하게할수있다 10
그림 프로바이더의기본동작패턴 프로바이더가시작될때 될때 코어의 의 함수를 통해서프로바이더의시작을알린다 이후코어는 를통해서프로바 이더로부터이벤트리스닝하게된다 코어는이벤트를처리하고네트워크장비의 동작을변경할필요가있으면프로바이더를이용하여네트워크장비에메시지를보 낸다 그리고프로바이더를 하면코어에 함수를통해서해당프로바이더가더이상사용되지않음을알린다 2.2. LISP 프로바이더설계 서론에서설명한것과같이 의프로토콜계층은네트워크장비와통신하는 실제적인역할을하고프로바이더계층은코어와프로토콜사이에서중계자역할을 한다 이러한구조로인해 에서는프로바이더계층이프로토콜계층을포함하 여 를담당하는것으로나타낸다 따라서 을 의 로구현하기위해서는 을위한프로토콜과프로바이더를같이구현하면된다 그림 은 프로바이더와프로토콜에대한구조와메시지처리를위한함수호 출을나타내고있다 우선 프로바이더가시작이되면 장비와매핑정보 교환을위한통신채널을생성한다 이후채널로메시지가유입되면 프로토콜은해당메시지가 메시지인지확인한뒤 에대한정보와메시지를 프로바이더에게전달한다 프로바이더는프로토콜로부터전달받은메시지를 분석하여맵정보를저장하고 에게응답메시지를전송하게된다 본기술문서 에서제안하는 프로바이더와프로토콜의설계는 의설계구조에따르지 않고있다 에서는네트워크제어를위한지능은코어가담당하므로 메 시지에포함된매핑정보와메시지응답에대한결정은코어에구현이되어야한 11
다 하지만본기술문서에서 을위한프로바이더와프로토콜을목적으로하고 있어현재코어에대한고려는되어있지않다 또한 프로바이더의동작을확 인하기위한목적으로 프로바이더가메시지를처리하고응답을하도록설계를 하였다 이는차후에상위계층을고려한 에서 프로바이더에서는변경이될예정이다 그림 을위한프로토콜및프로바이더 2.3. LISP 프로바이더구현 본기술문서에서는 버전 를기준으로 프로바이더와프로토콜을구 현하였다 구현을위해서 의 과 에구현되어있는다른 프로토콜소스코드를참고하였다 12
그림 프로바이더와프로토콜경로 의소스코드를다운받으면 와 라는디렉토리가존재하는 데그림 과같이해당디렉토리에 을위한디렉토리를생성한다 이때각디 렉토리에있는 파일에작성하여 프로토콜과프로바이더가사용됨을명시 해야한다 를보면프로바이더를위한 파일작성과함께프로바 이적작성을위한가이드가존재한다 프로바이더를예를들면 디 렉토리의 파일에 프로바이더가추가되었음을명시한다 디렉토리에 구현하고자하는프로바이더들을 파일로명시한다 마지막으로구현하고자하 는 프로바이더의디렉토리에서 파일작성하여준다 유사한방법으로프로토콜을위한 파일을작성한다 그림 프로바이더와프로토콜의소스트리 13
프로토콜을 프로바이더가조작할수있는 와네트워크장비와통신을위한채널및메시지송수신을기능이구현되어있다 프로바이더에서는 프로토콜로부터받은정보를통해서 장비에대한추상화를제공한다 그림 장비와통신을위한채널생성 프로바이더를시작하면 프로토콜은 장비와통신을위해서포트 로 소켓을생성하고 메시지를기다린다 가 메시지를수신하면 메시지의타입을확인하고이에따른응답을하게된다 그림 수신한 메시지처리 본기술문서에서는 에서매핑정보를교환을위한 개의기본메시지타입인 그리고 의처리에대해서다루고 있다 그림 은각메시지를타입에따라서처리하기위한코드이다 의동작 방식을보면 은 의응답이고 은 의응 14
답으로사용된다 따라서 의매핑시스템으로는인입되는메시지는 와 이며수신한메시지타입에따라서응답메시지가결정된다 우선 와 메시지에대해서보면다음과같다 그림 메시지포맷 는 에메시지를전송할때사용가능한라우터 의정보를매핑 시스템에등록하기위해서사용된다 매핑정보를저장단위로하는레코 드를전송한다 에서는 바이트의 를이용하여메시지의유효성을확인하 는데메시지전송시사용한 값이들어있는응답메시지만유효한메시지로 판단하고수신하게된다 매핑시스템은 를수신하면메시지에포함되어있는레코드를 맵테이블에저장한뒤 를되돌려보낸다 그림 메시지포맷 15
는 와거의똑같으며수신한 의내용을복사하여 손쉽게 를생성할수있다 생성한메시지를 를보낸 장비에게되돌려보내서매핑시스템에매핑정보가정상적으로등록되었음을알린다 그림 메시지처리코드 그림 는 프로바이더에서 메시지를처리하는코드로메시지를 분석한뒤 메시지를생성하여돌려보내게된다 은 장 비에서메시지전송에필요한라우팅위치정보를요청하기위해서사용하며메시지포맷은그림 와같다 그림 메시지포맷 16
그림 메시지포맷 에대한응답으로 를사용하는데 맵정보중에서 를통해서질의한 에도달할수있는 의정보를실어서보내게 된다 그림 과 은 프로바이더에서 메시지를수신하면메시지의내용을분석하고이에따른 메시지를생성하여보내는코드를나타낸다 그림 메시지분석및 메시지생성함수호출 17
그림 생성코드 구현한 프로바이더와 프로토콜을빌드하고나면 에서사용할수있 게된다 의 에서 명령으로 프로바이더 를실행할수있다 프로바이더가동작중인지확인하기위해서 명령을이용하면되며그림 은 프로바이더가 에서제대로동작중임을보여준다 그림 에서 프로바이더실행 에서는 의로그시스템을이용하고있으며 툴을이용하면로그를 확인할수있다 그림 은 프로바이더실행후로그내용으로 프로바이 더가 에설치가되었고동작하고있다는것을나타내고있다 로그시스템을이용하여 개발에필요한정보를확인할수있다 그림 프로바이더실행시로그내용 18
3. 결론 에대한관심이높아짐과더불어기존네트워크를 으로교체하기위한 노력이계속되고있다 는다른컨트롤러들에비해서높은가용성과네트워크 속도를보장하여캐리어레벨의네트워크를 으로운용할수있을것으로기대 되고있다 하지만기존인터넷을 으로대체하기위해서는오랜시간이소요될 것으로보이며현재설치되어있는네트워크장비를모두 장비로교체하기에 는무리가따른다 따라서기존인터넷과 이공존하면서차츰차츰 의영역 을넓혀가면서대체해가야할것으로보인다 장비제조사에서는 와기존 라우팅을지원하는장비를선보이거나펌웨어업데이트를통해서 를지원하고있는추세이다 이러한인프라스트럭쳐영역에서의노력뿐만아니라 컨트롤러에서도기존인터넷에서사용하는제어프로토콜을지원하여 의 지원범위를넓혀가고있다 본기술문서에서는상대적으로적은수의프로토콜을 로지원하고있는 에 을추가하는것을목적으로하였으며 구현을 위해설계한프로바이더와프로토콜계층에대한설명과현재까지구현된 프 로토콜에대한소개를하였다 현재개발된 프로바이더는 에서매핑정보 를교환하기위한 개의메시지처리를중심적으로다루었고 동작을확인하기위 해서 의구조에알맞지않은설계를이용하였다 에 서브시스템을구현하는데알맞게현재 프로바이더의구조를수정하도록할예정이다 19
유재형 김우성 윤찬형 기술동향및전망 20
기술문서 l 컨소시엄의확인과허가없이이문서를무단수정하여배포하는것을금지합니다 l l 이문서의기술적인내용은프로젝트의진행과함께별도의예고없이변경될수있습니다 본문서와관련된문의사항은아래의정보를참조하시길바랍니다 작성기관 작성년월 21