ไม่สามารถเล่นวิดีโอนี้
ขออภัยในความไม่สะดวก

How QUIC Works - The Handshake

แชร์
ฝัง
  • เผยแพร่เมื่อ 31 ก.ค. 2024
  • The handshake?!? I thought that was just a TCP thing! Nope, QUIC has one too. Embedded in the handshake is the TLS1.3 handshake, as well as some transport-layer options that look a little familiar. The first couple of packets in the QUIC handshake are officially called "Initial" packets. Let's dig.
    You can download the trace file and keylog file here ---- bit.ly/QUICHandshake
    Please smash the like button to let me know if you dig this content!
    == More On-Demand Training from Chris ==
    ▶Getting Started with Wireshark - bit.ly/udemywireshark
    ▶Getting Started with Nmap - bit.ly/udemynmap
    == Live Wireshark Training ==
    ▶TCP/IP Deep Dive Analysis with Wireshark - bit.ly/virtualwireshark
    == Private Wireshark Training ==
    Want to bring Chris to train your team?
    Let's get in touch - packetpioneer.com/product/pri...
    Chapters in video:
    0:00 Introduction the handshake
    1:15 Client Initial Packet Explained
    2:51 QUIC Transport Parameters
    4:13 QUIC Long Header
    5:41 Server Initial Packet Explained

