Nah, TCP is still just kicking the box over, but just kicking it over again, if the reciever doesn't kick back a box saying they got it.
TCP is also deciding to ramp up the amount of boxes you kick over until the post worker gets crushed by boxes, at which point you decide to lower your box-kicking rate by half and try again.
Best explanation of congestion I've seen in a while
I wrote an anology up and hated it, so I discarded it. Glad someone else nailed it.
Well yes, internally that's what it does, but from a user perspective it just looks like being handed the package, you never see any of the failed attempts (unless delivery fails completely because the company went out of business). It's sorta more like having a butler who orders it for you and deals with any potential BS that might happen, and then just hands you the package when it finally arrives in one piece.
UDP seems more like a ball fired from canon to me. You may not be prepared for it and you won't know what state it's in when it gets here, but that packet is making it to the gate no matter what. Or, in the rare case it doesn't, it means someone else is having a real bad time.
You forgot to mention that you might get it twice, or thrice, or more, and in different versions.
You're right. I forgot that grapeshot is always something to worry about.
(novice) Why would you get UDP packets multiple times? UDP doesn't check for acceptance I thought.
From StackOverflow:
Switches will send packets to all interfaces when using broadcasts or under extreme conditions (full MAC Address Table). This can lead to duplication if there is a loop between two or more switches and if the Spanning Tree Protocol is not used. So the answer is rarely.
https://stackoverflow.com/questions/9196791/duplicate-udp-packets-how-often-it-happens#9220574
If you have no RSTP/MSTP you're just asking for trouble.
Switching loops are unlikely unless you have bad or non-existent documentation or someone new.
Or users
Fun story. I was tasked with figuring out a connection problem on a client's network. STP was enabled, but everyone having problems were all connected to one switch.
Some investigation later and STP's root port is not the expected root port....
After some investigation, a user took the ethernet cable for their computer (Daisy chained off their VoIP phone), and decided to store it, in the wall jack.... Across the office.
That was Jack was on a different switch, and it had a lower port cost than the primary root port between the switches, so naturally, let's send all inter-switch traffic over to this..... Telephone.
/Facepalm
The only switching hardware they should have physical access to is a dumb switch if absolutely needed. Then control the cables.
Yep. That happened once. The user plugged the cable for their laptop, from the dumb switch, into the same dumb switch and took out most of the network.
Don’t the big internet-y routers also send packets to multiple interfaces if they don’t know how to correctly handle the target IP address?
Protocols using UDP often dial in some features of TCP at the application layer, and resend packets as needed.
The meme is funny and all, but real world use of UDP is pretty sophisticated.
Sorry I didn't get this UDP joke...
Well I ain't just gonna repeat it...
Just keep tossing packages over a tall fence, say "I guess that'll do it", then shrug and walk away.
Because you're so prepared for a guy kicking a parcel over the fence. It's the same analogy my dude.
The kick over the fence means they took enough care to carry it as far as your fence. UDP lobs it from one town over.
I mean I've been trying to formally request that ISO change the C API for send()
to yeet()
for sockets where connection reliability is not required at the network interface level.
Well, thank you, now I'm creating that exact macro in every company repo where send/sendto is used.
that's fucking brilliant lol
Welp, time for a new language!
That would be awesome! xD
There's nothing wrong with UDP. At least not that I know of.
thank God I can't read
You are unstoppable!
Didn't hear you there
Not my problem.
Not really a problem with UDP itself, but with some very old protocols like DNS that rely on UDP but can’t be changed because of compatibility. If you’re writing a new service that uses UDP, there’s nothing stopping you from designing it so that it doesn’t provide an opportunity for bandwidth amplification.
It’s technically not a bug if it’s operating as intended
Jesus christ SSH
Can't understand the VPN one shouldn't the traffic pass through the VPN and then go to the user like the ssh one ...
The person on the right of the VPN image is the destination server
Isn't the can the vpn server and the guys are just vpn users?
that what I assumed
Broadcast: dropping leaflets from an airplane
TCP is a process server.
UDP is a brick in flight.
These comments have been the highlight of my day. Thanks
ICMP
It's a postcard saying "hey, thinking of you!" and there's a picture of a wulrus on it.
You see pee?
Nah! You dah pee! Nah you dah pee!
You see pee!
Programmer Humor
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.