3 ms·
It's wrong. "TCP packet" is a pretty common colloquial term which is also factually wrong. There is no such thing as "packet" at the TCP protocol layer. This
by AStonesThrow 2y ago
It's wrong.
"TCP packet" is a pretty common colloquial term which is also factually wrong. There is no such thing as "packet" at the TCP protocol layer.
This paper is discussing the tunnelling of payloads with PPP over SSH.
You can see in the stacked diagram that "TCP" appears in two layers of the protocol stack, as does IP.
Essentially, they're encapsulating TCP segments inside other TCP segments, although there are also trappings of IP, PPP, and SSH protocols in-between those.
This isn't a VPN use case at all. And if a VPN is forwarding IP packets, then it's forwarding IP packets.
- adrian_b 2y ago"TCP packet" is an absolutely correct term. As the previous poster said, a "TCP packet" is not a "TCP segment". A "TCP packet" is an IP packet that carries some part of the TCP byte stream, i.e. normally some part of one TCP segment. Each "TCP packet" carries its own TCP header, so the division of the TCP segments into TCP packets is visible and significant when you look at a TCP data flow from outside, even if it does not matter internally for the processes that communicate through TCP. There are probably much more people who care about TCP packets than about TCP segments. When you are configuring firewall rules or monitoring network traffic, you are concerned about TCP packets, almost never about TCP segments.
- AStonesThrow 2y agoThat's an IP packet. There's no such thing as "TCP packets". IP packets can encapsulate various things depending on how you set their protocol fields. But packets are not TCP. This is quite straightforward. It simply has to do with distinct PDU nomenclature at each layer. You can have Ethernet frames carrying IP packets too, but they are not "Ethernet packets"; that would be absurd.
- simeonmiteff 2y agoNo, the nomenclature is not consistent at each layer. Another layer down, IEEE 802.3 names the complete message (i.e., including preamble, SFD and FC) that an Ethernet PHY sends to an Ethernet MAC (which processes "frames")... a packet! "TCP packet" is correct.
- adrian_b 2y agoThe IP packets are divided into many kinds, based on the higher-level protocol that they carry, i.e. based on the type of the header that follows the IP header. Thus there are ICMP packets, UDP packets, TCP packets, IPsec packets and so on. Everybody who has anything to do with network management understands that when it is said "ICMP packet", "IPsec packet", "TCP packet" and so on, what is meant is "IP packet carrying the ICMP/IPsec/TCP protocol". When you manage or monitor network traffic, you see and examine IP packets of various kinds. Nobody cares about how a TCP stream happened to be partitioned in TCP segments. That may be interesting only for those who look on the other side of a TCP socket, its internal side, i.e. those who debug some program that communicates through TCP and which may have some throughput or latency problems. The Ethernet frames are also divided into many kinds based on the protocol that they carry, which may be ARP, IP, IPX and so on. For more consistency, those could have been called ARP, IP, IPX etc. frames, but they are also usually called ARP, IP, IPX etc. packets. The reason is that frame and packet are almost synonymous terms. One or the other has been preferred depending on the organization that has prepared a standard.
- AStonesThrow 2y ago> when it is said "ICMP packet", "IPsec packet", "TCP packet" and so on, what is meant is "IP packet carrying the ICMP/IPsec/TCP protocol". But an "IP packet carrying TCP" is totally different from a "TCP segment", and so why the fuck is everyone trying to muddy the waters in this regard? Likewise, "an Ethernet frame with IP stuff in it" is not an IP packet. Because it's at a lower layer!!! Due to fragmentation, these higher protocol layers can be split up into two or more PDUs at lower levels. They are reassembled as steps to decoding the protocol. A TCP stream, made of multiple segments, will surely be split up across multiple IP packets. Even a single TCP segment is never guaranteed to map 1:1 with a single IP packet. That's why you can't equate them, and that's why it's idiotic to try and force the wrong PDU terminology in the wrong layer, because they simply don't match up, and you confuse newbies into believing these things are equivalent or interchangeable. They are not! A TCP segment is a thing in its own right. It is not equivalent to an IP packet with protocol 6. Why is that a crazy idea to y'all?
- 2y ago
- icedchai 2y agoOkay, let's call them "IP packets with protocol 6 (TCP) in the header." Does that make it clearer?
- lxgr 2y ago> You can have Ethernet frames carrying IP packets too, but they are not "Ethernet packets"; that would be absurd. Yes, because "Ethernet packet" would be the wrong way around, layer wise. The pattern is "x y", short for "an y of type x" or "an y containing x" in this case. It would be "IP frames" by analogy, i.e. Ethernet frames containing IP packets, although I do find that association a bit harder to make.