 Hello everyone and welcome to the session on Windows in TCP learning outcome at the end of the session students will be able to describe the concept of Windows in TCP and uses of it about Windows in TCP. In the previous video we have discussed about what is TCP and what are the different concept to have used in TCP. In this video just we will discuss about different types of windows used in TCP. Here there are two types of windows we have to use in TCP. First one is sending window and receiving window. Before going to that let us see in detail about the or about windows in TCP. TCP uses two windows. First one is send and send window and receive window. For each direction of data transfer which means four windows for bidirectional communication. Bidirectional it means while sending the data and receiving the data we have to use two types of windows and for receiving the data also we have to use two types. So four different types we have to use in a bidirectional communication. To make the discussion simple we make a unrealistic assumption that communicate is only unidirectional that is client to server, not server to client. Client to server it means two types of windows we have to use. The bidirectional communication can be interfaced using two unidirectional communication with piggybacking. The piggybacking concept we have already discussed in the data communication. I hope it is clear the concept about the piggybacking you know. Next two types of windows these two are the main two types that has first one is send window and receive window. First we will discuss about the send window. The window we have used is of size 100 bytes. Normally 1000 sub bytes we have to use. In generally we have to use 100 bytes but actually we want to use 1000 sub bytes. Later we see that the send window size is dictated by the receiver and the congestion in the underlying network. How? The send window below the diagram is there. This is the block diagram of send window. Here this diagram can contain the different parts that are it opens. The send window can open the connection and closes the connection and shrinks the concept. Here it is a first outgoing byte. Next byte to send and timers we have to use. Here different user data is there. The user can send this data 200 is there, 201, 202 still that is 300 and 301. Here first bytes that are acknowledged we have to send and outgoing bytes and then bytes that can be sent. Here first initially the user can prepare the data. After that he can send the data that is first outgoing byte from here and then that is ST we have to. Then after that then if the user want to transfer the next data that is next byte to send this different parts can indicates a different identification. It can identify. Here this data is already sent. This is next byte to send. Then after that we have to bytes that cannot be sent and until the write a router to be the writes. Here these parts here not yet issued in the receiver side for that in detail about this it is in the second one that is opening closing and shrinking the send window. It can initially it can opens the wall that left wall and right wall is there. In the left wall it can closes and then first the user can transfer the data. After that it can closes the connection. After closing the connection it can pass the data to this side. Then after passing the data from the left wall it can shrinks to the right wall. Then after the wall shrinking it can opens the connection. After opening the data will goes to the receiver side. This is a sending sender side part. The user can this by using this concept the user can use sending concept of the data in the client side. It can contain three part that is opening closing and shrinking. It means it can in the before transmitting any data in the left wall side the user can opens the connection after passing the data from this side. It can shrinks in the receiver side that is right wall. Then after it can opens then the data will pass to the next user. Send window in TCP is similar to one used with the selective repeat protocol but with some differences are there. What are those some difference it means nature of the entity is used related to the window. Although actual transmission in the TCP co or occurs segment by segment. What are the different types of entities we have used that we have to define. And then some implementation TCP can store data resued from the process and send them later. The sending TCP is capable of sending segments of the data as soon as it resues them from its process. The number of timers the theoretical selective repeat protocol may be used use several times for each package and but the TCP protocol uses only one timer. Just now in the last video we have discussed about the timers why we have to use the timers it means to check that whether the forwarded data is reached to the destination or not. If not then again once again the user have to resend the data for that we have to use the timers different timer types of timers also we have discussed in the previous video. This is about the sending window. Now the think and write part can contains one question that is what is the role of send window in TCP and compare send window and receive window in TCP. Now pass the video and answer the above question. Now answer for the above question is the role is that the size of send window determines the sequence number of the outbound frame. It means here before transmitting any data the sender size of window determines the sequence number of the outbound frames. Why we have to use the sequence number it means whatever the data we have transmitted from the client side that all the data is reached to the destination or not because we have to give the confirmation because TCP is in connection oriented here the user how to give the confirmation about the data reached to the destination status to the client. So that here we have to use the send window as sequence number concept but before transmitting any data ok. The send window we have to use the CWND is a TCP state variable that limits amount of data the TCP can send into the network before receiving acknowledgement from the receiver side ok. Why we have to it means after sending the data the client have to wait to get the acknowledgement from the receiver side ok. In the receive window is a way it is also a variable that advertise the amount of data that the destination side can receive ok. This is about the receive window and it is about the in detail about the receive window the window we have used is of size in the receive window we have to use the same size that is send window and receive window that is 100 bytes in generally are normally we have to use thousands of bytes ok. The figure also shows the how the receiver window opens and closes in practice the window should never shrinks in the receiver side. Let us see the diagram ok. In the this is the block diagram receive window here next byte to be published by the client and next byte to expected to receive in the receiver side here is also different packets are there or segments are there the user have transmitted these packets and it will goes to this side and after that the data can be forwarded that is next byte here and then byte issued and then they are transmitted here in this data receive the window size alive and then after that this is the part in the receiver side how the whether the data is reached to the destination or not the user can identify this one in this part ok. Here and this is the receive window and allocate the buffer and this here buffer we have to use here in the same concept whatever we have used in the sending window in the sending window the left wall as well as right wall and then after passing the data from the left wall it can shrinks to the receiver side but in the receiver window we would not use the shrinking concept because here we are using the buffer. So, in the what after passing the data or packets or segments in this side the user can left in the left wall it can after pushing it can opens the left wall after passing the data from the user to the left wall then it can closes the connection after closing the data will goes to the receiver side then receiver side after pushing the data from the client side to the receiver side the left right wall can opens the connection after that the data will pass it to the receiver side because if the open wall is not open till that the data will be stored in the buffer ok. In the receiver side we have to use the buffer concept for why we have to use the buffer concept it means for storing the data temporarily ok. This is about the receiving window in TCP ok. Receiving window there are two differences that are the TCP allows the receiving process to pull a data at its own space ok. The this means that the part of the allocated buffer at the receiver may be occupied by the bytes that have been received and acknowledged. It means whatever the data it means user is transmitting five segments the two segments have already reached to the destination and three segments still have to reach to the destination it means if the network is down or some other user is using that receiver side it means until to get the next user is free till that the data will be stored in the buffer allocated buffer whatever the buffer they have used there the data will be weight or it can be stored for a temporary ok. The receive window size is then always smaller or equal to the buffer size because it should not be a less less greater than that the receiver side window we have to use the buffer if the size of that is smaller or equal to the buffer size ok whatever the buffer we have we have used the size of the data sizes it should be equal or smaller. Now it is not it should not be a greater than that because we have to give the confirmation about the data whether it is reached to the destination or not that confirmation we have to give it to the client. So, buffer we have to use the size of the buffer before transmitting we have to check out the buffer size and then that based on that only we have to send the data ok. The receive window size determines the number of bytes that the receive window can accept from the sender before being transmitted ok. Here a receive window is equals to buffer size minus number of weighting byte to be pulled. This one we have to use how much data or receiver side what is the concept or how much or how many sequence are there in a buffer for that we have to use this one that is a receive window is equals to buffer size minus number of weighting bytes to be pulled by the client ok. Receiving window the second difference is that the acknowledgement are used in the TCP protocol. Remember that the acknowledgement is a that is a select to friends is a select to defining the uncorrupted package that have been received. The major acknowledgement mechanism in TCP is the relative acknowledgement announcing the next expected byte to receive. The new origin of TCP however the uses of both cumulative as well as selective acknowledgement as we will discuss later option field ok. These are the references. Thank you.