We've talked about the way to deliver data through a network switching and that we need to find a path through a network Now we're going to look at define Some different types of networks that are used in practice Some of them use switching on a large scale that is a large network Some are much smaller networks which may not require many switches maybe one or even zero so We'll see that these actually are the types of networks. We talk about our Subnetworks in a larger network often that is the internet is built from joining many small networks together What are those small networks lands and and wide area networks? So let's talk about those smaller networks or component networks and And Mainly today it's going to be starting with some terminology Some way that we classify different networks and then some very basic concepts that are common to many networks So some of the issues that we deal with first. Let's try and categorize networks. There are many different types of computer networks in use when we want to compare them and talk about them well, we can classify them in different ways and Some ways we can classify a listed here That is we can classify networks based upon the transmission medium. Is it a wired network or a wireless network? We'll list some examples of each as we go through Will we yes, we'll talk about the trade-offs of of the the difference between a wired network and a wireless network We can classify based upon the link configuration. Does the network use point-to-point links or Point-to-multipoint point-to-multipoint remember one person transmits multiple receive Point-to-point one transmits one receives so the link configuration may be different and we we may have Different designs depending upon whether we use point-to-point or point-to-multipoint and different performance We can classify based upon whether the user of the network the person using the computers to transfer data is fixed or mobile So we can talk about fixed networks The network is not fixed But the users inside that network are fixed the devices are generally in the one position or mobile networks Where the users may move around and therefore we need to design the network to support that mobility The types of users so the users may be you and I the the human users who who are the source of data or the ultimate destination of the data But in some cases we'll have networks that don't support the Individual end users but carry the data of a group of end users So we distinguish sometimes to talk about they're the users where the the end users access a larger network those small networks will refer to as access networks and then the data from those Users accessing the network may be sent via another network and That other network has the goal of just forwarding data of many users a Core network or a backbone network and we'll show a picture to to compare them And the last one is based upon coverage area. How big is the network that the physical size of the network? We'll classify based upon coverage area. So let's look at them briefly What transmission medium should you use for your network? Well? Wired or wireless? What are the advantages and disadvantages of each and you're doing your assignment and you're Doing some experiments with a wired network versus a wireless network and you may see in terms of performance One in general is better than the other What's the difference? Well the pluses and minuses the plus are the positive and then the minus than the negatives and They're almost the inverse of each other that is with wired networks when we have Separate wires connecting our stations together our computers together the interference is very low that is I have a wire going from my laptop to the PC a LAN cable for example and From your laptop to another PC via a LAN cable when we both transmit at the same time Along those separate cables That's transmissions don't interfere with each other My transmission is contained within that cable your transmission is contained within your cable Then there's very small interference the way the cables are designed that the signal stays within there. It doesn't Come out so much As a result with little interference we can transmit signals and What's received is is? Very little noise very little interference So that the good quality of the signal received which translates in the end to higher data rates can be achieved We can get high data rates high speeds Whereas with wireless The second the first negative point under wireless. There's generally interference Not in all cases, but in many cases with wireless networks when my laptop transmits to the access point on the wall and Your mobile phone at the exact same time tries to transmit to the same access point on the wall Because with wireless our signal propagates in all directions normally sometimes we can have highly directional antennas but in in many cases the signals propagate in all directions and the result is that the access point hears or receives the transmissions by from both my laptop and Your mobile phone and those signals overlap at the receiver and The receiver cannot interpret what data I sent or what data your mobile phone sent because it receives a signal which is a combination of both of the transmitted signals and It cannot make out what the data was sent So with wireless because our signals Propagate in all directions Or in not necessary with an omnidirectional antenna, but in multiple directions then They may interfere with other transmissions and interference means that the receiver cannot Understand what was sent which means that less data can be successfully delivered. We get in the end lower data rates The same if if everyone starts talking in this lecture at the same time Then you will not be able to Clearly understand what I'm saying because the transmissions from the other people will interfere with what I'm saying So that's a big problem with wireless With wired we have very little interference. So we can get a higher data rate with wireless. We have interference. So We get poorer performance when we compare them With wired it's easier to upgrade the capacity to get even higher data rates by generally adding a new wire For example, my LAN cable between laptop and PC supports one gigabit per second. I plug it in All right. So the capacity of my network is one gigabit per second. What if I want two gigabits per second? I've gone by another LAN card for both computers and plug a second cable in and Now I've got two gigabits per second between those two devices very easy to upgrade by just making sure we have We we can support a second cable there Because the transmissions across those two cables do not interfere with each other so With wired networks we can upgrade the capacity by just adding another wire or a cable We can't do that with wireless because with wireless we When everyone transmits using the same range of frequencies they essentially interfere with each other How do we add more capacity in that case? Well, the only way to do it would be to use different frequencies That is I can transmit to the access point at a rate of 100 megabits per second with a wireless technology Then if there's a second person who wants to transmit to that same access point at 100 megabits per second because of interference Effectively, we'll only get half of that 100 megabits per second each I will get to transmit 50% of the time the other person will transmit 50% of the time getting 50 megabits per second each That's the problem with interference. We effectively divide that capacity by the number of users How do we upgrade? We can't just add another access point because we still use the same range of frequencies What we can do is use a different range of frequencies a different channel. I Transmit to the access point using channel one you transmit to a different access point using channel six if we think of Wi-Fi and The signals were then not interfere because we're using different range of frequencies That's a way to increase the capacity but We're using more Bandwidth in total to do that more bandwidth incurs more cost We can't just add an infinite number of frequencies. We're limited on the range of frequencies. We can use so With wired we can get higher data rates and it's easy to upgrade to increase the speed add a new wire and Related to no interference that the delay is usually small across cables and usually predictable Every packet I send has about the same delay and you may see that when you run your experiments across your Land link when you ping the other computer that the values reported are about the same all the time With wireless because there is interference. I may send a packet It may may not get there. I have to send again retransmissions incur extra delay But what most many wireless systems including Wi-Fi design to do is that because there is interference They follow a protocol such that only one station transmits at a time Again my laptop wants to send to the access point your phone wants to send to the access point Then they follow a protocol such that the aim is that if we both want to send only one of them will transmit at a time Maybe my access point transmits first and then your phone transmits If there are 10 devices, maybe they can take in turns and The problem with that is that for my device's perspective I get to transmit and then I have to wait for everyone else to transmit. So there's a delay For when I can send my next packet at the end today We may talk about if briefly the ways that we can take in turns allow other device to transmit so with wireless The poor performance may include varying delay and Again, I think you'll see that if you do a ping across your wireless LAN those values reported in ping Will get different Delays we can even try that now I'm connected via Wi-Fi from my laptop to the access point and I'm pinging from mine to another Computer on the third floor 10 10 6.1 We see the delays are in the order of milliseconds But some of them jump up here. We had about two The average is around six, but we have one here 15 milliseconds Several at one millisecond. This one was 69 milliseconds three milliseconds. So we see the variance there that's because When my laptop wants to send the message then The protocol that the wireless technology is using is designed such that of all the devices in the area that want to send Only one will transmit at a time. So sometimes mine will have to wait for your phone to transmit So I want to send But there's some delay and waiting for others to send. So that's why we may get The higher delays maybe that at that particular time other devices were wanting to send Sometimes I get to send first so I get a small delay of one millisecond So that will depend upon how many other devices are wanting to send if we did it across a wired LAN You'll see that it's about constant through through those different pings What else about wired versus wireless? What's the problem with wired? It's expensive to install especially when in locations where it's hard to access Okay, that's we have to install the cables So if we've got a building and we want to have network coverage Then it may be difficult to put the cabling through the building rather than we don't want to lay it on the floor So people chip over it or it looks bad We want to put it in hidden locations and that can be difficult in some cases Or we want to cover across the city We want to have wired length links across the city then we have to get Permission to dig holes under the under the roads under the the land owned by different people and that's an expensive operation The other problem with wired is that the devices are typically fixed. I plug a LAN cable into my laptop I can't move it very far. Maybe within a couple of meters, but but depending on the length of the LAN cable If it's wireless, I can move my laptop Essentially anywhere that provides coverage from the the wireless access points So wired leads to fixed networks normally Wireless allows for mobile networks mobile users inside the network And that's the key advantage of wireless no physical connection. We allow mobility and it's convenient Even my laptop just sits here. It's not really mobile I don't have to plug in a LAN cable to get the network access. It's convenient another problem with wireless systems is that Because many people want to transmit using the same frequencies we need to have some rules about who can use those frequencies So often there's a license required to use those frequencies So with mobile phone systems, you can't go and build your own mobile phone network put up some base stations You must get a license to use the range of frequencies that the mobile phones will transmit and receive on So the mobile phone operators pay a lot of money to get those licenses With Wi-Fi unlicensed That is we don't have to pay a license to use Wi-Fi So there's some range of frequencies which are classified as unlicensed But with those the more people using it the lower the performance I will get So that's the problem with unlicensed bands that anyone can use it the more people the lower the individual performance Last thing wireless physical security is difficult With a wired network inside SIT the LAN cable going from the desktop on here to the switch downstairs for someone to listen in on the transmissions So we transmit a signal from the desktop to a device downstairs Along the cable for someone to intercept that data They need physical access to the cable what they could do if they want to intercept the data on my wired network They need to come into the building and maybe put a special tap or intercept on the the LAN cable And then they can intercept everything I send ignoring encryption So to get access to a wired network from a security perspective an attacker needs physical access to the network They need to come to the cable to the building and so on but with wireless When my laptop transmits up to the access point the signal is also going outside So maybe someone standing outside the building not even on our campus May receive the signal transmitted by my access point By my laptop and also by the access point in the opposite direction So there's no physical security there That is an attacker doesn't have to be inside the building to intercept the data that I send So it's much harder to provide that physical security and wireless systems So we need to make sure we use encryption So that even though someone can receive the signal they cannot understand the data that was transmitted And we'll cover that next semester in the security course So that's our first choice. We've got wired and wireless networks and we would choose the medium depending on our requirements Any questions on wired versus wireless? Especially since your assignment is really comparing wired and wireless So you you're studying that a lot. Let's get through the others a bit faster The link configuration point-to-point That is a pair of users have their own link a dedicated link And as a result, there's only two users using that link so that the performance They'll get is is usually high and predictable. There's no one else that we need to share that link with Therefore, we know what performance will get you when we transmit across that link When we have point-to-multipoint then We usually require some way for sharing that medium for sharing that link so that we Allow each user to transmit and wireless is a good example there Again Everyone wants to transmit their data from their laptop their mobile phone up to this access point You all want to transmit data using the same frequency at the same time If you all transmit at the same time All of your signals will interfere and the access point won't understand anything that any of you send and that's bad So we have what's called medium access control protocols such that Your phone and laptop follow some rules with the aim that only one of you will transmit at the same time So the rules will be right this device gets to send Then the next device gets to send and then another one gets to send and so on so that they don't create interference That lead lower performance Because you have to wait for all the others to transmit you'll get lower throughput higher delay So that's the problem with point-to-multipoint links that because multiple people may transmit and receive We must share the medium amongst them. We don't get dedicated performance for ourselves And there's some complexity in doing this medium access control which leads to some overhead What's the problem with point-to-point if we want to cover many users we need many links There's some cost involved and we need to plan the endpoints So if we want to connect everyone in this room Then we'd need many cables to connect everyone together so that we can all talk to everyone else With a point-to-point point-to-multipoint system Maybe if I want to communicate to everyone else then I transmit and with a wireless system everyone can receive That's very easy point-to-point doesn't always Relate connect with wired links. So wired links are commonly point-to-point But we can have wireless links when we use directional antennas. They are effectively point-to-point on the top of the other building on our campus we have an antenna pointing to our rungset campus and It's a highly directional antenna which essentially creates a point-to-point wireless link Those devices when they transmit only ones receive because the antennas align such that the signal will just go in that direction We will got not get interference from others Point-to-multipoint wireless links like Wi-Fi mobile phones But also there are some wired technologies that use point-to-multipoint communications bus type technologies old lands used to be such that My desktop will transmit onto the LAN cable and everyone would receive that transmission So in the old LAN Old ethernet it was a point-to-multipoint topology We'll see some pictures and examples of different topologies shortly the other classification was with respect to users and here's a simple View of a large network which is made up of many smaller networks So think of we have one large network The the PCs of the users the sources and destinations and any PC wants to communicate with any other Well one common setup with large networks is that we use Some technology for the user to access that large network and that Network itself we refer to as an access network That's where the end user gets access to the larger network But and there may be multiple access networks Then we have some other networks To connect those access networks together So there's different naming for those Intermediate networks here. We may call it a core network So these two access network connect via this core network and we may have multiple core networks And maybe a backbone network that connects all of them together The point here is that the end users Access the larger network via the access networks The core and backbone networks don't have end users directly attached. There's no Person with sitting in their computer Directly connected to the core network the core and backbone networks are designed just to transfer the data From access network to access network The result is that the designs of those networks the technology selected may be different The core networks and backbone have to be designed to carry a large amount of traffic a large amount of data So we need high-speed links. We need multiplexing Often reliability mechanisms are important The access networks and need to be designed to make it easy for the individual users to connect an Example may be Wi-Fi is an access network or a wired LAN or a mobile phone system or ADSL and then the networks operated by the the SIT by Internet service providers telecom companies they are the core network and backbone networks using wired LAN optical fiber Maybe dedicated point-to-point wireless links. So that's another classification of networks last one How big is the network and here we often hear some acronyms that Are a measure of how big the networks are how much area do they cover and there are many different names here and there's no Defined standard as to the names how big they are, but I've given some rough Measures of the area that the networks cover and some example technologies So we can start some networks are built to cover a small area in the order of centimeters and Maybe it's a network to connect devices on your body that is connect your mobile phone to your earpiece Using Bluetooth for example or connect multiple devices that you carry with you not necessary on your body, but nearby Or maybe it's just for connecting on your desk to connect your laptop to your monitor wirelessly an example of a small area network a Body area or personal area Using technologies like Bluetooth, you know, I think you've all probably used Bluetooth or you've got your devices that support it But there are others in for red technologies Zigbee is a technology for similar to Bluetooth, but for low rate low data rate communications for things like Reporting status data, so not having to send a lot of data But over a small distance and you can use a wireless connection, which doesn't consume much battery power So the battery can last not for a day like your mobile phone, but can last for weeks and months and There are other wireless technologies Primarily wireless technologies that support covering across very small area Body area networks personal area networks at some of the names Then if we move up and think about how do we connect across? inside our home inside an office or an office building Then we're talking about networks that cover meters several meters tens of meters. Maybe even hundreds of meters in some cases Well often they refer to as a local area network the network is covering just a local area Land, okay, so that's the main Acquire them that will see a rise Sometimes if it's specific to the home it may be a home area network or maybe if it's for specific for storing data That is a company needs to store data On a number of different storage devices then those devices may be connected via a network storage area network What technologies are used there? Ethernet our wired land technology The formal standard created by the organization called IEEE and the number of the standard the document that describes Ethernet is 802.3 This organization IEEE has Created standards for many different wired and wireless technologies in the land space and also wide area networks So they created the standard for Ethernet IEEE 802.3, but also for Wi-Fi IEEE 802.11 is the standard by the same organization that says how do I transmit from my laptop to the access point wirelessly and within these standards there are many Variations and improvements if you've in your assignment looked at your Wi-Fi access point You'll see that it may support different substandards 802.11a.11b, G, N, AC They are just substandards or variations of the original and they're primarily designed to support across a local area Sometimes they used to build larger networks, but the main design and motivation to support In homes offices and buildings And there are some others as well They're not the only two Then we move up and think about how do we build a network that covers across a city that connects between cities across countries and eventually between countries and Across cities referred to as metropolitan area networks More generally across cities between countries a wide area networks a WAN lands and WANs talking about distance of kilometers of kilometers hundreds of kilometers, maybe even thousand and these networks are often Core networks and backbone networks So wide area networks are often run by one company and that that company Really leases or rents the access to that network to others that have access networks Because they are maybe very expensive to run and operate then they those wide area networks are built To carry that the data from different access networks So the access networks maybe via lands Which then connect to a wide area network to transport the data across a larger distance Lowes networks need to be designed to carry a lot of data Not just the data from one or a few users, but the data from tens of or hundreds of users or thousands of users So they need to be high capacity They need to transmit that data across long distances and They need to be quite reliable Imagine the network that transports the data from One of the internet service providers in Thailand like True True corporation has a as a gateway that connects to other countries. So there are links from the true International internet gateway in Thailand that goes to Singapore to Japan Malaysia and other countries those links are essentially wide area network links or wide area networks and They need to carry the data from not just you and I but from thousands of users If the link fails or the network fails then thousands of customers are unhappy So reliability is an important part of these large networks They may have backup links or backup paths so that they can automatically switch over to a backup link So that even if one part fails the rest of the network can deliver the data So there are different technologies used there. Many of them are wired technologies, but there's also wireless technologies Some of them listed here PDH and SDH are Wide wired technologies really for for high capacity links across cities between countries If you look on the later slides in this Lecture, which we won't get time to go through there's some listing of the the data rates for PDH and SDH so they go from tens of megabits per second up to 10 10 or more gigabits per second and They are commonly used say for links between countries And and across a country and there are some other technologies atm It's not about money, but it's about a way to transfer data using packet switching virtual circuit packet switching and frame relay was an older version and then some wireless technologies Ymax is a Some there's some relationship with IEEE 80211 Wi-Fi it's allows usually long-distance wireless links often point-to-point and Satellite is another option Satellite access net a satellite networks That's covers between countries. What if we want to cover the whole Earth Or even go beyond Earth Then we're talking about what megameters 10 hundreds thousands of kilometers Even more Well, we can think that may be a global area network the internet Which is really that made up of connecting many different lands and wands together That's what the internet is connection of multiple different networks covers the globe and if you go beyond the earth the connections to the To satellites the connection to to spaceships The around Mars and other other spaceships we can think of an interplanetary networks We will not look at those So we are going to focus Primarily on lands which cover the the home office building type size networks and Mention a little bit about wide area networks, which are connecting across cities between cities between countries any questions about these Classifications of networks Just be aware that we talk about Networks from different perspectives medium link configuration the user coverage area Did I miss one? We didn't talk about user mobility. Okay, that is some network support users being mobile Some may assume that the users don't move Another comparison of wide area networks versus local area networks and now when I say a wide area network I Will I also mean a metropolitan area network which is covering a city and when I say a land I also mean a home area network or a storage area area network which are really subcases of a land and in fact Sometimes a personal area network is close to a land as well. We may have similarities so Comparing it from a different perspective of WAN versus a land Some of the differences Wide area networks connect devices or networks over a large geographical area Wide area for example between campuses the links between bunkety and rung sit we can think the technologies a Wide area network Between office buildings. Okay, if you have offices in different locations and between cities and countries Often those networks are owned and operated by organizations on behalf of the users That is the networks are owned and operated by internet service providers or telecom companies those owners of the network are Not the end users of the network. What they do is they build the network own and operated and Rent or lease out access to other companies and organizations For example, SIT. We have a wired link or a path from between our two campuses and We we pay another company to operate that link. So another company owns that link They they built it. They they maintain it. We just pay them to carry our data across their their link So they own the wide area network, but we it's our data that carries Across that link that link may carry other people's data at the same time So the wide area network may be designed to not just carry one users data, but the data of many users So they at least access to those networks at least to other users Universities companies may be smaller internet service providers Local area networks usually connect the end user devices Within a campus buildings homes Often not always, but often the land is owned and operated by the organization using the network What I mean is that the wired land inside our campus is owned and operated by SIT and The users of that wired land are the the SIT desktops and computers Okay, that is the end users are part of the organization that own and operate the network and that has a difference on in terms of What options we have to select the technology? That is if we're going to build a new network We are the we're the person using that network. So we choose the technology best for us With a wide area network, we have to rely on the other organizations to choose the technology We can just go to them and say I want to access you from this location to this other location What do you have on offer? We don't get to choose the the network technology Typically, not always again lands will support higher data rates than wide area networks Now that's a bit strange when we look at some examples. What I mean is well one example you are aware of Anyone have ADSL internet access whereas used it at home or somewhere what data rates do you get with ADSL? Anyone know Eight megabits per second. So in the order of several megabits per second, maybe one Down upload maybe eight or ten up download you can get faster So think of that to our part of our wide area network connection Because in fact for us to access the ADSL We use usually Wi-Fi or wired land. You may have a the router which gives you access inside your home How fast is your Wi-Fi or wired land? How many megabits per second? You're doing the assignment on it. How fast you is your wired land? 100 megabits per second Wi-Fi ranges maybe 54, but that's maybe quite old now most new devices support More than a hundred megabits per second with Wi-Fi There's an example that our link to the through the ISP Is only eight or ten megabits per second, but in certain internal for the land We can get a hundred hundred plus megabits per second The land gives higher data rates than the the WAN the wide area network why? Well traditionally if you think of now SIT the land supports one gigabit per second But our link from SIT out to the internet is not one gigabit per second You may notice if you start to download a lot from outside of SIT Then it's maybe several megabits per second Tens of megabits per second Internally we have a 1,000 megabits per second the connection out is in the order of tens of megabits per second So again much higher internal than the external link. Why? traditionally many Organizations a lot of the data was internal communications Okay, inside of business. I'm not always accessing public internet Websites and so on often inside the business. We're accessing internal servers. We're communicating internally Therefore we need enough capacity to support internal communications plus external communications the link Outside only needs enough capacity to support the external communications not internal so traditionally the the land had a higher data rate and higher needs than the external link Nowadays it's changing a bit in that a lot of applications even for businesses are not hosted internally But are hosted out on the internet and therefore a lot of communications is via the external link now even though SIT's link from our campus out to the internet maybe in the order of 10 megabits per second the Cable that carries SISD SIT's traffic out may support a much higher data rate Because it will maybe carrying the data of multiple users. We may use multiplexing So maybe there's an optical fiber network owned by to T that SIT uses and We send our data from our campus to rung SIT But that network also carries data from other organizations So the network may be the WAN may have a Lower per user data rate but higher In terms of the total network capacity So that's just a rough comparison between wide area and local area networks let's look at For both of those types of networks some common topologies The topology is how we arrange the nodes and links Let's say we want to build a network. We have many devices many end user devices We want to allow each end user device to communicate with every other end user device That's a common goal that if I have a hundred desktops in my In my network, I want to allow anyone to communicate with anyone else So how do we connect those devices together? What links do we create? Well, that's the topology and there are some different choices Now we'll talk about the the devices that the end users use that create data and The destinations of data sometimes we call them simply stations hosts or n nodes But in some networks, we have some intermediate devices that will support the data transfer and They may be referred to as switches repeaters and hubs Especially when we talk about lands those names will come up. So let's look at Four or five different topologies that are common that we can choose from and we'll look at it from the perspective of lands But in fact they also apply for wide area networks and note that the links We'll be able to choose from as either point-to-point or point-to-multipoint So we'll go through mesh bus ring and star and a hybrid is simply combining To or more of the above together Before we look at them. What's our requirements? What do we want? We should allow any station to be able to communicate with any other station if we don't that's not a good network design Generally using point-to-point links gives us better performance than point-to-multipoint links So when possible use point-to-point links, but there may be some limitations of them So if I have a point-to-point link and the capacity is a hundred megabits per second Then we can transfer at that full 100 megabit per second between the two devices if it's a point-to-multipoint link with a capacity of 100 megabits per second then the performance each user gets depends upon the number of users We'd like to use as few links as possible think of the links may be cables The less we use the easier it is to install the easier to upgrade the less cost involved We'd like a network that scales well. What that means is when we add new nodes new stations That it's easy to add them For example, I've got currently 100 nodes in my network. I build the network. I want to add another 10 more It should be easy to add those 10 more. We shouldn't have to change the current network to add 10 new ones We'd like the network to be fault tolerant That is I've got my network and there's a failure one link fails not all links, but one of the links fails Then maybe the two devices connective either link cannot communicate But the other devices still should be able to communicate if one link fails if one link fails and That causes no one to be able to communicate then maybe that's not a good network design similar fault detection Sometimes it's nice to be able to automatically detect if there is a failure That is a link fails How do I know that link failed? Well, firstly that the users of that link may come to me and say your links not working. Please fix it Maybe that takes a minute or hours before I know that automatic detection would be the link fails and Immediately there's a packet sent to some special server saying this link has failed and then maybe some correction Action can take place and get a new link fault detection is Very important for large networks wide area networks the link fails Automatically the different link is used as a backup So given those requirements, let's compare four different topologies that are common first one's mesh and the example is we have six stations a BCDEF and We want to connect them using links and a mesh topology We use point-to-point links and have a link between every pair of devices So we see the mesh here a full mesh in that Station a has a point-to-point link to be to see D E and F and Similar B has links to every other device This is good for performance with point-to-point links everywhere Then the performance between each pair of nodes is guaranteed That is assuming every link is a data rate of a hundred megabits per second A can be sending data to be at a hundred megabits per second and at the same time to see and at the same time to D E and F Those links are dedicated for the the two Endpoints There's no sharing. That's good. What's the problem with a mesh topology? cost why Why is it costly? Many many cables many links. All right, you see in the picture. There are many links necessary. How many links here? Come on count them for me. How many cables do we need? Did you count them? How many lines between the devices? Sorry a has links to five others B has links to four others C has links to three others To D to two others and E to one other that is we don't count them twice five plus four plus three plus two plus one is 15 There are 15 links in this case Let's grow it to a real-size network say inside SIT. We want to connect. We have a hundred devices We want to use a full mesh. How many links do we need? Well the general formulae that the number of pairs of devices how many are there? It's n times n minus one over two That is here. We have six devices the number of pairs is Six times five divided by two thirty divided by two fifteen With a hundred devices the number of pairs the number of links is a hundred times ninety nine divided by two Which is about five thousand? Okay, we need it less than five thousand So I think you realize the more devices we add The more links we need and that becomes very costly to deploy and actually difficult to run all those links through the the space Of course the other problem every device needs multiple links plugged into it The device a has five cables plugged into it So we need a network interface card that supports those five links So that's not very practical good for performance not good for the practical purposes of deploying those links and Making the devices simple So not commonly used in large networks only suitable very small networks Maybe when we need very high performance like in small wide area networks We want to connect devices and we want good performance between every pair. Maybe a mesh is okay a full match Note that we don't need any form of addressing when we use point to point links when I send something on the link Who does it go to? Well, it goes to the other endpoint I don't need to say in the message that I send who is the destination because there's only one possible destination We'll see in the other approaches. We will need some form of addressing So we can identify who is the destination So when I transmit a frame from A to B That frame contains some data. We don't necessarily need to include the address of the destination in That frame because the destination if a transmits it always will be B on this link There's only one possible destination So mesh is possible, but not very practical for for large networks. We could have a partial mesh Not connect all of them together That saves on our links. What's the problem? Can a talk to F? well Assuming that the other devices do not forward data then a cannot talk to F Assuming the role of the devices is either to create data to send or to receive data for themselves I will not send data for other on behalf of other people Then in this case a cannot talk to F and we set our requirement. We want to allow everyone to talk to everyone else So that's the problem with a partial mesh topology that we may not allow some pairs to communicate If we do allow some nodes to connect to forward data That is if I allow for example D to forward data What I can do maybe every node of forward data to send from A to F I could send from A to B B realizes I'm not the destination So sends to D which then sends on to F. That's our switching We've covered that in switching. We can do that if B and D are switches In terms of packet or circuit switches we can deliver the data from A to F But if they are not switches, they're just end stations like a laptop or PC We can't communicate between NF This may be used in some wide area networks when we don't necessarily need to communicate between all pairs Let's look at some other Topologies primarily used in local area networks First one is a bus topology What we do is we have a special link That the six devices attached to and that special link refer to as a bus and You've studied bus topologies or you may have heard of them in computer architecture when you think we have Between the components inside a computer they can communicate via a bus communications bus the same concept here what we do is that when a wants to transmit it has an attachment to this bus link so this solid line is the Cable you think in practice is a cable that passes every computer and Each computer attaches has a special attachment to that that one cable So there's one long link and everyone has very even though it's shown to be long for D But has usually small Devices that attach to that cable and What happens when a wants to transmit to F a transmits onto the bus and The bus usually is designed so that the transmission goes to everyone attached to it and Everyone includes F so F Everyone receives a copy of that transmission and We include the address of the destination inside the frame So when a transmits it sends a frame destination F The bus delivers that frame to everyone connected to the bus B gets it notes. The destination is F and ignores it See gets it and ignores the frame if gets the frame and accepts the frame because it is the destination This bus link is a multi-point point a multi-point link One transmits multiple points receive It's not a point-to-point link. This was used in early a wired lands Okay, so before we had The current land topologies what we'd have is a long cable that passes by every computer usually desktops in those days And the desktops at the back of the land card will have a special attachment that connects on to that bus link and Your computer would transmit everyone would get a copy But only the one who was the destination would take a copy the others would discard the copy So that's why we need addresses in the frame The the bus link had some special terminating points such a To end the link it was rather the advantage is it was rather easy to install We don't need multiple cables like in the mesh topology. We just need one Link passing every device So let's say we have an office building what we would do is we'd have a long cable that just runs past every computer And each computer would attach on to that connect to the bus So not hard to install Now the link the bus link is a point-to-multi-point link the problem with point-to-multi-point links is that We must share that medium amongst multiple users. It's not dedicated for just a pair of users the result was that Only one user could transmit at a time if a is transmitting data to F Then B cannot be transmitting data to E at the same time That bus link is shared so only one user would transmit at a time The result is that if the link capacity is a hundred megabits per second On average the amount that each user can get is that 100 divided by the number of users 100 divided by 6 in this case 16 megabits per second so with a point-to-multi-point link Roughly we can say we divide the capacity by the number of users using that link If we had a hundred devices attached and the capacity was 100 megabits per second roughly each user would get one megabit per second each We don't get the full 100 each and So to share the medium required protocols to do that automatically and it resulted in lower performance One problem was if the bus fails no one can communicate and That was so an issue if there was some error here that normally then it stops everyone from communicating and that's not good fault tolerance There were some practical limits on how long the bus could be and how many devices could attach so in the old lands There were some limits. You couldn't just have one long bus that covers Thousands of meters through a building so this was used in earlier lands, but not very common anymore It was replaced by the star topology, which we'll see Similar to a bus almost the same, but we connect the two endpoints So instead of having that that one link with terminating points connect the two endpoints of the bus and you get a ring topology same concept a transmits onto the ring and The frame is transmitted all the way around Where each device gets a copy of that transmission and the one that is indicated as the destination Takes a copy and processes it the others ignore the message So very similar to the bus topology Note that usually the transmission would happen in one direction Essentially a transmits and it goes that the signal goes past f f gets a copy and the signal keeps going past e E gets a copy and so on comes back to a and then the signal Terminates or that the frame is removed from the ring Again similar to the bus not hard to install compared to a mesh especially it was One of the advantages is it was easy to identify faults That is if there's some portion of the link that's not working Then by sending a message around we'd identify which Device or which portion of the link is not working. That is if this the message always goes Clockwise we go from a and it goes around to f and back to a If we send a message and the link from D to e that portion is not working or D is Or e is not working if we send a message around it will get to D It will not get to e So we've now identified which portion of the link has has a fault D got it e didn't get it so that must be there in the link and that's a Important feature in large networks where we want quick notification of faults Especially in wide area networks covering a city or a country We have a ring network and if there's a fault we can quickly detect that and fix it It was used in very old lands But again not very common except where those old legacy networks are still in use The concept of a ring topology is used in some larger metropolitan and wide area networks This fault tolerance or fault detection is an important feature Larger networks would have a ring in each direction And even backup rings I transmit Around this direction if I want to send from a to f I send in a ring in the opposite direction because it's closer And if there's a fault if we detect the fault from D to e we can switch over to the other Other link the other ring so we can quickly recover last one And especially for lands very important today because what we use in wide lands is a star topology We introduce a new device in the network We now have our six stations a through to f And we introduce a new device which is not a station but as an intermediate device It gets different names But the idea is we have point-to-point links between station and this intermediate device And we want when we want to communicate From a to f we transmit across the point point link to the intermediate device Which then sends across the point point link to f This is like switching Remember in our packet switching we'd send to an intermediate switch Which would then send to the next switch well here. We just have one switch And a common name for this intermediate device is a switch and in a land a land switch or an ethernet switch The benefit in this case is that we're using point-to-point links The ring and the bus topology. We have multi point links and we got lower performance per user here So long as the switch is good quality that is as fast enough I can be transmitting from a to f At my full data rate And at the same time be transmitting say from e to b At the full data rate If my links support 100 megabits per second I can be sending at the same time 100 megabits per second from a to f And 100 megabits per second from e to b And 100 from c to d Whereas with the shared links that wasn't possible So much higher performance That does depend on whether the this switch is fast enough to to process that traffic And nowadays they usually are The problem with this is that we've introduced a central node if this node fails Our whole network fails. No one can communicate So we have a dependence on the central node, which is a problem If the link from a to the central node fails Of course a cannot communicate but everyone else can still communicate So that's okay fault tolerance For that with respect to the links If one link fails it doesn't prevent others from communicating That wasn't the case with the the bus and the ring If the bus fails generally no one could communicate So that's a good thing with respect to fault tolerance Generally easy to install We have one central device and from every station we have a one cable going in there So with a hundred stations we need a hundred cables With our mesh with a hundred stations we needed five thousand cables Usually the links actually were full duplex Or or two links that is What we could do if a is transmitting data to f At 100 megabits per second At the same time with full duplex links f can be transmitting data Back to a or to someone else At 100 megabits per second If we have full duplex links then we can do that and that's what we have in most lands today So this is used in in the lands that we use today This pc has a land cable plugged into it It goes into the the socket in the wall and that land cable goes down to a switch the central node Down in a cabinet downstairs And every other pc connects into that same central node and we get this star topology There are Over time there are variations on what this central node did And the first versions it was a what was called a hub And The hub was designed such that really only one device could transmit at a time The hub was very simple But then as the the hardware got better and cheaper People created a true switch which allowed the device To be able to support the data from a to f and at the same time from b to e and at the same time d to c So this central device in today's lands is called a switch An ethernet switch or a land switch You may have heard of hubs but hubs are usually No longer used because it's the same price to buy a switch as a hub And a switch is faster So that covers the main topologies we'll see in lands And some historical And also we'll see them in in wide area networks as well And that's the main thing we want to cover in this topic We've introduced and classified different types of networks by different criteria and listed it some of the the common topologies that are for connecting Devices together The last two things in the slides at the end. There's some example network technologies You can look through and see the names of some The the topic on medium access control we will not Uh, I think have time to cover This is about the ways in which we share point to multi point links When we have multiple users wanting to send at the same time We said that if they all send at the same time, we will interfere with each other So we want to avoid that And the ways to avoid that Is Well three basic approaches Fixed assignment involves either giving the users different frequency FDMA means frequency division multiple access We've talked about FDM and TDM Same concepts, but with multiple users If there are two users wanting to transmit at the same time give them different frequencies And with different frequencies they can transmit without interfering or TDMA allow them to transmit at different times First user transmits then second then first then second. So that's TDMA time division multiple access SD S DMA space division multiple access put them in different locations So that when they transmit they don't cause interference Interference happens at the receiver when two transmissions have are received at the same time With space division multiplexing say with wireless systems you can have antennas So there's two transmitters want to send to me at the same time If I have two antennas one pointed at the first one And the other antenna pointed at the second user they can both transmit at the same time With my two different antennas I can receive the two signals without them interfering That requires some directional antennas CDMA code division multiple access requires some extra processing to allow Some special coding to allow them to transmit at the same time The other one which is of interest because it's used in Wi-Fi is random access Don't control who transmits just let them transmit randomly So Multiple users want to transmit to the access point at the same time Or they follow some rules that says when I have data to send I will check if anyone else is sending I'll listen in is anyone else sending now No one sending then I will transmit And everyone follows that with a little modification that When I want data to send I will check if someone else is sending and I'll wait a random amount of time And I'll wait if no one's sending then I will transmit And everyone does that And if it's designed well, it allows them to transmit One at a time because If two users wait a random amount of time, they'll usually wait a different amount of time One will get to transmit first and when that one's transmitting the other user will Detect that the first one's sending Random access is used in Wi-Fi and was used in some of the old Wildlands but not in the current wildland But especially important for Wi-Fi because it's a very simple way to allow multiple phones laptops computers To transmit without interfering with each other The key thing for you to remember without knowing how they work with random access especially Because we only transmit one user at a time Then we must share that medium amongst those users If my data rate is 100 megabits per second I have 10 users sharing that medium On average each user will get 10 megabits per second 100 divided by the 10 users And in your performance experiments with the assignment I hope to maybe some of you will see that performance If you try multiple users But that's we're not going to cover how that works What we'll do is next topic you'll look at Wildlands and ethernet a few of the details of ethernet We will stop there. We will not go any more through this topic. The next one is on ethernet


