Following an HTTP GET / through Switches, Routers, Gateways, and Proxies (Detailed Examples)

  Рет қаралды 19,387

Hussein Nasser

Hussein Nasser

Күн бұрын

In this networking video, I’ll explain the difference between a gateway and a proxy but also illustrate the purpose behind routers and switches in the process. I’ll execute an HTTP GET request and follow its on-wire representation across multiple networks. Follow timestamps for the 3 examples I'll use.
In the first example, I will send an HTTP GET request to a device in the same network, the second example will send the request to an external server, and the final one will send the same request but through a proxy.
Slides
payhip.com/b/Seoz
(members get all slides for all my videos for free)
Intro 0:00
Routers vs Gateway vs Proxy 1:15
HTTP GET/ To LAN Server 4:30
HTTP GET/ To External Server 10:10
HTTP GET/ To External Server Through Proxy 16:53
🎙️Listen to the Backend Engineering Podcast
husseinnasser.com/podcast
🏭 Backend Engineering Videos
backend.husseinnasser.com
💾 Database Engineering Videos
• Database Engineering
🏰 Load Balancing and Proxies Videos
• Proxies
🏛️ Software Archtiecture Videos
• Software Architecture
📩 Messaging Systems
• Message Queues & PubSu...
Become a Member
/ @hnasr
Support me on PayPal
bit.ly/33ENps4
Stay Awesome,
Hussein

