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.
@ArifBasri2 жыл бұрын
yeah, how do we do QoS with this right?
@agungdewandaru2 жыл бұрын
may be until QUIC integrated into kernel then?
@TimurDavletshin2 жыл бұрын
@@agungdewandaru how do you see browsers integrating with that?
@elmeroranchero4 жыл бұрын
best channel in youtube
@romantsyupryk30094 жыл бұрын
I agree with this statement.
@lucavogels4 жыл бұрын
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! 🙏🏻
@edsilantyev37164 жыл бұрын
That was a rather QUIC video :)
@lucavogels4 жыл бұрын
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!
@hnasr4 жыл бұрын
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.abc1232 жыл бұрын
The rewatchability of your content is top tier man!
@romantsyupryk30094 жыл бұрын
Thanks very much for this video.
@hnasr4 жыл бұрын
Glad it was helpful!
@guptashuchi3 жыл бұрын
This disadvantage means that HTTP/2 would not help with parallelism right? No advantage over HTTP/1.1 then
@javlonbeksharipov4649Ай бұрын
How can I watch members only videos? It is not supported on my country :(
@hazemabdelalim54322 жыл бұрын
This is so freaking awesome
@Exploited894 жыл бұрын
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)
@hnasr4 жыл бұрын
Exploited89 thanks 😊 exactly! TLS by default in a single Request is powerful feature of QUIC
@jeniamtl69502 жыл бұрын
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?
@Deepakkumar4314 жыл бұрын
Loved it, well explained. Subscribed.
@resetengineering Жыл бұрын
Hussein I found the sound relatively low in this video.
@1PercentPure4 жыл бұрын
when wiki isn't enough. Thanks
@Otonium4 жыл бұрын
THanks, I've just discovered your channel for good. !
@mostafasaeedhashhash87184 жыл бұрын
And what will happen for the lost packet ? Is there any way of acknowledgement in QUIC for what was received and what wasn't ??
@zeigknoechelbruder4 жыл бұрын
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.
@hazemabdelalim54322 жыл бұрын
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?
@hazemabdelalim54322 жыл бұрын
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
@alainpannetier25437 ай бұрын
2:46 TCP window size?
@patrickjason43843 жыл бұрын
nice video but i feel like this video should have been long with more detailed info .. we like ur channel for that tiny details
@6365bharath4 жыл бұрын
Wait so if one request fails all the requests fail? That shouldn't be the case?
@hnasr4 жыл бұрын
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.
@6365bharath4 жыл бұрын
@@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
@dvsingh3 жыл бұрын
@@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.
@sagartyagi24503 жыл бұрын
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?
@tomshan88453 жыл бұрын
each packet contains this information
@joeyalfaro23233 жыл бұрын
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-wb9iu4 жыл бұрын
how can TCP be in parallel, its 1 conn on 1 port
@hnasr4 жыл бұрын
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-wb9iu4 жыл бұрын
@@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
@jamescathode69174 жыл бұрын
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.
@mainakray11664 жыл бұрын
@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-wb9iu4 жыл бұрын
@@mainakray1166 theres no deterministic relation between statefulness and parallelism. Im very familiar with OSI, not sure what you are implying. peace
@sean_reyes3 жыл бұрын
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...
@STRIPPEDSTAR4 жыл бұрын
Thanks!
@tarekali70644 жыл бұрын
http/2 needs to be implemented everywhere already lulz
@hnasr4 жыл бұрын
Yup its gonna take time to implement H2 let alone H3 and QUIC... people are still running TLS 1.1 and H1.1
@tarekali70644 жыл бұрын
@@hnasr Indeed; I bet still some legacy hospital systems still are running HTTP 1.0 and trying to vertically scale.
@denys32114 жыл бұрын
these videos are great, thank you
@hnasr4 жыл бұрын
Thank you for watching!!! Glad you like them 😊
@Tubentertain2 жыл бұрын
How to enable http2 or http3 kzbin.info/www/bejne/Zqe8mn-Of6iBnMk
@dryice-tech2 жыл бұрын
are you a journalist from kazakistan?
@farhaaniqbal2244 жыл бұрын
your negativity overwhelms the general taste of your video, otherwise seems interesting video opportunity and content