7:38 I was thinking of Pam from The Office. When she was receiving huge bouqes of flower on Valentine's Day. But none of them were for herself. She got really sad seeing that. She kept of "routing" the boques to Phyllis :(
For TCP, holepunching is not the only method, because you can use server polling to receive incoming packets without directly connecting. firewall security is not "too strict", it is security. STUN is basically just a handshake server for holepunching.
I just re-watched this after looking at libp2p hole punching. This is a good explainer. But fun fact we can do p2p through symmetric nat because of the sync packet being set. Pretty cool stuff
A sort of TCP holepunching exists, but obviously requires a less secure firewall setting. This means with sequential ports guessing of the new port to be opened, someone could interfere with your standard insecure HTTP connection, so it is avoided
Hussain, what about the Virtual Server setting that is present on the routers. I think we can use that to forward the packet to the relavent machine in the private network. While setting this, we specify the private ip address of the machine and the port of the machine where we want to route the packet to.
"Virtual Servers" is a confusing synonym to "Port Forwarding", port forwarding will solve this problem but need to be configured manually on your router, a better solution is "UPnP" which is a protocol that let your PC send a request to your router to set a port forwarding rule for you automatically.
Hi Hussein. Once you punched a hole with UDP and start the peer-to-peer communication between two computer, is it possible to keep that connection but convert it from UDP to TCP, so that you can continue the communication with TCP (instead uf UDP) ?
If I have a server (that is already port forwarded) and a client Can I just add a STUN library like libnice to the server, and fetch the public ip/port from the server, then send to the server again with this info, and then they communicate? if summerrical NAT only accepts return packets from whom it sent the first packet to, then this should solve this issue, without the need to configure an in the middle server
11:20 that sounds like an other backronym 13:28 it's especially problematic if both sides have port randomization. 15:43 unless you are Dan Kaminsky of course... (RIP) see: DNS Rebinding And More Packet Tricks at 24c3
Get my Fundamentals of Networking for Effective Backends udemy course Head to network.husseinnasser.com (link redirects to udemy with coupon)
Starting the day with some Backend Engineering is substantially motivating to get some real engineering work done.
Yes!
7:38 I was thinking of Pam from The Office. When she was receiving huge bouqes of flower on Valentine's Day. But none of them were for herself. She got really sad seeing that.
She kept of "routing" the boques to Phyllis :(
Dude the hole thing came in just brilliant 🤣
For TCP, holepunching is not the only method, because you can use server polling to receive incoming packets without directly connecting.
firewall security is not "too strict", it is security. STUN is basically just a handshake server for holepunching.
I really like the way you explain the concepts behind the terms like this one. Very understandable and clear.
You are explaining UDP hole punching so good
Thank you thank you thank you!!! Quality content, great mic quality, clear and concise talk, not overwhelming yet very informative. Subbed!
I just re-watched this after looking at libp2p hole punching. This is a good explainer. But fun fact we can do p2p through symmetric nat because of the sync packet being set. Pretty cool stuff
A sort of TCP holepunching exists, but obviously requires a less secure firewall setting. This means with sequential ports guessing of the new port to be opened, someone could interfere with your standard insecure HTTP connection, so it is avoided
Hussain, what about the Virtual Server setting that is present on the routers. I think we can use that to forward the packet to the relavent machine in the private network.
While setting this, we specify the private ip address of the machine and the port of the machine where we want to route the packet to.
"Virtual Servers" is a confusing synonym to "Port Forwarding", port forwarding will solve this problem but need to be configured manually on your router, a better solution is "UPnP" which is a protocol that let your PC send a request to your router to set a port forwarding rule for you automatically.
@@ili101 That is so interesting. I will look into UPnP 🙂
Hi Hussein. Once you punched a hole with UDP and start the peer-to-peer communication between two computer, is it possible to keep that connection but convert it from UDP to TCP, so that you can continue the communication with TCP (instead uf UDP) ?
Hi Hussein and thanks for a great video. Is there any time limit for how long each hole exists before the router closes it?
great information! can you tell me why I can't get my UDP hole punching script to work inside a docker container when it works just fine outside it?
If I have a server (that is already port forwarded) and a client
Can I just add a STUN library like libnice to the server, and fetch the public ip/port from the server, then send to the server again with this info, and then they communicate?
if summerrical NAT only accepts return packets from whom it sent the first packet to, then this should solve this issue, without the need to configure an in the middle server
great explanation
thank you, was easy to follow through :)
@Hussain Nasser give us your top10 book for back end programmers!
11:20 that sounds like an other backronym
13:28 it's especially problematic if both sides have port randomization.
15:43 unless you are Dan Kaminsky of course... (RIP) see: DNS Rebinding And More Packet Tricks at 24c3
Great video and explanation of UDP hole punching.
amazing, happy to follow you Mr.
Every day a router gets friendzoned
Huge thanks صدیقی
video starts at 8:17 :/
Looks like you need some coffee to fill the holes 😂
Pls give me a example
not entirely true tbh that "none of the packets are intended for router". Alot of control plane protocols packets are intended for router
Why did you make me feel sad for the poor routers
i open my router's admin panel to the internet so that it never gets lonely :3
Poor router - maybe we can send a package to it just once? 😭📦
Good Video! I'm glad your name is not PAul!
7:45 :) good humour.
is this a AI voice over?
nice asmr
No practical
First 🤣
Congratulation
10 IF "First" = 0 THEN 30 ELSE 20
20 END
30 PRINT "HI"
HI
Too much about holes 🤣🤣🤣