Efficiency enhancement is important for new transport layer protocols. Stream Control Transmission Protocol (SCTP), proposed by IETF, is to improve the efficiency and security of the transport layer. SCTP is featured by Multi-homing and Multi-streaming. Though the source and destination nodes exchange the available address list after four-way handshake in the initial stage, the quality of each available link is unknown. Hence, the chosen primary path may not be the best path which implies inefficiency. In this paper, the authors propose a scheme to add two new Chunks which carry the status of each alternative path during the four-way handshake of SCTP. Hence, the path of the best quality will be selected as the primary path. The simulation, by NS2, results show when the best path is selected to transmit data, the throughput could be improved up to 85% as compared with the worst case.
The Multi-homing network had generally deployed to improve the reliability services in the organization or enterprises. Hence, a considerable number of studies and discusses have been proposed to improve the multihoming network. D. Thaler [1] proposed the Highest Random Weight (HRW) to map a request for each server. The HRW can provide services effectively, but the services will be disconnected to the Internet when the ISP links are broken. N. Yamai et al. [2] proposed a framework for file transfer by multiple paths to distribute traffic loads. K. Kimll et.al. use SERDB [3] to support multi-homing in RFC3178 [4] effectively. Their approach distributes the load to un-congested links when the load of a link is over a predefined threshold. Besides, Denial of Service (DOS) [5] is also a serious issue in TCP/IP [6]. Hence, issues on security and efficiency using TCP [7] or UDP [8] have been discussed.
S R. Stewart and C. Metz [9] proposed the characteristics of SCTP, such as association, Chunk, Multi-streaming, Multi-homing, cookie and so on, to improve the performance of TCP/IP. Multi-homing can be used with IPv4 and IPv6 addresses to connect two nodes. However, these approaches cannot get the real-time status of each path before transmitting data. J. Funasaka et al. [10] proposed a new strategy of path switching which extended the Original SCTP to real-time communication. They defined the required delay and use the heart beat actively to probe the round trip time(RTT) and the bottleneck link bandwidth of the network condition. The scheme can reduce the transmission delay effectively and increase the amount of data to be delivered successfully. L. Ma et al [11] proposed a new mechanism to facilitate seamless vertical handover. They deployed the SCTP environment to Universal Mobile Telecommunication System (UMTS) and wireless local area networks (WLANs). Their simulation results show that the transmission delay and throughput are improved. Beside, S. Koh et al [12] proposed the mobile SCTP (mSCTP) scheme to provide seamless handover among different access routers. From their simulation results, the rules of Add-IP and Primary-Change are efficient.
Through the support of multi-homing in SCTP, two end nodes can exchange link information, and acquired the interface addresses after the four-way handshaking state. However, the quality of each path status is unknown. Especially, when the interfaces of two end nodes increased, the probability of chosen best link for primary path will be very low, which means the throughput will inefficient in transmitting data. Therefore, the authors proposed to insert two Chunks to SCTP handshake packet to acquire the status of each path during the initiation stage. Although our proposed mechanism increases the start-up delay, the influence in throughput will be tiny, because it runs only once in the initial association state. Hence, the throughput of data transmission is improved.
In this paper, the proposed 'select path' scheme is illustrated completely in section 1. The scenario of simulation results and analysis are described in section 2. Finally, the conclusion section is given.
In this paper, the authors propose the method, SP-SCTP (Select Path-Stream Control Transmission Protocol), which obtains the status of each path after the completion of SCTP four-way handshake. We add two Chunks combined with the COOKIE ECHO and COOKIE ACK Chunks. The status of all paths in the initial association state of the four-way handshake will be obtained according to the message in these two Chunks.
In Figure 1, Host A and Host B have three interfaces connect to Internet, respectively. When they transmit data to each other, the delay time of the links may be different via other primary path selected. Therefore, the status of the selected primary path will probably be the worst case during the initiation association state. which is due to the existence of delays, such as queuing, processing, transmission and propagation delays in the whole network.
Figure 1. Transportation between Host A and Host B using SCTP
The two end nodes will create four-way handshake first during initial association state. The destination node receives INIT Chunk from source node and then responds INIT ACK Chunk. In this stage, two end nodes will get the available IP lists from INIT Chunk and INIT ACK Chunk. The process of four-way handshake is shown in Figure 2.
Figure 2. Four-way handshake
In the INIT Chunk and INIT ACK Chunk, the field of IPv4 Addresses represents the available addresses for the association which are exchanged to each other for multipath purpose as shown in Figures 3 and 4 respectively.
Figure 3. Original INIT Chunk format
Figure 4. Original INIT ACK Chunk format
In order to acquire the status of each path during initial association state, we design two new Chunks, named as PathMeas and PathMeasAck. The type numbers for PathMeas Chunk and PathMeasAck Chunk are set to 15 and 16, respectively. For the values of the added Chunks, we designed them in two 16–bit columns. The first 16-bit field is called Path Identifier which is used to define the information of path such as path 1, path 2 and so on. The remaining 16-bit field defined to timestamp and issued for application as path weighed, advance path RTT calculate and so on in the future. Figures 5 and 6 show the design of proposed PathMeas and PathMeasAck Chunks, respectively.
Figure 5. Proposed PathMeas Chunk
Figure 6. Proposed PathMeasAck Chunk
We acquired the information of every interface of the two nodes in the INIT and INIT ACK stage. During the COOKIE ECHO and COOKIE ACK stage, we combined the PathMeas Chunk to the COOKIE ECHO packet and the PathMeasAck Chunk to the COOKIE ACK packet, respectively. Then the source node sent the COOKIE ECHO packets from every interface, respectively, to every interface of the destination node. When some interface of the destination node received the packet combined with COOKIE ECHO and PasthMeas Chunk,the destination node would set the interface as the primary path. Then, the destination node would also send the COOKIE ACK packet, combined with PathMeasAck Chunk, back to coresponding interface of the source node in sequence. When the source node received the first PathMeasAck of COOKIE ACK packet from some interface, the source node would set the interface to Primary path. The four-way handshake process of the proposed design during connection establishment is shown in Figure 7. The data transmission path is decided by binding the primary interfaces of both source and destination nodes. Consequently, our design provides the status of both end nodes and sets the best primary path after the completion of the initial association state.
Figure 7. Four-way handshake with proposed design
In our simulation, we conducted the NS2 (Network Simulator – Version 2) simulator designed and maintained by VINT project, which provided easy set-up and deployment of the simulation for our designed mechanism as well as analyses of the results. Besides, we adopted the Caro et al. release of the NS2 module for SCTP to our simulation. We modified the module further to fit the proposed design and experimental scenarios.
Figure 8 shows the SCTP nodes used for NS2 simulation. In the NS2, because each node has only one queue, it can not send more than one packet at the same time. Therefore, we set a node to be a Core Node in the NS2 environment which simulates a host node with multihoming feature of SCTP. Then, we add three nodes in our simulation denoted as Interface 0, 1 and 2, respectively, connected from Core Node. Thus, packets can be queued in Interface 0, 1 and 2 from Core Node and be transmitted out the SCTP node through multi-path at the same time to achieve the multi-homing mechanism.
Figure 8. SCTP node in NS2 simulation
The architecture of the complete simulation is shown in Figure 9, in which Host A and Host B correspond to communicated end nodes. Both Host A and Host B have 3 interfaces with the same characteristics as the SCTP node described above. Hence, there are 9 logistic paths between Host A and Host B. In our scheme which PathMeas and PathMeas Ack Chunk will have increase overhead of 8 bytes in the initial association state. In the simulation environment, we use CBR module for the traffic load agent and set the packet size to 1MB for the data transmission, path bandwidth of Host A as 200kbps, 400kbps and 600kbps for Interfaces 0, 1 and 2, respectively. Besides, the bandwidth of Host B's each Interface are also set as 1000kbps, 500kbps and 100kbps for Interface 0, 1 and 2, respectively, the propagation delay time set as 10ms in the whole network. During the simulation time has been executed 10 seconds.
Figure 9. Architecture of the simulations
The simulation result is shown in Figure 10. The throughput from Logistic path 1 to Logistic path 9 are about 24, 24, 12, 48, 48, 12, 72, 60 and 12 packets per second, respectively. The source node will acquire the best logistic path 7 from the 9 logistic paths after the completion of the initiation association state by our scheme. The best logistic path was decided by binding the primary interface of both source and destination nodes. Although the overhead was 8 bytes during the COOKIE ECHO and COOKIE ACK state, they appeared only once in the initial association state. Hence, the influence in the throughput will be tiny. Packets transmitted via the 7th logistic path can get the best throughput about 72 packets per second and throughput is raised up to 85% than the worst case. Our scheme not only set the best logistic path but also improved the throughput effectively as compared with original SCTP Protocol.
Figure 10. Throughput for all logistic paths
Network protocols have been improving continually. SCTP, instead of TCP, is expected to be a stable and powerful transmission protocol in the future. The contribution of the proposed scheme is to acquire the status of all paths during the initial association. By applying the two PathMeas and PathMeas ACK Chunks and just running once during the initiation handshake state, the overhead in finding a best path is kept very low. The best logistic path of both source and destination could be acquired and set as primary interface. The simulation results show the throughput is raised effectively and up to 85% enhancement as compared with the worst case without applying the proposed scheme.