ความคิดเห็น • 49

  • @pankajbhargava2659
    @pankajbhargava2659 2 ปีที่แล้ว

    Very nyc videos. Easy, clean & understandable language used. Thanks to Greer for posting videos on ever complex protocol. By watching these videos, now tcp seems easy & help to tshoot the issue in better way.
    Thanks Chris.
    Cheers 🤟

    • @ChrisGreer
      @ChrisGreer  2 ปีที่แล้ว

      It's my pleasure!

  • @nickolasvela6418
    @nickolasvela6418 2 ปีที่แล้ว +6

    Great explanation! A way more convenient way of learning this without reading 3 RFCs, distilling the highlights, capturing packets, dissecting them myself and correlating them back to the RFCs. As a lazy engineer, I really appreciate this video!

  • @MaleGeminiCat
    @MaleGeminiCat ปีที่แล้ว

    Great video!

  • @jogyulas1110
    @jogyulas1110 3 ปีที่แล้ว

    Thanks Chris, your videos are always interesting. I follow your posts not just about quic but others as well. One thing came into my mind. Maybe it would be nice to explain how client side gets to know to use quic protocol instead of tcp. If I know it well the initial packets then handshake
    communicate on tcp/443 when reach website that supports quic.

    • @ChrisGreer
      @ChrisGreer  3 ปีที่แล้ว +2

      Hey and thanks for the comment. I do mention this in my How QUIC Works - Intro to QUIC video. The client at this point typically will reach out over TCP, which the server (if it supports QUIC) can suggest an alt-svc of QUIC. The client can then initiate communications over QUIC. Thanks!

  • @joerockhead7246
    @joerockhead7246 3 ปีที่แล้ว

    Interesting. Thanks, Chris.

  • @tenaciouspete
    @tenaciouspete ปีที่แล้ว

    Thanks for the easy to understand delivery. I'm studying at Deakin University in Australia and your videos are much better than the rubbish that they deliver.

  • @rofiogonzales8213
    @rofiogonzales8213 3 ปีที่แล้ว

    thanks Sir ...you explain so easy and clear.......have question can we get wpa2 password if we get handshake.cap of wifi using wireshark ???

  • @ganeryhyperion8386
    @ganeryhyperion8386 ปีที่แล้ว

    does the client side can embed the ip address of the destination server under encryption, if so mean, it can by pass most dns firewalls?

  • @SamsonPavlov
    @SamsonPavlov 2 ปีที่แล้ว

    Thanks for sharing....

    • @ChrisGreer
      @ChrisGreer  2 ปีที่แล้ว

      Thanks for watching!

  • @drwombat
    @drwombat ปีที่แล้ว

    At 03:25 when discussing those Quic parameters like initial_max_data and max_udp_payload_size... Are those values in bytes? Or what value are they measured in?
    Edit: also is the max UDP payload size the same as the max QUIC frame size? Any correlation there?

  • @pratikkumarsaha2017
    @pratikkumarsaha2017 6 หลายเดือนก่อน

    Hey, in the first video you had mentioned that in 2 rounds of network cycle, QUIC can establish a connection. First is TLS handshake and then it can directly communicate using HTTP3 , but here in Wireshark, it doesn't seem to match what you have said earlier. Like I could see INITIAL packets before HANDSHAKE, can you please explain this part?

  • @kosmonautofficial296
    @kosmonautofficial296 2 ปีที่แล้ว +2

    What kind of security implications are there for the connection ID working with different 4 touples? Is there more authentication done at a higher layer to make that session secure? Could it be possible to randomly select destination connection IDs and get an existing session?

    • @ChrisGreer
      @ChrisGreer  2 ปีที่แล้ว +3

      Hey, that is a great question. RFC 9000 covers it in the gory detail, but to keep it short, there are a few ways. Let's just say that the QUIC masters definitely considered that when creating the protocol. 8.1 of the RFC mentions a token that is constructed on a connection basis. This secure token is validated by the server upon connection resumption. Another method that I have read about (I haven't seen it in practice yet) is the ability for QUIC to use more than one connection ID. So the two endpoints can securely exchange connection ID info for rebind if the connection migrates.
      Check out the RFC here for more info - datatracker.ietf.org/doc/html/rfc9000#section-8

  • @atishranjan2750
    @atishranjan2750 2 ปีที่แล้ว

    Great video Chris. Loved it. My query is how did you decrypted the TLS 1.3 packets to see the http3 application data? I downloaded the wireshark capture but it's encrypted.

    • @tenaciouspete
      @tenaciouspete ปีที่แล้ว

      There are well documented websites and videos that mention how to capture encrypted HTTP data. Chris does a video with David Bombal on this very topic.

  • @drwombat
    @drwombat ปีที่แล้ว

    Regarding the QUIC connection number and it's ability to change with changing devices/environments how does that interfere with our ability to trace packetry across a QUIC (session?) With more than one connection? Is it possible to do that without tracing somewhere at the upstream of each connections Internet provider?

  • @AbacateSexy
    @AbacateSexy 3 ปีที่แล้ว +1

    I have a question regarding what you said on 5:10 . What's the advantage for the user and to the server, to have the QUIC connection seamlessly migrate even if the underlying protocols change?
    Great video! Cheers

    • @ChrisGreer
      @ChrisGreer  3 ปีที่แล้ว +3

      Hey, thanks for the comment - There are many advantages if this feature is implemented and used in the future. If the network is unstable, or in networks where devices have high mobility, the QUIC connection can continue to stay alive. TCP has a tough time with that.

  • @arisk992
    @arisk992 2 ปีที่แล้ว

    Chris, thanks a lot for another great video... lots of great stuff uploaded in this channel.
    May i ask you something? On 7:40 you refer to unidirectional and bidirectional streams. How come unidirectional and bidirectional streams of frame 6, are both 131072 bytes ? Shouldn't bidirectional stream be double the size of the unidirectional ?

    • @ChrisGreer
      @ChrisGreer  2 ปีที่แล้ว +1

      That's a great question! From what I have seen so far, bi-directional streams are not always a doubled value. I think it is because there are so many unidirectional streams for many applications. In most cases, you don't use a stream-based transfer bidirectionally. It will definitely be interesting to study that aspect of QUIC as the protocol develops. Thanks for the comment!

  • @softwelveone
    @softwelveone 6 หลายเดือนก่อน

    Thank you for the great content Chris! I'm thinking google can track us with the destination connection id correct? advertising companies can pay google for this information, or am I being to paranoid here?

  • @techevangelist8373
    @techevangelist8373 3 ปีที่แล้ว

    Thanks Chris. What I heard is only the CDNs implemented this at this point and not any enterprises.

    • @ChrisGreer
      @ChrisGreer  3 ปีที่แล้ว +2

      I have seen it in CDNs and in supporting mobile apps like UBER. It will probably grow from there. Hard to say at this point to what extent it will be brought in house.

  • @robertfrakes5216
    @robertfrakes5216 2 ปีที่แล้ว

    I've been using Wireshark for many years and find the QUIC is very fascinating. I've often wondered why UDP has not been used before. You mentioned in this video "stream" and I'm wondering in part has this been developed to enhance streaming of video for the broadcast industry that is now coming on strongly. Seems interesting that Google has developed it and they have become a big player in the whole streaming industry. Love the explanations of Wireshark. Takes some of the jumble out of the mass of data coming across a connection.

    • @ChrisGreer
      @ChrisGreer  2 ปีที่แล้ว +1

      Hey Robert, thanks for the comment. Yeah it is quite possible that the two are connected like you mentioned. Either way, I agree that it was time to bring the smarts of TCP up half a layer and run it over UDP so it wouldn't be so picky about each byte. See you around the channel!

    • @robertfrakes5216
      @robertfrakes5216 2 ปีที่แล้ว

      I once had a national database with a load balancer feeding sql servers and a home grown software application accessed by doctors, hospitals and law enforcement. Understanding where the slowness was coming from was monumental. Wireshark was the only application that I could use to see what was going on. The network guy in the middle (me) had to tell the programmers/medical people or law enforcement it was their issue not the network (With a smile on my face most of the time)...

  • @truesonic669
    @truesonic669 2 ปีที่แล้ว

    I heard of quic, using adguard.

  • @someone-jo1zy
    @someone-jo1zy ปีที่แล้ว

    Again thanjs for your videos and effort.I don't know might explain it better.I have a question too,that might sound stupid specially from person who thinks knows networking.I actually thought I know networking until I opened wireshark and seen many things on there that I have no idea.Thanks for you I got most them but there is a thing that still don't get.When we look through statistics in wireshark,then protocol hyerarchy we see tcp and udp.Then we see as example http,https under TCP.That makes sense because they are TCP protocols.But since QUIC taking place of TCP I see most of my capturing as QUIC on protocol columun.So when there is TCP I see http or https or anything else.I see TCP on handshake.But with QUIC I don't see http or https in protocol column.I know QUIC build kver UDP but somehow we interact with http and https.Why I don't see them?Where they are?

  • @yasserslarmie
    @yasserslarmie 2 ปีที่แล้ว

    Thanks for the video! It seems like TLS is mandatory for QUIC. Without TLS, there would be no connection management or flow control. I assume then, that a QUIC server won't accept unencrypted HTTP, meaning there wouldn't be a HTTP 301 redirect from HTTP to HTTPS? If so, RTTs are saved.

    • @ChrisGreer
      @ChrisGreer  2 ปีที่แล้ว +1

      Hey Yasser - you guessed it. TLS is built-in to QUIC. I don't know if there is any plan to do an unencrypted version.

  • @alikhalidsalim4865
    @alikhalidsalim4865 3 ปีที่แล้ว

    I like you Chris

  • @maxisy
    @maxisy 2 ปีที่แล้ว

    So QUIC basically is reliable UDP?

    • @ChrisGreer
      @ChrisGreer  2 ปีที่แล้ว

      You could put it that way, yes. It’s all the stuff that makes TCP reliable and efficient, with TLS tied in, but on top of UDP.

  • @truesonic669
    @truesonic669 2 ปีที่แล้ว

    Dns, crypt is fast

  • @flashback_cr7
    @flashback_cr7 3 ปีที่แล้ว +2

    Chris pls reply

  • @winddealer1
    @winddealer1 3 ปีที่แล้ว

    Hopefully QUIC is not mucking around with DNS or is it?

    • @ChrisGreer
      @ChrisGreer  3 ปีที่แล้ว

      Nope, not yet anyway. DNS is still a separate service over UDP (Or HTTPS if you are using DoH)

  • @KhaledKimboo4
    @KhaledKimboo4 4 หลายเดือนก่อน

    I don't get the hype... after delving for days into quic it all comes to reducing round-trips by increasing packet size, everything else has its negative counterpart. Solving congestion by eating your bandwidth/throughput.

    • @ChrisGreer
      @ChrisGreer  4 หลายเดือนก่อน

      Thanks for the comment. So QUIC is not at all about increasing packet size.
      And I will have to hard-disagree that all other aspects of quic have negative counterparts. The way quic addresses head of line blocking via streams at the transport layer has tremendous upsides, as well as future improvements in performance for applications. They won’t have to introduce streaming into the application the way H2 did.
      This is just one benefit of quic. I could go on.

  • @dopy8418
    @dopy8418 3 ปีที่แล้ว

    Do you really think this QUIC thing is going to fly ?

    • @ChrisGreer
      @ChrisGreer  3 ปีที่แล้ว +1

      You probably watched this video over quic....