dilluns, 15 d’abril del 2013

Quality of Service


This past Friday we started a new topic with Professor Josep Solé, which introduced us in the Quality of Service concept.
QoS is the ability to provide different priority to different applications, users, or data flows, or to guarantee a certain level of performance to a data flow. The need to develop QoS are the new requirements on the Internet, such as required bit rate, bounds on delay and jitter, packet dropping probability, sufficient bandwidth, bit error rate…
These requirements vary from application to application, i.e. Internet telephony requires low end-to-end latency in order to do the conversation understandable, or video streaming can tolerate moderate end-to-end delay but no errors on data.

We treated an example to get a better approaching to the QoS: the Digitalization of the Voice.
There are many things than can affect the QoS, the most important we talked were the Nyquist criteria, in order to receive properly the modulated signal, and the number of bits per sample, to minimize the quantization error.

diumenge, 14 d’abril del 2013

Internet of Things


The new topic on the subject is Internet of Things. In these past weeks, we discussed this new concept of the Internet Architecture.

First of all, we have to redefine the concept “thing”: a thing may be defined as a real/physical, digital/virtual entity that exists, moves in time and space, and is able to be identified. So, anything could be part of this new network, even a bottle of water.  The only thing needed is an identification of this thing, and the capability of connecting the Internet.

Once defined a “thing”, let’s define the IoT network: is going to be a global network infrastructure, linking physical and virtual objects through the exploitation of data capture and communication capabilities. This infrastructure will include the existing Internet, and will offer a new kind of services characterized by a high degree of autonomous data capture, event transfer, network connectivity and interoperability.

The application of IoT is on almost all fields, but nowadays is extended in aeronautics, automotive, logistics, pharmaceutics… Because of that, the inversion in IoT is at the order of the day in the EU. Moreover, in South Korea, they are already using IoT to manage traffic control, pollution control, weather monitoring, fire monitoring… and in China has been created a city to develop the IoT, where everything is connected through WSN.

The first goal in order of performing the IoT network is identifying the objects (real things). Nowadays, the mainly identifiers are barcodes, the classical ones, with different sized vertical bars, and the two dimensional barcodes, such as QR codes. Also systems as RFID and NFC are currently working on.
Another way to transmit the identity to the virtual world is through radio frequency, such as sensors. The sensor networks actually work over IPv6, on a protocol called 6LoWPAN, which is really easy to configure, and has a good scalability, and is probably going to be the protocol used in IoT.

Finally we have talked, about the concept of network virtualization: it is defined by decoupling the roles of the traditional Internet service providers into two independent entities: infrastructure providers, who manage the physical infrastructure, and service providers, who create virtual networks by aggregating resources from multiple infrastructure providers and offer end-to-end services. 

dilluns, 1 d’abril del 2013

Intra-domain Routing II


On last entry we have talked about Intra-domain routing, and some protocols involved. Today the entry is going to talk about Link State Protocols, and particuarly the Open Shortest Path First protocol:

Link State Routing Protocols are those protocols that react to changes in the link (up/down) sending connectivity information in contrast to vector-distance that sends the current distance to that node (i.e., routing table information). In general, these protocols are characterized by:
  • Discovering neighbors.
  • Every node learns the topology of the network flooding Link State Packets. Those packets travel with a sequence number and an aging field, to know the distance to the source.
  • A minimum cost algorithm that calculates the best next hop using the data base, the most used is Dijkstra algorithm.

An example of this kind of protocols is the Open Shortest Path First (OSPF). The main idea is that each router draws a map with the whole network, and when a link state change is detected, each router sends information to all network routers. From this information each router recalculates the routing table using Dijkstra algorithm.
OSPF may be used in broadcast multi-access topologies, i.e. LANs, non-broadcast multi-access, i.e. ATM or Frame Relay, or point-to-point topologies.

OPSF algorithm is based on:
  • Discovering neighbors using a protocol called HELLO.
  • Send Link State Advertisements (LSA) to the rest of the routers, using flooding protocols, with all the changes detected.
  • Maintain a data base with the network topology at each router (Link State Database).
  • A minimum cost algorithm, in this case Dijkstra, which calculates the best next hop using the data base.

OSPF packets’ format uses IP encapsulation (with transport protocol 89) and an OSPF Header which define the different kind of packets on it: Hello, Database Description, Link-State Update, Link-State Request and Link-State ACK. Other appearing fields in the header are: Router ID, Area ID, Checksum and Authentication information.

Hello packets are special: they cannot bring LSA information, they are used to test that the line with a neighbor is operative and thus may interchange packets. They also choose a designated router (DR) and a designated backup router (DBR).
A DR is a special router; choose in order to minimize the amount of flooding and the database synchronization mechanism, centralizing the exchange of information. Routers just exchange link state with DR, and if it fails with BDR, although the amount of packets would be very high.
The election of the DR is set at interface level; a router connected to multiple networks could act as DR in a BMA network and as a normal router in another one. The highest priority level’s router is going to be the DR, while the second one is chosen as BDR.

Once the DR and BDR are elected, routers have to learn network routes through an exchange protocol:
  • DR and DBR form an adjacency with each router of the BMA network, generally DR acting as “master” and the others as “slaves”.
  • Master router sends a database summary to the slave and this one acknowledges this packet and viceversa.
  • The slave looks at its database and request for those lacking information routes.
  • Finally it builds the routing table.

Intra-domain Routing

This posts talks about Intra-domain Routing protocols, used to communicate two computers in Internet. Mainly, there are three routing strategies:
  • Source Routing: source keeps a cache with the whole path towards each destination.
  • Shortest path Routing: the source finds the next neighbor and so on until the destination is reached.
  • Delivery semantic: defines the set of nodes that will receive the packet.

On the actual Internet, the number of nodes in the net is the order of millions, so source and short path routing are not practical. The strategy used is hierarchical routing, which is based in organizations that design networks to provide services. Inter-domain routing are those routing mechanisms that connect different organizations, and Intra-domain routing are the ones that are internally run by run organization.

To determinate the path which may forward a datagram, it must be used information introduced by networks administrators (static information), or from automatic information received by the routers (dynamic), i.e. hops, delay, bandwidth, load… This information exchanged by the routers is particular to any protocol, but in general is defined format and content of routing packets, periodicity of the packet exchange and associated algorithms that allow calculating the best path.

All this exchanged information is susceptible to topological changes, where routers should re-calculate routes and updating routing tables, so the shorter the time, called convergence time, which all routers reach a common knowledge of the net, fewer packets will be lost.

The Router Architecture is based on three planes: the Management plane offers an API to configure any feature offered by the router. The Control plane, where any protocol or drawing network maps are located. Finally, the Forwarding plane is the part of the router that decides what to do with the incoming data packets.

There are many ways to classify routing protocols, the first one could be into static; those are the ones that network administrators manually set the routing entries, or dynamic, which set automatically the routing table. Dynamic protocols are used in medium-large networks, and are classified in three groups:
  • Vector-distance protocols: they determine direction and distance towards any subnet in the network.
  • Link-state protocols: they use the network topology.
  • Hybrids: a combination of both.
Another way to classify routing protocols is based on the advertisement of masks. Class-full routing does not advertise the mask, so subnetting is not allowed. In the other hand, Class-less routing advertise the mask, and subnetting is allowed using VLSM.