 Hello everyone and welcome to the session on TCP option, learning outcome. At the end of this session, students will be able to describe the concept of TCP option. About TCP option, in the previous video we have discussed about the different parts of the TCP protocol and the option is a extra field available to the user to add any extra information to that particular packet used in TCP protocol packet format of TCP packet TCP and datagram used in the UDP. TCP header how can have up to 40 bytes of optional information, it means extra space available to the user to add the information to that particular place. Options convey additional information to the destination are align other options to the user. There are two categories of options, first one is a byte one byte option, second one is a multi byte option. Let us see one by one in detail, first one is a one byte option. The first category contains two types of options, first one is the end up option list and no operation. Second category in most implementations contains five types of options, first one is a maximum segment size, window scale factor, timestamp, SAC that is selective acknowledgement permitted and SAC only SAC that is SAC and SAC permitted. Here this diagram can contain the first one is a option, just now we have discussed about the definition of option that is extra field available to the user to add the information. Here two types are there single byte and multi byte. In the single byte end options first end option and no operation. Second multi byte can contain the different types that are first one is a maximum segment size and second one is a window scale factor, third one is a timestamp, fourth one is a SAC permitted and last one is a SAC, SAC permitted and SAC. What is mean by SAC and SAC permitted, the details about this one it is there in this selective acknowledgement. So, about end up option first byte that is a end up option can be used only once in option field. The end up option is a one byte option used for padding at the end of the option section. In each and every packet format of datagram and user datagram used in the UDP packet and packet used in the TCP, both the packet format can contain the option field that is we can add any extra data to that particular place. It can only be used as a last option only one occurrence of this option allowed. After this option the receiver looks for the payload data and one end up option is inserted to align the data with boundary of the next word. After adding the first data next we have to go to the next, if the user want to add the next byte or data then we can check out the boundary of the next word, ok here. The end up option imports two piece of information to the destination that are end up options. So, there are there is there are no more options in the header, ok except that there are no more options are available in the header field. The data from the application program start at the beginning of the next it is a 32 bit word is a block format of the end up the option that is it can contain kind here we initially we have used 0 all field it can contain 0 and 3 byte option is there the end up option is there. This is the data what user want to transfer the data when you say end up option list and then is a used for the padding this is the data the user can keep it here, ok. No operation here can be used more than once, NOP that is no operation can be used more than once in a packet there is no operation option is also one byte option used as a filter it normally comes before another option to help align in a forward slot, ok. Below figure this figure is used to align one 3 byte option such as window scale factor and one 10 byte option such as the timestamp here just you can see kind even the previous diagram we have used kind 0 and here we have used the kind 1 that is no operation option here no operation option we have used and then 1 byte option, ok here the 10 byte option is there in this one the user can add the any data this is a 3 byte first to this part second this one part and third one is a this this byte, ok there are 3 parts can contains one is a 1 byte 3 byte option 10 byte option and data this is a user want to keep any data in the time the user can keep the data in this place, ok. Maximum segment size m s s shortly we can call it as m s s that is maximum segment size the value of maximum segment size is determined during connection establishment and does not change during the connection it means maximum segment size we have to use in the TCP connection establishment phase only, ok. Maximum segment size option defines the size of the biggest unit of data that can be resued by the destination of the TCP segment. Since the field is 16 bit long the value can be 0 to 6 double 5 3 5 bytes, ok. Here it means the maximum if the user is transmitting some data from the client to the server then it can determines the maximum size of the or maximum segment size used while transmitting that can be determines in this maximum size maximum segment size, ok. m s s is determined during the connection establishment each part defines a maximum size can contain different or maximum data each part can defines m s s for the segment it will resue during the connection, ok. If a party does not define this the default value is 536 bytes if the transmitter have not defined then by default value will be 536 bytes we have to, ok. Kind here we have 0 it is also size is 1 byte and length of that is 1 byte that is here maximum segment size is here 2 byte this is maximum segment size, ok. The window scale factor the value of the window scale factor can be determined only during the connection establishment it does not change during the connection whatever we have used in the maximum segment size, ok. The window size field in the header defines a size of the sliding window concept. Sliding window concept already we have discussed in the previous video that concept we have to use in this part, ok. This field is a 16 bit long 16 bits long which means that the window can range from 0 to 6 double 5 3 5 bytes, ok. This seems like a very large window size it still may not be sufficient especially if the data are retrieving through a long fat pipe, ok. It means it whatever the size we have used it is not sufficient because while transmitting the data lot of space is required, ok. To increase the window size window scale factor is used, ok. If the user want to increase the size of the window it means that time the user have to use window scale factor. Here the new window size is found by first rising 2 to the number of specified in the window scale factor, ok. Then this result is multiplied by the value of the window size in the header, ok. The formula we have to use new window size equals to window size defined in the header into 2 raise to window scale factor. This formula we have to use. This figure can show the window scale factor that is here it can contain a kind, length and scale factor. Kind can define 1 byte, length is 1 byte and scale factor is also 1 byte, ok. Now, think and write it can contains the one question, list some use of option field in TCP protocol, ok. There is some use of option field in the TCP protocol. Pass the video now and answer the above question. The answer for the above question is the option field in the TCP header. This is extra field as I said while discussing initially the extra space or extra field is available to the user by transmitting the data either user make if any data in this field, ok. Even packet format also can contains the user data gram can contain this field, ok. The TCP segment has option field that consisting of 0 or more 32 bit words and provides a way to deal with limitations of the original header, ok. This the MSS that is maximum segment size is defined as the largest block of the data the sender using TCP will send the send to the receiver, ok. And it can be transmit this part of the maximum largest size of the part while transmitting any data from the client to the server, ok. Option field, timestamp as we have already discussed about the TCP options. So, while discussing about the TCP options we have discussed about the different types of timers. Here is also it time timestamp is a 10 byte option with the proper format and at the end at the end the with the active open announcer timestamp in the connection request segment that is syn segment. Here if the user want to transfer the data from one user to another user they can use the timestamp it means how much time it will take to transfer the data from client to the server to identify that the user can use a timestamp, ok. If the data is not reached to the destination they how the user have to wait for maximum time and after that he can go to the reset the time and then they can resend the data. If it is resues a timestamp in the next segment that is segment plus acknowledgement from the other end it allows to the timestamp, ok. The timestamp option has two applications it measures the round trip time and prevents a wrap round sequence number. It means round trip time it means whenever the user want to transfer the data if that data is not resue to the not reach to the destination the user can wait for maximum time after that once again he can reach at the time and then once again he can resend the data that is round trip time. This one we have already discussed in the previous video and it can prevents some sequence number also why we have to use a sequence number it means to identify the how many package how reach to the destination or not based on the sequence number the user can identify the reach data in the receiver side, ok. This is the diagram of the timestamp kind can contain 8 length and then times of values or timestamp echo reply can contain this, ok. This is about the timestamp. This is the reference I have used to prepare the above PPT. Thank you.