dijous, 9 de maig del 2013

QoS mechanisms


Following the subject which we talked in the last post, in this entry we will talk about mechanisms to provide QoS.
In order of developing those mechanisms, we must know some characteristics of the traffic source: it can be defined as Constant or Variable Bit Rate, depending if traffic rate is fixed, such as 64Kbps voice, or not, such as MPEG coded video. Other interesting parameters which characterize flow are peak rate, average rate and burst size.

QoS mechanisms can be defined into Static and Dynamic Functions. Static Functions are based on providing QoS in a constant way, meanwhile Dynamic Functions allow providing QoS in a specific moment and application.
  • Static Functions:
    • Admission control:Before accepting a new connection, these functions must examine both traffic and QoS parameters in order of maintaining QoS and available resources.

    • Resource reservation: In order of guaranteeing QoS, network resources can be reserved in advance. The usual resources reserved are bandwidth and buffer space.

    • QoS signaling: It is a mechanism used by end users to communicate QoS related information to the network. Signaling is often used to work on a dynamic way with admission control and reservation resources.

  • Dynamic Functions
    • Traffic policing: In order of protecting the net from users violating the traffic contract (which can compromise the QoS of other connections), all entering traffic is therefore subject to policing. Depending on the “policer”, the decision maker element, traffic will be admitted or not into the network. The decision will be done depending on the parameters of the traffic defined on top: Peak Rate, Average Rate, Burst Size and its combinations. Some examples of this kind of functions are Frame Relay, Leaky Bucket and Token Bucket.

A similar function of traffic policing is Shaping Policing: it regulates a flow to make sure it does not violate traffic contract. The difference from traffic policing remains in a buffer, in order of not dropping all the packets. Token Bucket Shaper is an example of those mechanisms.

Other dynamic functions will be presented in future posts.

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.

dimecres, 27 de març del 2013

IPv6

In today’s entry, we are going to talk about the IPv6 addressing and the transition to it from IPv4. Since the Internet has been working on, the addressing has been organized based on the IPv4 blocks. These addresses blocs are not bought; they are public resources that can be used always that fulfill RIR rules and being a LIR member.
IPv4 addresses are divided into:
  • Provider aggregatable: Blocks of addresses that may be sub-assigned to other ISPs or to other companies that also may leased the addresses to their customers
  • Provider Independent: Blocks of addresses that cannot be sub-assigned to other ISP and only may be assigned to end users.

Over time, the explosion of Internet provoked problems in the scalability of the Internet architecture: IANA just provides /8 blocks to RIR, which leases subnetting blocks from /8 to ISP. ISP has to deal with multiple users, so NAT is an intermediate solution to delay IP addresses exhaustion. 
Nowadays addresses have been exhausted, and the new IPv6 is being progressively deployed. Its main feature is increasing the number of IPv4 addresses from 32 bits to 128 bits, but also, improves IPv4 address space and deals with security (IPSEC).

IPv6 header has new interesting fields, such as the version of the packet, the type of service or the “new header” field, which consists in indicate if there is an embedded header with options for this packet, i.e. authentication, cryptography, routing...

There are 3 kinds of addresses in IPv6:
  • Unicast: addresses pointing to just one destination
  • Anycast: addresses pointing to any destination among a group of destinations
  • Multicast: addresses pointing to several destinations (includes broadcast).

Another interesting feature of IPv6 addresses is that they have a scope: global addresses which are routed in the whole Internet, site local addresses which are not routed outside the local network, and link local addresses which are not routed by routers.

ICMP has also been modified to ICMPv6, which combines the features of old ICMPv4 with new ones, i.e. neighbor discovery. It is a function that allows:
  • Address resolution: it learns L2 addresses from the host (is equivalent to ARP).
  • Router discovery: it learns the router which we are connected.
  • Agent discovery: especially for mobile IPv6, consists in knowing if the node has moved from one network to another.

Finally, the method to obtain an address is similar to IPv4: the router provides a prefix, which represents the network, and the computer adds an id. To manage all the addressing system, it has been created a DHCP server that will centralize the IP assignments.

diumenge, 17 de març del 2013

Internet Architecture


The topic on this entry is how the Internet is structured: the main actors, organizations implied in Internet architecture and the problem with IPv4.

Internet is a global system of interconnected computer networks that use the TCP/IP suite protocol to connect users and applications, and the way to access the net is through an ISP. Them provide connectivity to the users, corporative networks and others Internet Service Provider.

The Internet Assigned Numbers Authority (IANA) is responsible for the global coordination of the Internet Domains, Number Resources and Protocol Assignments. In other words, is the responsible of making the Internet works correctly without centralizing the Internet control. IANA is divided in Regional, National and Local Internet Registries in order to solve the legislation of the different countries. The RIR, which are distributed in continents, manage the distribution of IPv4 and IPv6 address blocks and AS number to the LIR, which are the ISP, that assign  these resources to the end users.

An Autonomous System is a group of IP networks run by one or more networks operators with a single, clearly defined routing policy. So, all the ISP must be in an AS and have an AS number assigned. The relationships between these networks are generally separated in:
  • Transit: you pay to another network for Internet access.
  • Peer: two networks exchange traffic between each other's customers freely, and for mutual benefit.
  • Customer: another networks pay you to provide them with Internet access.

The Internet Service Providers are organized in three levels:
  • Tier 1: also called Default Free Zone, which is a network that can reach every other network on the Internet without purchasing IP transit, and without costs.  
  • Tier 2: a network that peers with some networks, but still purchases IP transit to reach at least some portion of the Internet. They are the ISP which are to provide access to Internet to a region. 
  • Tier 3: a network that solely purchases transit from other networks to reach the Internet. They are the local providers.

On the actual Internet the main kind of network are peer-networks, so normally, the connections are going to be between Tier 3-ISP, and to avoid travelling through the three ISP levels has been created the Internet eXchange Point. It consists in routing Tier 2 or 3 ISP instead of going to an international connection (Tier 1). Some companies refuse it because it is complicated to manage the traffic and charge taxes to the end-user.

Another way to organize the ISP is based on what is offered to the user: services or content. The Content Service Providers are also divided into three groups:
  • Network Operator Content Networks: the operator stores content in caches in order to offer better access services. 
  • User Content Networks: such as peer-to-peer networks, which store content in a local network.
  • Content Providers Content Networks: are divided in Farm servers, which store content in local networks, Mirrors, distributed servers in geographical localizations, but the user has to choose the server, and Content Distribution Networks, distributed servers, just as Mirrors, but with a dynamic pointing.

The CDN networks, are networks based in the idea of joining the users and the content, and shorting the delivery path via global networks of strategically placed servers. This kind of networks are capable of managing and maintaining the networks' elements that deliver Web content, and also provide to value added services, such as customization and adaptation of content, virus scanning and ad insertion. Thereby, these networks achieve reduced latency, high scalability and high availability.