가상 네트워크 드라이버를 만들 수 있을까요??

케노스의 이미지

안녕하세요.
전 리눅스 & 드라이버 초심 개발자입니다.

다름이 아니라 리눅스에서 동작하는
네트워크 가속보드(or 보안)를 만들 계획인데요.

그런데 그 가속보드 자체는 NIC 카드의 동작을 할 수가 없어서..
제가 문득 생각이 난데

그럼 가상의 nic 드라이버를 만들어서 가속보드에서 가낭 NIC 드라이버로
들어오는 패킷을 주는 형식이 가능 할까?? 라는 생각이 들더군요.

그래서 찾아보았는데 그것과 관련된 글이 잘 안보여서
이렇게 질문을 올립니다.

혹시, 가상 NIC 드라이버나 혹은 관련된 지식을
아시는 분 계시면, 도움 주시면 감사하겠습니다.
즐거운 하루 되세요.

haze11의 이미지

NIC 드라이버가 하는 일은 위에 내려오는 패킷을 NIC의 버퍼에 써주고
NIC의 버퍼에서 패킷을 받아 위로 올려주는 기능을 합니다.
부가적으로 레지스터 셋팅등을 하게 되죠.

가상 NIC 드라이버라면 H/W 관련 부분을 제외하고 패킷이 오고 나가는 부분만 가속보드와 연결해주면 될 것 같습니다. H/W관련부분을 가속보드에 해당 되는 내용으로 바꿔도 될 것이고, 가속보드가 따로 드라이버를 가지고 있다면 어플리케이션에서 IOCTL 등을 이용해서 패킷을 넣고 받을 수 있습니다.

드라이버 관련 책을 보시면 가상드라이버를 만들정도의 부분은 잘 설명 되있습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.