237
votes
Accepted
Why do we need a 3-way handshake? Why not just 2-way?
Break down the handshake into what it is really doing.
In TCP, the two parties keep track of what they have sent by using a Sequence number. Effectively it ends up being a running byte count of ...
61
votes
Accepted
Does UDP do anything at all?
Interesting perspective and question!
Yes, most of what UDP does is supply a standard means for multiple applications to co-exist using the same IP address, by defining the concept of UDP ports.
The ...
57
votes
Accepted
Why does the IPv6 header not include a checksum?
One of the ideas around IPv6 was to speed up packet forwarding. To that end, several decisions were made. For example, the IPv6 header was greatly simplified and is a fixed length, unlike the variable ...
48
votes
Does UDP do anything at all?
UDP is a transport protocol, like TCP. That means it provides a protocol for an application to use IP. Like TCP, UDP has addressing (ports) to which applications bind so that datagrams destined to ...
34
votes
Accepted
Is a TCP server limited to 65535 clients?
The short answer is no, that's not the limit.
A TCP Port field is 2x bytes and holds a quantity of 65536. This number limits the amount of addresses a server can have. But this doesn't limit the ...
32
votes
Accepted
Why does Ethernet use EtherType field to determine what type of packet is in a frame instead of just looking at the packet header?
The receiver has to look at the Ethernet frame to decide its contents, which might be DECnet, Appletalk or many other things -- Internet Protocol is only one of many protocols running on top of ...
29
votes
Accepted
How can a TCP window size be allowed to be larger than the maximum size of an ethernet packet?
The TCP window size is generally independent of the maximum segment size which depends on the maximum transfer unit which in turn depends on the maximum frame size.
Let's start low.
The maximum frame ...
28
votes
Why do we need a 3-way handshake? Why not just 2-way?
The three-way handshake is necessary because both parties need to synchronize their segment sequence numbers used during their transmission. For this, each of them sends (in turn) a SYN segment with ...
27
votes
Why does the IPv6 header not include a checksum?
Because it's redundant.
All the common link-layer protocols, like Ethernet or WiFi, have their own error checking and error correction mechanisms, so physical transmission errors are already unlikely....
26
votes
Why do we need a 3-way handshake? Why not just 2-way?
In order for the connection to work, each side needs to verify that it can send packets to the other side. The only way to be sure that you got a packet to the other side is by getting a packet from ...
25
votes
Accepted
acknowledgment by TCP does not guarantee that the data has been delivered
This part of the RFC is about passing responsibility over to the operating system or whatever is the next stage of the process. It's fundamentally concerned with the separation of layers.
An ...
23
votes
Accepted
Where is Ping's "round-trip time" stored in the IP header?
The round trip time is not actually stored anywhere. The sending host remembers the time it sends each ICMP Echo Request message, using ICMP's 16-bit identifier and sequence fields. When it gets the ...
22
votes
Accepted
Does TCP open a new connection for every packet that is sent?
One of my buddies is saying that TCP will be a problem for this gateway because it is going to establish a new connection for every message it sends (not kafka but the underlying transportation ...
22
votes
Difference between :: and ::1
:: is the unspecified address (0:0:0:0:0:0:0:0), and it is only used in packets as the source address of a host that does not yet have an address and is trying to get an address assigned. What you see ...
20
votes
Worst-case efficiency of PPP escaping mechanism
You might care to read RFC 1547 "Requirements for an Internet Standard Point-to-Point Protocol" which explains how the PPP was chosen. The thing I'd suggest you are missing is that ...
17
votes
Accepted
Why the first octet of a MAC address always end with a binary 0?
You may notice that two least-significant bits of the most-significant byte of a 48-bit MAC address are usually set to 0 (as in all your examples). There are two flags in the most-significant byte of ...
15
votes
Does UDP do anything at all?
I would encourage you to look at how higher level protocols that utilize UDP actually use it. Classic and well documented examples are DNS (in most cases at least, it's possible to do DNS over TCP but ...
14
votes
Accepted
Why is the protocol field part of an IP header?
Remember, bits arrive on a NIC as a series of 1's and 0's. Something has to exist to dictate how the next series of 1's and 0's should be interpreted.
Ethernet2 is the defacto standard for L2, as ...
14
votes
Usage of Flow label in IPv6 header?
The above answer isn't really correct. The flow label isn't designed for packet ordering - IP does not care about order, it is an unreliable services whose only goal is delivery on layer3.
Better way ...
14
votes
Could IPv6 make NAT / port numbers redundant?
IPv6 does not have a NAT standard as IPv4 does (NAT breaks the end-to-end premise of IP, and IPv6 was designed to restore that). There is an experimental RFC for IPv6 NAT, but it is a one-to-one NAT ...
14
votes
Does the destination port change during TCP three-way handshake?
No, a TCP connection is uniquely identified by both source and destination IP and TCP (port) addresses. Changing any one of those will break the TCP connection (or prevent it from forming in the ...
13
votes
Accepted
Is there a way to ignore client's TCP FIN and keep TCP connection?
Does that make any sense?
No.
The FIN is send because the sender decided that it wants to close the connection. Even if you would change the recipient that it will ignore the FIN the sender side of ...
13
votes
What does the naming convention for Ethernet standards mean: 1000BASE-T, BASE-TX, BASE-SX, etc.? What is the meaning of the components of the name?
BASE indicates baseband signaling - there is no modulated carrier, the frequency starts near zero and extends to a certain cut-off frequency.
BROAD indicates broadband modulation - there is a wide ...
13
votes
Accepted
Why do IPv6 unique local addresses have to have a /48 prefix?
The requirement exists to prevent collisions. This is a bit more important than most people recognize.
Even if you have systems which currently don't communicate with other systems over the internet ...
13
votes
Accepted
Do these 2 packets belong to the same tcp socket?
First, TCP does not care about single packets. If these are just data packets without any previous connection establishment than they will be simply dropped, no sockets involved. So I'm assuming that ...
12
votes
Why is the ICMP protocol considered to run at layer 3 on the Wikipedia page?
The original RFC for ICMP, RFC777 state that:
ICMP, uses the basic support of IP as if it were a higher level
protocol, however, ICMP is actually an integral part of IP, and must
be implemented by ...
12
votes
Accepted
Why do we need FTP when there are layers to transmit data?
The network layers provide a framework to structure the complex functions for sending data over a network - as byte stream, in dialogue, telegram style datagrams, ...
On the very top, the application ...
12
votes
Difference between :: and ::1
"::" is the ipv6 "unspecified address" (the equivilent IPv4 address is "0.0.0.0"). When binding a socket* it is used to indicate that the socket will listen on all local ...
11
votes
Accepted
Can two different applications bind the same port on a host if they use different protocols?
Think of it this way: TCP is one street, UDP is another street, and port numbers are the addresses of the houses (ports) on the streets, just as they are layer-4 addresses. Each street has the same ...
11
votes
Accepted
Port Numbers related doubt
User applications use random ephemeral ports for outgoing connections. TCP port 80 is only the server side's default port for WWW.
A TCP socket connection consists of source IP, source port, ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
protocol-theory × 455tcp × 114
transport-protocol × 91
ip × 69
layer4 × 68
rfc × 57
routing × 55
ethernet × 54
ipv4 × 47
ipv6 × 42
udp × 27
networking × 20
ospf × 20
ip-address × 19
arp × 19
router × 17
network × 17
bgp × 16
layer2 × 16
osi × 15
multicast × 14
wireless × 13
cisco × 12
icmp × 12
switch × 11