HTTP/2 Critical Limitation that led to HTTP/3 & QUIC (Explained by Example)

  Рет қаралды 38,601

Hussein Nasser

Hussein Nasser

Күн бұрын

Пікірлер: 58
@TimurDavletshin
@TimurDavletshin 3 жыл бұрын
Problem with QUIC is in userspace design, hence it requires constant switching between user and kernel contexts. Similar problem we have with OpenVPN. Both suffer SERIOUS performance issues when compared with in kernel protocols (try benchmarking QUIC vs TCP+TLS). High jitter under load is another problem of these protocols. And network fairness is yet another problem. QUIC can easily throttle down competing TCP sessions.
@ArifBasri
@ArifBasri 2 жыл бұрын
yeah, how do we do QoS with this right?
@agungdewandaru
@agungdewandaru 2 жыл бұрын
may be until QUIC integrated into kernel then?
@TimurDavletshin
@TimurDavletshin 2 жыл бұрын
@@agungdewandaru how do you see browsers integrating with that?
@elmeroranchero
@elmeroranchero 4 жыл бұрын
best channel in youtube
@romantsyupryk3009
@romantsyupryk3009 4 жыл бұрын
I agree with this statement.
@lucavogels
@lucavogels 4 жыл бұрын
Can you do a video about Microservice discovery? I really wonder how that works in a distributed setup. Another interesting topic would be distributed key/value algorithms like Chord! Your videos are so good, thank you very much for your work! 🙏🏻
@edsilantyev3716
@edsilantyev3716 4 жыл бұрын
That was a rather QUIC video :)
@lucavogels
@lucavogels 4 жыл бұрын
I think you are not 100% sure in this one. Because in TCP the packets also have an incremental stream id and if the client receives an ACK for a newer packet but for an earlier packet no ACK was received, then it can directly send the lost packet again. And there is also some mechanism with three ACK for the same packet to get rid of timeout stuff but I didn’t remember that quite much. But good video as always! The key message was definitely clear!
@hnasr
@hnasr 4 жыл бұрын
Luca Vogels thanks Luca! Yes packet lose these days are rare with power networks . This usually happens on mobile networks when we switch from one tower to another.
@siya.abc123
@siya.abc123 2 жыл бұрын
The rewatchability of your content is top tier man!
@romantsyupryk3009
@romantsyupryk3009 4 жыл бұрын
Thanks very much for this video.
@hnasr
@hnasr 4 жыл бұрын
Glad it was helpful!
@guptashuchi
@guptashuchi 3 жыл бұрын
This disadvantage means that HTTP/2 would not help with parallelism right? No advantage over HTTP/1.1 then
@javlonbeksharipov4649
@javlonbeksharipov4649 Ай бұрын
How can I watch members only videos? It is not supported on my country :(
@hazemabdelalim5432
@hazemabdelalim5432 2 жыл бұрын
This is so freaking awesome
@Exploited89
@Exploited89 4 жыл бұрын
Nice job! Really interesting...QUIC is a really cool protocol (not so much for dpi and filtering 😫), it's a lot more efficient even before the http requests are made (by sending hellos and tls together)
@hnasr
@hnasr 4 жыл бұрын
Exploited89 thanks 😊 exactly! TLS by default in a single Request is powerful feature of QUIC
@jeniamtl6950
@jeniamtl6950 2 жыл бұрын
I don't get it. On the TCP level it's re-trying to send the packet, which is what we want. But on the HTTP2 level, it knows that GET CSS has succeeded and it's processing it. It's good no?
@Deepakkumar431
@Deepakkumar431 4 жыл бұрын
Loved it, well explained. Subscribed.
@resetengineering
@resetengineering Жыл бұрын
Hussein I found the sound relatively low in this video.
@1PercentPure
@1PercentPure 4 жыл бұрын
when wiki isn't enough. Thanks
@Otonium
@Otonium 4 жыл бұрын
THanks, I've just discovered your channel for good. !
@mostafasaeedhashhash8718
@mostafasaeedhashhash8718 4 жыл бұрын
And what will happen for the lost packet ? Is there any way of acknowledgement in QUIC for what was received and what wasn't ??
@zeigknoechelbruder
@zeigknoechelbruder 4 жыл бұрын
Yes, QUIC handles that at a higher level than the actual UDP connection. Thats why its so helpful that QUIC is implemented in userspace, as opposed to UDP and TCP which are both implemented in kernelspace.
@hazemabdelalim5432
@hazemabdelalim5432 2 жыл бұрын
How the server will know which packets are for which request tho ? I mean how the server will know that packet 1,2,3 for example should form one request .? And other packets for example will be another request?
@hazemabdelalim5432
@hazemabdelalim5432 2 жыл бұрын
Ok i got it . The Binary framing layer if HTTP2 should be existing in both client and server . So the server will understand the client logic
@alainpannetier2543
@alainpannetier2543 7 ай бұрын
2:46 TCP window size?
@patrickjason4384
@patrickjason4384 3 жыл бұрын
nice video but i feel like this video should have been long with more detailed info .. we like ur channel for that tiny details
@6365bharath
@6365bharath 4 жыл бұрын
Wait so if one request fails all the requests fail? That shouldn't be the case?
@hnasr
@hnasr 4 жыл бұрын
It depends what do you mean by fails? If the request fails means that the server received the request successfully but failed to process it (404, etc..) other requests are fine.. But if one of the requests packets failed to get delivered, all other requests will be paused until that packet is delivered and acknowledged. If that failed, then correct none of other requests will be delivered until all packets are correctly acknowledged.
@6365bharath
@6365bharath 4 жыл бұрын
@@hnasr Makes sense. But what are the odds of a packet failing? If it's high then this is a huge limitation and it's a surprise people prefer this over http 1
@dvsingh
@dvsingh 3 жыл бұрын
@@6365bharath Failing packets is worst case scenario, as developer you should less worry about it until you are not working on some framework like spring.
@sagartyagi2450
@sagartyagi2450 3 жыл бұрын
A very basic question: How does the server knows there are more packets to be transfered and I should wait to get all packets?? Like how does the server knows about total number of packets?
@tomshan8845
@tomshan8845 3 жыл бұрын
each packet contains this information
@joeyalfaro2323
@joeyalfaro2323 3 жыл бұрын
Package that gets lost in ocean called white lobster. In south America they have fisherman go out look around for lost drug shipments. It's million dollar business. They pay for food and gas even boat to Easter hunt bring back lost packages to police to resell.
@PoulJulle-wb9iu
@PoulJulle-wb9iu 4 жыл бұрын
how can TCP be in parallel, its 1 conn on 1 port
@hnasr
@hnasr 4 жыл бұрын
Poul Julle Correct its one port and one connection but you can send lots of requests in the same connections this is called multiplexing in HTTP2 check out my video on H2 to learn more How HTTP/2 Works, Performance, Pros & Cons and More kzbin.info/www/bejne/nIeugaV6p6qqiqs
@PoulJulle-wb9iu
@PoulJulle-wb9iu 4 жыл бұрын
@@hnasr thx for the link, I do know what multiplexing is (even if i had forgotten;)), but its not parallelism imho. with that said, u have great content, thx
@jamescathode6917
@jamescathode6917 4 жыл бұрын
Also, http/2 over QUIC lets us prioritize which stream data has to move first via the single connection. Example: This allows HTML content to be loaded faster than CSS.
@mainakray1166
@mainakray1166 4 жыл бұрын
@Poul Julle OSI model comes to save .. first the TCP handshake is made then the http headers are sent . HTTP is stateless right:) so it needs works over TCP which is statefull and thus TCP works in parallel.Hussein's OSI model video can be helpful for you or you can also check out Networking's OSI model video ✌️
@PoulJulle-wb9iu
@PoulJulle-wb9iu 4 жыл бұрын
@@mainakray1166 theres no deterministic relation between statefulness and parallelism. Im very familiar with OSI, not sure what you are implying. peace
@sean_reyes
@sean_reyes 3 жыл бұрын
I find your videos really informational and well made... only problem with me is your voice volumes.. there are times that your voice is low and time that it's high... That's based on my observations...
@STRIPPEDSTAR
@STRIPPEDSTAR 4 жыл бұрын
Thanks!
@tarekali7064
@tarekali7064 4 жыл бұрын
http/2 needs to be implemented everywhere already lulz
@hnasr
@hnasr 4 жыл бұрын
Yup its gonna take time to implement H2 let alone H3 and QUIC... people are still running TLS 1.1 and H1.1
@tarekali7064
@tarekali7064 4 жыл бұрын
@@hnasr Indeed; I bet still some legacy hospital systems still are running HTTP 1.0 and trying to vertically scale.
@denys3211
@denys3211 4 жыл бұрын
these videos are great, thank you
@hnasr
@hnasr 4 жыл бұрын
Thank you for watching!!! Glad you like them 😊
@Tubentertain
@Tubentertain 2 жыл бұрын
How to enable http2 or http3 kzbin.info/www/bejne/Zqe8mn-Of6iBnMk
@dryice-tech
@dryice-tech 2 жыл бұрын
are you a journalist from kazakistan?
@farhaaniqbal224
@farhaaniqbal224 4 жыл бұрын
your negativity overwhelms the general taste of your video, otherwise seems interesting video opportunity and content
Where http2 hits its limit
13:13
Hussein Nasser
Рет қаралды 9 М.
Proxy vs Reverse Proxy Server Explained
14:18
Hussein Nasser
Рет қаралды 136 М.
VIP ACCESS
00:47
Natan por Aí
Рет қаралды 30 МЛН
Enceinte et en Bazard: Les Chroniques du Nettoyage ! 🚽✨
00:21
Two More French
Рет қаралды 42 МЛН
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
QUIC is FINALLY a Standard
14:46
Hussein Nasser
Рет қаралды 25 М.
TCP Meltdown - Computerphile
14:52
Computerphile
Рет қаралды 222 М.
Everything You Need to Know About QUIC and HTTP3
29:20
NGINX
Рет қаралды 18 М.
Coding a Web Server in 25 Lines - Computerphile
17:49
Computerphile
Рет қаралды 362 М.
What is a Protocol? (Deepdive)
18:14
LiveOverflow
Рет қаралды 186 М.
The QUIC Protocol, HTTP3, and How HTTP Has Evolved
17:32
TheDataDaddi
Рет қаралды 46 М.
Before you move to HTTP/3 ...
11:31
Hussein Nasser
Рет қаралды 18 М.