Logo TIB AV-Portal Logo TIB AV-Portal

Multipath TCP for FreeBSD

Video in TIB AV-Portal: Multipath TCP for FreeBSD

Formal Metadata

Multipath TCP for FreeBSD
An introduction to the protocol and our implementation for FreeBSD.
Title of Series
CC Attribution - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
Release Date

Content Metadata

Subject Area
Multipath TCP (MPTCP) allows multi-homed hosts to make use of multiple addresses over a single TCP connection. This talk will cover the software architecture of a FreeBSD implementation of MPTCP, as well as presenting some case studies and performance results. Multipath TCP (MPTCP) was designed as an extension to TCP, allowing a multi-homed host to utilise multiple network interfaces when transferring data. MPTCP is in the process of being standardised by the IETF as RFC 6824. Supported by funding from Cisco Systems, the Centre for Advanced Internet Architectures released several patches against FreeBSD-10 (from March 2013) to add rudimentary MPTCP capabilities and code paths. More recently, the FreeBSD Foundation provided funding to continue development of the MPTCP stack, building on the existing work. The stack has since then been re-designed and improved beyond the early experimental versions. In this talk I will provide an overview of the Multipath TCP (MPTCP) protocol before discussing the software design, features and performance of our FreeBSD MPTCP implementation. I will also present some basic performance testing, case studies and usage examples (showing how MPTCP reacts to different paths coming and going while connections stay active).
point current topological implementation Open Source states time architecture mathematics terms different implementation addresses font batch standards moment workgroup bits CONGEST lines degree particle data management internet Computer animation Software case topology sort odd
Slides implementation dynamic time patched help part terms Operationen testing series extent memory locations share multiple addresses multiple Arm Super patched Development interfaces projects graphs The list effects bits lines single Types kernel processes Computer animation case sum progress Snake extent addresses
functionality time capacity ones CONGEST part redundancy internet reduce box extent report conditions multiple link capacity interfaces CONGEST applications connections particle redundancy internet Computer animation case orders life Right
point standards multiple time cellular interfaces mobile Ranges cellular workgroup transfer part perspective connections single processes Computer animation Software case socket socket orders arrow
standards control files mixture configuration internet terms message-based addresses standards information workgroup maximal Continuation applications variables sequence connections signatures single data management configuration Computer animation case socket TSP orders Results
point Sequence space token states decision sets water Stream regular meetings number sequence response time Carrying configuration DDR box level Sequence space addresses Jump tasks multiple Arm information interfaces feedback analytics sequence connections number means configuration Computer animation case buffer interfaces life level table memory locations localization SIP
point mapping attitudes assembler sample ones sequence number sequence number orders Computer animation Software compact manifolds case orders level level conditions
standards schedule breadth states decision part component-based round configuration different logic modularity model Arc continuum closed moment bits CONGEST schemes Continuation sequence connections Types data management real vector uncertainty principle metrics control Open Source CONGEST rules fan number sequence level structure CAMS addresses conditions default control Super punching component-based number Computer animation Software logic case life schedule
point implementation schedule control time views patched part architecture mathematics several terms configuration internet structure implementation form Arm Blocks The list code parallelization bits CONGEST connections Computer animation case vertices sort schedule Results
point inner applications sequence number mathematics Computer animation case terms buffer orders logic level diagrams absolute values form
statistics control functionality schedule Sequence space configuration different buffer socket structure Office protocols Arm mapping Blocks cellular bits Continuation sequence Symbolic particle Computer animation case SoC socket orders buffer vertices speech sort Blocks structure Buffer
point Computer animation mapping different level Right Blocks Continuation structure Symbolic man Buffer
point schedule server inner states time sheaf ones sets The list part level diagrams structure sum MySpace mapping cellular moment bits Continuation applications processes Computer animation Software Symmetry case orders buffer objects sort Blocks structure Buffer
point control files The list bits transfer applications sequence fields number processes Computer animation case buffer level structure
topological patched rates limitations part round rates loss single report Scalable Coherent Interface unit key cellular transfer limitations connections single processes sample Computer animation Software case topology Synchronous queue sort Router addresses
implementation schedule link time moment lines CONGEST connections processes Computer animation Software different case Right sum errors multiple
Computer animation link Software case bits sort part connections
services Computer animation case forces files law diagrams lines Coloured memory locations Compression connections
Arm Computer animation case terms cellular
point web pages control services files time patched data management round terms buffer testing addresses position flow bits Symbolic Types Computer animation case buffer testing pattern genetics band schedule Buffer
constantly Virus programming schedule states time sources clients part Compression mechanisms configuration Office website errors algorithm mapping effects bits CONGEST sequence connections means data management repository Right sort reading point web pages server patched similar elements number terms Authorization level testing addresses conditions multiple standards focus information interfaces projects programming basis contingent particle Computer animation case table
and everyone is already here so on Nigel of being with also participate and implementation of previously for a couple years now and so so basically and all the going
through about a little bit about what the current status of the implementation on the costs of most of the state's not so generally people that generally know the the particle will announce themselves and a little bit of time talking about the actual particle itself and then kind of an overview of the implementation and use of what's what's kind of change from that editing work with standard TCK and what's changed for 24 multiclass and hopefully if I have enough time literature about basically a simple topology at the end something that when you eventually when when the when the next batch comes out the source and documentation and there's a simple example topology on the setting up civilians and doing some of the stuff can't just shared a little bit about how that works answer just on me it's not too much exciting there really a demanding ride in Telecommunications Engineering networks and when I graduated a couple years of network research so in classification stuff on tourist of an outlet for wanted some totally random of tension the Koreas things before eventually coming back to the network research a couple years ago and then that's when biconical back into this most of the space stuff and at the moment on completing a master's degree the prescribed and I think it's called research enabling moles of TCP for free the state or something along those lines so the only implementation itself and given that there were a research lab in 1st kind of priority was how can we make something that we can use to do more network research on to do with multipath quite year and a lot of different scenarios in which the user on the small 1 simple solution for all these other things considered in terms of congestion control and has scheduled data segments and manage possible that kind of stuff so for us it would be useful to have an implementation that kind of makes it easy for us to to sort of push push the buttons and believers and have different things himself but not just about being a research tool it's also something that should hopefully be something that people can use so if you have a particular use case mind at some point in the future and if the previously most of us that helps with that then you know that's a good outcome as well and lost senior is interoperable with the current reference implementation and which are all implementations polyps others Linux implementation of the moment and all the others interoperate with that it helps with standardization and that's so kind
of a bit of background and so almost say this is a couple of slides India which I did which is the sum of all representative years ago thought when I was here but a lot of that has changed since since the river is not too much that's not familiar born the people who were there but it was enough new people that'll be interesting so a son working on the implementation of around 20 12 fish on this and funding from consistent and that was kind of the idea of parents it's something that we can use for research on social economic primarily extension and help from Lawrence at the time because essentially just begun kernel developments also for me was a very new and getting getting some help with that in terms of designing and things like that was crucial and so on so hopefully that will so the Apache can now of a full patches effect in March of 2013 so a little while after some of of things dramatic 11 and 12 months and then there's a pretty pretty rough types so they did some multiple stuff out with very kind of restricted use case on kind of list so if you did if he did this it would work if you did something else you might get a company going like has something crazy happening on after that but I had to switch onto to another projects also that freer and kind of during the month of stuff in my spare time so wasn't a huge deal progress over that period but as I kind of put picked away and then so last year it around the middle of last year on a sunday made my masters and social of previously foundations brides funding for that so for the 1st 18 months or so on and Cisco's still lots more funding as well just the last few months for a thesis on and so beginning that by was last patchily switches for work on and on and in there's not been any kind you since then it's and not going to into a bit about why that was the case on the space the contours and a redesigned implementation and so sitting by today to have a nice implementation that you can download a new patch dynamics and documentation and simple graphs and all this kind of stuff testing but the testing is kind of gone will never heard as is the case so often and so on testing things but that you catch the other parts OK so
about what is most of the city and anyway from the easiest way to explain and ideas in in a line is that if you have a process that has multiple interfaces or multiple addresses and allows you to use those addresses on a standard or not quantitatively connection on and is currently a couple implementations out there already so this Linux implementation which came out of some music and and probably the last couple years has been become pretty feature complete and quite stable arm and there's some Commission plementations the other most examples implementation for Serie its is beyond the scope and believes Citrix and a couple other companies have of water balances or proxies of use of which is of suspect
so why would we wanna use most of the city was covered advantages that you can get potentially from using multiple TCP the first one is this idea of persistence and redundancy but you can get the TCP generally the time I think I might things you have to address is not 1 of those interfaces disappears all you need to break that connection and the connection doesn't come back and its reestablish k of most ofhis as a as kind of an idea it's called a break before main where you can lose all connections underneath but we can keep the connection alive for a little while and if new interface pops up so the particles in the collection made from the application and this is how your the session by simply stays there and the kids life and so the other 2 here reduce congestion and increase efficiency now it might not necessarily be a unique case all the time but is used in the right so scenarios are fused right conditions control are also false they're no basically you can reduce congestion say you've got multiple parts ones of all Mexicans congestion control to steal traffic away from the congested off and so on and not of the reports on cost efficiency of basically if you've got this extra capacity there seems to be doesn't should usually user of course on answer 1 at time for the extra
path if we can decay so extent he's not make something you on basically a lot of cases where used TCP and so we don't need to modify them in order to use the the 8 so we can add and this extra functionality without changing applications at all and and then the considerations when designing the particle was economic work within the internet as it is today so I can be made to work that middle boxes which may not like particles which amounted appear to speak ahead we make it compatible so we can continue to use it but basically stating what we're within this so is like the
basic simple scenario harm and that's 1 of many people of course but the simplest 1 I so we'll have so of multiple interfaces on them us a cellular and Wi-Fi and let's say we've got that is the session was sent to heated session on a mobile phone OK if we move out of range of Wi-Fi access points and then out is the the session is essentially an end at that point and in time continue on from 1 transfer data need to set up the connection so in most of cases we can set up a connection the multicast connection is aware that we've multiple interfaces in this case so we've got wife I got a cellular interface on let's say Wi-Fi disappear so we go out of range and is able to internally than just transfer the day that the traffic to the so interface the so the
terminology underlying use 1 of the samplers a lot so mostly religious picture we can see how some of the parties in the works so we have a process may have a soccer on processes given TCP socket what will really get underneath is a it is if a connection let OPT speak connections given manage and a bunch of selfless underneath that kind of transparency and in order to to to to spread data from multiple parts and so forth so these green arrows here maybe 1 or 2 or 3 in this case we got so close sitting on the network on from the network's perspective I just looks like 3 unrelated TCP connections from from the process stated here the
application of the application of the anything about this just says is interested in case of in order to
set up some of this stuff and
control the samplers and
manager connections that needs to be some extra signaling and so again the least intrusive way in terms of being compatible with today's Internet was to use that TCP options mixture and it is the information so in this case you've got a new entities the option became a minimum option there are a bunch of subtypes them if you can see here but then up to the results of the variables even now but essentially got stuff that sets up new connections and new addresses to existing connections and provides some extra accounting information all told about how others signature sequence sitting on top of standard TCP file which is used to aggregate data from that a few other connections those things don't
understanding of a connection on flights important we've feedbacks on top of TCP essentially so the waters makes in the same place can adamantly cable that's the option that says I'm capable of using multiple TCP life the other boxes capable to use most participate by response time and and then on on the act on Losec again in the table and that point decision we considered multipath session even there were only just using 1 address at this
point so mean annals of Florida well always come ways to do that 1 racist advertise and say hey I've got this particular address available or if you want you can connect to it and so got at the top here are sending and and actual options so the Somerset connection and now in 1 of the packets were saying in our options they say about this of got an extra address if you want you can understand the connection you can try connect me OK so doing that on not already established interface here they are if the box choose to use consider assumed to that new address with empty joint so that the joint task relates to animal subquarters into a connection and again it goes to the handshake as TCP goes on and on and at this point and you can say became known that to subclause between face 1 and all respiratory here interface to an average speed of here K and you necessarily have to advertise and address we can simply joining from an address the you have can join directly into a connection and tokens that are used to identify and coming soon and so if you get in that house the joint on that's got some information about which mothercraft connection but 1 student and at that point has been in this case say yeah owner of connection and all continue to join this because on the crucial things about most participate it is the accounting so it's not participating analyticity has is by stream and we divided up into a sequence numbers and then we use that to track of segments during retransmits and all that kind of stuff on what we've got now is over multiple segments and local TCP self lawyers and we need to then aggregated data again at the receiver would say on how to reduce that on 1 I guess economy for is all you can just take a TCP space and spread that out of multiple samplers on can't do not necessarily because you may have middle box doesn't like the gaps in the sequence space let's say a set arms and there are 1 sub Florida are sent someone flora and as the jump in the sequence space because of health being multiplexed carry out of the box and like that so the solution for this was to add an extra level of accounting so available sequence space which sits above the self on amounts of data as it comes out of the sand buffer say we map into our individual so close so close retain their on regular TCP sequence numbering so they look like regular TCPs are and then later on we take care of aggregating all of those segments since about 2 levels of of state of numbers close to a sequence numbering now but now we need to acknowledge at most levels of the players will continue to send acknowledgment for for their self local sequence numbers on the data level will also need
intelligence and just to kind of visualize this to make it a bit easier so let's say we've got some there's a sense of how much you say on and among number them 1 to 10 so that's available sequence number now we want a map that data into 2 so close space lots of lots of to our minimax 3 3 bytes into each of those employers thank so the of the
samples now have their own sequence based point 1 15 51 52 lots of letters in a different sequence based on 1 importantly we've still got their level can't from this the again in this case our software to that same assurance attitude and point 1 so that that the data has arrived for simpler ones on which case we can act at this local level because not delivered as far as a selfless concern on however the was still out of order at this point so we need to keep that in the Assembly until receiver Irish on which case everything's in order we can do available at the 7 and we can do ourselves for actors well the 53 myself for this condition is
about model in a rock packet framing so got your fish the sequence of length and so forth and then you have an option which specifies will be available sequence is for this particular data segment on rules for its like itself charge takes so
condition controls kind of an interesting thing all would not participate in that part now that we have multiple so kind across all of these and and and basically changed condition is based on metrics of different software so say a particular subfloor has a lower RTT 2 or anything like that then we can say well across muscle close itself was performed better on increase the condition by this much and we send more data on that path and that's just full of course you necessarily have to do it that way because of for example the full of congestion control which says well you bottlenecks on the very fair qualities the face of the of standard TCP and to sell for a scale one-dimensional that they're not something up to a total greater than that 1 TCP on but if we don't have bottlenecks are we want to be able to say state traffic more towards the larger logic pipe in this case 2 so talked a bit about adding addresses and data sequence numbers and congestion control and scheduling things a actually work logically or how's that will come logically well the session control what total like TCP control what in fact very similar on that's and take care of all the accounting say things like you know wild next 1 sequence and is or what we're expecting to receive next at the data level on but also these are the kind of logical components that you would have anticipated necessarily to its path manager so apartment is going to be telling our decision what is the pulsar available these are addresses that I have or maybe you 1 join and the consignor and say you know uses part now all entries of the vector of all of this into a structure from round robin situation of the packet scheduling which basically takes care of like this in our itself or do we send on next need to determine that at some point and functional it does that come and so for the moment the built-in by Scheduler is just a round robin in but there can be other things and the congestion control so do we do couple condition control or do we just leave also close there own kind of uncoupled neuronal congestion control on that cannot be defined by the congestion of course these things are the tension I guess because we want to be able to make this flexible so we can get marks parents is has is always modular devices John experiment with different cost management different ways of life and uh parts into a connection or maybe not adding them into a connection do what you want to change how practices different state value use path with the lowest 1st then the pictures of a modular packages or if can you that understand with congestion control because sources said there's been
changes between those 2 point form . 5 and it's been a long time explaining any news about a new practice so there was the case for most of the major design we think in find for we went back and had to assess the implementation so hello was working on how well could I ask for example maintain this in the future so that merging with that was becoming issues and things like that and how much time do I spend merging things out how much parallel turned on each maintained under certain advantages and how things were done in the initial patch on but in terms of maintaining and kind of keeping in the TCP occurred separate from the TCP occurred so previously was very much intertwined on those low over the last time every time something changed in TCP IP inherent I would need to make a whole bunch of changes as a result of that so that the new approach and perhaps not the most well in terms of performance that may not be the best approach but in terms of logically separating things a little bit and being easier to maintain I think was a little bit easier and better to change and and that require quite a lot of rewriting arm of pretty much all of the current so some option imposing on and on the benefit of doing it in a way that is now that it's a little bit easier to support things like much of congestion control and scheduling and things like that because I have more an an overall view of the TTB
structures underneath so I was kind of like what equally well on the left here you can see this is what point you might get if you brought stand to the connection with the use of vertical blocks and usage of data that way OK so multipulse-based mentioned in in between soccer and the TCP layer and what happens is that on the most part is the control what contains a list of some sort of each of these samplers is basically a soccer Internet control what anticipate control what are women so as I look like in
terms of how does that change how TCP behaves so here's kind of simple diagram of what is the what look like on the same data segment OK we may need to reassemble some data or maybe in order to this case we can receive that was similar to the receive buffer we need to use the fact that yes that they segment our main updates the accounting Americans and there are other ways OK so how's it
changed now that most of the cities involved well let's say we just got flora animals control walk OK so also for some of the data segment containing OK we can still act that the self low-level but we have some that data that needs to be delivered to an applications over the past up to the data level OK we checked the data sequence numbers at that point reasonable if need to it's in order than we can deliver the data on do we need to act as what we've just received probably in which case we choose and use of flora and say hey you can use and the direct form in our our and so that out so in terms of
of the structures themselves how I will so if you're not if you're credit TCP socket you get something that looks like this so on that fall right you've got some sort of office for sending receiving data down the middle of you got your particle blocks so are you in the city and TCP control block please can the tracking all of your TCP statistics accounting and so forth and you got these are vertical books side here which say are my slope is going to send some data so let's call the appropriate TCP function to send the data that has
changed now is that we basically the retained try and retain as much as possible of the structure of the TCP socket underneath all really giving you when when you ask for a some extreme soccer is this multiple structure so there are a lot of it is replicated them based on what TCP was so we've got a send receive buffers now that we use the multi-task layer our multiple control what their and functions for handling sense and so forth but now if we say transcends some new data we can check analysis of selfless here say run target scheduling could be something like that to say that can use a particular sulfur and then we can call up on that so that is the function in order to complete that request so also a little bit now about how the send and receive kind of data structures have been changed a little bit so the anticipated the served symbol for some of the control walk you here is by surveying sense but not knowledge and syntax where we're gonna send next in our sequence space so let's say we sent some data there hasn't been acknowledged carelessly osmotic knowledge we can move you're forward drop that that that of the and on and so on and so forth as we work through the history so as a for arms mostly retaining socket structure of TCP but kind of a underneath of multipath so in this case it's got a multi-pulse and remember what we've got a couple of cell phones here gage of those has the incentive for binary obviously to speed control blocks and what we do is we can map our data using the penetration into different cell flows so in this case we created a map the map says a you'll understand this much data from the symbol for the data sequence starts at this point so that you can put that in your to speech options and what the data sequences you got this much data now so you can go ahead and send that OK so once employed start
sending away I would say we get another right coming in and now we want and all that the data to another so flawed so not up to the 2nd so for we can see that you know the sulfur here censored some data in the meantime has been acknowledged yet and now just to share our we can basically map non-contiguous data onto a and so a common doesn't know the difference really let's put another map on that 1st of for begin the selfless act independently started for this invader dx coming up very dropped from the start symbol for their independently eventually major a level at which point we can drop the data they're both of these will disappear
that point man in the street in
1 kind illustrated on this map here on this diagram sorry is that are this mapping that occurs from the main sent simplify I can actually be replicated across Mauldin so so let's say we map this section of data to a supplier here we can take that same bit data mapped into another cell floor and transmit them both at the same time whichever 1 axis 1st at the data level we can drop that the other software can continue to try and send it on and dystrophic locally when when it's acts at some level you get yeah 1 of the things I have will have to work the the use of the of the of the interior of my eyes so what's the point just repeat that 1 so the idea is that the 1st part ended up of yeah yeah so on or so yeah the right yes so this kind of basically it's cumulative reacting at the data level you can't drop in until so if for that and understand aligned walking so it saying is that if this data is sent and received an acknowledged 1st we can actually drop until all of this is the object so that's that's part of the 1 of the issues and scheduling really in nite you wanna create have 1 walking itself on by States sending your 1st on slow so far our sincerest on something that's quicker than the offered at the receiver and you can actually cleared out because you get conference for
basically not received our structures and art is a conical symmetry so all this is what might look like on TCP server are you guessing reason we wish for segments of come out of order and that's a MySpace of that segment whose recent ones being received in order because that's what we're expecting so contend that once the sort of that can get from since the application so of has changed now so the other members don't use receive buffer on any of the supporters of that may or may not change in the future but for the moment let's say we're seeing lot segments and again we've got 1 we're missing to our time we've got 4 OK so it is a temporary structure vehicle segment receive serve as a point where you generally a continual receive often always putting in its simplest here this little s here is basically saying about some in NPT the signaling case not relevant for the software process that on what sets of data across something like that what you wanna be doing is passing that of to the multipath player to process that are responsible that so in the case of the assignments of signaling on so within a few that 1 at the same time OK so other multipath
where we are using the receive buffer here so there are but we also need to do resembling so this kind of place so that had lion walking stuff so we've got a secondary sequence number center that's kind of arrived early we don't have 1 yes we need to buffer that we can't acknowledge anything at that point I hate but now we we've received this is going to be transferred from a segment received list into our a multipath control what which essentially has a list that of of segments of coming from each of you yourself flowers and going to process them a little bit like this field this segment of process incoming segments from if you're familiar with that so far all a bunch of self which will be attending segments into this list here in the multipath fertilization run at some point OK and that point it will persist their levels little segments any signaling that's arrived so that doesn't have any data on but it's not something that we need to process that we persist over time OK and recently is done if necessary in this case the file next expected segment so we can so those to the receive buffer on this can be delivered to application what's happened here is that we still haven't received our segment to on our sulfur for him on a montage of not here but what can
happen is if that takes too long to supplement going to that retransmit say we may get all the segments again or the multipath we may say that the selfless performing too slowly always try and trans the transfer of this informed 5 on on a different so for the case of Paris
that sort on simple topology so started with the EU with the patches and documentation is kind of like a baby's 1st from multiple topology that's described to me and I can go through what we might expect they can what might expect if you but if you rather catch eventually on simple experiment you can do is be and I just to see how things work and find out yourself from this case and this was not to harass 2 rounds in the middle whereas at a rate limit X. some of these connections so so that 1 7 2 4 8 limited to making the 2nd case basically just 1 is going connect supposed to our transferred 59 of data others not quite a lot in this network are also the keys quite date also do that all of RTT on and depending on what configured in the bottom job may get 1 so far we make it 2 or 3 on
so this so the 1st example is just a single cell was a single cell phone like part of a connected up here we've got a rate limit of the something to different from regular TCP have linear OK and when we look at the report it looks roughly a negative 2nd on and nothing much excitement happens so if you made a
little more interesting so now let's set up so that the first 1 connects to burst of the face on course to so serve we've got our initial connection which is going to be this blue 1 here and then once that is established this red line is going to be joined into the connection so the interesting thing here is that the both kind of traversing a bombing and again I'm using NMR robin scheduling so that's kind of the basic implementation of a go at the moment so essentially every time the process right so the data into the sum of all this just strike between different software is available case we get roughly 4
megabits 2nd OK Russell O'Connor expecting other both sharing that same same link on the by using uncoupled congestion control as well as mentioned so whether it's judgment errors are animals of player doesn't really got into that make it
so what if we then try a sort of an additive connection so got these 2 separate it made its 2nd link will so I can establish blue connection 1st and then add yellow connection afterwards as an additional so again so don't quite get are what we would expect some sort refugees on a so
support the software after foot so getting 6 million the 2nd problem you think we get aiming at 2nd part of the but why that might not be the case here but we can see is that OK we're getting a little bit more than 1 of those links on their answer gainful make
history with things that kind of interesting in this diagram is a little bit colorful and this long lines but basically the pathfinder waterfall if you say an address is available to the connection is confined to join them all up together so in this case we got to address to address is on each of those services and the role in trying connect to each other so you want with force of so it's got across the top here we've
got down here the red 1 has the full and we've got this extra green 1 which kind of connects the 2nd dress on each 1 the 2nd address on H 2 SO is alive and well but it looks quite
slow actually some all of the some 1 of doing about 2 megabit-per-second would really expect to get kind accumulative throughput of saying around 16 or whatever to I to all of rate-limited although there are why might this be the case well
if we just look at this talk of sulfur here so we can kind kind compare what happened in the cell floor arms across all under a single cell for another to solve Florida's now I've got full far what's happening just with this 1 some employer in terms of the
symbol file while sitting a long time not singing much data that's why because we've got such a long RTT we've got a 32 case and bottled waterfall which is now being divided up each time across for some this 1 oddities controlling everything probably not showing the benefit that we should be going out and so basically the simplest spending a lot of time with nothing innocent before not sending and it's kind of like an interesting point in terms of the common things that you see all have to start thinking about with multipath in terms of a k of how I handle all the aggregate traffic here on this case sophistication buffers not clearly not enough because we're not service sell ourselves lawyers that with enough data so that the status and
basically understanding documentation and small kind of testing for the next patch released so the page patterns of being a and being not so quite so easy to use straight out on the tension this time is to make sure it works quite well on it covers these kind of simple scenarios with round robin in with any new addresses in our and basically not the musical position control but it should essentially where in genetics experiment with the and online and relying on little bit to keep working so should
acknowledge a couple couple of institutions of this point so the the foundation which I was going to be different in terms of from my masters on and it's something is commonly done on some of the the landing to continue on this 1 this year elegance is characterized by funding a couple of occasions for multiple stuff and of course this the can for allowing me to come in and talk a little bit about 150 speed and so on and hopefully I'll pick some
interesting and maybe get some people interested in taking over the patch in the future may maybe providing comments criticisms will help in any way which would be good here the some here this my contacts that's the web page where where there's basically the patches and things so far the idea is that after next release of the recent kind of public repository where people can grab the source code but I'll update as well because it's a little bit out of date but it basically anything to do with the project is kind of on their own documentation all patches and all kinds of online learning questions I think we have questions and stuff like that but you see it here yeah you know yeah yeah so on until too much of a particle but this is 1 of in those considered and so this kind of fallback mechanism singleton so it was a very on trying of another new efficiency connection and that in the case of all our options stripped off because it's not ignorance came from that point on it'll just continue on the standard TCP connexion Elisa we establish a TCP connection so table works on but then later on 1 of the data mapping segments is dropped so that we have to be detected and an awful lot to regulatory what is the bond so that kind of stuff yeah this is there's a lot of that a lot don't testing and and much of that stuff myself but this gonna document elements in a couple years looking at that sort of thing on and basically coming up with contingencies for that but the authors of the your current work no yeah so such works on creating the uncontested extensively with everything but on the east I yes we should work and have them come basically out into space underneath them work as a TCP works on previously served the multiple stuff is just the kind of sequence numbering and so and take care of resampling stuff higher and most mostly on so stuff like 2nd such work still retransmits stuff is done are insanity speed that you will all over the world will say so you got to you all right but a sort of say in terms of our traditional troll works about centers can use congestion control so that we are asking in each all the whole world war 1 with the goal of this what yeah right all right in terms of the treating moving data to yeah so so the thing and condition program you use like kind of also something from purposes but it was 1 of the things can be can use in detection or you can use the RTC and and it's try and use that to grow the condition more on subfloors which have more bandwidth available and in similar on your country on your on your look and you do everything you do have traditional troll way to do that revolve path management as well scheduling as well so it's it's a time you have a little bit of information about particular of a particular part and then you may want to prefer and you can use the schedule it's kind of data on the meaning and knowing they can after a on the algorithms was it was this you know at this world of you know you see 1 is popularly for Acknowledgements on the relationship is the basis sodium about at the data level then yes on server which is 1 part it still needs to receive its TCP level Acknowledgements some comes back viruses and all possible rights up and up and you're right interface that will work on Beacon states in the data segment Acknowledgements on a completely different parts of the features you can say always nominate particular office and there's no an effect answers but is about this is available yet another 1 on the other hand if you have focus on 1 or and yet and so on and so the so I have a need for the center of the error things going on yeah I don't know anything about the fact that some of you're once we get the on and on so basically in that case if you're not getting your Acknowledgements back the TCP level in your supplementary transmit and time or whatever but and if it's all in there at the data level if if constant anything back on that on that path anymore and usually it's the other 1 year the easiest for and so what happens there is a secondary marketing origins back I generally can say well this also is going to retransmit out let's take a let's stuff that was outstanding are mapped to yourself on just send them to you all of a 3rd of whatever's Romania it's a lot of and I know think want I have to use and it can be either generally also however done that none of is is basically assume that OK what's what's at the client to connect and 1st but let's say in the issue I guess is you might consider a lot of clients being behind a reading you currently have a server connected by into a lot of clients in that case the kind fits most will connect scientists and it is the mother dress just joined that in this way yeah this so they can advertise that has other addresses available to you yeah all questions but on the to