1 00:00:00,500 --> 00:00:05,750 ‫A TCP segment consists of a segment header and a data section. 2 00:00:06,530 --> 00:00:12,350 ‫The TCP header contains 10 mandatory fields and an optional extension field. 3 00:00:13,450 --> 00:00:18,190 ‫The optional field is the options field, which is the last field seen on the slide. 4 00:00:19,330 --> 00:00:25,480 ‫The TCP header includes a source port and destination port, each 16 bits in length. 5 00:00:26,660 --> 00:00:31,310 ‫The source port is a port on the originating machine that emitted the packet. 6 00:00:32,840 --> 00:00:36,350 ‫The destination port indicates the port on the target machine. 7 00:00:36,560 --> 00:00:38,120 ‫The package should be delivered to. 8 00:00:39,700 --> 00:00:46,450 ‫The sequence number and an acknowledgement number allows TCP to track a series of packets to make sure 9 00:00:46,450 --> 00:00:49,480 ‫they arrive reliably and pretty much in order. 10 00:00:49,900 --> 00:00:51,400 ‫No, absolutely in order. 11 00:00:52,390 --> 00:01:01,000 ‫If a packet is lost, TCP will retransmit it if packets arrive out of order, TCP will adjust them to 12 00:01:01,000 --> 00:01:05,200 ‫make sure that they are delivered to the destination services in the proper order. 13 00:01:07,480 --> 00:01:13,120 ‫Data asset specifies the size of the TCP header in 32 bit words. 14 00:01:14,560 --> 00:01:19,180 ‫The minimum size header is five words and the maximum is 15 word. 15 00:01:20,550 --> 00:01:27,210 ‫There is also TCP control built space, also known as flags, which are incredibly important for tracking 16 00:01:27,210 --> 00:01:29,580 ‫the state of a given TCP connection. 17 00:01:30,330 --> 00:01:33,150 ‫As you know, we've talked about them a few minutes ago. 18 00:01:34,140 --> 00:01:37,230 ‫Of course, if you didn't take a break, it was a few minutes ago. 19 00:01:37,450 --> 00:01:39,780 ‫But whatever you do, just don't spill in the keyboard. 20 00:01:40,620 --> 00:01:46,260 ‫Now, TCP senders use a number called window size, which is in byte by default. 21 00:01:47,250 --> 00:01:52,830 ‫To regulate how much data they send to a receiver before requiring an acknowledgement in mature. 22 00:01:53,890 --> 00:02:01,000 ‫So if the window size becomes too small, network data transfer will be unnecessarily slow, while if 23 00:02:01,000 --> 00:02:07,690 ‫the window size becomes too large, the network link can become saturated or the receiver may not be 24 00:02:07,690 --> 00:02:10,270 ‫able to process incoming data quickly enough. 25 00:02:10,810 --> 00:02:12,610 ‫Also resulting in slow performance. 26 00:02:14,600 --> 00:02:21,620 ‫Windowing algorithms built into the protocol dynamically calculate size values and use this field of 27 00:02:21,620 --> 00:02:25,790 ‫the TCP headers to coordinate changes between senders and receivers.