The Network Simulator NS2 SCTP Module CCUCOMMANT LAB
The Network Simulator NS-2 & SCTP Module CCU_COMM_ANT LAB
Outline SCTP - what's is SCTP - important features SCTP module - multi-interface - set nodes - configuration parameters CCU_COMM_ANT LAB
What is SCTP ? SCTP ( Stream Control Transmission Protocol ) - PSTN signaling messages over IP Networks Similar to TCP and UDP - transport layer - reliable / unreliable transmission - congestion control - ordered / unordered transmission CCU_COMM_ANT LAB
Important Features Multi-homing Multiple Streams SACK reliable / unreliable transmission ordered / unordered CCU_COMM_ANT LAB
SCTP Multi-homing More than one IP address. - one of the IP addresses is set to be the primary address primary path - other IP addresses secondary path CCU_COMM_ANT LAB
Multi-homing – change path CCU_COMM_ANT LAB
SCTP Multiple Stream The streams within an SCTP association allow the endpoints to transfer multiple sequences of messages at the same time. CCU_COMM_ANT LAB
Acknowledgment chunk SCTP detects packet losses by checking the blocking gaps in its Selective Acknowledgment (SACK) chunks. CCU_COMM_ANT LAB
SCTP module Base SCTP Agent在撰寫的過程中,主要遵循 RFC 2960與 其相關的後續推出的draft。包括有: ³ ³ ³ ³ Normal Establishment of an Association (rudimentary handshake) Transmission of DATA Chunks Acknowledgment on Reception of DATA Chunks Management Retransmission Timer Multi-homed SCTP Endpoints Stream Identifier and Stream Sequence Number Ordered and Unordered Delivery Report Gaps in Received DATA TSNs SCTP Slow-Start and Congestion Avoidance Endpoint Failure Detection Path Heartbeat (without upper layer control) Partial Reliability (draft-ietf-tsvwg-usctp-01. txt) CCU_COMM_ANT LAB
Multi-interface NS 2's architecture, a node can't actually be multihomed. Each multihomed node is actually made up of more than one node. - core node - interface node CCU_COMM_ANT LAB
CCU_COMM_ANT LAB
建立多網路介面節點方法 -- command Where to find? in sctp. cc set-multihome-core : 建立核心節點 multihome-add-interface : 核心節點與網路介面Link $ns node-config-multihome-core -wired. Routing OFF -mac. Trace OFF set host 1_core [$ns node 1. 0. 1] set host 1_if 0 [$ns node 1. 0. 2] set host 1_if 1 [$ns node 2. 0. 1] $ns multihome-add-interface $host 1_core $host 1_if 0 $ns multihome-add-interface $host 1_core $host 1_if 1 CCU_COMM_ANT LAB
在節點加上SCTP agent multihome-attach-agent : 將SCTP agent加到節點上 ³ ³ 若SCTP僅有單一網路介面則用 attach-agent set sctp 0 [new Agent/SCTP] $ns attach-agent $host 0 $sctp 0 若SCTP有多個網路介面則用 multihome-attach-agent set sctp 1 [new Agent/SCTP] $ns multihome-attach-agent $host 1_core $sctp 1 CCU_COMM_ANT LAB
設定路徑 set-primary-destination: 目的端有多個介面, 設定要到達的 Destination 位置 ³ $sctp 0 set-primary-destination $host 1_if 0 不指定? force-source: 設定多界面節點的主用interface ³ $ns at 0 "$sctp 1 force-source $host 1_if 0“ CCU_COMM_ANT LAB
主要參數設定(cont. ) mtu_ 1500 ³ initial. Ssthresh_ 65536 ³ 是指每條路徑的最大傳輸單位 Ssthresh(以Byte 為單位) Initial. Cwnd_ 2 Cwnd (以MTU - SCTP/IP headers 為單位) num. Out. Streams_ 1 ³ 指由傳送端到接收端有幾條outbound stream unordered_ 0 ³ 所傳輸的資料是有序或無序傳輸,預設 0 指ordered ip. Header. Size_ 20 ³ IP header 的長度 ³ CCU_COMM_ANT LAB
主要參數設定(cont. ) data. Chunk. Size_ 512 ³ Data chunk 的長度 use. Delayed. Sacks_ 1 ³ 是否使用Delay SACK rtx. To. Alt_ 1 …. 其餘參數設定可參閱NS 2使用手冊 CCU_COMM_ANT LAB
rtx. To. Alt_ ³ 重傳的資料是否要使用其他路徑傳輸 0 = same, 1 = alt, 2 = fast rtx to same + timeouts to alt CCU_COMM_ANT LAB
- Slides: 18