네트워크 트래픽 양이 증가함에 따라 유익한 정보뿐만 아니라 유해한 정보도 함께 증가하고 있다. 이에 따라 네트워크를 통해 전송되는 패킷을 분석하는 방법이 요구되고 있다. 현재 패킷을 처리하기 위한 목적으로 설계된 언어가 존재한다. 하지만 대부분의 패킷 처리 언어는 저급 언어로 설계되어 프로그래밍의 효율성이 낮다. 그리고 고급 언어로 개발된 패킷 처리 언어는 packetC가 있으나 이를 사용하기 위해서는 높은 사용료를 지불해야한다. 국내에는 현재 트래픽 양이 급격히 증가하고 있지만 트래픽 분석 기술은 모두 해외에 의존하고 있어 해외로 많은 사용료가 유출되고 있다. 본 논문은 C 언어와 유사한 고급 언어인 SPaC 언어를 정의하고 이 언어를 위한 SPaC 컴파일러를 구현한다. SPaC 언어는 패킷을 처리하기 위한 목적으로 설계된 고급 언어로 패킷 처리 프로그램 개발의 효율을 높일 수 있다. SPaC 컴파일러는 SPaC 언어의 프로그램을 입력으로 받아 SPaC 언어의 타당성을 검사하고 가상 기계에 대한 목적 코드를 결과로 생성한다. 본 논문의 연구를 통해 다음과 같은 기대효과를 얻을 수 있다. 첫 번째는 국내 원천 기술을 확보하여 국외에 지불하고 있는 사용료를 줄인다. 두 번째는 고급 언어로 설계하여 저급 언어의 단점인 코드의 재사용성을 높이고 그에 따른 개발 비용을 줄인다. 마지막으로 SPaC 컴파일러의 가상 기계 목적 코드를 통하여 표준화된 하드웨어에 대한 종속성을 낮춘다.
The more network traffic is getting increased , the more harmful information is getting increased. Therefore the way of analyzing packet through the internet is now required. Languages for packet processing exist but those are not efficient because they are designed as low level languages. And there is a high level language called packetC which processes packet but it has to pay technical license fees. Even though network traffic has been increased, we are still using packet analysis techniques. In this paper, we will define high level language SPaC which is similar to C language and implement SPaC compiler. This high level language that is designed for packet processing will raise performance. SPaC compiler gets SPaC program as input and then checks input’s validity and then compiler creates virtual machine object code. In this dissertation, We are able to expect three advanteges through this research. Firstly, we can save some technique fees using domestic technique. Secondly, Using a high level language it can reduce development fee and reuse source code comparing to low level language. Lastly, SPaC compiler will be a standard platform independent program through virtual machine object code.