안녕하세요. ns2와 관련하여 검색중 우연히 들르게 되었습니다. ns2 설치 후 시뮬레이션 관련 질문 드려도 되는지요?

moviehero의 이미지

안녕하세요.

저는 NS2를 배우고 있는 학생입니다.

NS2와 관련하여 이번에 처음 접하게 되어 많은 어려움을 느끼고 있어 이리저리 검색중에 우연히 들르게 되었습니다.

이렇게 질문들 드려도 되는지 모르겠습니다만 ㅠㅠ 지푸라기라도 잡는 심정으로 이렇게 글을 남깁니다.

현재 제가 NS2를 Vmware를 이용하여 설치하고,

ns-allinone-2.35/ns-2.35/tcl/ex/wpan/에 있는 **.tcl 데모 파일을 수정하여 제가 원하는 방향으로 코드를 수정하고 있습니다.

ns-allinone-2.35/ns-2.35/wpan에 들어 있는 **.cc 파일들과
ns-allinone-2.35/ns-2.35/tcl/ex/wpan/에 들어있는 **.tcl 데모파일들이 서로 연동되어 작동하는 걸로 알고 있습니다.

근데 제가 ns-allinone-2.35/ns-2.35/wpan 에 있는 .cc파일들을 지워보고 이름을 바꿔봐도 데모파일들은 정상적으로 동작을 합니다.
제가 환경설정이나 NS2설치를 잘못하였는지요? 어떻게 해결해야 할지 막막하고 답답하여 글을 남깁니다.ㅠㅠ

긴글 읽어 주셔서 감사 합니다.

Anti-Lock의 이미지

데모가 정상동작 한다니 컴파일은 성공하셨나보네요..
컴파일이 끝나면 소스파일(언급하신 cc파일들)은 필요가없죠.

원하는 동작을 하도록 기존 코드를 수정하거나 새로 구현하시고
다시 컴파일 하셔야 합니다.
그래야 구현하신 내용이 실행파일(ns)에 반영이 됩니다.

ns2에 대한 자세한 내용은 블로그 같은곳에서 정리된 자료를
쉽게 찾을수 있을겁니다. 영문이긴 해도 매뉴얼도 있고...

익명 사용자의 이미지

kayws426님 답변 정말로 감사 드립니다.

제가 ns-allinone-2.35/ns-2.35/tcl/ex/wpan/에 들어있는 **.tcl파일을 수정하고 있는 상황에서 **.tcl쪽 파일만 수정해서 csma/ca 채널 액세스 관련 부분도 건드릴 수 가 있는건가요?

ns-allinone-2.35/ns-2.35/wpan안에 p802_15_4csmaca.cc나 p802_15_4mac.cc 파일들을 건들어서 코드를 수정해야 하는걸로 알고 있었거든요...

faraplay의 이미지

제가 알기로는 csma/ca 채널 액세스 관련 부분에 대해서 기존 구현되어 있는 기능 말고 다른 기능을 추가하거나 변경하실거면

.cc 코드를 수정해야 할겁니다. 기존 구현되어 있는 기능을 사용하실거면 아마도 그것에 관련되 예제가 있을 겁니다.

기존 구현되어 있는 기능들은 관련 예제를 찾아보시면 될거 같네요.

ns2가 처음에 개념잡기가 좀 애매해서 그렇지 처음에만 잘 잡으면 어렵지 않습니다.

고생하세요

moviehero의 이미지

제가 지금 wpan폴더 안의 wpan_demo2.tcl을 수정중입니다.

근데 **.cc파일들을 지우고 내용을 바꾸어 보아도, 시뮬레이션은 동작이 됩니다.

제가 검색을 이리저리 한 결과로 보아 서로 연결되어있다고들 하는데 지금 제 상황에서는 서로 독립적으로 동작하는거 처럼 보여서요 ㅠㅠ

혹시 이러한 이유는 알고 계신지요?ㅠㅠ

Anti-Lock의 이미지

컴파일되어서 실행파일로 만들어지면 소스파일은 필요없습니다.
소스파일을 지워도 실행파일은 정상적으로 실행됩니다.
(첫 댓글에 있는 내용)

"검색을 이리저리 한 결과로 보아 서로 연결되어있다고..." 하는 내용은 맞는 이야기 입니다만,
이미 바이너리 형태로 변환되어진 실행파일이 동작하는 것이기 때문에
시뮬레이션을 할때 소스파일 자체가 상호 연결되어 동작하는 것은 아닙니다.

참고로, (ex 아래에 있는 tcl 파일들은 예제이므로 관계없지만)
Makefile 안에서 찾아볼수 있는 tcl 파일들은 make 할 때 cc 파일로 변환되어
컴파일되고, 실행파일인 ns에 포함됩니다.
(이러한 tcl파일들은 시뮬레이션 스크립트에서 사용할 수 있는 함수를 정의하거나,
프로토콜 일부를 구현하고 있을 수 있습니다.)
따라서 이런 tcl파일을 수정했다면 make 하는것을 잊지 마세요...

moviehero의 이미지

make 한다는 뜻이 정확이 무슨뜻인지 몰라서요 ㅠ

일단 컴파일 한다는 것이 시뮬레이터 실행하는 명령어를 말씀하는 것인지요?
(예를 들면, ns wpan_demo2.tcl 이케 실행하는게 컴파일 한다는 뜻인지요?)

번거롭게 질문을 많이 드려서 죄송 합니다. ㅠ

Anti-Lock의 이미지

ns 직접 설치하신것 맞나요?
그럼 make를 모르실리 없는데.. 이상하군요..
"ns2 설치방법"으로 검색해보고 따라해보세요...

moviehero의 이미지

ns2 설치를 인터넷에서 사람들 블로그를 통해 검색하여 커맨드 창에서 인스톨 명령 누르고 인스톨 하였습니다.
찾아보니 인스톨 하면서 컴파일도 된다고 하더라구요~

그리고 언급해 주신 make 관련하여,

ns-allinone-2.35/ns-2.35 에서 코드 수정 후 make clean 한 후 다시 make 하니까 컴파일?같은 작업을 하더라구요~

인터넷에서 찾아보니 맞는것 같구요~

언급해 주신 내용들 감사 합니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.