Пікірлер: 58
@stage666
@stage666 3 жыл бұрын
Man you are so knowledgeable. I want to work for you
@anshikagupta4931
@anshikagupta4931 2 жыл бұрын
I appreciate that you cam up with three use cases so its super holistic
@shashikantsharma3551
@shashikantsharma3551 3 жыл бұрын
Watching this feels very fascinating and interesting, being a frontend developer and moving to fullstack.
@chodingninjas7415
@chodingninjas7415 3 жыл бұрын
More clear explanation than any prof can ever give
@Douglas_Gillette
@Douglas_Gillette 2 жыл бұрын
The illustration to me sends your viewers the idea that the destination port is in the trailer. Both the destination and source are in the header. Just my opinion. Great content!
@AnasHmamouch
@AnasHmamouch 3 жыл бұрын
Top notch content. You are truly amazing. Keep going Hussein.
@saeidkazemi8480
@saeidkazemi8480 2 жыл бұрын
Hey, guy, I love you, i am crazy about you and your manner of teaching, you are absolutely the best IT, instructor, I've ever seen. Tanks a miliooooooon for your great videos
@Alex00082
@Alex00082 3 жыл бұрын
This video made me join as a member. Great content and great explanations. Thank you!
@quant-daddy
@quant-daddy 3 жыл бұрын
you're the best, I'm already a better software engineer listening you talk!
@Naren061982
@Naren061982 3 жыл бұрын
You are such a big inspiration ! Truely must watch video for any computer Engineer ❤️ wow !
@chandramohanjagtap1300
@chandramohanjagtap1300 3 жыл бұрын
Excellent I am your fan since you have 10k subscriber's Keep this stuff . You explained with real scanario ❤️
@whatareyoulookingfor6789
@whatareyoulookingfor6789 3 жыл бұрын
You are so so so much better than my college professor! Thanks!
@saadowain3511
@saadowain3511 3 жыл бұрын
لبى قلبك يابو ناصر. و جزاك الله خير.
@venkateswaran8752
@venkateswaran8752 3 жыл бұрын
fantastic explanation.Keep going Hussein
@Kekszmester
@Kekszmester 3 жыл бұрын
This stuff is gold!!!
@nathansherrard4111
@nathansherrard4111 3 жыл бұрын
Just found your channel recently, but really enjoy all your content, including this new one! Awesome channel! Couple thoughts/clarifications: 1) If you go to the final diagram (17:00 to the end), all those source MAC addresses should be different. FF is the MAC of the LAN-facing interface on the local router, but it will have a different MAC on the ISP side, as MAC's are per interface, not per device. Similarly, the proxy would have something unique as well, different from all the others. 2) This assumes Ethernet is being used for every Layer-2 network along the way. While it's almost certainly Ethernet on your LAN / home network, once we get into the WAN / ISP / Internet world, all sorts of different Layer 2 technologies and encapsulations might be used. So there may or may not be MAC addresses out there. 3) As Noureddine mentions below, there won't always be a Default route listed on every router between your local router and the destination. While default gateway / routes are how your devices get to your local router, and how your local router talks to the ISP, once we get out into the middle of the Internet, those devices keep full routing tables (maybe up over 600,000 routes in them!).
@ofek73340
@ofek73340 3 жыл бұрын
this is epic!!!!! please please please make more network videos
@pravinyo
@pravinyo 3 жыл бұрын
nicely explained. I always struggled to understand in college times
@sasaa4908
@sasaa4908 3 жыл бұрын
Thank you for this very informative video 👍.
@veetmoradiya4947
@veetmoradiya4947 2 жыл бұрын
Nice Explanation Sir
@siddhantchavan1370
@siddhantchavan1370 3 жыл бұрын
simply amazed good work
@vivekatbitm
@vivekatbitm 3 жыл бұрын
Great video, please make another video to show how server sends response to the source system present inside LAN.
@officialak47buda63
@officialak47buda63 3 жыл бұрын
Very interesting friend!
@raulcattelan4506
@raulcattelan4506 3 жыл бұрын
Thanks for the video
@abdelhadisabani
@abdelhadisabani 3 жыл бұрын
love u bro, keep going
@hariomkuntal9520
@hariomkuntal9520 2 жыл бұрын
Thanks!
@empuraan4710
@empuraan4710 2 жыл бұрын
200K subs Hussein!
@sivagabbi127
@sivagabbi127 3 жыл бұрын
Super video! I applauded for €2.00 👏
@hnasr
@hnasr 3 жыл бұрын
🙏❤️
@kumarprateek1279
@kumarprateek1279 3 жыл бұрын
Someday I will be as good backend engineer as you are.
@ibknl1986
@ibknl1986 3 жыл бұрын
May Allah (God) guide and bless you in your wish of becoming a very good back end developer.
@viveksai9353
@viveksai9353 3 жыл бұрын
Enlightment looks like this.😀 Could you do a video on multipath TCP?
@alfre2valles
@alfre2valles 3 жыл бұрын
Thank you! Amazing content. How do you draw the beautiful schematics used in the video? Any specific program for that? Best regards
@dragon_warrior_
@dragon_warrior_ 3 жыл бұрын
today for the first time I learned about what proxy does actually lol
@mahbubdeadman1
@mahbubdeadman1 3 жыл бұрын
Good stuff. Can you do a video on the choice between server side rendering using something like EJS vs using AJAX to get the data? When is which method preferred?
@sairam-lj6zu
@sairam-lj6zu 3 жыл бұрын
Great content. I hope the VPN also works in the same way as to use case 3 right?
@nournote
@nournote 3 жыл бұрын
Excellent as usual. Some remarks though: - 21:32 is it relevant to talk about a proxy being able to know where client want to go? In fact, it MUST know where the client wants to go. In the case of an HTTPS Proxy, the proxy acts as a man in the middle. The browser encrypts data using the proxy's key. The proxy then reestablishes a proper TLS session with the destination server. The latter doesn't any idea whatsoever about the client. - Maybe it is worth mentioning that routers in the route between te client and the web server (except the home router) rarely use the default gateway logic, instead every router maintains a routing table and decides where to hand every packet based on that table and on the destination. - Idea for another video : suppose the server is behind a reverse proxy and do the same logic end to end.
@Algoritmik
@Algoritmik 3 жыл бұрын
04:00 The whole thing is "network of networks"
@mggarekar
@mggarekar 3 жыл бұрын
in scenario 3, when client talks to end server, via proxy, do we have single TCP connection?
@nguyentrananhnguyen7900
@nguyentrananhnguyen7900 2 жыл бұрын
question: Then what is the best practices for scanning and establishing connections through wifi safely?
@user-uj2dj8gk1p
@user-uj2dj8gk1p 3 жыл бұрын
👍👍👍
@himanishmunjal8678
@himanishmunjal8678 2 жыл бұрын
Hi Hussein, great video as always. I have one small doubt mentioned below When the packet moves at every hop from router1 to router2, should it not have a MAC address of router1 at source address? In the last section of your video, I see that even after packet reaching proxy, its source address MAC is for 1st router (gateway of actual source machine), rather than whatever was the last router. Not sure what's the best way to reach out to you so reaching here.
@aakashrocks89
@aakashrocks89 3 жыл бұрын
Thank you Hussein for such an awesome deep explanation. I have one question here. How the 1.2.3.4 knows where the response needs to reach?? Is there a persistent tcp connection between all the routers and party involved?
@hnasr
@hnasr 3 жыл бұрын
If you noticed we had the source ip/source port added so the server knows where to respond back.
@aakashrocks89
@aakashrocks89 3 жыл бұрын
Thank you so much.. my bad.. so basically everybody backtrack and cascade response.
@anshikagupta4931
@anshikagupta4931 3 жыл бұрын
woaaahhhhhh
@ayxanalifov2791
@ayxanalifov2791 3 жыл бұрын
Hi, GREAT CONTENT !!! One thing just to kindly remind in 20:15 is the third packet source mac address misspelled? I think the source mac address of the third packet should be the mac address of the 7.6.4.5 proxy. (But i am not sure ))))
@mrstatler
@mrstatler Ай бұрын
I guess this is not important but shouldn't source MAC address of packer 3 (leaving the Proxy) in the 3rd case (via Proxy) be different than FF (gateway MAC), like Proxy MAC address?
@meninja111
@meninja111 3 жыл бұрын
Hey Hussein, I have a question. So In example 2, the router removes all information of machine AA and put it's own IP and MAC. now If the server(1.2.3.4) wants to respond to machine AA, it can't because all requests are coming from the router essentially so the server can only respond to the router. Now the router has to figurer out who really requested right ? Does the router maintains this request-response mapping ?
@hnasr
@hnasr 3 жыл бұрын
Correct the router maintains a table called NAT (network address translation) that maps internal hosts to external router ip/port check out my video on the topic kzfaq.info/get/bejne/iK1patWn3JfJhaM.html
@meninja111
@meninja111 3 жыл бұрын
@@hnasr Thank you very much Hussein. Your content is really useful. Keep it up :)
@Anto-mi5pn
@Anto-mi5pn 3 жыл бұрын
I have a doubt: why does a fetch request not follow a server redirect? And even if I make the request manual, there's no information whatsoever about the redirect url.
@hnasr
@hnasr 3 жыл бұрын
The redirect info is on the headers I believe. It might me a conscious choice by whoever wrote fetch to make it simple
@Anto-mi5pn
@Anto-mi5pn 3 жыл бұрын
@@hnasr And a redirected fetch request with the "follow" option makes a subsequent fetch request to the redirected url instead of changing the location's href. It could have been so much simpler.
@nikhilramabhadra6052
@nikhilramabhadra6052 3 жыл бұрын
Read Computer Networks by Andrew S Tanenbaum. It has everything.
@victoryosikwemhe2280
@victoryosikwemhe2280 3 жыл бұрын
thanks
Hub vs Switch vs Bridge vs Router (Full Detailed Example)
14:36
Hussein Nasser
Рет қаралды 12 М.
НРАВИТСЯ ЭТОТ ФОРМАТ??
00:37
МЯТНАЯ ФАНТА
Рет қаралды 8 МЛН
Coding a Web Server in 25 Lines - Computerphile
17:49
Computerphile
Рет қаралды 331 М.
Good APIs Vs Bad APIs: 7 Tips for API Design
5:48
ByteByteGo
Рет қаралды 225 М.
Opensource, Uncensored, Unbothered. - Flux.1 Image Gen
18:59
MattVidPro AI
Рет қаралды 3,1 М.
When to use UDP vs TCP in Building a Backend Application?
20:33
Hussein Nasser
Рет қаралды 22 М.
OSI and TCP IP Models - Best Explanation
19:20
_Drunk Engineer_
Рет қаралды 315 М.
What is a Server? (Deepdive)
17:51
LiveOverflow
Рет қаралды 171 М.
HTTP/1 to HTTP/2 to HTTP/3
4:07
ByteByteGo
Рет қаралды 657 М.
Это iPhone 16
0:52
Wylsacom
Рет қаралды 786 М.
Todos os modelos de smartphone
0:20
Spider Slack
Рет қаралды 65 МЛН
Xiaomi SU-7 Max 2024 - Самый быстрый мобильник
32:11
Клубный сервис
Рет қаралды 551 М.