C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[26606] 방화벽(H/W)를 만들려는데 어떤 O/S가 좋을까요?
방화벽 만들기 [] 4919 읽음    2016-10-25 03:25
방화벽을 만들 OS는 윈도가 아니고 Linux로 거의 결정을 내려논 상탭니다.
Linux의 어떤 버젼, 어떤 종류의 Linux를 사용해야만 아래에 나열하는 요구사항과
같이 개발을 할 수 있을까 하는건데, 필요한 정보를 찾기가 쉽지 않군요.

Linux, Embedded Linux쪽으로 조예가 싶으신 분들의 주언을 부탁 드립니다.


1. 하드웨어.

CPU = i5 계열, 혹은 i3
RAM = 4G
SSD = 128G(개발용), 256G(패킷용)


2. O/S의 준비.

GUI는 필요없습니다.
Command-Line compiler(C/C++, assembler, 다른건 필요없음.).
가장 단순한 그렇지만 성능은 좋은 커널 또는 no kernel.
SSD driver, Graphic driver, Network driver, HUI driver,
기타 필수 드라이버(Data BUS, USB, DMA 등등)


3. 만들어야할 드라이버.

3-1. 네트웍 카드 드라이버.

방화벽(H/W) 입니다. 네트웍(Ethernet) 카드 세개가 꽂혀 있을겁니다.
하나는 인터넷.외부네트웍 방향, 하나는 내부네트웍 방향입니다.
나머지 하나는 개발자가 PC에 접근하기 위한 겁니다.

개발자 접근용 카드는 미리 준비된 범용 driver면 충분합니다.

외부네트웍, 내부네트웍을 담당할 카드의 driver는 직접 개발합니다.
왜냐하면, packet capturing tool, packet sniffing 툴 등으로 별도로 사용하면
성능이 많이 떨어지기 때문에

Q.1. ----- 네트웍 카드 단에서 패킷을 떨굴수 있도록 설계되어야 하기 때문 -----
Q.2. ----- 네트웍 카드 단에서 방화벽 알고리즘이 적용되어야 하기 때문 -------

입니다.

3-2. FileSystem.

Q.3. 패킷을 읽고 쓸수 있도록 최적화된 FileSystem을 만든다.

Q.4. 이 FileSystem은 네트웍 드라이버 <---- DMA ----> FileSystem와 같이 최적화
되어야 한다.

3-3. DMA 드라이버.

Q.3, Q.4.를 구현하기 위해서.


4. 요약 - 만들 드라이버.

Q.1, Q.2 와 같이 네트웍 드라이버 단에서 알고리즘이 적용된 드라이버 개발.
Q.3 과 같이 최적화된 FileSystem.
Q.4 DMA driver.
위의 세개를 구현하기 쉬운 kernel 또는 no kernel.
---- 방화벽의 용도로 최적화되고 범용 device는 물리지 않기 때문에 no kernel도 고려해봄.


5. 요약 - 전체.

기본적인 command-line compiler 만 제공.
단순 커널, 기본 드라이버.
나머지 드라이버는 모두 개발(Network, Disk & FileSystem, DMA).



가장 단순한 기능만 제공하고, 나머지 리소스는 막지 않고 모조리
오픈해주는 O/S.

이와 같은 요구사항에 가장 가까운 O/S는 뭘까요?
생각하기에 Linux중에 하나를 찾아야 할것 같습니다.

조언 좀 부탁 드립니다.
빌더(TWx) [builder]   2016-10-25 09:50 X
Intel i5 나 i3를 사용하고 SSD를 드라이브로 사용한다면 사우스/노스 브릿지 칩셋도 결정되어 있을 테고
칩셋에서 SSD를 콘트롤 하기위한 인터페이스도 갖고 있겠죠. (SATA든 PCI 버스든)

MMU유닛이 빠져있는 소형 CPU를 위한 별도의 Embedded Linux Kernel 패키지를 이용하는 것 보다는
스탠다드 리눅스 커널을 이용해서 빌드할 때, Kernel Configuration을 적절히 세팅해서 커널 이미지를 줄여서 사용하는 게 낫겠네요.

+ -

관련 글 리스트
26606 방화벽(H/W)를 만들려는데 어떤 O/S가 좋을까요? 방화벽 만들기 4919 2016/10/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.