229
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 ...
- 14.3k
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 ...
- 5,354
55
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 ...
- 96.7k
47
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 ...
- 96.7k
31
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 ...
- 833
31
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 ...
- 16k
29
votes
Is a TCP three-way handshake required for an HTTP POST?
If you are asking in a general sense, then the answer is most definitely "yes", any HTTP method (like POST) requires a TCP connection, and the only way to initiate a TCP connection is to use ...
- 14.3k
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 ...
- 1,299
28
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 ...
- 76.8k
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....
- 370
25
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 ...
- 351
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 ...
- 16k
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 ...
- 16k
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 ...
- 336
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 ...
- 96.7k
20
votes
Why is the U/L bit inversed in EUI64?
RFC 4291 provides instructions on how to create the EUI64 address:
Links or Nodes with IEEE 802 48-bit MACs
[EUI64] defines a method to create an IEEE EUI-64 identifier from an
IEEE 48-bit MAC ...
- 14.3k
20
votes
Accepted
Reason for half-duplex mode in Ethernet?
The reasons for half-duplex ethernet are as you understand them. In fact, there was a movement to not include half-duplex for 1000Base-T, but it still made it into the standard. For 10 Gb ethernet, ...
- 96.7k
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 ...
- 16k
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 ...
- 96.7k
16
votes
How do wifi clients detect SSIDs from APs?
The IEEE 802.11 standards define two methods for a client device to discover wireless networks in the area. Both methods are based on using 802.11 management frames as defined in these standards.
...
- 27k
14
votes
Raw IP communication?
[summarizing the question]
Can I communicate with raw IP datagrams, without a transport layer?
Short answer:
Yes, but:
It's an exceptionally strange way to build an application (you'd have to tell ...
- 29.7k
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.3k
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 ...
- 96.7k
14
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
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 ...
- 96.7k
13
votes
Accepted
Is a DHCP offer packet a broadcast or unicast?
Be aware of the broadcast flag, see RFC2131 (page 24):
A client that cannot receive unicast IP datagrams until its
protocol
software has been configured with an IP address SHOULD set the
...
- 563
13
votes
Is a DHCP offer packet a broadcast or unicast?
The answer is that it can be either broadcast or unicast - and in some cases both unicast and broadcast before it reaches the client when an ip helper-address is used.
A client doesn't actually have ...
- 27k
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 ...
- 2,258
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 ...
- 76.8k
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 ...
- 764
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
protocol-theory × 448tcp × 114
transport-protocol × 91
ip × 68
layer4 × 68
rfc × 57
routing × 55
ethernet × 54
ipv4 × 47
ipv6 × 42
udp × 27
networking × 20
ip-address × 19
ospf × 19
arp × 19
router × 16
bgp × 16
network × 15
layer2 × 15
osi × 15
multicast × 14
wireless × 13
cisco × 12
icmp × 12
layer3 × 11