This presentation is about an introduction to free and open-source software and we try to see why it is important, someone would say it's still important today and a small print there says free and open-source software technologist, I didn't make that up, it's actually my academic achievement, that's the title of my master and it's gonna be probably a boring presentation, especially if you're into software because I'm gonna go through some history, some legal issues, but I'll try to keep the rhythm up so you don't fall asleep. So the first thing we need to introduce is what is software, you probably already know, every time I don't know something, a lot of quick pedia and it comes out with this definition which I'm not really happy about, it says it's a part of a computer system that consists of data or instructions and immediately introduce the contrast with the hardware, which is fine, but then at this point I prefer the definition I'm used to do, that's this one, and it's that part of the system that you can't actually kick when you stop working, that's what my teacher at university explained me, so this is more or less, these are two definitions we can be okay with, but actually software is more complex than just saying, okay it's that part of the technology you can't touch, because it's made of mathematics and it's made of algorithms and we know that algorithms are these formal methods that help you solving problems, so it's a kind of a process, software creation that involves mainly two actors, it's the human brain and some sort of machine, right, and at some point the human brain comes up with an idea and he wants to describe this idea to the machine in a formal way, in an ambiguous deterministic way, and that's how software is created, it's basically using a language, we transform our idea into mathematical tool if you want, and we write a set of rules for the machine to execute in a specific order, and then we give it to the machine and the machine will produce the expected results, so that's more the bigger view on software and the process of creating software, but associating this with computers, well and unless you consider this a computer, which was actually the famous Babbage analytical engine, which is completely mechanical, so it doesn't use transistors or integrated circuits as we're used to today, but it was already possible to write software for this machine, this machine was made in the early 18th, 19th century, so in 1800 something, and this person was the person who the first time theorized the existence of something such as software, so you probably know her already, she's Lady Lovelace, she was daughter of Lord Byron, one of the most important figures on the English literature, and she actually managed to write the first piece of software, which is already, which is still available in a museum, and it's of course public domain, and she realized actually the machines that are not made for a single purpose, but like Babbage analytical engine can actually do whatever you want, so she said the analytical engine has no pretensions to do something on its own, it's about us instructing it through a number of steps to do something, so that's what software is, that's the first definition of software back in 1842, well she also said other things like this brain of mine, it's more than merely mortal, the time will show, and she was right actually because she's a genius, so Lovelace, what was actually very important for the definition of software itself, it's a bit like the second half of the last century, it's a bit of a strange history because everybody tells it in their way, so mentioning some people rather than others, but we can all agree on the fact that the hacker ethics is actually created before the computers were accessible to people, and the goal was actually to have access to those computers to do something because it was something that was reserved for university, for like the old professors to play with, or big corporations like IBM, but there was like the development of the hacker character came before the existence of software itself, and okay we can also include Lady Lovelace in this terminology because actually what was her problem, she had this huge machine and nobody knew how to make it work, so she had to invent something, a language to talk to it, and also she wrote programs that could run on this hypothetical machine even if it was not built before another 30 years, but these guys back in the 40s were enthusiastic about building train models because it was something that you could actually disassemble, reassemble, and tune, optimize, so it had something to do with the way we are used now to look at things, so this group of people, like the model railroad club, at some point became students at MIT, they were already in Massachusetts, and they met this professor, this professor Marvin Minsky, who gave them the access to this big powerful machine, this TX-0, and was available for them to play and learn during off time. What was the outcome? In a few years these guys were able to write the first video game, to theorize AI, to learn, to teach the computer to play chess, and even to invent the second oldest programming language known to humans, and still the oldest one that's still in use today, that's Lisp. So in other words, they helped a lot defining the software as we know it today, but what they were starting as well was the hacker community that was starting in these days at MIT and later on even in California when some of them moved to Berkeley and met other people that made the history during the 60s and the 70s, and they theorized the points, they were the first one to theorize the points of the hacker ethics actually, so way before the era of the personal computer, and that's mostly because of the struggle to access these kind of technologies that were something for an elite of people, and still will remain like that until the personal computers will get to everyone. So what are these ethics? And I think this is still very actual, it's for something that was written thinking about today in a way, I'm impressed by these points here, it's like okay maybe we don't have the top problem anymore because accessing technology hands on, it is still a struggle if the technology is proprietary or closed source, but we will get there later, but all the other ones, all information should be free, but even your own information is free to access yourself, they're fixing that now, but very slowly, mistrust, authority promote decentralization, it's seen a nice graffiti entering here, it's like the ideas should never stand back, and that's about it, if you think something you should not just go with the flow, if you have good ideas you should always try to build something out of it, not to centralize everything, and well, there was already a big deal of inclusion in the fourth point there, because it was very early to say that hackers should be judged on what they do and not what they are for age, race, sex, gender, whatever, and this is very important because yes, you can create art and beauty on a computer, when you explain and non-technical friends what they do, I tell them that mine is a very creative job and I really enjoy doing art with the computer, but actually what I do is I write software for microelectronics, for the microelectronics industry, so from the outside point of view I understand that they struggle to just focus on the artistic and creative part of my job, but doing writing software is something very special, and of course, well, it took a while for us to understand, but computers can change our life for the better. Well, in the 70s, some of these MIT students moved to California, and someone like this student called Bill Gates started writing the basic programming language and he founded already Microsoft back in 1975, and meanwhile Steve Wozniak was building the Apple Tool in his garage and the other Steve was ready to sell it because he was already a pretty good business person, but what does it mean that the hacker community, these guys, these enthusiasts, got to provide the impersonal computer to the people way before the big figures, the big corporates of the time, HP and ABM, could even figure out there was such a market, so they got there first. What happened afterwards is like home computer where introduced, we start having all this nice Commodore 64 or Sinclair Spectrum at home, and I was a kid, I did have a Sinclair Spectrum, I remember that I could go to the newspaper shop in the 80s and buy those cassettes with video games on it, but they were not the original video games because they were cloned from the originals, translated to Italian with a completely different name, sometimes even the sprites were changed because the source code was there, nobody actually had the idea of ownership of the software, you create software but it's like writing down an algebraic equation, for instance it's not something that they could think about having some kind of ownership on it, some kind of copyright, that came later, so the software actually was already born free, in the sense that everyone could do whatever they want with it, just before we or some company realized that it was easy money to do it, like you make software once, you copy it as many times as you want and you can sell license fees for each copy you sell, so it's a nice business model, so the legislation kind of followed these indications from companies and of course the copyright law was modified in many countries in Europe to include software as it was a novel or a piece of music or a painting, so that's how the two words met, but before that proprietary software never existed, so some people that were like a bit concerned about this, like we're introducing the concept of copyright and ownership on something like software, that as a hacker community we always consider something that was public for everyone, but that's a normal process of course because if you write something and it starts to have that artistic value I was talking about, so it's not that bad to have this kind of regulation, it's just that these guys, Talman was very against it and he started his own project and he started writing this GNU project because the most popular operating system at the time was Unix, but it also came with the strong ownership from from big companies, so he said I'm gonna write one that's free for everyone, but he hadn't yet theorized what the license model should have been, that came a bit later on. This project was not very successful in the 80s or the beginning of the 90s, but for a simple reason these guys seem to fail to write the core component, the kernel where this operating system could run on, but yeah probably you already know the story, this young student in 1991 Thorvald sends emails saying hey I wrote this kernel and that turns out to be the missing component for the GNU project, but in the meanwhile what happened in the 90s is that personal computer were replacing this home computer that we had in the 80s and there was one strong player that was the Microsoft that was founded back in 1995 and had a lot of project products and they tried to lock in the users with all the ways they could, so even making some versions of the software available to the public for free, especially on the office suite, to ensure that people are forced in a way to stay in that railway of technology that they defined so they can guarantee the return on revenue on those products. The problem is there's nothing wrong with it, that's how the market works, the problem is that this process also englobated the public administration in many cases, which means that a lot of public money started flowing on a single big player in the market already back in the 90s, but it was already happening since the introduction of copyright of course and the commercialization of software. Linux in the meanwhile in the 90s at the beginning it was just a few followers of this Torval guy, mostly people that are very interested about programming in C with the system and decide what the system, the public system for everyone will look like, but it starts leaving its niche, it starts conquering parts of the technology that where it actually makes a difference, so mostly the server, so most web servers switched to free and open source solution running on Linux already very early in the days and a few new companies are born on defining a different market value than just selling license fees and I'm talking about Red Hat, SUSE and other companies that have contributed making Linux great, making Linux what it's today by investing money in the development of this free software and moving a bit, shifting the development of Linux from the basement of hobbyists to an actual corporate environment, so also introducing different kind of quality metrics, etc. and their business model is not anymore on license fees, but it's based on selling services or other more complex business models that we're not discussing here. Then again, what happened in 2000? The good software, as in well written, it became popular again because a lot of network devices like your routers and access points at home are being replaced with Linux machines. Linux becomes mostly popular on the mobile market thanks to Google that makes this open source, not new version of Linux that runs on half of the mobile phones in the world and this company Apple that's in 10-15 years of dark age with dubious products on the market suddenly against popularity again, which is good because it gives a bit of diversity on the market because you're not anymore tied to one single brand, so this way you make space for the third one. Yes, there is a few good achievements that we have had in the past two decades and especially we know that good technology, well written software, can prevail on the market because when the companies are interested in how things work it's not anymore about how much money you spend but it's the results that you achieve. There is some kind of victory for someone who lived this from the inside. It feels good to have Linux as one of the most important software projects right now in the world and so much popular in almost everyone's pocket. But let's go back for a moment of what is software? So software is made of what? It is made of ideas, it's made of algorithms and it's made of solutions, but it's a matter of form rather than substance. The things that you don't find in software like atoms or molecules are something that compose matter. So why do I get here? Because some people still especially politicians don't understand this separation so they still treat software as a product as something you can sell but it's just a matter of form. If you get two programmers and you tell them to write the same thing they will use two different technologies probably two different programming language and come out with something that they don't look like each other but probably in the end they will do the same thing. So look at how many possibilities we have for every single software that we can use nowadays and that's because different communities, different groups, different companies have worked on a similar product but they're not exactly the same but this is not plagiarism because if you start from a from a from a blank sheet you can start writing a novel yourself and it's just a matter of form. If the butler is the killer in my police novel it would be already in several of them but it doesn't mean that it needs to look like the others. So the software ownership it is a matter of form it is never a matter of content so if I do something and you do something that looks similar to it to the user's eye it doesn't mean that we use the same code and if we didn't those are two different things so all these words and patterns you can imagine it's just pointless because we will talk about two different recipes to make chicano gratin but if it tastes good it's not it's not plagiarism so this is important because a lot of companies corporate lobbyists have tried to introduce the the concept of software patents and they've been trying for years actually and it might even look nice as a concept because it means that you know when you put a patent on something you need to release every single bit about it from the latent pattern which means to lay open to show the universe but this only applies to physical things like if I do this I design it for the first time it's a nice object I can put a patent on it and then I will exclude all my competitors to produce it because that's my invention and but this is as a cost for me to produce it as a cost for me to put on the market it is different it's not a concept I can put patents and concepts so this is just pointless right it's a luckily we're still resisting from introducing this kind of model on software and that's not that's not the case everywhere because in the US if you're powerful enough you can still put patents on software so you can still patent ideas which is a bit scary what are the regulations about software software is regulated by the we've seen the copyright law so you can't sell it so when you say I bought that product from that software company you didn't buy the product you actually sign the contract with them that's very similar to a rental contract when you rent a new house it's it's it's about defining what you're allowed and not allowed to do within the boundaries that who granted you software license decide for you and you can decide of of course to accept or or not that this kind of contract but that's still how it works you don't buy actually anything software is not a product and that's actually how it is regulated in european countries through the copyright law so these licenses basically the proprietary licenses are there to put walls and borders around where you could move while using the software open source licenses are just the opposite as we've seen they were they were created as a reaction to the introduction of proprietary software because that never existed before the 80s to put back things as they were before and yeah this the whole discussion of course implies that that you read the software agreement the terms of agreement of the software that that you're gonna use but you are bound to agree to the rules that are written there so the open source words to make it really really really simple as basically two approaches the number one approach is permissive licenses it's like the bsd license that's a that's what is normally called open source in a broader in a broader sense and the bsd license says do whatever you want basically except to us but on the other hand you'd be so kind if you really really become rich with it you should still mention the original authors in your copyright notice to give them some glory that's what open source looks like which is not the not really ideal because if i'm a big company and i'm really interested in the software that wow there is is writing i can just steal it make it better not release it back to the open source he will still keep his own version which is lagging behind because in the meanwhile i had new features i had it i fixed some bugs i'll never tell him and my version is clearly better i invested money and time on it so i'll sell it on the market but what comes back to the original developers is clearly nothing so the same guy behind the new reger storm and i wanted to have unix for everyone um he invented this new kind of license that's a free software license at the also called the new general public license which is different because it's less permissive so it's a bit of a clash with the term free but the term free in this case means you need to provide freedom to your next user and it's done through the four freedoms so the freedom number zero and it's exactly the opposite as proprietary software so closed source is only one part of the problem freedom zero is use it for whatever purpose you want so anything even to make weapons or whatever we don't care because you're free to use the software for any purpose that was designed for some purpose probably but you're free to read adapted to anything um you're free to study it because what's the point of running something if you don't know what's inside it it's just a black box and you don't get very much from it or at least you are kind of one of the machines in the in the in the distributed system because you're using it but just through the path that you were indicated so you're you're making basically a set of predictable steps so you're like the the Babbage machine basically but you're just facing another machine so it's a bit sad the fact that you can't actually read the code that's probably one of the the part that that people like the least but also I'm not just if you stop there you get something that's called the micro shared source license I think works like this so you're free to use it and you're free to look into it but that's it don't even think about touching it but what they want to do with this software is changing it and making it better because water software is great but yes a few things that can be improved so I just move towards action and improve the software water but not for myself for everyone because the rule number three as the last of the four rules says you are entitled to redistribute all the derivatives but you must keep granting the four licenses to the next to the four freedoms to the next person so the software should still be within the same license some people call this viral but it's it's not bad it's actually it keeps the market fair it keeps the ecosystem working so I'd rather use something like this for software I write than the open source permissive licenses but of course this is always a matter of bias and taste and personal history and whatever they're obviously both have a good history of nice project and working track also in in trials so in in actual low environment so there are communities that were able to to sue big companies because they violated one of those freedoms so this is powerful this is a powerful weapon but of course a lot of companies yeah think that this is viral because oh my god all our sources is immediately becoming free for everyone but making software making money on software licenses is some legacy we have from the past it's not a model that's working still in 2018 it's we now sell services we sell experience we don't sell software licenses that clashes a bit with with the degree of technology we have reached so far and if you open your code it doesn't doesn't mean that you're not going to make money with it because there are many business models that are that are based on on free and software and open source software licenses yes probably you're not making billions probably not like founding Microsoft again but I don't think that there are like historical basis to to do something like this right now what we should be focused on should be mostly a way to guarantee a fair market for everyone together and from a small software artisans to the big company everyone should be able to make money with with what they do because software development is is a hell of a job it's very fun but it means you lose sleep and it impacts on your life in a way so you want to get some something back from it but of course there are many ways to do this and of course there is always these companies that say no we don't release our source code because we don't like it it's and my doubt is always the same are they not releasing it because their code is damn ugly and I cannot show you I've seen some code that was not released under an NDA from some customers I worked for and that's the case 90 percent of the time they don't want to show the code because the code sucks because it's completely unreadable it's difficult to maintain and they don't want to associate those lines of code to their logo that's why companies don't release software on open source licenses most of the time because there is not much of a huge advantage right now for how the things have changed to keep proprietary software closed source on software products so proprietary software is not always paid it can be free as in gratis so free as in a free beer let's say but not as in freedom not as in the for freedom but it doesn't mean that it doesn't lock you in because it doesn't ask you money it can still be like completely closed source this is the this is the case probably for thousands of apps for a for a mobile phone they don't ask you money but you will never be able to see the code and that's also bad because we're not fighting against the high price of the software here we're fighting against the the whole concept of hiding your technology in something that's that you don't want to show to the other people how it works so and of course from for people like hackers this is annoying it is frustrating because you will never know how it works you have no ideas who wrote it you need to be trusting them 100% so if you get a computer and you put your nice apple operating system or windows operating system you will never know what it is doing in its core because you're not able to look at actually the software how it was written so and also limits all the other kinds of licenses of freedom sorry that are granted in the free software license because normally in a eula in a in a and user license agreement of one of those software they state clearly what kind of actions you can perform and what you cannot and for sure it won't let you copy it to your friends and there is this funny clause there's many proprietary systems include which is completely invalid in within the EU that's against the reverse engineering so let's say you want to know how something works and you start tearing it apart and checking each component and trying to figure out a bit as you did with your toys when you when you were a kid or with your PlayStation 3 when you had to modify it or you can do the same thing with the with software there are like programs like these assemblers that let you know what actions the machine is is performing step by step please keep using those keep looking inside the software and check what it is doing even if the code is not available because even if the license says it's you can't do that well as long as you are within the european union it's it's your own damn right to do it to start checking and and seeing why the software is being in that specific way and of course that's that's a very very sad note about proprietary software like a lot of the money in the public in the public administration is still going to big software corporations to licenses that are granted to a specific structure just imagine i don't know how many hospitals are in Brussels so probably eight or ten just imagine each one of those hospitals need to buy license for the same software many many times and it's it just adds up to the to the cost if we had the different way of doing these things that would be much more it would be much better for our society but also much more convenient for our pockets because a lot of public money go there so probably a lot of your taxes go there as well and okay i have a video to show you which explains why if the software is it's done for the for the for the public purpose it should be public itself and so open source and even free as well i'm really good to show it to you okay so video treat our public infrastructure like our streets and public buildings the same way it treats our digital infrastructure our members of parliament would work in a rented space where they weren't allowed to vote in favor of stricter environmental laws because the owner a multinational corporation didn't allow that kind of voting in its buildings nor will it allow a long overdue upgrade to more than 500 seats this means some members of parliament have to stay outside in the street and a couple of blocks away a brand new gym is already being torn down just six months after it was built it's being replaced with an exact replica at great expense and the only difference the new manufacturer also provides street for as an added feature meanwhile every night through a hidden back door in the city hall documents that contain sensitive information on citizens from bank data to health care records are being stolen but no one is allowed to do anything about it because searching for back doors and locking them would infringe the subject and as absurd as this sounds when it comes to our digital infrastructure things like the software and programs that our governments are using every day this comparison is pretty accurate because mostly our administrations procure proprietary software this means a lot of money goes into licenses that last for a limited amount of time and restrict our rights we aren't allowed to use our infrastructure in a reasonable way and because the source code of proprietary software is usually a business secret finding security holes or deliberately installed back doors is extremely difficult and even illegal but our public administrations can do better if all publicly financed software were to be free and open source we could use and share our infrastructure for anything and for as long as we wanted we could upgrade it repair it and remodel it in any way to fit our needs and because the open source in free software means that the blueprint is openly readable for everyone this makes it much easier to find and close security holes and if something practical and reliable was created digitally not only can you reuse the blueprint all over your country the actual thing itself can be deployed anywhere even internationally a great example of this is fix my street originally developed in Great Britain as a free software app to report view and discuss local problems like potholes it's now being used all over the world everyone benefits because new features and improvements are shared by everyone if all our software would develop like this we could stop struggling with restrictive licenses and could start thinking about where and how software could help us we could concentrate on creating a better society for everyone so if you think that tomorrow's infrastructure should be in our own hands help us now by sharing this video and visiting our website public.edu it's time to make a demand public money public code so you worried yet um what are the actions that we can do at this point as a user it could be more critical there are alternatives to the software that you use to every day okay sometimes this means being out of your network of your hands for your the latest messaging or social media whatever but yeah I've been through this and that's not that bad I mean it just if you are a developer it's even better because it just pushes you in improving what's already there but as a developer you can do much you can learn new stuff that's number one if you stop learning it just stuck again in the same kind of technology and that's something you can't afford software itself is something that's moving and developers can't be static so never sit down on your own knowledge just if you think you know too much just go ahead and learn something new and there are so many interesting technologies and so many interesting communities out there in the open source and free software word that just they're just waiting for you basically and they're all eager to to to guide you through their own technology because they're usually very passionate about the what they did so yeah start contributing start your own project but most important to join some communities there is in Brussels there is the outer space there is a certain informatic here at tlb it's it's this kind of technology knowledge enhancement places because you get there you show people what you've done people will show you what what they have done and you bought you bought come out very enriched by that of course there is stuff that companies can do as well like sponsors open open source project and ideas for their employees to evolve because that's also means that they're learning new things and becoming better professional adopt open standards so start refusing lock ins policies like big company can come out tomorrow with the new way of visualizing web pages that they decided on their own but it was not like they didn't go through a research a scientific path that open standards and protocols and technologies went through to assess a wider range of problems that are not specific for it for a for a single business model and of course yeah it's it's all about the the mentality of not hiding stuff it's just showing what you can do but new battles are there it's just it's not just the the fact of the of the closed or proprietary software that's warring the technological society and that has to do with the with the with the hacker ethics we discussed earlier because the new battle is actually played on decentralization free and open software is not enough alone it has been a powerful weapon but it's not enough because big companies have learned from their mistakes and they start inglobating open source software they learned how to use it and how to get through communities alter licenses make them sign contribution agreement etc and but be careful because the the goal of the of the free software community is not to destroy capitalism even if in my own opinion it would be a nice side effect but on in general we are not like trying to mine the profit we're trying to make the market more fair more ecologic from the society point of view and so if you promote free software and especially free software not just open source you allow individuals to grow and small companies can compete again with large enterprises and still the gpl license is the i think the most powerful political but also legal tool that we have to increase to increase the the this kind of fairness and equity on the market where small players again can become rich can go through that hope of developing different software in a different way and of course be aware of one thing in open source where there is a lot of false friends a lot of people that say we are friend of open source we support open source we've even contributed to the linux kernel and they go around and organize this kind of let's not just all all the big corporates even local belgian companies will invite you to hackathons where you're supposed to write software for their own idea or promote your own idea or kind of you know summer camp where where you write software for them but be careful because licenses are very important in in these cases because if someone is telling you to develop open source software you just need to go one step further and say is this also free software because if it is not i'm basically improving your own proprietary services that you that you do with my open source software so i'm not against it and just saying if you think i'm good just pay me because developers need to eat as well right so even if people ask you to write open source software that's not something that came from yourself from your own community just please ask for money because it's not acceptable that big companies get cheap labor and uh and yeah beware of marketing especially big news titles because big companies normally pay the press to to put there the best technology in the in the first page uh but it's it's not that bad i mean you can build your own career on on open source software of course you need to be ready to sacrifice some of some parts of your life like sleeping that's not something you you're gonna do because especially if you have like full-time work or your students and you're very busy with your with your schedule and you do other things in your life you don't you'll have to to find some some time for your hobbies but that's for everything of course and but if you have the accurate mentality and everyone a little bit has it i think it just depends on how much you develop it and in your in your younger years if you want to know how things actually work and if you're interested in the tearing them apart studying them and putting them back with new features or the facts fixed etc then you should really consider to become a free and open source developer as side effect of this is that if you write good software and you're passionate about it um at some point your software your software will become part of your cv so the good companies that hire good software developers will check your github page to see if you actually can write software can if you're able to to solve problems that you had in the past etc so just put some some time in it it's not just lost but if you if you actually believe in the project it will come come back it will it will come back in in the form of a profit for yourself as a professional software developer and of course one thing that you need to absolutely do absolutely is coming to fosdom because fosdom is is more than just a conference it's just celebrating the beauty of our magnificent community of more than 7 000 hackers because they like to to wear funny t-shirts where they say that they they believe in these um attic points that that that that we've been through and of course we have a lot of other things we have beer we have a week of talks just concentrated in uh in in just a single weekend that's that's the best definition i've got from fosdom was from a from a tweet from that guy um exactly this year and uh we have beer we have communities that meet up especially on fosdom there is people that you can only meet at fosdom so there is open source there is free software and there is beer did i mention there is beer and so i'll see you in february at fosdom but meanwhile i don't know i've probably got really tight with the time but uh if you have questions or things that you want to discuss with me i leave you this this is all my contacts so you you can actually confront me on the things i said and if there is something that you don't like especially please let's start a conversation about it and uh i'm even going to uh to publish these slides uh with the gravity comments so if someone wants to add things or hate me for a specific thing i put in there i'm just open to everything so yes thank you very much and thanks a lot for your time i hope that uh it was not so too boring and uh you actually got something from this thank you