1 00:00:06,320 --> 00:00:11,499 [Music] 2 00:00:16,800 --> 00:00:20,560 welcome back to the final talk today in 3 00:00:18,880 --> 00:00:23,359 the yuma theater 4 00:00:20,560 --> 00:00:25,840 this talk will be on nornet a unix and 5 00:00:23,359 --> 00:00:28,720 open source software-based international 6 00:00:25,840 --> 00:00:30,640 platform for networking research 7 00:00:28,720 --> 00:00:32,800 the talk will be given by thomas 8 00:00:30,640 --> 00:00:35,200 dropholtz 9 00:00:32,800 --> 00:00:37,600 uh who works as a chief research 10 00:00:35,200 --> 00:00:39,840 engineer for the similar metropolitan 11 00:00:37,600 --> 00:00:42,879 center for digital engineering simula 12 00:00:39,840 --> 00:00:45,039 met in oslo norway 13 00:00:42,879 --> 00:00:47,680 thomas will endeavor to allow time for 14 00:00:45,039 --> 00:00:51,199 questions at the end so please enter any 15 00:00:47,680 --> 00:00:54,239 questions in the tab in venulis 16 00:00:51,199 --> 00:00:56,640 take it away thomas 17 00:00:54,239 --> 00:01:00,320 thank you for the introduction then 18 00:00:56,640 --> 00:01:02,079 welcome to my presentation about our new 19 00:01:00,320 --> 00:01:05,040 net infrastructure 20 00:01:02,079 --> 00:01:07,439 first i will shortly introduce you the 21 00:01:05,040 --> 00:01:09,439 motivation of our work 22 00:01:07,439 --> 00:01:12,320 which is around multi-homing and 23 00:01:09,439 --> 00:01:13,280 multi-pass transport and then i come to 24 00:01:12,320 --> 00:01:16,080 some 25 00:01:13,280 --> 00:01:18,400 interesting details about our testbed 26 00:01:16,080 --> 00:01:21,119 infrastructure particularly with regard 27 00:01:18,400 --> 00:01:23,600 to virtual machines containers and 28 00:01:21,119 --> 00:01:25,759 multihold networking 29 00:01:23,600 --> 00:01:27,360 so what's the motivation of our work 30 00:01:25,759 --> 00:01:30,240 well let us look 31 00:01:27,360 --> 00:01:33,200 first at classic internet communication 32 00:01:30,240 --> 00:01:34,560 in the most basic property example 33 00:01:33,200 --> 00:01:36,880 a browsing 34 00:01:34,560 --> 00:01:39,840 when you use server browsing well you 35 00:01:36,880 --> 00:01:42,159 have a pc as a web browser having an 36 00:01:39,840 --> 00:01:44,880 ipv4 address 37 00:01:42,159 --> 00:01:47,360 this browser connects to app server 38 00:01:44,880 --> 00:01:49,840 which also has an ipv4 address 39 00:01:47,360 --> 00:01:51,520 and then you have over the tcp protocol 40 00:01:49,840 --> 00:01:54,720 with the 3bn check establish a 41 00:01:51,520 --> 00:01:56,799 connection with 3bn ventrac and 42 00:01:54,720 --> 00:01:58,000 we have classic client server 43 00:01:56,799 --> 00:02:01,600 communication 44 00:01:58,000 --> 00:02:04,000 this is the way most applications 45 00:02:01,600 --> 00:02:05,600 in the internet 46 00:02:04,000 --> 00:02:08,479 are working today 47 00:02:05,600 --> 00:02:10,879 what is a quite old 48 00:02:08,479 --> 00:02:12,000 way of communication 49 00:02:10,879 --> 00:02:14,800 it is 50 00:02:12,000 --> 00:02:17,120 likely it will work this way also for 51 00:02:14,800 --> 00:02:19,360 many other applications in the future 52 00:02:17,120 --> 00:02:20,400 but nowadays of course we have a bit 53 00:02:19,360 --> 00:02:22,319 more than 54 00:02:20,400 --> 00:02:23,840 such simple client server applications 55 00:02:22,319 --> 00:02:25,760 we have internet of things 56 00:02:23,840 --> 00:02:28,400 virtualization sensor networks cloud 57 00:02:25,760 --> 00:02:29,599 computing vehicle networks and many 58 00:02:28,400 --> 00:02:31,519 other things 59 00:02:29,599 --> 00:02:32,800 and these have of course 60 00:02:31,519 --> 00:02:35,680 more 61 00:02:32,800 --> 00:02:38,480 strict requirements on the communication 62 00:02:35,680 --> 00:02:41,599 particularly nowadays we not only have 63 00:02:38,480 --> 00:02:42,959 the ipv4 protocol we have ipv6 and with 64 00:02:41,599 --> 00:02:46,319 rpv6 65 00:02:42,959 --> 00:02:49,760 usually we have multiple addresses for 66 00:02:46,319 --> 00:02:52,640 interface and even multiple interfaces 67 00:02:49,760 --> 00:02:56,160 and usually today of course we have ipv4 68 00:02:52,640 --> 00:02:58,959 ipv6 dual stack devices so many 69 00:02:56,160 --> 00:03:01,120 computers today have both ipv4 address 70 00:02:58,959 --> 00:03:03,760 and ipv6 unless 71 00:03:01,120 --> 00:03:05,200 and today of course we have also 72 00:03:03,760 --> 00:03:08,000 mobility 73 00:03:05,200 --> 00:03:11,280 so probably everybody of you has a 74 00:03:08,000 --> 00:03:13,120 smartphone in his pocket 75 00:03:11,280 --> 00:03:16,000 it's quite convenient device so if you 76 00:03:13,120 --> 00:03:19,519 are at home you're using wi-fi 77 00:03:16,000 --> 00:03:20,239 if you go outside the device changes 78 00:03:19,519 --> 00:03:22,720 to 79 00:03:20,239 --> 00:03:23,519 for example here in oslo it is uh five 80 00:03:22,720 --> 00:03:24,879 three 81 00:03:23,519 --> 00:03:28,560 maybe um 82 00:03:24,879 --> 00:03:30,640 also 4g 3g depending on where you are 83 00:03:28,560 --> 00:03:32,400 and of course the smartphone would even 84 00:03:30,640 --> 00:03:34,080 have third interface 85 00:03:32,400 --> 00:03:36,480 or bluetooth 86 00:03:34,080 --> 00:03:39,200 same as classically 87 00:03:36,480 --> 00:03:41,840 a router because the router classically 88 00:03:39,200 --> 00:03:44,319 had these two interfaces 89 00:03:41,840 --> 00:03:46,799 and of course also depending on what 90 00:03:44,319 --> 00:03:49,760 kind of laptop computer you have we have 91 00:03:46,799 --> 00:03:52,879 also multiple interfaces like ethernet 92 00:03:49,760 --> 00:03:54,480 wi-fi and maybe even mobile broadband 93 00:03:52,879 --> 00:03:56,720 built-in 94 00:03:54,480 --> 00:03:58,159 so what can you do with multiple 95 00:03:56,720 --> 00:04:00,959 interfaces 96 00:03:58,159 --> 00:04:02,560 well you have the property that you are 97 00:04:00,959 --> 00:04:04,239 multi-homed 98 00:04:02,560 --> 00:04:06,319 if you have multiple other resistances 99 00:04:04,239 --> 00:04:08,080 you are connected to multiple networks 100 00:04:06,319 --> 00:04:11,040 so particularly 101 00:04:08,080 --> 00:04:13,120 you can connect to 102 00:04:11,040 --> 00:04:15,519 more than one internet service provider 103 00:04:13,120 --> 00:04:18,320 to have redundancy 104 00:04:15,519 --> 00:04:20,639 so look at this uh 105 00:04:18,320 --> 00:04:23,199 user of material here 106 00:04:20,639 --> 00:04:26,600 looks not that convinced about this 107 00:04:23,199 --> 00:04:28,720 redundancy what's the problem with 108 00:04:26,600 --> 00:04:31,759 redundancy is nice if something goes 109 00:04:28,720 --> 00:04:34,479 wrong then you still have connectivity 110 00:04:31,759 --> 00:04:37,600 but if nothing goes wrong 111 00:04:34,479 --> 00:04:40,000 well if you are connected to two isps 112 00:04:37,600 --> 00:04:42,240 each month you receive two internet 113 00:04:40,000 --> 00:04:44,080 bills 114 00:04:42,240 --> 00:04:46,240 for example in australia maybe an 115 00:04:44,080 --> 00:04:48,240 internet bill from optos another one 116 00:04:46,240 --> 00:04:49,360 from telstra 117 00:04:48,240 --> 00:04:50,320 well 118 00:04:49,360 --> 00:04:52,479 paying 119 00:04:50,320 --> 00:04:54,000 double the amount necessary is not 120 00:04:52,479 --> 00:04:55,440 really nice 121 00:04:54,000 --> 00:04:59,520 obviously 122 00:04:55,440 --> 00:05:00,479 so um in 99.9 something percent of the 123 00:04:59,520 --> 00:05:02,400 time 124 00:05:00,479 --> 00:05:04,400 nothing goes wrong and you do not 125 00:05:02,400 --> 00:05:05,840 appreciate redundancy 126 00:05:04,400 --> 00:05:08,639 so can you do something with a 127 00:05:05,840 --> 00:05:08,639 redundancy 128 00:05:08,800 --> 00:05:13,440 uh when everything is okay 129 00:05:12,000 --> 00:05:16,080 there is the possibility to do 130 00:05:13,440 --> 00:05:17,360 multi-pass transport if you have two rsp 131 00:05:16,080 --> 00:05:19,680 connections 132 00:05:17,360 --> 00:05:21,120 why not trust utilizing them both 133 00:05:19,680 --> 00:05:24,160 simultaneously 134 00:05:21,120 --> 00:05:25,840 then at least if everything is okay 135 00:05:24,160 --> 00:05:28,560 usually 136 00:05:25,840 --> 00:05:30,800 you get a higher bandwidth 137 00:05:28,560 --> 00:05:31,600 this is of course nice 138 00:05:30,800 --> 00:05:33,840 so 139 00:05:31,600 --> 00:05:35,039 with tcp of course classical tcp 140 00:05:33,840 --> 00:05:37,199 communication 141 00:05:35,039 --> 00:05:39,440 is established between two ipv4 142 00:05:37,199 --> 00:05:42,240 addresses this does not work but there 143 00:05:39,440 --> 00:05:44,320 is an extension multi-pass sap 144 00:05:42,240 --> 00:05:46,880 which supports multi-homing and 145 00:05:44,320 --> 00:05:48,720 particularly multi-pass transport 146 00:05:46,880 --> 00:05:51,280 and then it works 147 00:05:48,720 --> 00:05:53,759 also if you are using the sctp protocol 148 00:05:51,280 --> 00:05:55,120 which already has built-in support for 149 00:05:53,759 --> 00:05:57,840 multi-homing 150 00:05:55,120 --> 00:06:01,520 you can add an extension from current 151 00:05:57,840 --> 00:06:04,479 multi-path transfer for satp cmp-sdp 152 00:06:01,520 --> 00:06:07,280 to also have multi-path transport 153 00:06:04,479 --> 00:06:08,479 so in either case you get multi-pass 154 00:06:07,280 --> 00:06:11,120 transport 155 00:06:08,479 --> 00:06:13,280 so you can utilize multiple network 156 00:06:11,120 --> 00:06:15,360 connections simultaneously which is a 157 00:06:13,280 --> 00:06:18,000 quite nice thing and therefore it is 158 00:06:15,360 --> 00:06:20,720 also a topic in research and 159 00:06:18,000 --> 00:06:22,240 standardization 160 00:06:20,720 --> 00:06:24,880 so 161 00:06:22,240 --> 00:06:27,120 let me shortly go into a little bit more 162 00:06:24,880 --> 00:06:31,759 detail about multi-parts transport 163 00:06:27,120 --> 00:06:33,840 particularly with mpdcp or cmkcp how 164 00:06:31,759 --> 00:06:35,840 does it work 165 00:06:33,840 --> 00:06:37,840 looking at the 166 00:06:35,840 --> 00:06:39,759 osa motor stack 167 00:06:37,840 --> 00:06:41,120 you have the application 168 00:06:39,759 --> 00:06:44,160 protocol 169 00:06:41,120 --> 00:06:47,039 in the application layer on top 170 00:06:44,160 --> 00:06:49,039 of of course the kernel 171 00:06:47,039 --> 00:06:50,319 which implements the transport layer 172 00:06:49,039 --> 00:06:53,919 that is 173 00:06:50,319 --> 00:06:56,800 mptcp or cmt-sctp as part of the 174 00:06:53,919 --> 00:06:58,800 implementation of dcp or sctp 175 00:06:56,800 --> 00:07:01,360 and application protocol communicates 176 00:06:58,800 --> 00:07:02,720 with the transport layer over the socket 177 00:07:01,360 --> 00:07:04,720 api 178 00:07:02,720 --> 00:07:07,120 that is 179 00:07:04,720 --> 00:07:08,400 the user space communicates with the 180 00:07:07,120 --> 00:07:10,479 kernel 181 00:07:08,400 --> 00:07:12,160 over this socket api 182 00:07:10,479 --> 00:07:15,919 and network layer of course you have 183 00:07:12,160 --> 00:07:16,960 ipv4 as well as rpv6 so as i've said 184 00:07:15,919 --> 00:07:20,240 usually 185 00:07:16,960 --> 00:07:22,160 you have a dual stack today 186 00:07:20,240 --> 00:07:25,680 so now the transfer protocol can 187 00:07:22,160 --> 00:07:28,160 establish paths or so-called subfloors 188 00:07:25,680 --> 00:07:31,599 over the underlying network protocols 189 00:07:28,160 --> 00:07:33,680 that is subfloors over ipv4 and ipv6 you 190 00:07:31,599 --> 00:07:36,800 can even mix 191 00:07:33,680 --> 00:07:38,080 some flows with ipv4 and rpv6 so you can 192 00:07:36,800 --> 00:07:39,599 have 193 00:07:38,080 --> 00:07:41,280 uh 194 00:07:39,599 --> 00:07:44,479 mp3 connection 195 00:07:41,280 --> 00:07:45,840 both using ipv4 and ipv6 in the most 196 00:07:44,479 --> 00:07:47,919 extreme case 197 00:07:45,840 --> 00:07:51,199 you can even start a connection in a 198 00:07:47,919 --> 00:07:52,400 pure ipv4 network later at ipv6 199 00:07:51,199 --> 00:07:54,319 addresses 200 00:07:52,400 --> 00:07:57,520 and finally remove 201 00:07:54,319 --> 00:08:00,800 the rpv4 addresses so you can upgrade 202 00:07:57,520 --> 00:08:03,360 your system from ipv4 to fpv6 203 00:08:00,800 --> 00:08:05,759 without breaking connections 204 00:08:03,360 --> 00:08:08,879 it's of course quite extreme case but at 205 00:08:05,759 --> 00:08:12,560 least it is possible of course 206 00:08:08,879 --> 00:08:15,280 so now we have subflows but how to 207 00:08:12,560 --> 00:08:18,080 put user data payload data onto the 208 00:08:15,280 --> 00:08:19,680 surface and this decision is made by the 209 00:08:18,080 --> 00:08:23,120 scheduler 210 00:08:19,680 --> 00:08:26,319 also far so simple but they of course 211 00:08:23,120 --> 00:08:29,120 are challenges for multi-pass transport 212 00:08:26,319 --> 00:08:30,160 one of the shelves are particularly that 213 00:08:29,120 --> 00:08:32,479 parts 214 00:08:30,160 --> 00:08:33,599 in the network some frozen network may 215 00:08:32,479 --> 00:08:35,839 overlap 216 00:08:33,599 --> 00:08:37,360 particularly if they share the same 217 00:08:35,839 --> 00:08:38,719 bottleneck link somewhere in the 218 00:08:37,360 --> 00:08:41,120 internet 219 00:08:38,719 --> 00:08:43,360 if we have multiple subfloors running 220 00:08:41,120 --> 00:08:46,399 over the same share bottleneck 221 00:08:43,360 --> 00:08:48,240 compared to a concurrent tcp connection 222 00:08:46,399 --> 00:08:50,560 you get of course more bandwidth which 223 00:08:48,240 --> 00:08:52,839 is unfair so fairness is one challenge 224 00:08:50,560 --> 00:08:54,399 and the other challenge is of course 225 00:08:52,839 --> 00:08:56,320 scheduling 226 00:08:54,399 --> 00:08:57,839 when you think of subfloors maybe you 227 00:08:56,320 --> 00:09:00,160 think of 228 00:08:57,839 --> 00:09:03,200 subfloors having very similar 229 00:09:00,160 --> 00:09:05,440 characteristics regarding bandwidth 230 00:09:03,200 --> 00:09:07,680 delay and packet loss 231 00:09:05,440 --> 00:09:10,320 but of course usually in the internet 232 00:09:07,680 --> 00:09:12,640 such sub-rows are quite dissimilar 233 00:09:10,320 --> 00:09:14,240 and then it makes sense to very 234 00:09:12,640 --> 00:09:16,240 carefully think about 235 00:09:14,240 --> 00:09:18,640 which subfloors to use and which 236 00:09:16,240 --> 00:09:21,120 sufferers do not use particularly to get 237 00:09:18,640 --> 00:09:25,200 a good performance performance maybe 238 00:09:21,120 --> 00:09:27,360 bandwidth but also some applications are 239 00:09:25,200 --> 00:09:30,240 latency sensitive 240 00:09:27,360 --> 00:09:31,760 so maybe then it's not useful to use a 241 00:09:30,240 --> 00:09:33,920 subfloor where you can get the highest 242 00:09:31,760 --> 00:09:35,600 low port but where you have the lowest 243 00:09:33,920 --> 00:09:37,440 contraption 244 00:09:35,600 --> 00:09:40,160 so a lot of challenges 245 00:09:37,440 --> 00:09:41,279 and of course the research for this is 246 00:09:40,160 --> 00:09:43,680 necessary 247 00:09:41,279 --> 00:09:46,240 but let me first introduce you how to 248 00:09:43,680 --> 00:09:50,000 use mptcp 249 00:09:46,240 --> 00:09:51,920 well it's defined as an rc but with some 250 00:09:50,000 --> 00:09:55,360 open topics still 251 00:09:51,920 --> 00:09:57,839 but with mptcp you can make a system 252 00:09:55,360 --> 00:10:00,000 capable of multi-pass transport 253 00:09:57,839 --> 00:10:02,240 by extending the 254 00:10:00,000 --> 00:10:05,600 old tcp protocol 255 00:10:02,240 --> 00:10:08,399 and particularly nice feature of mptcp 256 00:10:05,600 --> 00:10:11,360 is that is quite backwards compatible so 257 00:10:08,399 --> 00:10:13,120 on the wire communications and btcp 258 00:10:11,360 --> 00:10:14,720 look like 259 00:10:13,120 --> 00:10:17,920 normal 260 00:10:14,720 --> 00:10:21,839 tcp connections so the subfloors look 261 00:10:17,920 --> 00:10:25,120 like regular tcp connections that is 262 00:10:21,839 --> 00:10:28,000 mptcp will also work usually over middle 263 00:10:25,120 --> 00:10:29,920 boxes that particularly means network 264 00:10:28,000 --> 00:10:31,760 and portables installation as well as 265 00:10:29,920 --> 00:10:34,000 firewalls and such 266 00:10:31,760 --> 00:10:38,079 so it's quite nice because of this 267 00:10:34,000 --> 00:10:40,079 compatibility so it is easy to use 268 00:10:38,079 --> 00:10:41,680 in existing networks 269 00:10:40,079 --> 00:10:44,320 and the nice thing is there is a quite 270 00:10:41,680 --> 00:10:47,200 good implementation for linux available 271 00:10:44,320 --> 00:10:48,640 from university catholic dilemma in 272 00:10:47,200 --> 00:10:52,240 belgium 273 00:10:48,640 --> 00:10:54,959 and also swinburne university has some 274 00:10:52,240 --> 00:10:56,560 years ago started an implementation for 275 00:10:54,959 --> 00:10:59,040 freebase day 276 00:10:56,560 --> 00:11:01,519 so there are two open source 277 00:10:59,040 --> 00:11:03,519 implementations available 278 00:11:01,519 --> 00:11:05,600 so um 279 00:11:03,519 --> 00:11:07,680 how can you now use 280 00:11:05,600 --> 00:11:10,480 it particularly on the linux because we 281 00:11:07,680 --> 00:11:14,320 are here at the linux once 282 00:11:10,480 --> 00:11:17,200 well um obviously you need an empty dcp 283 00:11:14,320 --> 00:11:19,839 capable curl but is not a big deal you 284 00:11:17,200 --> 00:11:22,000 can just compile one 285 00:11:19,839 --> 00:11:23,839 so let me give an example 286 00:11:22,000 --> 00:11:27,440 we have a computer which is connected to 287 00:11:23,839 --> 00:11:30,640 the internet over an internet 288 00:11:27,440 --> 00:11:32,480 open standard interface eth0 289 00:11:30,640 --> 00:11:34,880 and obviously we want multi-homing and 290 00:11:32,480 --> 00:11:35,920 multi-pass transport so we make a second 291 00:11:34,880 --> 00:11:39,680 connection 292 00:11:35,920 --> 00:11:43,279 over eth1 to a second isp 293 00:11:39,680 --> 00:11:45,200 so does it now work multi-pass transport 294 00:11:43,279 --> 00:11:47,680 with mptcp 295 00:11:45,200 --> 00:11:50,399 no there is a bit missing yet 296 00:11:47,680 --> 00:11:52,639 the first problem is of course if we 297 00:11:50,399 --> 00:11:54,959 have such a setup we have 298 00:11:52,639 --> 00:11:56,560 probably a default route over one of the 299 00:11:54,959 --> 00:11:57,920 rsps 300 00:11:56,560 --> 00:12:01,040 and 301 00:11:57,920 --> 00:12:04,480 of course then the linux roding stack 302 00:12:01,040 --> 00:12:07,360 uses the route which is lowest metric 303 00:12:04,480 --> 00:12:10,560 which in this case would be over isp1 so 304 00:12:07,360 --> 00:12:14,639 all traffic would go over isp1 305 00:12:10,560 --> 00:12:16,880 while sp2 would not be utilized 306 00:12:14,639 --> 00:12:18,959 of course not what we want we have to do 307 00:12:16,880 --> 00:12:21,440 something in addition 308 00:12:18,959 --> 00:12:22,320 and the solution under linux is routing 309 00:12:21,440 --> 00:12:25,440 holes 310 00:12:22,320 --> 00:12:28,320 so we in fact we have to define separate 311 00:12:25,440 --> 00:12:30,240 routing tables for each isp 312 00:12:28,320 --> 00:12:32,639 sb1 and the isp2 313 00:12:30,240 --> 00:12:35,120 and then select for an outgoing packet 314 00:12:32,639 --> 00:12:37,200 according to the source address 315 00:12:35,120 --> 00:12:40,240 which routing table to use 316 00:12:37,200 --> 00:12:42,160 so let me explain this in a 317 00:12:40,240 --> 00:12:44,480 small example 318 00:12:42,160 --> 00:12:47,120 if again our computer and we now 319 00:12:44,480 --> 00:12:49,920 configure an rp address 320 00:12:47,120 --> 00:12:54,240 for ethernet 0 321 00:12:49,920 --> 00:12:57,600 10 1 142 as slash 24 network 322 00:12:54,240 --> 00:12:59,519 and of course we define a default route 323 00:12:57,600 --> 00:13:01,360 and this goes of course in the main 324 00:12:59,519 --> 00:13:04,720 routing table 325 00:13:01,360 --> 00:13:08,240 this is as classic network configuration 326 00:13:04,720 --> 00:13:11,279 under is but now as i've said we want an 327 00:13:08,240 --> 00:13:13,040 additional routing table for isb1 328 00:13:11,279 --> 00:13:14,880 so we define 329 00:13:13,040 --> 00:13:17,360 a new table 330 00:13:14,880 --> 00:13:20,880 and since the new table number one is 331 00:13:17,360 --> 00:13:23,920 empty we have also to define routing for 332 00:13:20,880 --> 00:13:27,600 the local scope 333 00:13:23,920 --> 00:13:30,639 and of course then at the default route 334 00:13:27,600 --> 00:13:32,880 and the same we can do for ethernet one 335 00:13:30,639 --> 00:13:38,079 for the second rsp in this case we use 336 00:13:32,880 --> 00:13:40,399 the address 172 16 142 as again as 337 00:13:38,079 --> 00:13:42,800 slash 24 network 338 00:13:40,399 --> 00:13:46,000 and create a second table table number 339 00:13:42,800 --> 00:13:47,519 two with the local scope as well as our 340 00:13:46,000 --> 00:13:49,760 default route 341 00:13:47,519 --> 00:13:51,279 so now we have in addition to the main 342 00:13:49,760 --> 00:13:53,360 routing table 343 00:13:51,279 --> 00:13:58,079 two additional tables table one and 344 00:13:53,360 --> 00:13:58,079 table two for isb1 and the iceberg two 345 00:13:58,560 --> 00:14:03,440 so now missing is just a selector so we 346 00:14:02,560 --> 00:14:06,399 add 347 00:14:03,440 --> 00:14:10,079 two routing holes so if a packet is 348 00:14:06,399 --> 00:14:12,160 coming from the source address 10 142 we 349 00:14:10,079 --> 00:14:16,160 use table number one 350 00:14:12,160 --> 00:14:20,800 and if the packet is coming from 172 16 351 00:14:16,160 --> 00:14:20,800 142 we use table number two 352 00:14:21,120 --> 00:14:24,160 table number one and terminal number two 353 00:14:22,800 --> 00:14:27,600 are numbers 354 00:14:24,160 --> 00:14:30,320 if you like you can also use etc upo 2 355 00:14:27,600 --> 00:14:32,480 arctic tables to give these tables names 356 00:14:30,320 --> 00:14:36,160 for example if you are connected 357 00:14:32,480 --> 00:14:40,560 to optos and telstra you can 358 00:14:36,160 --> 00:14:40,560 name the tables optos and telstra 359 00:14:43,040 --> 00:14:48,320 us look yeah we have configured now we 360 00:14:45,600 --> 00:14:51,040 have the routing holds particularly the 361 00:14:48,320 --> 00:14:52,480 lookup for table number one and table 362 00:14:51,040 --> 00:14:53,920 number two according to the source 363 00:14:52,480 --> 00:14:56,320 address 364 00:14:53,920 --> 00:14:59,839 and as i've said these name tables can 365 00:14:56,320 --> 00:15:01,920 also be named if it is more convenient 366 00:14:59,839 --> 00:15:04,160 usually these tables just have numbers 367 00:15:01,920 --> 00:15:07,600 and internally of course these 368 00:15:04,160 --> 00:15:09,760 tables have just numbers but there is a 369 00:15:07,600 --> 00:15:11,279 mapping of symbolical names to these 370 00:15:09,760 --> 00:15:14,000 numbers 371 00:15:11,279 --> 00:15:15,120 and we have of course 372 00:15:14,000 --> 00:15:17,519 now 373 00:15:15,120 --> 00:15:19,600 our routing table number one 374 00:15:17,519 --> 00:15:21,760 as i've said with the local scope as 375 00:15:19,600 --> 00:15:23,839 well as the default route and the same 376 00:15:21,760 --> 00:15:26,160 for table number two with local scope 377 00:15:23,839 --> 00:15:28,639 and default route in this case for isp 378 00:15:26,160 --> 00:15:29,839 number two 379 00:15:28,639 --> 00:15:31,920 so 380 00:15:29,839 --> 00:15:34,240 and of course finally we have the main 381 00:15:31,920 --> 00:15:36,959 routing table the default this is the 382 00:15:34,240 --> 00:15:38,480 standard routing table used for all 383 00:15:36,959 --> 00:15:42,560 other packets 384 00:15:38,480 --> 00:15:44,399 not matching to one of our two new 385 00:15:42,560 --> 00:15:46,800 rb holes 386 00:15:44,399 --> 00:15:48,240 so now our working can work 387 00:15:46,800 --> 00:15:49,920 with um 388 00:15:48,240 --> 00:15:51,680 rpv4 389 00:15:49,920 --> 00:15:53,279 questions of course nowadays we have 390 00:15:51,680 --> 00:15:55,600 ipv6 391 00:15:53,279 --> 00:15:57,920 usually in addition to ipv4 does it work 392 00:15:55,600 --> 00:15:59,120 with rpg v6 as well 393 00:15:57,920 --> 00:16:01,519 yes of course 394 00:15:59,120 --> 00:16:02,720 you can do the same also for ipv6 that 395 00:16:01,519 --> 00:16:03,600 is 396 00:16:02,720 --> 00:16:07,199 get 397 00:16:03,600 --> 00:16:08,880 an rgb6 address for ethernet 0 398 00:16:07,199 --> 00:16:11,680 create 399 00:16:08,880 --> 00:16:13,120 also the rounding table number one for 400 00:16:11,680 --> 00:16:15,600 ipv6 401 00:16:13,120 --> 00:16:17,839 important to mention is of course ipv4 402 00:16:15,600 --> 00:16:21,199 and ipv6 are different protocols they 403 00:16:17,839 --> 00:16:24,240 have both their separate routing tables 404 00:16:21,199 --> 00:16:26,000 so in this case of course this is ipp6 405 00:16:24,240 --> 00:16:28,320 table number one 406 00:16:26,000 --> 00:16:30,959 and before we have configured everything 407 00:16:28,320 --> 00:16:33,600 for ipv4 table number one 408 00:16:30,959 --> 00:16:35,759 but otherwise it is the same as before 409 00:16:33,600 --> 00:16:39,440 for ipv4 as we can 410 00:16:35,759 --> 00:16:41,040 define our two routing tables for rb6 411 00:16:39,440 --> 00:16:44,560 and also 412 00:16:41,040 --> 00:16:47,199 set ipv6 routing rules to select cable 413 00:16:44,560 --> 00:16:49,519 number one or table number two according 414 00:16:47,199 --> 00:16:51,120 to the source address of an outgoing 415 00:16:49,519 --> 00:16:54,240 packet 416 00:16:51,120 --> 00:16:55,519 so now depending on the configuration we 417 00:16:54,240 --> 00:16:58,079 have made now 418 00:16:55,519 --> 00:16:59,759 mptcp or if you have an implementation 419 00:16:58,079 --> 00:17:02,079 of cmt stp 420 00:16:59,759 --> 00:17:04,079 can make use 421 00:17:02,079 --> 00:17:07,280 of this new outing and fbtcp 422 00:17:04,079 --> 00:17:10,559 particularly with full mesh pass manager 423 00:17:07,280 --> 00:17:14,880 will then of course use all paths 424 00:17:10,559 --> 00:17:16,160 simultaneously this of course can be 425 00:17:14,880 --> 00:17:17,679 tested 426 00:17:16,160 --> 00:17:20,319 by booting 427 00:17:17,679 --> 00:17:22,559 an mptcp enabled kernel particular 428 00:17:20,319 --> 00:17:24,480 useful mesh pass manager which has to be 429 00:17:22,559 --> 00:17:26,720 configured in the settings of the kernel 430 00:17:24,480 --> 00:17:27,520 to be compiled 431 00:17:26,720 --> 00:17:29,039 and 432 00:17:27,520 --> 00:17:31,440 then of course you can 433 00:17:29,039 --> 00:17:34,240 test this with ping and particularly 434 00:17:31,440 --> 00:17:36,240 tools like for example network meter 435 00:17:34,240 --> 00:17:37,840 i'll come to this tool 436 00:17:36,240 --> 00:17:40,559 later again 437 00:17:37,840 --> 00:17:43,919 and particularly quite recommended if 438 00:17:40,559 --> 00:17:46,720 you learn about mptcp and multi-pass 439 00:17:43,919 --> 00:17:48,720 transport it's quite convenient to also 440 00:17:46,720 --> 00:17:51,280 observe the packet flow 441 00:17:48,720 --> 00:17:54,080 and particularly this is helpful 442 00:17:51,280 --> 00:17:55,760 if something is not working as expected 443 00:17:54,080 --> 00:17:56,480 for debugging 444 00:17:55,760 --> 00:17:59,280 so 445 00:17:56,480 --> 00:18:02,799 you can use wireshark or command to 446 00:17:59,280 --> 00:18:05,520 t-shark to do this 447 00:18:02,799 --> 00:18:08,160 so far the idea of multi-pass transport 448 00:18:05,520 --> 00:18:09,760 particularly with mptcp 449 00:18:08,160 --> 00:18:12,160 and of course 450 00:18:09,760 --> 00:18:14,559 i've suffered 451 00:18:12,160 --> 00:18:15,679 research around multi-path transport is 452 00:18:14,559 --> 00:18:17,919 necessary 453 00:18:15,679 --> 00:18:21,200 so how to do research 454 00:18:17,919 --> 00:18:23,520 well um years ago i worked for a 455 00:18:21,200 --> 00:18:25,280 university in germany at the university 456 00:18:23,520 --> 00:18:28,160 of glensburg essen 457 00:18:25,280 --> 00:18:30,240 and i my colleague wanted to do research 458 00:18:28,160 --> 00:18:32,160 on multi-pass transport particularly 459 00:18:30,240 --> 00:18:34,559 with cmt satp 460 00:18:32,160 --> 00:18:37,520 but also with mpt sigp 461 00:18:34,559 --> 00:18:40,400 so we asked our system to give us 462 00:18:37,520 --> 00:18:43,600 hardware we had some old pcs 463 00:18:40,400 --> 00:18:45,360 some old switches a lot of cables and 464 00:18:43,600 --> 00:18:46,559 some network cards we put everything 465 00:18:45,360 --> 00:18:48,480 together 466 00:18:46,559 --> 00:18:50,160 and obviously 467 00:18:48,480 --> 00:18:53,280 did not work 468 00:18:50,160 --> 00:18:55,440 um the setup was quite cheap was in fact 469 00:18:53,280 --> 00:18:57,919 for free we did not need a special 470 00:18:55,440 --> 00:19:00,559 budget because the old hardware was all 471 00:18:57,919 --> 00:19:00,559 literally there 472 00:19:01,840 --> 00:19:06,640 but it was only treatment of paper 473 00:19:04,480 --> 00:19:09,200 so particularly this hardware had 474 00:19:06,640 --> 00:19:11,200 sometimes issues particularly 475 00:19:09,200 --> 00:19:13,520 we observe that the network cards 476 00:19:11,200 --> 00:19:16,640 sometimes switch from 100 megabits per 477 00:19:13,520 --> 00:19:19,360 second to 10 million per second just for 478 00:19:16,640 --> 00:19:23,440 a few milliseconds and then switch back 479 00:19:19,360 --> 00:19:24,240 but the paths or some flows 480 00:19:23,440 --> 00:19:26,559 were 481 00:19:24,240 --> 00:19:27,760 assumed to be 482 00:19:26,559 --> 00:19:29,440 having 483 00:19:27,760 --> 00:19:31,679 very similar characteristics 484 00:19:29,440 --> 00:19:35,200 particularly same bandwidth of course 485 00:19:31,679 --> 00:19:37,280 became extremely dissimilar when a card 486 00:19:35,200 --> 00:19:39,679 switched to 10 megabits per second it's 487 00:19:37,280 --> 00:19:41,440 just one tenth of the bandwidth on one 488 00:19:39,679 --> 00:19:43,600 pass 489 00:19:41,440 --> 00:19:45,200 so um this trigger of course packs the 490 00:19:43,600 --> 00:19:49,440 implementation so we did a lot of 491 00:19:45,200 --> 00:19:50,240 debugging of sctp in the freebsd kernel 492 00:19:49,440 --> 00:19:51,440 but 493 00:19:50,240 --> 00:19:53,520 finally 494 00:19:51,440 --> 00:19:54,799 we were able to find these bugs fix 495 00:19:53,520 --> 00:19:56,720 these bugs 496 00:19:54,799 --> 00:19:59,120 and prove that 497 00:19:56,720 --> 00:20:01,919 simulations we made in advance with the 498 00:19:59,120 --> 00:20:04,559 simulation model were actually quite 499 00:20:01,919 --> 00:20:09,039 well modeling the reality we were able 500 00:20:04,559 --> 00:20:10,720 to create in this small testbed center 501 00:20:09,039 --> 00:20:12,400 and of course we 502 00:20:10,720 --> 00:20:15,039 were already very committed to open 503 00:20:12,400 --> 00:20:16,960 source community so we provided of 504 00:20:15,039 --> 00:20:18,320 course all these bug fixes back to the 505 00:20:16,960 --> 00:20:20,480 freebsd 506 00:20:18,320 --> 00:20:23,120 satb community 507 00:20:20,480 --> 00:20:24,880 to make the implementation in freebsd 508 00:20:23,120 --> 00:20:27,039 better 509 00:20:24,880 --> 00:20:30,640 and as part of this i wrote they 510 00:20:27,039 --> 00:20:34,080 mentioned two networth meter to do 511 00:20:30,640 --> 00:20:36,000 protocol performance comparisons between 512 00:20:34,080 --> 00:20:39,039 tcp smtp 513 00:20:36,000 --> 00:20:41,120 udp and dccp with the different 514 00:20:39,039 --> 00:20:44,559 parameter settings so quite useful tool 515 00:20:41,120 --> 00:20:47,120 which is also nowadays available 516 00:20:44,559 --> 00:20:49,600 in debian linux ubuntu linux and other 517 00:20:47,120 --> 00:20:51,840 distributions 518 00:20:49,600 --> 00:20:54,240 well this small setup had of course a 519 00:20:51,840 --> 00:20:56,720 lot of learning effects and new ideas 520 00:20:54,240 --> 00:20:57,760 around multi-pass transport and research 521 00:20:56,720 --> 00:21:01,039 on this 522 00:20:57,760 --> 00:21:02,799 so the idea was of course then well we 523 00:21:01,039 --> 00:21:06,240 did research on 524 00:21:02,799 --> 00:21:09,440 internet protocols but obviously such a 525 00:21:06,240 --> 00:21:11,679 testbed is an internet setup 526 00:21:09,440 --> 00:21:13,919 so let's go to the internet 527 00:21:11,679 --> 00:21:16,159 so we were able to convince colleagues 528 00:21:13,919 --> 00:21:18,320 at two other universities 529 00:21:16,159 --> 00:21:21,120 university of berlin science in book 530 00:21:18,320 --> 00:21:22,720 strandford and germany as well as hanan 531 00:21:21,120 --> 00:21:24,799 university in china 532 00:21:22,720 --> 00:21:26,799 to also create 533 00:21:24,799 --> 00:21:29,039 testbed setups 534 00:21:26,799 --> 00:21:30,480 connected at each site to two different 535 00:21:29,039 --> 00:21:33,440 isps 536 00:21:30,480 --> 00:21:36,080 so we had an intercontinental setup with 537 00:21:33,440 --> 00:21:37,200 three sites to germany to try the one in 538 00:21:36,080 --> 00:21:40,400 china 539 00:21:37,200 --> 00:21:42,400 and all these sites had two isps with 540 00:21:40,400 --> 00:21:44,640 rb4 and 541 00:21:42,400 --> 00:21:46,960 mostly also ipv6 542 00:21:44,640 --> 00:21:49,360 so quite interesting we had a small 543 00:21:46,960 --> 00:21:52,080 internet setup and we were able to do 544 00:21:49,360 --> 00:21:53,679 more evaluation work on cmt satp as well 545 00:21:52,080 --> 00:21:56,159 as mptcp 546 00:21:53,679 --> 00:21:58,559 the shredder of course to a lot of many 547 00:21:56,159 --> 00:22:00,960 to a lot of new ideas 548 00:21:58,559 --> 00:22:02,080 but of course one of these ideas was 549 00:22:00,960 --> 00:22:04,080 obviously 550 00:22:02,080 --> 00:22:07,520 we had a three side setup 551 00:22:04,080 --> 00:22:08,799 but still quite small compared to the 552 00:22:07,520 --> 00:22:10,799 big internet 553 00:22:08,799 --> 00:22:13,600 can we make this bigger 554 00:22:10,799 --> 00:22:14,559 and of course yes we can 555 00:22:13,600 --> 00:22:17,520 so 556 00:22:14,559 --> 00:22:19,200 also the similar research about roy in 557 00:22:17,520 --> 00:22:22,799 norway had 558 00:22:19,200 --> 00:22:26,000 ideas around creating a 559 00:22:22,799 --> 00:22:28,000 testbed setup for multi-home systems 560 00:22:26,000 --> 00:22:32,000 so they 561 00:22:28,000 --> 00:22:36,640 published a shop opening i applied 562 00:22:32,000 --> 00:22:39,280 a few weeks later i was moving to norway 563 00:22:36,640 --> 00:22:41,760 to create the nona testbed consisting of 564 00:22:39,280 --> 00:22:42,960 two parts nunet core is the landline 565 00:22:41,760 --> 00:22:45,919 part 566 00:22:42,960 --> 00:22:48,640 this is what i in this talk today will 567 00:22:45,919 --> 00:22:51,360 introduce in a bit more detail 568 00:22:48,640 --> 00:22:53,600 which connects such sort of server 569 00:22:51,360 --> 00:22:56,159 setups as in the figure 570 00:22:53,600 --> 00:22:57,440 at the different sites with up to four 571 00:22:56,159 --> 00:23:00,960 isps 572 00:22:57,440 --> 00:23:03,520 and we had 21 locations with 11 in 573 00:23:00,960 --> 00:23:06,400 norway and 10 aboard 574 00:23:03,520 --> 00:23:09,760 and of course nowadays we all not only 575 00:23:06,400 --> 00:23:10,640 have enzyme connectivity particularly we 576 00:23:09,760 --> 00:23:12,559 have 577 00:23:10,640 --> 00:23:15,039 mobile connectivity 578 00:23:12,559 --> 00:23:16,880 so no net cause it's also of a large 579 00:23:15,039 --> 00:23:19,440 part converted edge 580 00:23:16,880 --> 00:23:20,840 which distributes 581 00:23:19,440 --> 00:23:23,600 these embedded 582 00:23:20,840 --> 00:23:24,799 systems all over norway around 200 583 00:23:23,600 --> 00:23:27,760 locations 584 00:23:24,799 --> 00:23:29,120 to do measurements of the performance of 585 00:23:27,760 --> 00:23:30,720 the norwegian 586 00:23:29,120 --> 00:23:33,360 mobile networks 587 00:23:30,720 --> 00:23:36,080 will not go into too much detail about 588 00:23:33,360 --> 00:23:37,280 known adria because of time constraints 589 00:23:36,080 --> 00:23:39,520 that i will 590 00:23:37,280 --> 00:23:40,960 present you some more details about 591 00:23:39,520 --> 00:23:45,200 monet core 592 00:23:40,960 --> 00:23:49,679 as i've mentioned we have in total 593 00:23:45,200 --> 00:23:50,720 had in 2016 21 sites 11 in norway and 10 594 00:23:49,679 --> 00:23:53,520 aboard 595 00:23:50,720 --> 00:23:56,320 today it's a little bit 596 00:23:53,520 --> 00:23:59,279 fewer sides abroad but still 11 in 597 00:23:56,320 --> 00:24:02,159 norway with up to four isps and wherever 598 00:23:59,279 --> 00:24:05,600 we were able to get ipv6 599 00:24:02,159 --> 00:24:06,480 these isp connections also in the ipv4 600 00:24:05,600 --> 00:24:08,880 have 601 00:24:06,480 --> 00:24:10,559 rbv6 support 602 00:24:08,880 --> 00:24:13,279 and particularly with such an 603 00:24:10,559 --> 00:24:15,039 infrastructure oftentimes on sites you 604 00:24:13,279 --> 00:24:18,559 can get a lot of 605 00:24:15,039 --> 00:24:22,320 details about the internet connectivity 606 00:24:18,559 --> 00:24:25,520 we have developed a tool hyper contraser 607 00:24:22,320 --> 00:24:27,279 to continuously measure the routes by 608 00:24:25,520 --> 00:24:29,360 tracer measurements 609 00:24:27,279 --> 00:24:31,600 inside this infrastructure this is a 610 00:24:29,360 --> 00:24:33,039 view over one month 611 00:24:31,600 --> 00:24:35,360 from 612 00:24:33,039 --> 00:24:37,200 july 2016. 613 00:24:35,360 --> 00:24:39,679 particularly interesting about such 614 00:24:37,200 --> 00:24:41,279 intercontinental setups is of course 615 00:24:39,679 --> 00:24:43,600 that these routes in the internet 616 00:24:41,279 --> 00:24:46,240 frequently change particularly between 617 00:24:43,600 --> 00:24:48,480 for example europe and china so 618 00:24:46,240 --> 00:24:50,880 particularly also depending on the 619 00:24:48,480 --> 00:24:53,360 combinations of isp 620 00:24:50,880 --> 00:24:55,360 locally and remotely you can see that 621 00:24:53,360 --> 00:24:58,480 some of the connections 622 00:24:55,360 --> 00:25:01,600 go westwards over united states while 623 00:24:58,480 --> 00:25:02,559 other connections go eastwards or russia 624 00:25:01,600 --> 00:25:05,360 or 625 00:25:02,559 --> 00:25:06,080 dubai and other locations 626 00:25:05,360 --> 00:25:09,039 to 627 00:25:06,080 --> 00:25:12,320 east area so quite interesting 628 00:25:09,039 --> 00:25:15,279 and particularly of course as mentioned 629 00:25:12,320 --> 00:25:17,919 we have quite 630 00:25:15,279 --> 00:25:19,440 interesting sites and particularly when 631 00:25:17,919 --> 00:25:22,720 it comes to 632 00:25:19,440 --> 00:25:24,880 remote systems for our net setups 633 00:25:22,720 --> 00:25:29,120 well our 634 00:25:24,880 --> 00:25:31,760 servers can be really remote every side 635 00:25:29,120 --> 00:25:34,320 in the city of london on the island of 636 00:25:31,760 --> 00:25:37,600 spitzbergen in norway 637 00:25:34,320 --> 00:25:41,279 is at 78.2 degrees north 638 00:25:37,600 --> 00:25:43,279 so around 1 200 kilometers just from the 639 00:25:41,279 --> 00:25:45,600 north pole probably one of the 640 00:25:43,279 --> 00:25:46,960 northernmost places you can place 641 00:25:45,600 --> 00:25:47,840 servers 642 00:25:46,960 --> 00:25:50,240 so 643 00:25:47,840 --> 00:25:51,600 we deployed the site setup on a nice 644 00:25:50,240 --> 00:25:54,320 spring day 645 00:25:51,600 --> 00:25:55,279 was just minus 30 degree 646 00:25:54,320 --> 00:25:57,760 and 647 00:25:55,279 --> 00:26:00,400 sun was shining so you can imagine how 648 00:25:57,760 --> 00:26:03,679 it looks like in really 649 00:26:00,400 --> 00:26:04,480 wintery conditions with a lot of storm 650 00:26:03,679 --> 00:26:07,120 and 651 00:26:04,480 --> 00:26:09,919 cold temperatures they are also not the 652 00:26:07,120 --> 00:26:13,600 only challenge the other challenges are 653 00:26:09,919 --> 00:26:15,919 wild icebergs homing around this area 654 00:26:13,600 --> 00:26:18,000 so obviously if you think about such a 655 00:26:15,919 --> 00:26:21,760 sight if something goes wrong with the 656 00:26:18,000 --> 00:26:24,799 site and somebody has to go to the site 657 00:26:21,760 --> 00:26:27,360 and this is the way of transport in 658 00:26:24,799 --> 00:26:28,640 longer bean it's a snowmobile so there 659 00:26:27,360 --> 00:26:30,720 are no 660 00:26:28,640 --> 00:26:33,039 regular roads so we have to drive a 661 00:26:30,720 --> 00:26:36,159 snowmobile 662 00:26:33,039 --> 00:26:39,120 so areas where there are wild icebergs 663 00:26:36,159 --> 00:26:40,159 holding around so it's a challenge 664 00:26:39,120 --> 00:26:42,320 so 665 00:26:40,159 --> 00:26:45,440 obviously we have to think about 666 00:26:42,320 --> 00:26:47,520 what can we do when something goes wrong 667 00:26:45,440 --> 00:26:49,760 and things can go wrong because we have 668 00:26:47,520 --> 00:26:52,159 experimental systems and there's no 669 00:26:49,760 --> 00:26:53,279 response anything that can go wrong will 670 00:26:52,159 --> 00:26:56,080 go wrong 671 00:26:53,279 --> 00:26:58,159 so how can we avoid that experimental 672 00:26:56,080 --> 00:27:00,159 software brings down 673 00:26:58,159 --> 00:27:02,320 our infrastructure so that somebody has 674 00:27:00,159 --> 00:27:05,120 to go to the remote side 675 00:27:02,320 --> 00:27:06,880 and do some maintenance work 676 00:27:05,120 --> 00:27:08,960 well the idea was then to use 677 00:27:06,880 --> 00:27:11,840 virtualization 678 00:27:08,960 --> 00:27:15,200 so actually our server setup consists of 679 00:27:11,840 --> 00:27:18,240 a very lightweight setup of ubuntu 680 00:27:15,200 --> 00:27:21,679 server lts lts is the long-term support 681 00:27:18,240 --> 00:27:24,080 version of ubuntu with 5vs support 682 00:27:21,679 --> 00:27:25,760 so therefore is quite stable and quite 683 00:27:24,080 --> 00:27:27,760 well maintained 684 00:27:25,760 --> 00:27:30,399 and everything else 685 00:27:27,760 --> 00:27:31,919 goes into kernel-based virtual machines 686 00:27:30,399 --> 00:27:34,559 kvm 687 00:27:31,919 --> 00:27:37,279 that is particularly the routing 688 00:27:34,559 --> 00:27:40,000 software goes into a 689 00:27:37,279 --> 00:27:42,000 dedicated virtual machine exclusively 690 00:27:40,000 --> 00:27:43,200 running on one of the servers 691 00:27:42,000 --> 00:27:45,039 and all 692 00:27:43,200 --> 00:27:47,440 research 693 00:27:45,039 --> 00:27:49,039 software goes into virtual machines on 694 00:27:47,440 --> 00:27:51,360 the other machines 695 00:27:49,039 --> 00:27:52,880 but it is if something goes wrong 696 00:27:51,360 --> 00:27:55,840 it's possible to log into the host 697 00:27:52,880 --> 00:27:59,200 machine and do some repair work 698 00:27:55,840 --> 00:28:00,320 it is how does such a physical machine 699 00:27:59,200 --> 00:28:03,279 look like 700 00:28:00,320 --> 00:28:06,240 as of that it's you want to serve lds 701 00:28:03,279 --> 00:28:07,919 it's one customization which is 702 00:28:06,240 --> 00:28:11,520 interesting to mention 703 00:28:07,919 --> 00:28:16,480 we decided to use the riser fs version 3 704 00:28:11,520 --> 00:28:20,320 instead of x4 because of its robustness 705 00:28:16,480 --> 00:28:23,440 riser fs actually has a bit bad image 706 00:28:20,320 --> 00:28:26,559 because it's named after the auto 707 00:28:23,440 --> 00:28:28,799 of this file system who killed his x5 708 00:28:26,559 --> 00:28:31,760 but actually his file system is quite 709 00:28:28,799 --> 00:28:34,399 good so it never killed our data and 710 00:28:31,760 --> 00:28:37,919 particularly it never 711 00:28:34,399 --> 00:28:42,080 needed manually fighter step tracks 712 00:28:37,919 --> 00:28:43,760 at boot time which are quite important 713 00:28:42,080 --> 00:28:46,720 this is a quite important property 714 00:28:43,760 --> 00:28:47,840 because if the remote machine wants a 715 00:28:46,720 --> 00:28:49,919 manual 716 00:28:47,840 --> 00:28:52,000 file system check on the console it's 717 00:28:49,919 --> 00:28:53,840 quite annoying we have to the boss of 718 00:28:52,000 --> 00:28:57,440 people at the remote side 719 00:28:53,840 --> 00:29:00,480 which is fast but not with rhiza fs so 720 00:28:57,440 --> 00:29:01,760 therefore we started with arizer fs 721 00:29:00,480 --> 00:29:04,799 nowadays 722 00:29:01,760 --> 00:29:07,200 after unfortunately the rise fs has been 723 00:29:04,799 --> 00:29:09,919 removed from the installer of yuwundo 724 00:29:07,200 --> 00:29:11,039 for new installations we use ptrfs which 725 00:29:09,919 --> 00:29:14,159 became 726 00:29:11,039 --> 00:29:16,159 also much more stable in the last few 727 00:29:14,159 --> 00:29:19,520 years 728 00:29:16,159 --> 00:29:21,520 and as i've said we are using kvm kernel 729 00:29:19,520 --> 00:29:23,600 based virtual machines originally we 730 00:29:21,520 --> 00:29:26,960 used virtualbox 731 00:29:23,600 --> 00:29:29,520 but this was then requiring 732 00:29:26,960 --> 00:29:32,559 the virtualbox is open source itself the 733 00:29:29,520 --> 00:29:35,760 vnc implementation is not so required a 734 00:29:32,559 --> 00:29:37,279 blob form oracle to be installed 735 00:29:35,760 --> 00:29:38,960 and 736 00:29:37,279 --> 00:29:40,480 we were not really satisfied with the 737 00:29:38,960 --> 00:29:43,200 stability of this 738 00:29:40,480 --> 00:29:47,919 so we decided then to move as soon as 739 00:29:43,200 --> 00:29:50,080 possible to kvm which is quite stable 740 00:29:47,919 --> 00:29:52,880 this is the physical machine setup now 741 00:29:50,080 --> 00:29:56,960 coming to the router setup so called 742 00:29:52,880 --> 00:30:00,080 tunnel box come to this name later 743 00:29:56,960 --> 00:30:01,760 well um the tunnel box 744 00:30:00,080 --> 00:30:02,960 connects 745 00:30:01,760 --> 00:30:06,000 the 746 00:30:02,960 --> 00:30:09,840 machine to all the isps of a site 747 00:30:06,000 --> 00:30:12,399 particularly having one ipv4 and if 748 00:30:09,840 --> 00:30:15,840 available one ipv6 address 749 00:30:12,399 --> 00:30:15,840 per site and isp 750 00:30:16,000 --> 00:30:19,360 of course these others are public 751 00:30:17,120 --> 00:30:22,240 addresses but for research experiments 752 00:30:19,360 --> 00:30:24,880 of course for research are nice to have 753 00:30:22,240 --> 00:30:26,880 his own ip addresses 754 00:30:24,880 --> 00:30:29,200 of course if you ask somebody for a 755 00:30:26,880 --> 00:30:31,200 slash 24 public 756 00:30:29,200 --> 00:30:33,760 ipv4 address space 757 00:30:31,200 --> 00:30:37,039 that's of course not possible 758 00:30:33,760 --> 00:30:38,799 those ipv4 address space is exhausted 759 00:30:37,039 --> 00:30:41,360 since several years 760 00:30:38,799 --> 00:30:42,399 so ipv4 addresses are quite scarce 761 00:30:41,360 --> 00:30:43,919 resource 762 00:30:42,399 --> 00:30:46,240 so what we had to do 763 00:30:43,919 --> 00:30:48,720 was then to think about 764 00:30:46,240 --> 00:30:53,840 establishing tunnels between the sites 765 00:30:48,720 --> 00:30:57,039 over gre for ipv4 or ipv6 in rpv6 766 00:30:53,840 --> 00:30:58,720 so that we can apply our own systematic 767 00:30:57,039 --> 00:31:02,799 addressing scheme 768 00:30:58,720 --> 00:31:06,159 with the private rpv4 addresses 769 00:31:02,799 --> 00:31:09,120 and of course then we can give each side 770 00:31:06,159 --> 00:31:11,039 a slash 24 with 10 dot provider id side 771 00:31:09,120 --> 00:31:13,679 id dot node id 772 00:31:11,039 --> 00:31:16,240 and for ipv6 of course we have our own 773 00:31:13,679 --> 00:31:19,279 prefix and can give 774 00:31:16,240 --> 00:31:20,799 for each provider inside uh full slash 775 00:31:19,279 --> 00:31:22,159 64. 776 00:31:20,799 --> 00:31:23,760 it is of course 777 00:31:22,159 --> 00:31:26,480 we can 778 00:31:23,760 --> 00:31:28,960 then allow researchers to use 779 00:31:26,480 --> 00:31:33,440 own addresses for all research 780 00:31:28,960 --> 00:31:35,360 experiments which is quite nice feature 781 00:31:33,440 --> 00:31:37,279 and particularly of course with these 782 00:31:35,360 --> 00:31:39,440 private devices direct communication 783 00:31:37,279 --> 00:31:40,880 between all the sites 784 00:31:39,440 --> 00:31:42,960 is possible 785 00:31:40,880 --> 00:31:46,399 and for 786 00:31:42,960 --> 00:31:49,039 external connectivity we had to decide 787 00:31:46,399 --> 00:31:51,120 well we can of course route 788 00:31:49,039 --> 00:31:54,159 external traffic 789 00:31:51,120 --> 00:31:55,440 at the tunnel box of a remote site 790 00:31:54,159 --> 00:31:58,480 directly 791 00:31:55,440 --> 00:32:01,679 but this causes of course issues for 792 00:31:58,480 --> 00:32:03,360 many hosts because for example we have 793 00:32:01,679 --> 00:32:08,399 sites in germany 794 00:32:03,360 --> 00:32:10,960 and they have very strange regulations 795 00:32:08,399 --> 00:32:12,720 according to copyright and 796 00:32:10,960 --> 00:32:15,360 file download and such 797 00:32:12,720 --> 00:32:18,320 so in fact to convince somebody goes 798 00:32:15,360 --> 00:32:21,039 aside in germany there is no chance 799 00:32:18,320 --> 00:32:23,679 if there is a possibility that people 800 00:32:21,039 --> 00:32:24,880 can do arbitrary downloads from the 801 00:32:23,679 --> 00:32:27,440 internet 802 00:32:24,880 --> 00:32:28,960 so therefore we route all external 803 00:32:27,440 --> 00:32:31,840 traffic 804 00:32:28,960 --> 00:32:34,320 over a similar site so in fact then if 805 00:32:31,840 --> 00:32:36,640 somebody downloads something 806 00:32:34,320 --> 00:32:39,039 from a remote site 807 00:32:36,640 --> 00:32:41,840 even mistakenly for example do a video 808 00:32:39,039 --> 00:32:44,960 download for testing then it goes out 809 00:32:41,840 --> 00:32:47,360 over simula's address in norway and of 810 00:32:44,960 --> 00:32:50,480 course in norway we have much more 811 00:32:47,360 --> 00:32:52,000 relaxed regulations when it comes to 812 00:32:50,480 --> 00:32:54,640 copyright and such 813 00:32:52,000 --> 00:32:56,880 so therefore this was quite important 814 00:32:54,640 --> 00:32:58,240 decision which was necessary 815 00:32:56,880 --> 00:33:00,640 unfortunately 816 00:32:58,240 --> 00:33:04,480 due to such regulations in some 817 00:33:00,640 --> 00:33:05,679 countries particularly germany 818 00:33:04,480 --> 00:33:07,279 well 819 00:33:05,679 --> 00:33:09,600 now we have the router for doing the 820 00:33:07,279 --> 00:33:11,919 routing but of course 821 00:33:09,600 --> 00:33:13,279 although we have quite systematic rp 822 00:33:11,919 --> 00:33:15,519 addressing scheme 823 00:33:13,279 --> 00:33:18,240 it's sometimes difficult to remember all 824 00:33:15,519 --> 00:33:21,919 these rp addresses we have also made our 825 00:33:18,240 --> 00:33:23,120 own dns setup using behind dns server 826 00:33:21,919 --> 00:33:26,000 so we can 827 00:33:23,120 --> 00:33:29,440 name our devices 828 00:33:26,000 --> 00:33:32,320 with the provider and site names so to 829 00:33:29,440 --> 00:33:34,960 have the possibility to do lookup of the 830 00:33:32,320 --> 00:33:37,600 ip addresses and particularly of course 831 00:33:34,960 --> 00:33:39,679 reverse lookups of ip addresses to 832 00:33:37,600 --> 00:33:42,159 symbolic names 833 00:33:39,679 --> 00:33:45,200 and of course since 834 00:33:42,159 --> 00:33:47,200 countries like norway or germany have 835 00:33:45,200 --> 00:33:50,399 extended 836 00:33:47,200 --> 00:33:52,960 a set of characters we have of course 837 00:33:50,399 --> 00:33:56,960 all the support for puni gold works even 838 00:33:52,960 --> 00:33:58,880 for the chinese side with chinese names 839 00:33:56,960 --> 00:34:01,760 so this is one convenience and other 840 00:33:58,880 --> 00:34:04,000 convenience is of course inside the dns 841 00:34:01,760 --> 00:34:05,600 infrastructure we have we can also put 842 00:34:04,000 --> 00:34:08,320 the ssh 843 00:34:05,600 --> 00:34:12,079 keyframe prints as well as 844 00:34:08,320 --> 00:34:14,480 geolocation information as sshfp and loc 845 00:34:12,079 --> 00:34:15,440 resource records 846 00:34:14,480 --> 00:34:17,280 and 847 00:34:15,440 --> 00:34:19,839 since we route 848 00:34:17,280 --> 00:34:23,839 external traffic over simula 849 00:34:19,839 --> 00:34:25,839 makes of course the sense for 850 00:34:23,839 --> 00:34:28,800 the package updates 851 00:34:25,839 --> 00:34:30,240 to be cached by a squid proxy so also on 852 00:34:28,800 --> 00:34:32,879 the tunnel box therefore there is a 853 00:34:30,240 --> 00:34:34,399 screen proxy running to cache 854 00:34:32,879 --> 00:34:37,280 particularly 855 00:34:34,399 --> 00:34:38,800 linux installation packages so that if 856 00:34:37,280 --> 00:34:40,960 multiple 857 00:34:38,800 --> 00:34:42,639 virtual machines at the remote side 858 00:34:40,960 --> 00:34:44,560 have to download the same package that 859 00:34:42,639 --> 00:34:46,839 not all these packages have to be 860 00:34:44,560 --> 00:34:48,560 downloaded via 861 00:34:46,839 --> 00:34:51,679 simulator 862 00:34:48,560 --> 00:34:53,679 this is the router and now let's 863 00:34:51,679 --> 00:34:56,639 introduce the research node 864 00:34:53,679 --> 00:34:58,160 so usually research nodes by default are 865 00:34:56,639 --> 00:35:00,000 managed 866 00:34:58,160 --> 00:35:03,200 as part of 867 00:35:00,000 --> 00:35:05,839 a software called planet central this is 868 00:35:03,200 --> 00:35:08,640 the sense of planet lapios 869 00:35:05,839 --> 00:35:10,240 just with a slight modification 870 00:35:08,640 --> 00:35:14,400 to have 871 00:35:10,240 --> 00:35:15,520 of course an mptcp capable kernel 872 00:35:14,400 --> 00:35:18,880 and 873 00:35:15,520 --> 00:35:20,720 as well as a special configuration for 874 00:35:18,880 --> 00:35:23,119 multi-home routing i will show an 875 00:35:20,720 --> 00:35:26,400 example later this is currently based 876 00:35:23,119 --> 00:35:27,839 still on fedora core 25 which is a bit 877 00:35:26,400 --> 00:35:30,240 out of date now 878 00:35:27,839 --> 00:35:32,160 this soon requires an update so we are 879 00:35:30,240 --> 00:35:35,440 working currently on this 880 00:35:32,160 --> 00:35:35,440 to do some uh 881 00:35:35,599 --> 00:35:39,119 enhancements 882 00:35:36,880 --> 00:35:40,880 and updates 883 00:35:39,119 --> 00:35:43,119 of the software 884 00:35:40,880 --> 00:35:45,280 but what this planet absentee software 885 00:35:43,119 --> 00:35:47,839 does is in fact to provide 886 00:35:45,280 --> 00:35:50,079 containers alexi containers 887 00:35:47,839 --> 00:35:53,119 for research experiments 888 00:35:50,079 --> 00:35:54,160 which have in fact adjust this fedora 889 00:35:53,119 --> 00:35:57,119 core 890 00:35:54,160 --> 00:36:00,000 linux installation but this planet lab 891 00:35:57,119 --> 00:36:01,760 software is actually quite smart 892 00:36:00,000 --> 00:36:04,320 not for each research experiment there 893 00:36:01,760 --> 00:36:06,880 is a requirement to install or complete 894 00:36:04,320 --> 00:36:10,320 fedora core system but in fact it just 895 00:36:06,880 --> 00:36:14,000 works like having a base installation 896 00:36:10,320 --> 00:36:15,359 on our ptifis file system which is then 897 00:36:14,000 --> 00:36:18,640 cloned 898 00:36:15,359 --> 00:36:19,599 so that is just doing copy on white so 899 00:36:18,640 --> 00:36:22,400 it's 900 00:36:19,599 --> 00:36:23,760 quite efficient when it comes to storage 901 00:36:22,400 --> 00:36:26,400 space 902 00:36:23,760 --> 00:36:29,839 and also since it's using containers 903 00:36:26,400 --> 00:36:30,720 also quite efficient for memory so it's 904 00:36:29,839 --> 00:36:34,000 uh 905 00:36:30,720 --> 00:36:36,800 just around 2.5 gigabytes of memory it's 906 00:36:34,000 --> 00:36:39,119 possible to host host multiple research 907 00:36:36,800 --> 00:36:41,839 containers 908 00:36:39,119 --> 00:36:43,280 uh of course besides planet app central 909 00:36:41,839 --> 00:36:45,280 software it's also possible to 910 00:36:43,280 --> 00:36:46,640 instantiate custom virtual machines for 911 00:36:45,280 --> 00:36:49,440 example for 912 00:36:46,640 --> 00:36:50,560 machines running freebastie or more 913 00:36:49,440 --> 00:36:52,720 up-to-date 914 00:36:50,560 --> 00:36:55,440 ubuntu system or systems as owned 915 00:36:52,720 --> 00:36:58,400 kernels if this is necessary for your 916 00:36:55,440 --> 00:37:00,720 search experiment but usually for many 917 00:36:58,400 --> 00:37:04,240 experiments already possible 918 00:37:00,720 --> 00:37:05,280 to run this planet at sample-based 919 00:37:04,240 --> 00:37:08,160 software 920 00:37:05,280 --> 00:37:09,359 what is our physical nodes look like 921 00:37:08,160 --> 00:37:11,359 that 922 00:37:09,359 --> 00:37:13,680 they run 923 00:37:11,359 --> 00:37:13,680 these 924 00:37:13,920 --> 00:37:17,599 simple based 925 00:37:15,920 --> 00:37:20,480 nodes 926 00:37:17,599 --> 00:37:22,720 as kbm virtual machines and inside these 927 00:37:20,480 --> 00:37:23,839 kvm virtual machines are running lxc 928 00:37:22,720 --> 00:37:27,520 containers 929 00:37:23,839 --> 00:37:30,640 instantiating so-called slivers is the 930 00:37:27,520 --> 00:37:32,880 name of a container 931 00:37:30,640 --> 00:37:36,720 in the terminology of the plan lab 932 00:37:32,880 --> 00:37:40,320 centered software so we can run multiple 933 00:37:36,720 --> 00:37:41,680 of these plc nodes as separate virtual 934 00:37:40,320 --> 00:37:45,359 machines 935 00:37:41,680 --> 00:37:46,640 on the same physical host in addition to 936 00:37:45,359 --> 00:37:49,359 possibly 937 00:37:46,640 --> 00:37:51,440 further kvm based virtual machines for 938 00:37:49,359 --> 00:37:55,119 example with special ubuntu 939 00:37:51,440 --> 00:37:57,200 installations or frequency installations 940 00:37:55,119 --> 00:37:58,079 so that is 941 00:37:57,200 --> 00:38:01,440 when 942 00:37:58,079 --> 00:38:04,960 the usual user logs into 943 00:38:01,440 --> 00:38:06,800 one of these slippers 944 00:38:04,960 --> 00:38:09,040 then 945 00:38:06,800 --> 00:38:11,119 what the user sees of course is 946 00:38:09,040 --> 00:38:13,520 that the machine has multiple ip 947 00:38:11,119 --> 00:38:15,200 addresses one for each isp 948 00:38:13,520 --> 00:38:16,880 but this is 949 00:38:15,200 --> 00:38:19,359 a 950 00:38:16,880 --> 00:38:23,280 slipper that is a galaxy container at 951 00:38:19,359 --> 00:38:26,240 hainan university which has two isps 952 00:38:23,280 --> 00:38:28,320 one is centered and one 953 00:38:26,240 --> 00:38:30,560 usb is shiner unicorn 954 00:38:28,320 --> 00:38:35,359 so the machine therefore has twice two 955 00:38:30,560 --> 00:38:35,359 ipv4 addresses and two ipv6 addresses 956 00:38:35,839 --> 00:38:41,839 so that is 957 00:38:38,079 --> 00:38:43,280 in total this machine has four different 958 00:38:41,839 --> 00:38:47,680 ip addresses 959 00:38:43,280 --> 00:38:50,800 so outgoing this four different types 960 00:38:47,680 --> 00:38:52,880 ip addresses can be used then of course 961 00:38:50,800 --> 00:38:56,640 particularly with mpt sapien as i've 962 00:38:52,880 --> 00:38:58,960 said the kernel of the host machine 963 00:38:56,640 --> 00:39:02,079 is running mptcp and since this is a 964 00:38:58,960 --> 00:39:05,440 container of course the user of this 965 00:39:02,079 --> 00:39:07,119 container has the possibility to run 966 00:39:05,440 --> 00:39:08,880 mptcp 967 00:39:07,119 --> 00:39:10,240 as well and particularly with the two 968 00:39:08,880 --> 00:39:13,280 net parameter 969 00:39:10,240 --> 00:39:17,040 it's possible for the researcher to turn 970 00:39:13,280 --> 00:39:20,160 on and off mptcp 971 00:39:17,040 --> 00:39:22,960 or even have concurrent tcp and fbtcp 972 00:39:20,160 --> 00:39:24,480 connections to do some comparisons 973 00:39:22,960 --> 00:39:26,960 for the performance 974 00:39:24,480 --> 00:39:28,800 of mptcp and different settings with 975 00:39:26,960 --> 00:39:32,000 mptcp 976 00:39:28,800 --> 00:39:34,160 and also particularly what is 977 00:39:32,000 --> 00:39:37,680 installed in these containers as well as 978 00:39:34,160 --> 00:39:40,079 a tool system info which displays this 979 00:39:37,680 --> 00:39:44,160 information on login particularly 980 00:39:40,079 --> 00:39:45,200 information about ssh key fingerprints 981 00:39:44,160 --> 00:39:47,359 and 982 00:39:45,200 --> 00:39:49,119 the rp addresses 983 00:39:47,359 --> 00:39:51,599 and of course 984 00:39:49,119 --> 00:39:53,760 these containers have 985 00:39:51,599 --> 00:39:56,480 sudo permissions that is the user of 986 00:39:53,760 --> 00:39:57,839 these containers as possibility to trust 987 00:39:56,480 --> 00:40:00,720 with sudo 988 00:39:57,839 --> 00:40:04,240 install custom software as well for 989 00:40:00,720 --> 00:40:04,240 running research experiments 990 00:40:04,720 --> 00:40:07,839 so 991 00:40:05,680 --> 00:40:09,280 this 992 00:40:07,839 --> 00:40:12,960 concludes 993 00:40:09,280 --> 00:40:14,079 my presentation on new netcore 994 00:40:12,960 --> 00:40:15,280 it is 995 00:40:14,079 --> 00:40:17,599 showing you 996 00:40:15,280 --> 00:40:20,079 the ideas of multi-homing and multi-pass 997 00:40:17,599 --> 00:40:23,119 transfer and of course 998 00:40:20,079 --> 00:40:26,319 introduced to the 999 00:40:23,119 --> 00:40:28,880 new net testbed infrastructure 1000 00:40:26,319 --> 00:40:31,040 and particularly to mention of course no 1001 00:40:28,880 --> 00:40:33,440 net core is an open testbed 1002 00:40:31,040 --> 00:40:35,119 like just like landlab 1003 00:40:33,440 --> 00:40:37,119 so if you are interested in doing 1004 00:40:35,119 --> 00:40:39,760 research in onenet of course it's 1005 00:40:37,119 --> 00:40:41,520 possible to join monet core 1006 00:40:39,760 --> 00:40:44,160 and also use 1007 00:40:41,520 --> 00:40:46,079 this testbed infrastructure 1008 00:40:44,160 --> 00:40:48,240 so quite interesting thing to do 1009 00:40:46,079 --> 00:40:50,880 particularly if you are doing research 1010 00:40:48,240 --> 00:40:53,119 on networks particularly with 1011 00:40:50,880 --> 00:40:55,440 multi-homing but also 1012 00:40:53,119 --> 00:40:58,000 around routing and such 1013 00:40:55,440 --> 00:41:00,400 and currently we are thinking about 1014 00:40:58,000 --> 00:41:01,920 the future of muna particularly we want 1015 00:41:00,400 --> 00:41:05,040 to obtain 1016 00:41:01,920 --> 00:41:08,319 more funding new funding particularly to 1017 00:41:05,040 --> 00:41:11,040 extend the scope of no net core beyond 1018 00:41:08,319 --> 00:41:12,880 this basic idea of multi-pass transport 1019 00:41:11,040 --> 00:41:14,000 but particularly in the areas of network 1020 00:41:12,880 --> 00:41:15,839 function virtualization and 1021 00:41:14,000 --> 00:41:18,400 software-defined networking 1022 00:41:15,839 --> 00:41:21,839 but also around the cloud computing and 1023 00:41:18,400 --> 00:41:24,319 applications particularly this no net 1024 00:41:21,839 --> 00:41:26,240 core infrastructure can also be seen 1025 00:41:24,319 --> 00:41:29,839 as a distributed 1026 00:41:26,240 --> 00:41:31,520 multi-cloud system with several sites 1027 00:41:29,839 --> 00:41:34,079 so it's quite interesting for cloud 1028 00:41:31,520 --> 00:41:36,079 computing applications as well and 1029 00:41:34,079 --> 00:41:38,240 particularly if you are interested in 1030 00:41:36,079 --> 00:41:40,960 more details about on it you can find a 1031 00:41:38,240 --> 00:41:43,839 lot of information about monet 1032 00:41:40,960 --> 00:41:46,839 on the noirnet website 1033 00:41:43,839 --> 00:41:46,839 www.ntp.net 1034 00:41:48,240 --> 00:41:53,280 we're also very committed 1035 00:41:50,079 --> 00:41:56,800 to open source software development 1036 00:41:53,280 --> 00:41:57,680 so a lot of software coming out of no 1037 00:41:56,800 --> 00:41:59,760 net 1038 00:41:57,680 --> 00:42:01,599 is of course available 1039 00:41:59,760 --> 00:42:04,640 in 1040 00:42:01,599 --> 00:42:06,720 different web pages and particularly in 1041 00:42:04,640 --> 00:42:09,599 a lot of github and bitpacket 1042 00:42:06,720 --> 00:42:11,599 repositories so just have a look most of 1043 00:42:09,599 --> 00:42:12,720 the software is licensed 1044 00:42:11,599 --> 00:42:14,319 under 1045 00:42:12,720 --> 00:42:16,800 gpl 1046 00:42:14,319 --> 00:42:19,200 and of course we are research testbed so 1047 00:42:16,800 --> 00:42:20,480 we have of course also a lot of research 1048 00:42:19,200 --> 00:42:23,119 literature 1049 00:42:20,480 --> 00:42:25,680 with the results out of 1050 00:42:23,119 --> 00:42:29,440 experiments in onenet core available you 1051 00:42:25,680 --> 00:42:31,839 can find all these papers also 1052 00:42:29,440 --> 00:42:34,560 on the new netweb server on the 1053 00:42:31,839 --> 00:42:35,760 publication section 1054 00:42:34,560 --> 00:42:39,839 so 1055 00:42:35,760 --> 00:42:41,400 now we are almost over time 1056 00:42:39,839 --> 00:42:45,359 but we still have 1057 00:42:41,400 --> 00:42:47,200 a few moments for questions so thank you 1058 00:42:45,359 --> 00:42:48,160 for attention 1059 00:42:47,200 --> 00:42:50,720 and 1060 00:42:48,160 --> 00:42:54,079 now we have probably around two minutes 1061 00:42:50,720 --> 00:42:54,079 for questions left 1062 00:42:54,560 --> 00:42:58,400 okay thank you thomas 1063 00:42:56,400 --> 00:42:59,599 i'm here now to 1064 00:42:58,400 --> 00:43:03,280 give you the questions there is 1065 00:42:59,599 --> 00:43:06,480 currently one question available 1066 00:43:03,280 --> 00:43:09,760 and that is where is the planet lab 1067 00:43:06,480 --> 00:43:13,520 uh central distro available 1068 00:43:09,760 --> 00:43:16,720 uh it's on our no net web server there 1069 00:43:13,520 --> 00:43:18,319 you can find the links to all the github 1070 00:43:16,720 --> 00:43:20,800 repositories 1071 00:43:18,319 --> 00:43:22,960 so the original upstream software is 1072 00:43:20,800 --> 00:43:24,400 available of course 1073 00:43:22,960 --> 00:43:27,440 from planet lab 1074 00:43:24,400 --> 00:43:30,640 and our changes are in separate 1075 00:43:27,440 --> 00:43:34,240 repositories but they are linked on our 1076 00:43:30,640 --> 00:43:34,240 new net web server 1077 00:43:34,960 --> 00:43:38,720 and the questions or forecasts if you do 1078 00:43:36,800 --> 00:43:44,000 not find it you can just write me an 1079 00:43:38,720 --> 00:43:46,480 email then i can send you the links 1080 00:43:44,000 --> 00:43:48,560 thank you that's all we have in terms of 1081 00:43:46,480 --> 00:43:50,319 questions 1082 00:43:48,560 --> 00:43:53,200 would you like to wrap up that point or 1083 00:43:50,319 --> 00:43:55,040 do you have something else to add 1084 00:43:53,200 --> 00:43:57,040 uh particularly if you later have 1085 00:43:55,040 --> 00:43:59,280 questions just write me an email and 1086 00:43:57,040 --> 00:44:01,599 also will be available 1087 00:43:59,280 --> 00:44:03,520 at the conference in 1088 00:44:01,599 --> 00:44:04,640 chat rooms 1089 00:44:03,520 --> 00:44:07,760 excellent 1090 00:44:04,640 --> 00:44:08,560 okay thank you thomas 1091 00:44:07,760 --> 00:44:10,560 you 1092 00:44:08,560 --> 00:44:14,599 have a nice day 1093 00:44:10,560 --> 00:44:14,599 and enjoy the rest of the conference