Since the TCP header is a relatively large overhead, why don't we compress it the way ACK and SEQ use the same field and can still be distinguished by the flags in the header?
Because they are not used exclusively. Below is the most important: connection negotiations, i.e. Three-way handshake:
Three-way handshake http://upload.wikimedia.org/wikipedia/commons/c/c7/300px-Tcp-handshake.png
wikimedia commons. , TCP-, , ACK SEQ ( , , , - ).
- , .
Because they can both be present in the header at the same time. One is to mark the data being sent, the other is what the sender expects in the next packet back. See wikipedia for more details .
Source: https://habr.com/ru/post/1709108/More articles:Disconnect and reconnect the connected datagram connector - posixWinForms - Does the DoubleBuffered format control affect this form? - c #WCF and Fluent NHibernate: How Can I Keep Clean Classes? - nhibernateIE Explorer scrollbar width? - cssUsing the jquery Bind method I've never seen before - jqueryIs this MVC? What "design template" did I use? - c #colorcollect richcollection property and selectionbackcolor property - c #Does a passive look violate the Law of Demeter? - law-of-demeterThere are no line numbers for assembly exceptions generated by CompileAssemblyFromSource - debuggingAssembly not loading for ASP.NET web application - asp.netAll Articles