PyCon 2014

Cómo conectarse de la forma más rápida posible a cualquier hostname con Python

Ashwini Oruganti  · 

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

you hello hi so we have a shoe any Oregon tea from India today and she's gonna speak to us about what her talk is had a meal and disconnect thank you please welcome us we need hi everyone thanks for coming to the stock neyland disconnect is actually a

song by porcupine tree I did not make up the cool name myself this talk is about a happy eyeballs algorithm that I implemented interested in a red point called the hostname end point today in the stock I'm going to talk about all the classic async programming

mistakes that are made through the way and how to do things right the way you can do them right from the get-go and hopefully you'll also get a glimpse of the amazingly awesome community that twisted has and I bashfully I'm studying computer science

in manipal India and lately I've been working on a PHP vm God hippie that that's an implementation in Wi-Fi so well happy eyeballs I implemented this because it sounded cool no I'm lying I am cemented this because everyone kept telling me that

it's a crazily complicated endpoint and if your dot B you might actually want to know why the algorithm exists and how it is useful but the way I operate I really didn't get to know all of that until after I implemented it so endpoints interested their

API is that separate the implementation of servers and clients from what they're supposed to do so the client endpoint basically a Ritter takes has a connect method that takes a factory and returns are deferred firing with a connected protocol hostname

endpoint in particular or takes a hostname resolves it into multiple host addresses and returns the connection to the who's that is established first so the name resolution part here is done by sockets GA I method and the way this works is that when you

pass a hostname to this method it resolves it into multiple host addresses returns a list of those connectable hosts and note that these are dresses can be ipv4 or ipv6 what this means for us is that when you want to connect to a server you need to identify

it with an address so ipv4 is the fourth revision of Internet Protocol and uses a 32-bit addressing scheme this gives us um just over four billion addresses but turns out the web is expanding so fast that this is not enough he started running short of practices

now that's where ipv6 Council and saves the day basically it uses 128-bit addressing scheme and gives us many many more addresses and the long-term goal is to transition to it completely eventually but it I mean by default applications do prefer ipv6 because

after all it's the Internet of the future but turns out that although some most of the applications have this ipv6 addresses they do not work properly in the servers so if a service ipv4 path and protocol are working but ipv6 connectivity is impaired though

today's ipv6 capable applications like web browsers email clients all of those would let's say they would incur a few seconds of delay not seconds I don't know how long it'll take but yeah it will incur some delay before falling back to ipv4

and that harms the application performance and users experience with ipv6 and slows down at oxidants and that's a problem so happy eyeballs algorithm solves this problem for us it says that once we have the list of result host addresses we should connect

to it in the order in which they are returned and return the connection that is established first this means that we are trying to connect to multiple hosts host addresses that was returned to us but the thing is that okay initially when I heard this algorithm

[ ... ]

Nota: se han omitido las otras 1.790 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.