 Hello and welcome to the session on Stream Control Transmission Protocol Association. At the end of this session, students will be able to discuss SCTP association and identify different scenarios such as association establishment, data transfer, association termination and association abortion. Like TCP, SCTP is a connection-oriented protocol. However, a connection in SCTP is called an association to emphasize multi-homing. A connection in SCTP is called an association. Association establishment in SCTP requires a four-way handshake. In this procedure, a process normally called a client wants to establish an association with another process called server using SCTP as the transport layer protocol. Like to TCP, the SCTP server needs to be prepared to receive any association, which is passive open. Association establishment is initiated by the client, which is active open. SCTP association establishment is shown here in this figure. There are steps. The first step is the client sends the first packet, which contains an init chunk. The verification tag of this packet is 0 because no verification tag has yet been defined for this direction from client to server. The init tag includes an association tag to be used for packets from the other direction, server to client. The chunk also defines the initial TSN for this direction and advertises a value for receiver window. The value of the receiver window is normally advertised in a SAC chunk. It is done here because SCTP allows the inclusion of data chunk in the third and fourth packet. Note that no other chunks can be sent with the first packet. The second step is the server sends the second packet, which contains an init acchunk. The verification tag is the value of the initial tag field in the init chunk. This chunk initiates the tag to be used in the other direction, which defines the initial TSN for data flow from server to client and sets the server's receiver window. The init acch also sends a cookie that defines the state of the server. Third step, the client sends the third packet, which includes a cookie echo chunk. This is a very simple chunk that echoes without change the cookie sent by the server. And the fourth step is that the server sends the fourth packet, which includes the cookie acchunk that acknowledges the receipt of the cookie echo chunk. Number of packet exchange. The number of packets exchange is there in TCP connection, establishment and four in SCTP association establishment. Here it might be seen that SCTP is less efficient than TCP. But we need to consider that SCTP allows the exchange of data in third and fourth. After two packets are exchanged, data can be transferred. Verification tag. When we compare TCP and SCTP, we find that the verification tag in SCTP does not exist in TCP. In TCP, a connection is identified by a combination of IP addresses and port numbers, which is a part of each segment. So this has created two problems. The problem one, a blind attacker can send segments to a TCP server using randomly chosen source and destination port numbers. Second problem is that a delayed segment from the previous connection can show up in a new connection that uses the same source and the destination port addresses. Cookie. The designers of SCTP have a strategy to prevent this type of attack. The strategy is to postpone the allocation of resources until the reception of the third packet. The information received in the first packet must somehow be saved until the third packet arrives, but if the server saves the information that would require the allocation of resources, the solution is to pack the information and send it back to the client. This is called generating a cookie. The cookie is sent with the second packet to the addresses received in the first packet. There are two potential situations here. The first is if the sender of the first packet is an attacker, the server never receives the third packet. The cookie is lost and no resources are allocated. The second situation is that if the sender of the first packet is an honest client that needs to make a connection, it receives the second packet but the cookie sends the packet with the cookie with no changes. Here pause the video, think and answer. A connection in SCTP is called an association. The answer is B. Data transfer. The whole purpose of an association is to transfer data between two ends. After the association is established, bidirectional data transfer can be take place. The client and the server can both send data. There is a major difference between the data transfer in TCP and SCTP. The TCP receives messages from a process as a stream of bytes without recognizing any boundary between them. The process may insert some boundaries for its peer use but TCP treats that marks as a part of text. A segment can carry parts of two different messages. SCTP on the other hand recognizes and maintains boundaries. Each messages coming from the process is treated as one unit and inserted into a data chunk unless it is fragmented. A message received from a process becomes a data chunk or chunks if fragmented by adding a data chunk header to the message. Each data chunk formed by a message for a fragment of a message has one TSN. In SCTP, only data chunks consume TSNs. Data chunks are the only chunks that are acknowledged. Here you can see the scenario. In the figure, a client sends four data chunks and receives two data chunks from the server. The client uses the verification tag 85, the server 700. The packets sent are as packet 1. The client sends the first packet carrying two data chunks with TSN 7105 and 7106. The client sends the second packet carrying two data chunks with TSNs 7107 and 7108. The third packet is from the server. It contains the sag chunk needed to acknowledge the received of data chunks from the client. Contrary to TCP, SCTP acknowledges the last in-order TSN received, not the next expected. The third packet also includes the first data chunk from the server with TSN 1-1. Here the server sends another packet carrying the last data chunk with TSN 1-2-2. But it does not include a sag chunk in the next packet because the last data chunk received from the client was already acknowledged. Finally, the client sends a packet that contains a sag chunk acknowledging the received of the data fragmentation. Another issue in data transfer is fragmentation. SCTP shares this term with IP fragmentation in IP and SCTP belongs to different levels. SCTP preserves the boundaries of the message from process to process when creating a data chunk from a message. If the size of the message does not exceed the MTU of the path. If the total size exceeds the MTU, the message needs to be fragmented. Fragmentation at the source SCTP takes place using the following steps. The step one is that message is broken into smaller fragments to meet the size of requirement. A data chunk header is added to each fragment that carries a different TSN. The TSN needs to be sequenced. All header chunks carry the same stream identifier. The same stream sequence. The combination of B and E are assigned as follows. First fragment is 1-0, second middle fragment is 0-0 and the last fragment is 0-1. Association termination in SCTP like TCP either of the two parties involved in exchanging data that is client and server can also close the connection. However, SCTP does not allow a half-close association. If one end closes the association, the other end must stop sending new data. If any data are left over in the queue of the receipt of the termination request then they are sent and association is closed. Association abortion, the termination of association is sometimes referred to as graceful termination and association in SCTP can also be aborted. The abortion may be requested by the process at either end or by the SCTP. A process may wish to abort the association if there is a problem in the process itself. The server may wish to abort the association because it has received an init chunk with wrong parameters. The requested resources are not to be available after receiving the cookies the operating system needs to shut down and so on. The abortion process in SCTP is very simple, either end can send an abort chunk and abort the association as shown in the figure. Now further chunks are needed. Here pause the video, think and answer. The stream control transmission protocol is a new, the answer is B, reliable and message oriented protocol. Here is my reference. Thank you.