세상에는 7가지 죄가 있다

 
노력이 빠진 부

양심이 빠진 쾌락

인간성이 빠진 지식

도덕이 빠진 상업

인간이 빠진 과학

희생이 빠진 기도, 그리고

진실이 빠진 정치

- 마하트마 간디
-
by Bohemian | 2007/04/24 19:53 | 트랙백 | 덧글(0)
Linux/일반


출처: http://4ellene.net/tt/category/Linux/일반

by Bohemian | 2007/04/21 19:57 | Linux | 트랙백 | 덧글(2)
Linux/명렁어&설정

출처: http://4ellene.net/tt/category/Linux/명령어&설정

by Bohemian | 2007/04/21 19:54 | Linux | 트랙백 | 덧글(0)
NS2 tip 관련 링크
http://www.4ellene.net/tt/category/Network/Ns-2

  • NS-2.28 with DYMO ad-hoc routing protocol support | 2007/03/30
  • [ns2] trasmission range_무선랜 전파 범위 설정 | 2007/03/14
  • Trace graph - Network Simulator NS-2 trace files analyser | 2007/02/19
  • ns2 extension MIPv6 -Mobiwan | 2007/01/17
  • GloMoSim 다운및 문서 | 2007/01/12
  • Glomosim Without Parsec | 2007/01/12
  • GloMoSim 2.03 Installation in Windows XP | 2007/01/12
  • GLOMOSIM Installation Instructions | 2007/01/12
  • GloMoSim Notes | 2007/01/12
  • ns2 네트워크 성능 평가 가이드라인 잡기 -작성중- | 2006/12/23
  • 논문 시뮬레이션 tcl 파일 | 2006/12/21
  • ns2 NAM파일 이용하여 총 TCP/FTP 트래픽 양 구하기 | 2006/12/19
  • Ns2 awk script : throughput 계산 | 2006/12/19
  • Monarch Project Research Papers | 2006/12/18
  • Implementing a Routing Agent with convenient manually configured routing table (static routing) | 2006/12/18
  • Ns2의 3가지 Trace format들.. | 2006/12/18
  • Ns2 awk script : Routing Performance-전송률, 홉 카운트, 라우팅 오버헤드 | 2006/12/15
  • Ns2 awk script : delay 계산 | 2006/12/15
  • Ns2 awk script : Packet delivery fraction, End-End packet delivery time, routing load | 2006/12/15
  • Ns2 New trace Format 설명 | 2006/12/15
  • Ns2 awk script : 7가지 | 2006/12/14
  • Ns2 awk script : average, thestandard deviation, overhead | 2006/12/14
  • Ns2 Mobile Node - 작성중- | 2006/12/14
  • Ns2 _Transport & Application | 2006/12/14
  • Ns2 – traffic-connection & node-movement 에 대한여 | 2006/12/11
  • Ns2 awk script : Trace2stats-throughput, average delay ,average jitter | 2006/12/10
  • Ns2 TCL 파일_3개 무선 노드 연결하기 | 2006/12/09
  • Further works for NS2 mobility extension. | 2006/11/28
  • ns-2 for the impatient | 2006/11/24
  • 우분투 5.04에서 NS 2.29 설치하기 (2) | 2006/10/24
  • by Bohemian | 2007/04/21 19:00 | 트랙백 | 덧글(0)
    네트워크 전송 프로
     
    네트워크 전송 프로토콜 SCTP

    출처 : http://cafe.naver.com/licensenet/60


  • 개요

     SCTP(Stream Control Transmission Protocol)는 PSTN망 에서 사용되는 signalling messages를 인터넷 망의 IP Network상에서 전송하기 위해 IETF SIGTRAN Working group에서2000년 10월 표준으로 제안(RFC 2960)한 전송프로토콜이다.

     SCTP는 IP Layer 위에서 동작하는 TCP와 같은 연결지향적인 프로토콜로 신뢰성 있는 데이터 전송이 가능하며,Association 설정 시 발생할 수 있는 DOS 공격 (Denial of Service Attacks)이나 Masquerading 공격에 안전하도록 설계되어졌다.
    또한 SCTP에는 Multi-Streaming 기능이 있어 TCP의 Head Of Line Blocking 으로 인한 성능 저하 문제를 해결 하였다. 특히 SCTP 연결 endpoint들이 여러 개의 IP주소를 가질 수 있는 Multi-Homed일 경우 한 개 이상의 통신 경로를 설정하여 Primary Path에 Path Fail 발생하더라도 미리 설정된 다른 통신 경로로 자동적인 데이터 전송을 하게 하는 Multi-Homing 기능이 있어 데이터 전송의 신뢰성을 높일 수 있도록 개발 되었다.

     SCTP 는 Multi-Homing과 Multi-Streaming 등의 기능을 통하여 네트워크 상에서 PSTN 망의 신호를 안전하게 전달할 수 있다. 또한 SCTP가 가지는 특징들은 데이터 전송의 성능과 유연성이 높이 요구되는 Mobile IP분야, 멀티미디어나 HTTP와 같이 다중 객체를 전송해야 하는 Application 환경과 높은 신뢰성과 보안이 요구되는 인증과 군 통신 장비 등에 유용하게 사용될 수 있어 차세대 전송 프로토콜로 주목 받고 있다.
  • Four-way Handshake 통한 Association 설정
  • Packet에 대한 유효성 검사
  • 데이터 전송경로 및 Idle 경로 Monitoring
  • Ordered and Unordered 데이터의 전송
  • Chunk Bundling
  • Multi-Streaming
  • Multi-Homing
  • TCP에 적용된 Congestion Control
  • Graceful close 시 Half open 지원 하지 않음
  • Fragmentation and Reassembly


  • Common Header

     SCTP 패킷은 Common Header와 Chunk로 구분된다. Common Header에는 Association이 설정된 Endpoint들을 유일하게 식별하게 할 수 있는 32 bit의 Verification Tag field가 있고, Checksum field 있어 Adler-32 알고리즘을 이용한 SCTP 패킷의 무결성과 일관성들을 검사 할 수 있다.

  • SCTP Chunk Type

     Common Header 다음에 Chunk들이 위치한다. 각 Chunk들은 Chunk type으로 시작 하여 Chunk의 Type을 구분할 수 있다. 이 Chunk 들은 SCTP의 연결 설정, 해제, 에러 전송 등을 위한 Control Chunk들과 데이터 전송을 위한 Data Chunk, 응답을 위한 Sack Chunk 등이 있다.

    Note : 본 문서에서는 Chunk를 설명하기 위해 연결을 요청 하고 데이터를 보내는 측을 Endpoint A, 연결 요청에 수락을 하고 데이터를 수신하는 측을 Endpoint Z라고 가정한다.

  • - Payload Data (DATA)

     User Data를 전송하기 위하여 사용되는 Chunk이다. Data Chunk에는 Stream Identifier와 Stream Sequence Number가 있어 데이터가 전송되는 Stream과 지정된 Stream으로 전송된 데이터 순서번호를 인식할 수 있어 SCTP는 Multi Stream 이 가능해진다.

    - Initiation (INIT)

      두 개의 endpoints 사이의 SCTP Association을 하기 위해 사용된다. INIT chunk Inbound Streams, Outbound Streams의 수, Window Size, 사용 가능한 IP(IPv4, IPv6), null Preservative 등이 Variable Parameter에 포함되어 전송된다.

    - Initiation Acknowledgement(INIT ACK)

     Init Chunk의 ACK를 보내기 위해 사용되는 Chunk이다. 형태는 INIT Chunk와 유사하나 State null와 Unrecognized Parameter등이 Variable Parameter에 포함되어 전송된다.

    - Selective Acknowledgement(SACK)

     SACK Chunk는 수신된 DATA Chunk의 TSN에 나타난 전송 데이터의 수신된 결과와 손실된 데이터 갭을 통보하기 위해서 데이터 송신 endpoint에게 보내어진다. 또한 SACK는 Cumulative TSN ACK field 와 Advertise Receiver Window Credit(a_rwnd) Parameter가 있어 데이터 수신을 위한 버퍼 크기와 수신된 데이터의 양을 관리하여 그 결과를 상대 endpoint에게 알린다.

    - Heartbeat Request(HEARTBEAT)

     Endpoint A 와 현재 연결된 다른 Endpoint B 사이의 전송 경로가 SCTP Multi-Homed 기능에 의해 생성된 여러 개의 데이터 전송 경로 (Endpoint 들이 가지고 있는 IP들에 할 당 된 경로)가 데이터 전송이 가능한지를 판별하기 위해 연결된 Endpoint A의 IP들과 경로로 맺어진 Endpoint B의 IP들에 보내어 지는 Chunk이다.(Endpoint A와 B의 반대도 성립) HEARTBEAT Chunk에는 파라미터로 현재 송신 시간과 목적지 IP를 가지게 된다.

    - Heartbeat Acknowledgement(HEARTBEAT ACK)

     HEARTBEAT Chunk에 대한 응답으로서 HEARTBEAT 송신자에게 보낸다.

    - Shutdown Association (SHUTDOWN)

     ABORT는 Endpoint A 와 Endpoint Z 사이의 SCTP 연결이 비정상적으로 종료할 때 연결을 close하기 위해 보내어지는 상대 endpoint에게 보내지는 Chunk이다.

    - Operation Error (ERROR)

     Endpoint A나 Endpoint Z사이에 발생한 에러 상태를 상대 Endpoint에 알리기 위해 보내어지는 Chunk이다. 이 chunk는 하나 이상의 에러 원인들을 포함하고 있다.

    - null Echo (null ECHO)

     null ECHO는 association의 초기화 동안에만 사용된다. 초기화 프로세스가 완성되면 Association의 initiator(연결 요청 Endpoint)에 의해 peer(연결 수락 Endpoint)로 보내진다. 이 chunk는 Association 내에서 보내지는 어느 DATA chunk보다 반드시 앞에 위치 해야 한다. 또한 같은 패킷에서 하나 이상의 DATA chunk들과 함께 bundle될 수 있다.

    - null Acknowledgement (null ACK)

     null ACK는 null ECHO chunk의 수신에 대한 acknowledge에 사용된다. 이 chunk는 반드시 association내에서 전송된 어느 DATA chunk나 SACK chunk보다 앞서 와야 한다. 또한 SCTP 패킷에서 하나 이상의 DATA chunk들이나 SACK chunk와 함께 bundle될 수 있다.

  • SCTP 데이터 전송

     SCTP 는 IP 네트워크 기반에서 효율적인 데이터 전송을 위해 RFC 2960에 따라 Bundling, Fragment and Reassembly, Flow과 Congestion Control 메커니즘 등을 구현하고 있다. 또한 Transport Sequence Number (TSN)을 이용하여 전송된 데이터의 중복데이터와 손실데이터를 찾을 수 있는 메커니즘이 있어 데이터 전송의 신뢰성을 높일 수 있다.

  • Flow Control

     SCTP 는 TCP와 같은 방법으로 혼잡제어와 흐름 제어를 위해 window size를 이용한다. 즉 수신 endpoint는 Receiver Window를 데이터 송신 endpoint에게 통보하여 송신되는 데이터의 크기를 조절한다. 이때 데이터 수신 endpoint는 Receiver Window Size를 SACK Chunk를 통하여 알려준다.

  • Congestion Control / Slow-Start

      망 내에 존재하는 패킷의 수가 과도하게 증가되는 현상을 혼잡 (Congestion) 이라고 정의하며 혼잡 현상을 방지하거나 제거하는 기능을 혼잡제어 (Congestion Control) 라고 한다. Slow-start는 패킷을 저장하는 중간 라우터의 저장할 버퍼 공간의 부족으로 데이터 전송에 문제가 생기는 것을 말한다. SCTP는 TCP Congestion Control과 Slow-start의 메커니즘을 같이 구현 하고 있다. 또한 SCTP에서 구현되는 혼잡제어와 Slow-start 메커니즘은 Multi-Homed에 의해서 구성된 모든 경로에 대하여 Congestion Control / Slow-start 메커니즘을 적용한다.

  • Selective Acknowledgement

     SACK Chunk의 Cumulative TSN Ack filed를 이용하여 수신된 데이터를 알리고 모든 데이터가 성공적으로 수신하였다면 Fragment된 데이터를 Reassembly 하여 ULP(예 Application)에 전송하게 된다. 만약 데이터의 손실이 생겼다면 Gap Blocks field를 이용하여 송신 측에 데이터를 알리고 데이터 송신 측은 Fast Retransmit 메커니즘을 이용하여 데이터를 재전송하게 된다.

  • Ordered and Unordered Delivery

     SCTP 는 Stream 내에서 전송되는 데이터 순서 SSN(stream sequence number)를 정의한다. 이 SSL은 Data Chunk 내에 존재 하며 만약 Data Chunk의 U flag가 1에 설정되어 있으면 데이터 순서에 상관 없이 Upper layer에게 전달 한다. 반대로 Data Chunk의 U flag가 0으로 설정되면 수신된 DATA chunk를 SSL에 따라 Upper layer에게 전달해야 한다. 만일 DATA chunk들이 SSN의 순서를 벗어나서 도착했다면 수신된 DATA chunk들을 ULP로 전달하기 위해 DATA chunk들이 재 정렬될 때까지 대기 되어야만 한다.

  • Fragmentation and Reassembly

     SCTP 는 효율적인 데이터 전송을 위해 fragmentation과 reassembly 메커니즘을 지원 한다. 만약 보낼 사용자 메시지가 현재 MTU의 크기를 초과하면 fragment가 요구된다. 만약 SCTP가 데이터 전송 시 사용자 메시지의 fragmentation을 지원하지 않으면 SCTP는 에러를 사용자에게 전달 하고 다시 메시지를 보내지 않는다. 데이터 수신 endpoint는 Fragment 된 데이터를 Reassembly하여 ULP에 전달하게 된다.

  • Bundling

     SCTP 는 전송하는 SCTP 패킷 안에 여러 개의 Chunk를 포함하는 단순한 방법으로 chunk를 묶을 수 있다. 이 때 SCTP 패킷은 IP header를 포함하는 IP 데이터그램의 크기는 현재 Path MTU 보다 작거나 같아야 한다. 즉 Bundling되는 데이터 크기는 MTU크기에 의하여 Bundling되는 데이터 크기가 결정된다. 만약 수신 측의 endpoint가 멀티홈드라면 데이터를 송신하는 endpoint는 현재 모든 경로 중의 가장 작은 MTU 값을 primary path의 MTU를 값으로 설정한다.

  • Path MTU Discovery

     SCTP endpoint는 주어진 인터넷 경로에 존재하는 최대 전송 단위(MTU)를 측정하고, MTU를 초과하여 전송하는 패킷을 중지하고, 때때로 Path MTU(PMTU)의 변경을 시도한다. 만약 SCTP가 Multi-Homed라면 모든 경로에 대하여 Path MTU Discovery를 실행한다.

  • SCTP Multi-Streaming

     SCTP 전송 프로토콜은 하나의 SCTP Association에 여러 개의 Stream을 가지는 Multi-stream 기능이 있다. SCTP는 각 Stream 마다 Stream 순서번호(SSN : Stream Sequence Number)가 있어 Stream의 순서를 유지하여 해당 Stream으로 전송되는 데이터를 관리하여 신뢰성 있는 데이터의 전송이 가능하도록 하고 있다.

      하나의 Stream으로 구성되는 TCP의 경우 Stream에 전송된 데이터에 패킷의 손실이 발생한 경우 손실된 패킷이 재 전송 되기를 기다리는 동안 Application에 데이터를 전달하지 못하는 Head of line blocking 현상이 발생한다. 그러나 SCTP는 여러 개의 Stream으로 데이터를 전송할 수 있어 어느 한 Stream에서 데이터의 패킷이 손실이 발생하여 데이터 전송이 지연되더라도 다른 Stream으로 전송되던 데이터는 지연현상 없이 Application에 데이터를 전송할 수 있는 Multi-Stream기능이 있다. 따라서 SCTP는 여러 개의 Stream으로 데이터를 전송 할 수 있어 데이터 전송을 빠르게 할 수 있다는 장점을 가질 수 있다. 만약 데이터 전송 및 여러 개의 객체를 전송해야 하는 HTTP 프로토콜에서 SCTP를 전송 프로콜로 사용한다면 데이터 전송 속도를 향상 시킬 수 있을 것이다.

     또한 SCTP는 Data Chunk에 Ordered, Unordered을 선택할 수 있는 U flag가 있다. 만약 데이터의 전송 시 순서 유지가 필요 없다면 U flag를 1에 설정하여 순서 없이 데이터 전송을 할 수 있다. 이 때 U flag를 인식한 데이터의 수신 endpoint에서는 데이터의 순서를 유지할 필요가 없기 때문에 데이터의 순서를 유지하기 위하여 소모되는 시간이나 손실 된 패킷에서 발생한 데이터를 재 수신하기 위하여 기다려야 하는 시간을 줄일 수 있다. 따라서 Data Chunk의 Ordered, Unordered 기능은 Multi-stream과 병행되어 사용되기 때문에 데이터 전송 능력을 향상을 가져 올 수 있다.

  • SCTP Multi-Homing

     SCTP 는 SCTP Association을 맺고자 하는 endpoint들이 Multiple Ethernet의 각각에 IP가 할당된 Multi homed인 경우에 적용 될 수 있다. SCTP는 SCTP Association 성립되는 Multi-Homed endpoint들에게 하나의 Association에서 각 IP에 해당하는 데이터 전송 경로를 가질 수 있도록 한다. 즉 SCTP는 2개 이상의 사용 가능한 Ethernet 카드에 할당된 IP주소를 처음 SCTP Association Establish을 설정할 때 상호의 IP를 교환하여 각 IP에 해당하는 데이터 전송 경로를 확보하게 된다.

      연결이 성립된 후 SCTP는 데이터 전송을 위한 Primary Path로 여러 개의 경로 중 하나를 선택하여 주 데이터 전송경로로 사용하고 다른 경로들은 Idle 상태로 있게 되어진다. 이 때 SCTP는 Idle 상태에 있는 경로에 대하여 HEART BEAT CHUNK를 이용하여 Idle 경로가 사용이 가능 한지 주기적으로 모니터링을 한다. 만약 Primary Path에 Path Fail이 발생 한 경우 Idle상태에 있는 경로 중 데이터 전송이 가능 한 경로를 하나 선택하여 Primary Path로 바꾸고 데이터 전송을 계속하게 된다. 이 때 SCTP는 Association 이 끊기지 않게 이전 경로에서 새로운 경로로 변환 해주고 이전 경로에 대한 Association 정보를 새로운 경로에 대하여 자동적으로 적용하도록 한다. 이러한 SCTP의 Multi-Homed 기능은 하나의 경로만으로 데이터를 전송하는 경우보다 데이터 전송의 신뢰성을 배가 시킬 수 있는 SCTP의 특징이다.

  • ULP-to-SCTP

     ULP primitive 아래에서 설명되는 함수들은 SCTP가 내부 프로세스 통신을 지원하기 위하여 수행되어져야 하는 기본적인 함수를 이다.

    Primitive De--scription
    Initialize SCTP가 내부적인 데이터 구조를 초기화 하고 SCTP의 운용환경을 설정하기 위한 필요한 자원을 할당하는데 이용되어진다
    Associate 이 primitive는 상위 계층이 특정에 peer endpoint에게 연결을 초기화 하도록 한다.
    Shutdown Graceful close을 통하여 연결을 종료한다
    Abort 연결을 을 비정상적으로 종료한다
    Send SCTP을 통해서 사용자 데이타를 전송하기 위한 함수이다.
    Set Primary SCTP에게 패킷 전송을 위한 primary path로써 특정 목적지 주소를 사용할 것을 지시하는 함수이다.
    Receive SCTP에서 ULP에 의해 규정된 버퍼 안의 SCTP in queue 있는 user message를 읽는다.
    Status 연결에 대한 상태정보들을 반환한다.
    Change Heartbeat SCTP endpoint가 특정 목적지 전송 주소에 heartbeat을 할지 안 할지를 지시하는 함수
    Request Heartbeat SCTP endpoint가 특정 목적지 전송 주소에 heartbeat을 수행할 것을 지시하는 함수
    Get SRTT Report SCTP에 현재의 SRTT 측정값을 보고하는 함수
    Set FailureThreshold SCTP가 규정된 목적지 주소를 위하여 "Path.Max.Retrans"의 failure detection threshold 도착 성을 최적화 한다.
    Destroy SCTPinstance 소멸될 SCTP Instance를 가리킨다.


  • SCTP-to-ULP

     SCTP가 비 동기적인 ULP 처리 신호를 위한 인터페이스이다. 즉 SCTP연결에 이벤트가 발생하여 ULP에 처리 신호를 보낼 때 사용되는 함수들이다.

    Primitive De--scription
    DATA ARRIVE notification SCTP가 사용자 메시지를 성공적으로 수신하고 Reassembly를 위한 준비가 되었을 때 ULP에 알리는 notification이다.
    SEND FAILUREnotification 메시지가 상대 Endpoint에 전달 될 수 없는 것을 SCTP ULP에 알리는 notification 이다.
    NETWORK STATUSCHANGE notification 목적지 전송 주소가 비 활동이나 활동으로 표기 되었을 때 ULP에 알리는 notification 이다
    COMMUNICATION UPnotification 이 notification은 SCTP가 메시지를 보내거나 받기가 준비 되었을 때나 endpoint에 대한 잃어버린 연결을 복구하기 위하여 ULP에 알리는 notification 이다
    COMMUNICATION LOST notification SCTP가 endpoint에 대한 통신을 완전히 잃었을 경우(e.g., via Heartbeat) 나 상대가 비정상 종료를 진행 중에 있을 때 ULP에 알리는 notification 이다
    COMMUNICATION ERROR SCTP가 peer로부터 ERROR chunk을 받고 이를 ULP에게 통지하기로 결정했을 때 ULP에 알리는 notification 이다
    RESTART notification 상대 SCTP endpoint가 재 시작 되었다는 것을 SCTP가 감지 했을 때 ULP에 알리는 notification 이다


  • 전송프로토콜 수준의 보안기능이 요구되는 시스템
        : Application의 수준의 보안 이외에SCTP 위에 TLS를 적용하여 보안 기능을 강화

  • 인증, 권한, 과금정보를 관리하는 인증 시스템 장비
        : Multi-Homing 기능을 활용한 신뢰성 있는 데이터 전송

  • 신뢰성이 요구되는 군 장비 및 위성 통신장비
        : SCTP 데이터 전송의 Unordered 기능 적용 됨
        : 좋지 못한 환경으로 인한 Path Fail이 발생이 쉬운 전쟁에 사용되는 군 장비나 위성통신을 위하여
          Multi-Homing 기능이 활용 됨

  • Mobile IP 분야
        : Multi-Homing 기능을 이용한 무선 통신 단말기에 적용

  • 미래의 HTTP를 위한 전송 프로토콜로 활용
        : 다중 객체를 송수신해야 하는 HTTP에 전송프로토콜로 SCTP를 사용하여
          데이터 전송의 성능을 향상을 가져옴

  • 결론

     SCTP 는 PSTN 망의 호 처리를 위해 사용되는 신호를 IP네트워크에 전송 하기 위해 사용되는 전송프로토콜이다. 그러나 SCTP는 TCP와 같은 신뢰성 있는 전송을 보장하고 UDP처럼 유연하게 데이터를 전송할 수 있을 뿐만 아니라 DOS나 SYN Flooding 공격에 안전한 전송 프로토콜이기 때문에 많은 Appliation 개발자들이 선호할 것으로 보여진다. 이러한 SCTP의 특징은 특정 기능을 요구하는 장비에 활용될 수 있기 때문에 그 가치는 더욱 높다. 특히 Multi-Stream 기능과 Multi-Homed 기능은 성능을 요구하는 Mobile 분야나 안전성 및 보안을 요구하는 군 통신 장비에 널리 사용될 수 있을 것으로 보인다. SCTP의 장점을 활용하기 위한 연구는 2000년 10월 표준 전송프로토콜로 제안된 이후 지금까지 여러 분야에서 연구가 활발히 진행 되고 있는데 Mobile 분야와 군사 및 위성장비 분야, 그리고 SCTP를 사용한 보안인증 분야 등에서 활발한 연구가 진행되고 있다. 또한 다른 한편에서는 IP기반의 네트워크 장비에 탑재하기 위한 리눅스 커널과, BSD 시스템에서의 동작하는 개발이 진행 되고 있다. 지금까지 SCTP에 대한 연구는 각 분야에서 학계, 산업계, 그리고 표준단체가 협력 관계를 유지하며 많은 연구가 진행 되어 온것이 사실이다. 그러나 아직은 IP Network 상에서 SCTP가 산업계에 적용할 수 있을 정도로 안정화되거나 검증되지 않았기 때문에 SCTP의 활용가치는 폭넓고 미래 지향적이기는 하나 보편적인 사용을 위해서는 더욱 많은 연구와 검즘이 요구되고 있는 것이 사실이다. 특히 성능과 안전성이 요구되는 네트워크 관리 분야에서도 SCTP를 활용한다면 현존하는 시스템보다 훨씬 진보된 망 관리 시스템 구성되어질 것으로 보인다.

  • Reference null

  • RFC2960 : Stream Control Transmission protocol
    RFC3257 : Stream Control Transmission Protocol Applicability Statement
    RFC 2719 : Architectural Framework for Signaling Transport
    draft-riegel-tuexen-mobile-sctp-00.txt
       : A Study of SCTP Services in a Mobile-IP Network
    atiq-sctp-congestion-4
       : SCTP Multi-Stream capable within Mobile IP
    http://www.oscer.ou.edu/Symposium2002/atiq_sctp_supercomputing1.pdf
    http://rivus.sourceforge.net/RivuS.ppt
    http://oss.software.ibm.com/linux/presentations/lwce2002/Chats/SCTP/SCTP- LWE.pdf
    by Bohemian | 2007/04/21 18:53 | 트랙백 | 덧글(0)
    SCTP(Stream Control Transmission Protocol)
    SCTP

    고석주 ( 한국전자통신연구원 표준연구센터 선임연구원, sjkoh@etri.re.kr)


    2000년 10월 IETF는 RFC2960을 통해 SCTP(Stream Control Transmission Protocol)를 TCP(Transmission Control Protocol), UDP(User Datagram Protocol)에 이은 제3의 수송계층 프로토콜 표준으로 제정하였다. SCTP 등장배경은 다소 필연적이다. 90년대 후반에 접어들면서 기존 TCP, UDP를 통해서는 갈수록 광대역화 및 멀티미디어화로 발전하는 인터넷 응용 요구사항을 적절히 수용할 수 없었기 때문이다. SCTP가 IETF 표준으로 제정된 지 3년이 지나는 현 시점에서 제기되는 의문은, “과연 SCTP가 TCP/UDP를 대체할 것인가? 아니면 상호 공존하며 발전할 것인가?” 및 “SCTP의 Killer 응용은 무엇인가?” 등이 있다.

    SCTP vs. TCP/UDP
    SCTP 표준개발은 1997년 IETF SIGTRAN(Signaling Transport) WG에서 시작되었으며, IP 망에서 VoIP(Voice over IP) 시그널링 트래픽 전송을 위한 프로토콜 개발이 주요 목적이었다. 이를 위해 시그널링 게이트웨이간에 실시간으로 수 많은 사용자의 다양한 호처리 정보를 신뢰적으로 전송하고 또한 망 장애에 대비하여 신속한 복구기능이 제공되는 SCTP 프로토콜을 개발하였다. 초기에 SCTP는 UDP 위에 탑재될 예정이었으나, IESG(Internet Engineering Steering Group)의 강력한 권고에 따라 IP 위에서 동작하는 수송계층 프로토콜로써 제정되었으며, 이로써 VoIP 시그널링 뿐만 아니라 다양한 응용에서도 SCTP를 사용할 수 있게 되었다.
    SCTP는 UDP의 메시지지향(message-oriented) 특성과 TCP의 연결지향(connection-oriented) 및 신뢰전송 특성을 모두 포함하는 등 TCP와 UDP의 장점을 살리도록 설계되었다. SCTP는 TCP의 연결지향성 및 신뢰전송 기능을 제공하지만, TCP와는 달리 4-way 연결설정 및 3-way 연결종료 등의 기능을 제공한다.
    특히 SCTP는 멀티스트리밍(multi-streaming) 및 멀티호밍(multi-homing) 특성을 제공한다. Multi-streaming 특성을 통해 하나의 세션에서 다양한 종류의 컨텐츠를 식별 및 전달할 수 있으며, 바이트(byte) 기반 전송방식인 TCP의 HOL(Head-of-Line) blocking 문제를 해결하고 있다. 한편, Multi-homing 특성을 통해 단말은 두 개 이상의 IP 주소를 한 세션에서 사용할 수 있으며, 이를 통해 경로 장애에 대한 복구(fail-over) 기능을 제공한다. 또한 멀티호밍 특성은 SCTP 이동단말에 대한 핸드오버 기능을 제공할 수 있다. SCTP는 IP 패킷에 표시되는 프로토콜 식별번호(Protocol ID)로써 UDP(6), TDP(17)처럼 132번을 할당 받았다.

    <표1> TCP/UDP와 SCTP 비교



    SCTP 표준화 및 개발 현황
    SCTP 기본규격은 2000년 10월에 SIGTRAN WG에서 RFC2960으로 표준화 되었으며, 이후 RFC 3257, 3286, 3436 등의 추가 규격이 제정되었다. 현재 후속 표준개발 작업은 IETF TSV(Transport Area) WG에서 이루어지고 있다. 현재 진행 중인 WG 문서는 “SCTP Socket API”, “구현지침서”, “PR-SCTP(Partially Reliable SCTP), “ADD-IP(Dynamic Address Configuration)” 등이 있다. 최근 IETF에서는 PR-SCTP(draft-ietf-tsvwg-prsctp-02.txt) 표준화 작업이 한창 진행 중이다. PR-SCTP는 SCTP 데이터 전송 도중에 “time-critical” 스트림에 대해서는 오류복구과정을 생략하고 곧 바로 응용계층에 전달될 수 있는 기능을 정의한다. 수신자는 PR-SCTP 신호를 받았을 경우, 버퍼에 있는 해당 데이터를 곧 바로 상위 응용에 전달한다.
    SCTP 표준화 작업과 함께 전 세계적으로 실제 구현작업도 활발히 진행되고 있다. 먼저 지난 2003년 12월에 출시된 리눅스 커널 2.6.0 버전부터 SCTP 프로토콜 기능이 탑재되었으며, 관련 시험도구(tool set)도 개발되었다(http://sourceforge.net/projects/lksctp). 한편 독일을 중심으로 사용자레벨(user-space) 구현코드인 “sctplib” (http://www.sctp.de/sctp.html) 개발작업이 진행 중에 있으며, SCTP 시뮬레이션을 위한 ns-2 모듈(http://pel.cis.udel.edu/#downloads)도 출시되었다.

    SCTP 확장: mSCTP
    그 동안 SCTP 개발작업은 주로 SCTP의 멀티스트리밍 특성을 활용하는 방향으로 진행되어 왔다. 즉, VoIP 시그널링 게이트웨이간에 혹은 AAA 서버간에 SCTP 세션을 설정하고, 이를 통해 수 많은 사용자의 호처리 신호정보를 전달하는 용도로 SCTP가 사용되고 있다.
    최근에 들어서는 SCTP 멀티호밍 특성에 대한 연구개발이 한창 진행 중에 있다. 특히 세션도중에 새로운 IP 주소를 추가할 수 있는 ADD-IP(draft-ietf-tsvwg-addip-sctp-08.txt)에 대한 표준화가 진행 중에 있으며, 이에 대한 주요 활용 분야로써 “mobile SCTP(mSCTP) 핸드오버” 기술이 주목을 받고 있다. mSCTP에서는 SCTP 멀티호밍 특성과 ADD-IP 기능을 활용하여, SCTP 단말이 세션 도중에 이동함으로써 IP 주소가 변경되더라도 네트웍의 도움 없이 세션의 연속성을 제공하는 기술이다. 관련 연구개발은 Siemens 및 시스코 등을 중심으로 진행 중에 있으며, 한국에서도 활발히 관련 연구에 참여하고 있다(draft-sjkoh-sctp-mobility-03.txt, draft-sjkoh-mobile-sctp-mobileip-03.txt).

    결론 및 향후 전망
    SCTP 는 IETF에서 차세대 수송계층 프로토콜 표준으로 제정되었으며, 현재 관련 표준화 및 개발작업이 한창이다. 향후 SCTP는 TCP, UDP를 대체하기보다는 서로 공존하면서, 각각의 특성에 부합하는 응용 및 서비스에 활용될 것으로 전망된다. 아직은 보급 초기단계이지만, TCP/UDP처럼 향후 지속적인 기술 보완을 통해 점차 실제 인터넷 응용에 널리 적용될 것이다.
    현재의 SCTP 적용은 주로 시그널링 게이트웨이간 데이터 전송에 국한되고 있으나, 향후에는 멀티미디어 신뢰전송을 요구하는 신규 응용 서비스가 killer 응용으로 떠오를 가능성이 크다. 또한 mSCTP 핸드오버 등의 이동성 기능을 활용하는 이동통신단말기의 보급도 기대할 만하다. 특히, SCTP 관련 분야는 세계적으로 아직 개발 초기단계에 해당하므로, 이동통신 단말기 제조업체 및 서비스사업자들이 눈 여겨볼만한 기술이라 하겠다.

    by Bohemian | 2007/04/21 18:52 | Network | 트랙백 | 덧글(0)
    GloMoSim 2.03 Installation in Windows XP
    GloMoSim 2.03 Installation in Windows XP

    Before Installation
    GloMoSim requires the following software to run; most of the university owned PCs have all of them installed. However, you need to make sure you have enough access rights of defining the computer environmental variables.
    - Microsoft VC++ version 6.0        (Essential)
    - JAVA JRE version 1.2 or higher     (For VT)
    - JAVA SDK version 1.2 or higher    (For VT)


    A Step-by-Step Installation Guide
    1. Download GloMoSim 2.03, unzip and save (say save to "C:glomosimglomosim")

    2. Go to glomosim/Parsec, open folder 'windows-nt-vc6.0', copy all files into Parsec directory. Delete all other folders under Parsec directory (since they are for other OS)

    3. Set pcc environmental variables (For Parsec)
          1) My Computer -> Properties -> Advanced -> Environmental Variables
    2) New "PCC_DIRECTORY", value = "C:glomosimparsec"
    3) Set path "C:glomosimparsecbin"

    4. Set VC6.0 environmental variables (if default, go to step 5)
          1) Set include:
    "C:Program FilesMicrosoft Visual StudioVC98MFCInclude; C:Program FilesMicrosoft Visual StudioVC98Include"
       
           
    2) Set lib:
    "C:Program FilesMicrosoft Visual StudioVC98MFCLib; C:Program FilesMicrosoft Visual StudioVC98Lib"

    3) Set path:
    "C:Program FilesMicrosoft Visual StudioCommonMSDev98Bin"

    5. Check pcc environment by "pcc 쭯env" in DOS prompt (cmd)

    6. GloMoSim Installation
          1) Go to glomosimglomosimmain, do "makent.dat"
          2) Go to glomosimglomosimbin, find "glomosim.exe"
          3) Test glomosim. Under DOS: "glomosim config.in"
          4) "glomo.stat" is generated after simulation, compare with "glomo.stat.sample"

    7. Build GloMoSim Visualisation Tool (VT)
    "C:glomosimglomosimJAVA_GUI", type "javac *.java", enter

    8. GloMoSim is now ready to use.


    Tips for Troubleshooting

    1. Step 6.1, "cl" not recognised
    Go to "∼Microsoft Visual Studiobin", do "vcvars32.bat"

    2. Step 8, "warning LNK4099: PDB, vc60.pdb" was not found
    Local access restrictions, does not affect VT, ignore it
    (Load Date: 17/03/2003, Anyu Gao)

    Back to
    Dave's home
    or leave a message in Guestbook

    Disclaimer: The information provided here is of my best knowledge, I can not accept any responsibilities for any possible errors. However, please feel free to leave a message in the Guestbook if you found anything erroneous, I will try to fix it as soon as possible. Thank you
    . : )
    by Bohemian | 2007/04/21 18:49 | 트랙백 | 덧글(0)
    GloMoSim 다운 및 문서


    출처: http://www.4ellene.net/tt/category/Network


    by Bohemian | 2007/04/21 18:47 | Simulatior | 트랙백 | 덧글(4)
    Trace graph - NS2 trace files analyser

    Trace graph - Network Simulator NS-2 trace files analyser




    Trace graphsource code version requires Matlab6.1 or higher to run.

    DOWNLOAD Trace graph binaries compiled on Linux (2.02) and Windows (2.04)

    DOWNLOAD Trace graph 2.04 source code for UNIX/Linux and Windows

     

    Trace Converteris up to 200x times faster than Trace graph 2.04

    at converting ns-2 trace files to Trace graph format!


    Network Simulator ns-3 project - discrete-event network simulator for Internet systems

    Network Simulator ns-2 trace formats - simulation results file formats definitions

    Pedro Estrela's ns-2 page - a lot of useful information about ns-2 and Trace graph

    Trace graph users group - discussion forum

    Trace graph was presented at ISAT 2003(Information Systems Architecture and Technology) conference.

    Click hereto read the conference paper.

     

    wiredexamples.zip

    Wired simulations example trace files

    wirelessexamples.zip

    Wireless simulations example trace files

    newtraceexamples.zip

    New trace file format example trace files

    tracegraphexamples.zip 

    Trace graph format example trace files


    Matlab is a registered trademark of The MathWorks Inc.


    출처 : http://www.tracegraph.com/download.html

    Trace graph networks analyzer helps in network solutions for testing, monitoring, and analyzing computer and telecommunications networks. Network software application analyzes packets flow. Analysis results are presented in graphical format. It's easy to analyze network traffic and security. Cisco Netflow data real time monitoring. Cisco IOS NetFlow and IPFIX, J-FLow, cflowd, sFlow systems. Embedded Cisco router agent. Packet loss analysis. statistics and scripts processing to automate network analysis. Network simulator ns-2 and ns-3 enabled internet, manet ad-hoc, bluetooth networks simulations. Trace files analysis results can be saved to text files and loaded again to plot them as overlayed graphs. Network flow monitoring at packets level can be simulated and analyzed with Trace graph and Trace converter software. Network simulations packets at MAC address level enables detailed trace analysis. Network simulator, trace graph, ns-2, ns2, ns, network monitoring, trace analysis. Trace files, tora, network simulation, aodv, traces analyze, trace analyze, trace analyse, monitor, ns traces graphs, ns-2 traces analysis, network simulation, trace tcp, packets sniffer, packets trace, lan, wan. Satellite, vpn, dsr, monitoring, voip, protocols, topology, manet, lan, wan, network monitor, xgraph, voip, aodv, dsr, dsdv, agt, rtr, mac, internet, satellite network, network simulator, network monitoring, xgraph ns-2, trace graph, ns-2, ns2, ns, satellite, dsr, internet, satellite network, tora, monitor, trace analysis, aodv protocol, network monitor, trace files, dsdv, network simulation, traces analyze, lan, wan, trace analyze, trace analyse, ns traces graphs, ns-2 traces analysis, network simulation, trace tcp, packets sniffer, packets trace, tora, aodv, dsdv. Satellite, tora, agt, monitoring, rtr, mac, internet, voip, dsdv, xgraph ns2, satellite network, network simulator, mac, agt, monitoring, rtr, trace graph, ns-2, ns2, ns, xgraph ns, network monitoring, dsdv, trace analysis, trace files, network simulation, monitor, traces analyze, trace analyze, aodv, trace analyse, network monitor, ns traces graphs, ns-2 traces analysis, lan, wan, network simulation, trace tcp, packets sniffer, packets trace, network simulator, trace graph, ns-2, ns2, ns, trace analysis, trace files, network simulation, traces analyze, trace analyze, trace analyse, ns traces graphs, ns-2 traces analysis, network simulation, trace tcp, packets sniffer, voip, packets trace, satellite, internet, tora, satellite network. Network solutions, computer network consulting, network monitoring, network solution, network tools. Network management tools, mobile ad-hoc networks, network management software, network management, network performance software. Network simulation software, topology, satellite dish network, network analyzer, cell phones, remote access, ns3. Wan simulator, wan simulation, vpn, network management tools, manet, cisco network simulator, computer network consulting. Network tools, network solution, network management software, network management, network monitoring, network performance software. Satellite dish network, network simulation software, mobile ad-hoc networks, cell phones, network analyzer, remote access. Wan simulation, wan simulator, cisco network simulator, network solutions, cisco network simulator. Wan simulation, remote access, wan simulator, manet, cell phones, network analyzer, satellite dish network, ns3. Network simulation software, network performance software, network management, network management software, ns3. Network management tools, network tools, network monitoring, network solution, computer network consulting, network
    by Bohemian | 2007/04/21 18:44 | NS2 | 트랙백 | 덧글(0)
    [NS2] transmission range - wireless lan 전파 범위 설정

    trasmission range


    출처 : http://kr.blog.yahoo.com/myungjang


    1. trasmission range를 제한하자

    1.1 threshold.cc 를 컴파일
        ns-2.27/indep-utils/propagation 에서
            # g++ threshold.cc -o threshold

    1.2 threshold 실행
        #./threshold -m TwoRayGround -r 0.95 1 실행결과 RXThresh_ 값으로

        1m : 0.000192278    
        5m : 7.69113e-06
        10m : 1.92278e-06
        25m : 3.07645e-07
        50m : 7.69113e-08
        75m : 3.41828e-08
        100m : 1.42681e-08
        125m : 5.8442e-09
        150m : 2.81838e-09
        175m : 1.52129e-09
        200m : 8.91754e-10
        225m : 5.56717e-10을 얻는다.
        250m : 3.65262e-10
        500m : 2.28289e-11
        1000m : 1.42681e-12

    1.3 tcl 프로그램에추가
        Phy/WirelessPhy set RXThresh_ 3.07645e-07


    [ns] A range question about NS2.......

    Kimaya M. Sanzgiri ns-users@isi.edu?Subject=[ns] A range question about NS2.......&In-Reply-To=20040713033623.M6032@webmail5.hfu.edu.tw">kimaya at cs.ucsb.edu
    Tue Jul 13 11:27:18 PDT 2004


    You cannot directly assign the transmission range in terms of
    distance. To control the transmission range, you need to adjust the
    values of Pt_ and RXThresh_ variables.

    Use indep-utils/propagation/threshold.cc under the ns-2 directory to see
    what values of Pt_ and RXThresh_ lead to what transmission range. More
    details can be obtained at
    http://www.isi.edu/nsnam/ns/doc/node221.html

    To set a different transmission range for each node, my guess is that you
    would need to hack the code so that different nodes can use different
    values of Pt_/RXThresh_. I don't think such an option is directly
    available in NS.

    Hope that helps.
    Kimaya


    On Tue, 13 Jul 2004, [BIG5] ¾H¸U¼y wrote:

    >

    >
    Hi:
    >

    >
    I want to run a wireless model simulation.
    >
    However, I coun't make sour how to assign the transmitting range.
    >
    Could anyone tell me where I can assign it.......
    >

    >
    I have ever try to change the value of "RXThresh_" and "Pt", it is work,
    >
    but it seem like environment parameter,
    >
    that mean I can't given communicate range to each node particular.
    >

    >
    the "$mobilenode radius <r>" at chapter16 in ns_doc that I try have no any
    >
    effect.
    >
    Set the range drive me crazy....
    >

    >
    Sorry, my engligh is very poor, but I really hope someone can help me.
    >
    It's very important to me. Thank you very much.
    >

    >

    >
    ikaruga
    >

    >

    >
    --
    > Open WebMail Project (
    http://openwebmail.org/)
    >

    >



    More information about the Ns-users mailing list


    [ns] Pt_ and txPower in energy model

    Michal Lewandowski ns-users@isi.edu?Subject=[ns] Pt_ and txPower in energy model&In-Reply-To=">tk_michal at wp.pl
    Thu Jun 10 07:26:31 PDT 2004


    Hello,

    As I can see it, after reading the manual and few experiments, there is no
    relation between them.

    As you said, Pt_ is the antenna power, and it is used to set the distance,
    for e.g.

    Phy/WirelessPhy set Pt_ 7.214e-3

    sets the antenna distance exactly at 100 m in FreeSpace and TwoRayGround
    Propagation model. You can also set the distance when you set RXThresh_
    (also can be done from tcl level), but you don't have to use it. (Pt_ and
    RXTresh_ are defined in wireless-phy.cc file)



    rxPower and txPower are used in Energy Model (Chapter 19 in ns_doc), witch
    is a model of a battery (in for e.g. laptop). You can set the initial
    battery capacity, and rxPower is the power used to receive a packet, and
    txPower i one used to transmit a packet.



    So, Pt_ and txPower are two different things, not related one to each other.



    Best regards

    Michal





    ----- Original Message -----
    From: "Ping Ding" <
    dingping20004 at yahoo.com>
    To: <
    ns-users at ISI.EDU>
    Sent: Wednesday, June 09, 2004 1:34 AM
    Subject: [ns] Pt_ and txPower in energy model


    >

    >Hi, all,
    >

    >In energy model, Pt_ is used to calculate Pr. And Pr is used to decide the
    successful reciving the packet or not.
    >
    txPower_ is the transmitting power. I think Pt_ and txPower are related.
    Is it correct? What is the relation between Pt_ and txPower_. For example,
    if Pt_ is 0.2818w then txPower_ is 0.6(transmission range is 250m). What are
    the respective Pt_ and txPower when the transmission range is 40m, 60m, and
    so on. Where can I find the related information?
    >

    >I appreciate your help.
    >
    Ping
    >

    >
    >---------------------------------
    >
    Do you Yahoo!?
    >
    Friends. Fun. Try the all-new Yahoo! Messenger
    >



    More information about the Ns-users mailing list


    [ns] Pt_ and txPower in energy model

    Michal Lewandowski ns-users@isi.edu?Subject=[ns] Pt_ and txPower in energy model&In-Reply-To=">tk_michal at wp.pl
    Fri Jun 11 09:06:59 PDT 2004


    hi,
    In ns you set the antenna transmit power by setting Pt_. This determines the
    antenna range.

    txPower and rxPower determines the energy usage for every packet antenna
    transmites and receives.

    Pt_ is defined in wireless-phy.cc

    txPower and rxPower are defined in energy-model.cc and energy-model.h,
    but they are not called txPower and rxPower but P_tx and P_rcv. They are the
    transmitting and receiving power required by node's interface or PHY.

    In energy-model.cc and energy-model.h there are also defined txtime and
    rcvtime. txtime is time needed to transmit a packet, rcvtime - to receive a
    packet. They are strictly related to packet's size.

    When you multiply txPower (P_tx) and txtime you get the energy used to
    transmit one packet. Analogically rxPower (P_rcv) and rcvtime.

    I hope this will help you a little bit.
    Best regards,
    Michal


    PS. I don't know why in my out.tr file field Ne is still -1.00000 even when
    node energy is zero. Maybe somebody knows?



    ----- Original Message -----
    From: "word" <
    word at osdp.is.tsukuba.ac.jp>
    To: "Michal Lewandowski" <
    tk_michal at wp.pl>; <ns-users at ISI.EDU>
    Sent: Friday, June 11, 2004 7:29 AM
    Subject: Re: [ns] Pt_ and txPower in energy model


    >
    hello,
    >
    I am confusing by the same question of the transmit power.
    >
    I have seen the energymodel.h and energymodel.cc,
    >
    I have not found the txPower defination there.
    >
    If I want to change the transmit power, I used to change Pt_, but as you
    >
    said it is not right. I confused.
    >
    eagerly expect your help.
    >
    sincerely
    >
    word
    >
    ----- Original Message -----
    >
    From: "Michal Lewandowski" <tk_michal at wp.pl>
    >To: "Ping Ding" <dingping20004 at yahoo.com>; <ns-users at ISI.EDU>
    >Sent: Thursday, June 10, 2004 11:26 PM
    >
    Subject: Re: [ns] Pt_ and txPower in energy model
    >

    >
    >>
    >
    > Hello,
    >
    >
    >
    > As I can see it, after reading the manual and few experiments, there is
    no
    >
    > relation between them.
    >
    >
    >
    > As you said, Pt_ is the antenna power, and it is used to set the
    distance,
    >
    > for e.g.
    >
    >
    >
    > Phy/WirelessPhy set Pt_ 7.214e-3
    >
    >
    >
    > sets the antenna distance exactly at 100 m in FreeSpace and TwoRayGround
    >
    > Propagation model. You can also set the distance when you set RXThresh_
    >
    > (also can be done from tcl level), but you don't have to use it. (Pt_
    and
    >
    > RXTresh_ are defined in wireless-phy.cc file)
    >
    >
    >
    >
    >
    >
    >
    > rxPower and txPower are used in Energy Model (Chapter 19 in ns_doc),
    witch
    >
    > is a model of a battery (in for e.g. laptop). You can set the initial
    >
    > battery capacity, and rxPower is the power used to receive a packet, and
    >
    > txPower i one used to transmit a packet.
    >
    >
    >
    >
    >
    >
    >
    > So, Pt_ and txPower are two different things, not related one to each
    >
    other.
    >
    >
    >
    >
    >
    >
    >
    > Best regards
    >
    >
    >
    > Michal
    >
    >
    >
    >
    >
    >
    >
    >
    >
    >
    >
    > ----- Original Message -----
    >
    > From: "Ping Ding" <dingping20004 at yahoo.com>
    >> To: <ns-users at ISI.EDU>
    >> Sent: Wednesday, June 09, 2004 1:34 AM
    >
    > Subject: [ns] Pt_ and txPower in energy model
    >
    >
    >
    >
    >
    > >
    >
    > > Hi, all,
    >
    > >
    >
    > > In energy model, Pt_ is used to calculate Pr. And Pr is used to decide
    >
    the
    >
    > successful reciving the packet or not.
    >
    > > txPower_ is the transmitting power. I think Pt_ and txPower are
    related.
    >
    > Is it correct? What is the relation between Pt_ and txPower_. For
    example,
    >
    > if Pt_ is 0.2818w then txPower_ is 0.6(transmission range is 250m). What
    >
    are
    >
    > the respective Pt_ and txPower when the transmission range is 40m, 60m,
    >
    and
    >
    > so on. Where can I find the related information?
    >
    > >
    >
    > > I appreciate your help.
    >
    > > Ping
    >
    > >
    >
    > >
    >
    > > ---------------------------------
    >
    > > Do you Yahoo!?
    >
    > > Friends. Fun. Try the all-new Yahoo! Messenger
    >
    > >
    >
    >
    >
    >
    >

    >


    More information about the Ns-users mailing list



    [ns] regarding AODV and range

    Kenneth Nielsen ns-users@isi.edu?Subject=[ns] regarding AODV and range&In-Reply-To=">kenneth at daimi.au.dk
    Thu Jul 15 03:09:18 PDT 2004


    Hi Xavi,

    I believe that a node's default trasmission range is 250 meters.
    ou can change the transmission range with the following tcl-statement.

    Phy/WirelessPhy set Pt_ = 7.214e-4; # 100 meters

    Some other transmission ranges are:
    Pt_ = 8.5872e-4; # 40 meters
    Pt_ = 0.2819; # 250 meters

    Regards,
    Kenneth Nielsen

    ----- Original Message -----
    From: <
    XAVIERMM3 at telefonica.net>
    To: <
    ns-users at ISI.EDU>
    Sent: Thursday, July 15, 2004 11:16 AM
    Subject: [ns] regarding AODV and range


    >

    >
    Hi all,
    >

    >
    I'm trying simulate several scenarios but I have one problem. I don't
    >
    know how to set the maximum distance between nodes. I mean, If my grid
    >
    is 500 x 500 and I place the node A in (1,3) and node B in (200,200)
    >
    how do I know whether they're in range one another? How do I know
    >
    where to place the nodes in the X and Y axis in order to allow them
    >
    communicate?
    >

    >
    Thanks a lot
    >

    >
    Xavi
    >

    >



    More information about the Ns-users mailing list
    by Bohemian | 2007/04/21 18:39 | NS2 | 트랙백(3) | 핑백(1) | 덧글(0)
    [eBook] Depolying IPv6 Networks
    사용자 삽입 이미지

    Deploying IPv6 Networks
    By Ciprian Popoviciu, Eric Levy-Abegnoli, Patrick Grossetete
    ...............................................
    Publisher: Cisco Press
    Pub Date: February 10, 2006
    Print ISBN-10: 1-58-705210-5
    Print ISBN-13: 978-1-58705-210-1
    Pages: 672

     



    Table of Contents  | Index


       Copyright
       About the Authors
         About the Contributor
         About the Technical Reviewers
       Acknowledgments
       Icons Used in This Book
       Command Syntax Conventions
       Introduction
         Goals and Methods
         Who Should Read This Book?
         How This Book Is Organized
       Part I: Implementing IPv6 Services
             Chapter 1. The Case for IPv6An Updated Perspective
         Unicast Connectivity
         QoS Services
         Multicast Services
         Virtual Private Networks
         Security
         IP Mobility
         IPv6 Is an Evolutionary Step
             Chapter 2. An IPv6 Refresher
         IPv6 Addressing
         IPv6 Packet Format
         Internet Control Message Protocol for IPv6
         Neighbor Discovery Protocol
             Chapter 3. Delivering IPv6 Unicast Services
         Overview
         IPv6 Provisioning
         IPv6 Network Access
         IPv6 over the Backbone
         Translation Mechanisms (NAT-PT)
             Chapter 4. IPv6 Routing Protocols
         Distance Vector Routing Protocol
         Path Vector Routing Protocol
         Link-State Routing Protocol
         IPv6 Interior Gateway Protocols
         BGP
         Site Multihoming
         Deploying IPv6 Routing Protocols
             Chapter 5. Implementing QoS
         QoS for IPv6
         QoS for IPv6 over MPLS
         Deploying QoS for IPv6
             Chapter 6. Providing IPv6 Multicast Services
         IPv6 Multicast
         IPv6 Multicast Deployment Examples
             Chapter 7. VPN IPv6 Architecture and Services
         Virtual Private Network Overview
         Using IPsec to Implement CE-Based VPNs
         BGP-MPLS IPv6 VPNs: A PE-Based VPN Solution
         Topology Examples
             Chapter 8. Advanced ServicesIPv6 Mobility
         Chapter Overview
         IP Host Mobility
         Network Mobility
         IP Mobility in Nonmobile Scenarios
         Next Steps in Mobility
             Chapter 9. Securing IPv6 Networks
         Security Threats and Best Practices to Protect Against Them
         Tools Available for Securing IPv6 Networks
         Summary of Best Practices for Securing IPv6 Deployments
             Chapter 10. Managing IPv6 Networks
         IPv6 Network Management: The Challenges
         Network-Management Architecture
         Retrieving Information from Routers and Switches
         Fault Management
         Performance Management
         Configuration and Provisioning Management
         Management Platforms
         IPv6 Network Management Services and Tools at a Glance
             Chapter 11. Network Performance Considerations: Coexistence of IPv4 and IPv6
         Aspects of Router IPv6 Performance
         Measuring Forwarding Performance
         The Right Router for the Job
         IPv6 Router Performance Evaluation Checklist
       Part II: Deployment Case Studies
             Chapter 12. Generic Deployment Planning Guidelines
         Cost Analysis
         Address Policies and Registration Process
         Education
             Chapter 13. Deploying IPv6 in an MPLS Service Provider Network
         Network Environment
         Network Design Objectives
         Network Design
         Basic Services Design and Implementation
         Quality of Service Design
         Operating and Troubleshooting the Network
         Design Lessons
             Chapter 14. Deploying IPv6 in an IP Service Provider Network
         Network Environment and IPv4 Services
         IPv6 Deployment Plans
         Basic Services Design and Implementation
         Advanced Services Design and Implementation
         Operating and Troubleshooting the Network
         Deployment Lessons
             Chapter 15. Deploying IPv6 in an Enterprise Network
         Introducing AC Corporation
         AC Network Environment
         Business Drivers to Integrate IPv6 on the AC Network
         Learning the Technology
         Moving IPv6 to Production
         Design and Setup
         Troubleshooting
         Future Evolutions
       Index

    출처 : http://book.itzero.com/read/cisco/0602/Cisco.Press.Deploying.IPv6.Networks.Feb.2006_html/1587052105/toc.html
    by Bohemian | 2007/04/21 18:38 | Network | 트랙백 | 덧글(0)
    NS-2.28 with DYMO ad-hoc routing protocol support


    NS-2.28 AllInOne HOWTO 번역

     -2006.06.07 by 임헌정-

    This HOWTO covers installation on Ubuntu Linux.

    [소스 다운 받기]

    $ cd ~ $ wget http://www.isi.edu/nsnam/dist/ns-allinone-2.28.tar.gz
    $ tar xzf ns-allinone-2.28.tar.gz



    [GDB debugger를 위한 수정]

    1. install 파일 수정

    $ cd ns-allinone-2.28
    $ vim install


    1.1 408번 줄에 더하기  --enable-synbols

    ./configure --enable-gcc --disable-shared --prefix=$CUR_PATH || die "tcl8.3.2 configuration failed! Exiting ..." becomes,

    ./configure --enable-symbols --enable-gcc --disable-shared --prefix=$CUR_PATH || die "tcl8.3.2 configuration failed! Exiting ..."


    1.2 498번 줄에 더하기 –enable-debug

    ./configure || die "tclcl-$TCLCLVER configuration failed! Exiting ..." becomes,

    ./configure --enable-debug || die "tclcl-$TCLCLVER configuration failed! Exiting ..."



    2. ns의 Makefile.in수정하기
    $ cd ns-2.28
    $ vim Makefile.in


    82번째 줄에 더하기  -g 

    CFLAGS = $(CCOPT) $(DEFINE) becomes, CFLAGS = -g $(CCOPT) $(DEFINE)


    3. 필요 패키지 설치하기


    3.1 X11/Intrinsic.h 는 otcl1-9 설치시 필요하므로

    $ apt-get install -f libxt-dev libxt6 libsm-dev libsm6 libice-dev libice6 libncurses5-dev


    3.2 /usr/X11R6/include/X11/Xmu/WinUtil.h는 nam-1.1에 필요함

    $ apt-get install libxmu-dev

    확인 : /usr/include/X11/Xmu/WinUtil.h  에 파일 생성 안되면 아래 링크 이용 http://www.koders.com/cpp/fid8242d90801 ··· 7d0.aspx



    4. xgraph Makefile수정하기
    $ cd ../xgraph-12.1
    $ ./configure
    $ vim Makefile


    4.1 85번째 줄에 더하기 -L/usr/X11R6/lib

    xgraph_LDADD = $(ADDITIONAL_LIBS) $(X_LIBS) $(X_PRE_LIBS) $(X_EXTRA_LIBS) -lX11 -lm becomes,

    xgraph_LDADD = $(ADDITIONAL_LIBS) $(X_LIBS) $(X_PRE_LIBS) $(X_EXTRA_LIBS) -L/usr/X11R6/lib -lX11 -lm



    5. gt-itm 은  sgb2ns에 필요함


    5.1 sgb설치를 위한 apt수정

    $ vi /etc/apt/sources.list 에 아래 추가

    deb-src http://au.archive.ubuntu.com/ubuntu hoary main restricted deb http://au.archive.ubuntu.com/ubuntu hoary-updates main restricted deb-src http://au.archive.ubuntu.com/ubuntu hoary-updates main restricted deb http://au.archive.ubuntu.com/ubuntu hoary universe deb-src http://au.archive.ubuntu.com/ubuntu hoary universe deb http://security.ubuntu.com/ubuntu hoary-security main restricted deb-src http://security.ubuntu.com/ubuntu hoary-security main restricted deb http://security.ubuntu.com/ubuntu hoary-security universe deb-src http://security.ubuntu.com/ubuntu hoary-security universe deb http://archive.ubuntu.com/ubuntu hoary multiverse deb-src http://archive.ubuntu.com/ubuntu hoary multiverse deb http://archive.ubuntu.com/ubuntu hoary-backports main universe multiverse restricted


    $ apt-get update


    5.2 sgb 다운 받기

    $ apt-get install sgb



    6. eval 파일 수정

    $ cd ./gt-itm/src
    $ vim eval.c


    162번째 둘줄로 나누어져 있는 아래 내용을 한줄로 수정

    printf(" and %d (this ends a connected component of the graph)\n", idx(g, artic_pt));


    7. gt-itm관련 작업


    gt-itm 하부에 bin 디렉토리 없으면 생성

    $ cd ./gt-itm
    $ mkdir bin
    $ cd ./gt-itm/src
    $ make



    8. gt-itm 와 sgb2ns 필요로 하는 라이브러리 링크 하기

    $ cd ./gt-itm
    $ mkdir lib
    $ ln -s /usr/lib/libgb.a /root/ns-allinone-2.28/gt-itm/lib



    9. 발생 가능 에러 해결


    9.1 tcl 컴파일 에러

    에러 메시지:syntax error near unexpected token `)' ./configure: line 7068: `    OSF*)'

    해결 : http://mailman.isi.edu/pipermail/ns-users/2006-September/057322.html


    - apt-get install autoconf            


    - rm configure (이전 설정파일 삭제)

    ./autoconf

    ./configure



    9.2  make: *** [queue/cbq.o] ## 에러 해결 하기

    vi /root/ns-allinone-2.28/ns-2.28/queue/cbq.cc  

    88 #define POWEROFTWO  16  
    89  
    90 class CBQueue; <-- 추가된 부분  
    91  
    92 class CBQClass : public Connector
    vi /root/ns-allinone-2.28/ns-2.28/tora/tora_neighbor.h  

    46     LINK_DN = 0x0002,   // downstream  
    47     LINK_UN = 0x0004,   // undirected  
    48 };  
    49  
    50 class toraAgent; <-- 추가된 부분  
    51  
    52 class TORANeighbor {  
    53     friend class TORADest;  
    54     friend class toraAgent;
    vi /root/ns-allinone-2.28/ns-2.28/diffusion3/filter_core/filter_core.hh

    103 typedef list NeighborList;  
    104 typedef list HashList;  
    105 typedef list BlackList;  
    106  
    107 class DiffRoutingAgent; <-- 추가된 부분  
    108  
    109 class DiffusionCoreAgent {  
    110 public:  
    111 #ifdef NS_DIFFUSION  
    112 friend class DiffRoutingAgent;

    [ * dymo 기능 추가 하기 ]


     -소스 다운 받기 ( http://sourceforge.net/projects/dymoum/ )

    cd /root/ns-allinone-2.28/ns-2.28
    wget http://jaist.dl.sourceforge.net/sourcef ··· -0.3.tgz
    tar zvfx dymoum-0.3.tgz

    -링크 걸기
    cd /root/ns-allinone-2.28/ns-2.28
    ln -s ./dymoum-0.3 ./dymoum

    -패치 하기
    patch -p1 < dymoum/dymoum_ns-2.28_v0.1.patch

    If you haven't installed ns2 yet, then do the following:

    $ cd ..

    $ ./install

    On the other hand, if you are installing DYMOUM on a running installation of ns2:

    $ ./configure

    $ make distclean

    $ ./configure

    $ make


    10. ns컴파일 하기

    $ cd ..
    $ ./install &> compile.out

    9.1 install 스크립트로 한번데 되면 좋은데 ...안될경우 각 패키지 별로 설치하며 확인하기



    11. Environmental variables.

    $ vim ./NS2.sh

    #!/bin/sh

    # LD_LIBRARY_PATH OTCL_LIB=/home/lucsp/ns-allinone-2.28/otcl-1.9 NS2_LIB=/home/lucsp/ns-allinone-2.28/lib X11_LIB=/usr/X11R6/lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB:$X11_LIB:/usr/local/lib

    # TCL_LIBRARY export TCL_LIBRARY=/home/lucsp/ns-allinone-2.28/tcl8.4.5/library:/usr/lib

    # PATH XGRAPH=/home/lucsp/ns-allinone-2.28/bin:/home/lucsp/ns-allinone-2.28/tcl8.4.5/unix:/home/lucsp/ns-allinone-2.28/tk8.4.5/unix

    PATH=$PATH:$XGRAPH:/home/lucsp/ns-allinone-2.28/ns-2.28/

    [ 결과 ] vi ~/.bashrc     or     vi /etc/profiles

    OTCL_LIB=/root/ns-allinone-2.28/otcl-1.9 NS2_LIB=/root/ns-allinone-2.28/lib X11_LIB=/usr/X11R6/lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB:$X11_LIB:/usr/local/lib # TCL_LIBRARY export TCL_LIBRARY=/root/ns-allinone-2.28/tcl8.4.5/library:/usr/lib # PATH XGRAPH=/root/ns-allinone-2.28/bin:/root/ns-allinone-2.28/tcl8.4.5/unix:/root/ns-allinone-2.28/tk8.4.5/unix export PATH=$PATH:$XGRAPH:/root/ns-allinone-2.28/bin:/root/ns-allinone-2.28/tcl8.4.5/unix:/root/ns-allinone-2.28/tk8.4.5/unix


    gcc 에러 보고 되고 있음 : http://blog.naver.com/etenallove/100016553174

    [패치방법] /root/ns-allinone-2.28 patch -p1 < ../ns-allinone-2.28/ns228-gcc40.patch


    작성 : 2006.6.07 by 임헌정

    http://www.4ellene.net

    참고http://www.ics.mq.edu.au/~phillipl/documents/NS-2.28AllInOne_HOWTO.html
    출처: http://www.4ellene.net/tt/category/Network
    by Bohemian | 2007/04/21 18:34 | NS2 | 트랙백 | 덧글(0)
    네트워크 성능 메트릭
    네트워크 성능 매트릭

    현재 네트워크가 어떻게 운영되고 있는 지를 파악하기 위해서는 네트워크의 성능상태를
    평 가할 수 있는 항목들이 필요한데 이것들을 Performance metrics라 한다. 이 Metric들은 구성된 Network의 architecture에 따라 달라질 수 있다. 예를 들면, Token Ring LAN 환경의 경우는 Ethernet에서 발생하는 Collision 이라는 것이 존재하지 않는다. 그러나 일반적으로 Performance Metric은 크게 4 가지의 범주로 나눌 수 있다.

    Network Utilization
     
    Network utilization은 network상의 전반적인 활동 상황의 수준을 측정한다. 이것은 주어진 시간동안 전송되어질 수 있는 총 bits 수대 실제로 전송된 bits수의 비율로 정의된다.
     
    예 를 들어 Ethernet/802.3 Network의 경우에 최대 길이의 Frame ( 8 octect preamble + 14 octect header + 1500 octects data + 4 Octect FCS)이 전송되고 각 frame 간 간격 (9.6 microseconds)이 더해지면 각 최대 길이 frame이 전송되는 시간은 (1526 octets*8 bits/octet* 0.1 microseconds) + 9.6 microseconds = 1.23ms 따라서 1초내에 812 frame들이 발생한다.
    Interframe gap을 고려하면 실제로 1초 내에 전송되는 bits는 10,000,000이 아니라9,922,048 bits가 된다. 이 값이 정확한 100% utilization이 된다. Dl 값을 토대로  만약100 octets의 data를 포함하는 Ethernet/802.3 50 frame들이 1초 내에 전송된다면 총 전송 Data는 (8 octets preamble + 14 octets header +100 octets data + 4 octets FCS) * 8bits/octet * 50 frames = 50,400 bits/sec Network Utilization은 network Utilization = 50,400 * 100 = 0.5% 9,922,048
     
    Network Traffic
     
    Network traffic을 측정하기 위해서는 먼저 LAN을 거쳐 전송되는 정보의 근원지와 목적지를 정의하여야 한다.
    Network traffic 측정에서 고려해야 할 첫 번째 metric은 Pair Counts이다.이는 Workstation 쌍간, 또는 workstation과 주변기기간 교환되는 frame수의 측정치이다.
    이 측정을 통해 누가 누구와 통신하고 있는지 , 어떤 node들이 가장 바쁜지를 결정할 수 있고 Network를 관심그룹으로 분리하는데 유용하다.
     
    두 번째 관련된 Benchmark는throughput이다.이 것은 LAN을 통과하는 frame 또는 bit수를 측정한다. 이 측정치는 통상 하루에 두 번 정도의 peak치를 갖게 되며 Network의 load를 줄이기 위해 traffic을 scheduling하는 것이 가능하다.
     
    세 번째benchmark는 Frame statistics이다. 이는 전송된 frame들의 최소 크기,최대 크기,평균크기를 설정하며 LAN상에서 어떤 형태의 활동들이 지배적인지를 결정하는데 도움을 준다.
    Network traffic을 분석함으로써 어떤 Protocol들이 사용되며 어떤 Network resource가 활용되고 있는 지도 파악할 수 있다.  
     
    Network Delay
     
    Network delay는 두 가지로 측정되며 이에는 Channel Acquisition Time과 Network Response Time으로 구분되어 질 수 있다.
    Channel Acquisition Time은 frame이 전송 준비 상태에서 실제로 Network상에 놓이는 시간으로 Media Access Delay의 측정치이다. 이 에는 MAC Protocol 자체의 delay및 collision과 같은 상태가 영향요소가 될 수 있다.
    Network Response Time은 송신자가 data를 송신 후 수신자로부터 응답을 받는 동안의 전송지연 시간으로 WAN 연결 시에 유용한 측정치가 될 수 있다.
     
    Network Error
     
    Frame error들은 재 전송을 유발하고 일반적으로 Network의 Performance를 저하 시킨다. Frame error들은 5가지 상황을 나타날 수 있다.
     
    Bad FCS
    CRC에 영향을 미치는 bit error가 발생
    Misaligned Frame  
    수신 frame 내 bit수가 octet의 정수배가 아니고 또한 Bad FCS를 갖는다
    Jabber
    최대 허용가능한 frame길이를 초과하는 frame들
    Runt
    최소 frame길이보다 작은 frame들
    Collision
     IEEE 802.3 network에서 두 station이 동시에 frame전송 시 발생.

    이러한 error들을 추적하면 일반적으로 Physical layer에서 발생하며 NIC의 Malfunction에 의해 주도된다.

    출처 : http://blog.empas.com/vision22c/19346641
    출처 : http://www.4ellene.net/tt/1143
    by Bohemian | 2007/04/21 18:26 | Network | 트랙백 | 덧글(0)
    < 이전페이지 다음페이지 >
    rss

    skin by 이글루스