ioctl() 과 system() 수행시간 비교

deux9745의 이미지

ioctl()을 이용해서 라우팅 테이블을 수정하는 것과 system()함수를 이용해 라

우팅 테이블을 수정하는 것을 비교했을 때 어떠 함수를 쓰는 것이 더 빠르게 라

우팅 테이블을 수정할 수 있을까요?

사람들에 말에 의하면 ioctl이 확실히 빠르다고 하지만

제가 두개 모두 테스트 해봤는데 둘다 차이가 없는거 같습니다.

제 경우는 패킷을 포워딩하고 있는 라우터의 라우팅 테이블을 수정했을때

라우팅 테이블에 즉시 적용되어 패킷을 수정된 경로로 전송하려고 하는데

위 두함수 모두 테스트 해본결과 즉시 수정되지 않는군요.

즉시 수정되어야 프로젝트를 진행할 수 있는데 고수님들 답변 부탁드립니다.

송동섭의 이미지

잘 알지는 못하는데.. 그냥 생각이 나는게 있어 적어봅니다.

ioctl이든, system을 사용하든 시간 차이는 아주 크게 나지 않을듯

싶은데요... 다만, 제가 우려되는건 system()이란 놈이 사람이 console에

다가 손으로 직접입력 하는거랑 같은 원리 일테고 콘솔에서 라우팅테이블

수정하는 만큼의 시간은 당연히 소비될거라고 생각이 된다는거죠. ( 프로그램

내부에서 system("~~~") 처리 시간 = 사람 이 command를 입력해놓고 엔터 탁

치고 결과 반영되기 않을까?? 하는생각. )

즉, 지금 문제는 ioctl,system은 라우팅 테이블 수정을 위한 동작을 충분히

빨리 수행할 거고 이 두 function이 소비하는 시간은 전체 시간의 일부일

거고, 소비되는 시간의 대부분은 라우팅 테이블이 수정되고 적용되는

내부의 동작에서 시간소비가 되지 않나 하는겁니다.

** Inside Of Inside By Forman

deux9745의 이미지

빠르게 라우팅 테이블을 수정할 수있는 방법이 없을까요?

ioctl을 사용하면 빠르꺼라고 생각했는데 생각한대로 그렇지 않은 결과가 나오니까

당황스럽네요.

빠르게 라우팅 테이블을 수정해야 하는데 안그러면 패킷이 일시적으로 엉뚱한곳으로 흐러가 버리게 되는 문제가 있어서요.

해결책이 없나요?

정인철의 이미지

라우팅 테이블은 실행하는 즉시 바뀔지 모르지만..

실제 네트워크의 패킷들은 네트워크 환경의 영향을 크게 받지 않을까요?

제 생각은, system을 쓰든 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 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 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>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 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>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 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>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.