# A Bit History of Internet/Chapter 4 : Internet Core

Edited by Khairul Farhana, Kwa Meng Kwang, Lau Kien Lok, Kelvin Tan Kuan Ming, and Lee Kok Pun

## Introduction to Internet Core

A global network connecting millions of computers. More than 100 countries are linked into exchanges of data, news and opinions. Unlike online services, which are centrally controlled, the Internet is decentralized by design. Each Internet computer, called a host, is independent. Its operators can choose which Internet services to use and which local services to make available to the global Internet community. Remarkably, this anarchy by design works exceedingly well. There are a variety of ways to access the Internet. It is also possible to gain access through a commercial Internet Service Provider (ISP).
Core network and backbone network typically refer to the high capacity communication facilities that connect primary nodes. Core/backbone network provides path for the exchange of information between different sub-networks. In the world of Enterprises, the term backbone is more used, while for Service Providers, the term core network is more used.
Core/backbone network usually has a mesh topology that provides any-to-any connections among devices on the network. Many main service providers in the world have their own core/backbone networks, that are interconnected. Some large enterprises have their own core/backbone network, which are typically connected to the public networks.
The devices and facilities in the core / backbone networks are switches and routers. The trend is to push the intelligence and decision making into access and edge devices and keep the core devices dump and fast. As a result, switches are more and more often used in the core/backbone network facilities. The technologies used in the core and backbone facilities are data link layer and network layer technologies such as SONET, DWDM, ATM, IP, etc. For enterprise backbone network, gigabit Ethernet or 10 gigabit Ethernet technologies are also often used.

## Advantage of dummy Core

Dummy core is a hardware model in a internet core system. The main aim of dummy core is to produce and accept packets. Dummy core is almost similar to the characteristic of a real source.
There are a few advantages of dummy core as listed below:
* Ample Infrastructure
Dummy core is considered as very flexible because they can be modified in any form as long as it works on a system. For example, if the dummy core has congestion, extra connections or switching is added for reduction of packets congestion. Since dummy cores are low cost and easy setup, they can be reliable communication links between end users and servers. Moreover, dummy cores can be set in a very large scale of network communications.
* Simple Specification
As dummy core’s design is simple, dummy cores just generate and receive packets, and it does not have any extra specification that available in real internet core. The packets that sent through dummy core contain addresses, thus the dummy core required to send the packets to their respective destinations. Therefore, dummy core provides easy maintenance.
* User privilege
Dummy core enable the users to have full privilege towards the control of their interaction. To make it easier to understand, let’s say that two user wants to bring some changes to their interaction, for example to bring in a third party into the interaction. They can just do the changes as they are in full control. This brings more convenience to the user. Another example is that if an IP connected user wants to perform a special three-way connectivity service, he does not need to order the service from the networking company. What the user can do is to install a program that sends the packets to two different destinations, and then receives packets from both the destinations.
Dummy core is solely based on the KISS (Keep It Simple, Stupid) concept. It is like the water in the river. The water will just flow and follow the stream, as how bits move to where it should go without any features or intelligent. Because of its advantages mentioned above over the intelligent core, it is still being used until today.

## Packet-switched Router

A packet switch is a node in a network which uses the packet switching paradigm for data communication. A packet-switched network is an interconnected set of networks that are joined by routers or packet-switched routers.
In networks, packets are switched to various network segments by routers located at various point throughout the network. Routers are specialized computers that forward packets through the best paths. When the packets are sent through the network, the packets start to head off in different directions taking the least busy path at that instant. Packets contain header information that includes a destination address. Routers in the network read the address and forward packets along the most appropriate path to that destination. During the course of its journey, a packet will travel through many routers. Basically, routers run routing protocols to discover neighbouring routers and the networks attached to them. These protocols let routers exchange information about the network topology as it changes due to new or failed links.
| BW | RC | VA/SA | ST | LT |
In a four-stage router pipeline, buffer write (BW) is the first stage. The routing computation (RC) occurs in the second stage. Virtual channel allocation (VA) and switch allocation (SA) are performed in the third stage. The fourth stage is the flit traverses the switch (ST). Each pipeline stage takes one cycle followed by one cycle to do the link traversal (LT) to the next router. When a new flit arrives at the router, it is decoded and buffered according to its specified input virtual channel (BW). Routing computation (RC) is performed to determine the appropriate output port. In the virtual channel allocation stage (VA), the flit arbitrates for a virtual channel based on the output port determined in the previous stage. Once a virtual channel has been successful allocated, the flit proceeds to the fourth stage. The flit arbitrates for access to the switch (SA) based on its input-output port pair. Once the switch has been allocated to the flit, it can proceed to the switch traversal stage (ST) and traverse the router crossbar. The link traversal stage (LT) occurs outside the router to carry the flit to the next node in its path. Each packet is broken down into several filts, the header flit is responsible for routing computation and virtual channel allocation while the body and tail flits reuse that computation and allocation.

## Virtual Circuit Router

Virtual circuit is one of the switching techniques used to handle packets besides datagram. Virtual circuit is actually a hybrid or combination of packets and circuits. It tries to obtain the best of two worlds meaning taking the statistical multiplexing of packet switching on one hand and on the other hand, the traffic management and quality of service of circuit switching. Despite their name, virtual circuits are essentially a connection-oriented version of packet switching; it forwards information as packets (sometimes called cells), but it keeps connection state associated with each flow. In the virtual circuit approach, a preplanned route or connection is established between source and destination prior any packets are transferred. Before the exchange of data can happen, call set up is required where call request is sent by source and call accept packets is replied by destination (handshake). Once the route is established, all the packets between a pair of communicating parties follow this same path through the network and therefore arrive in sequence. Each packet contains a virtual circuit identifier or number instead of destination address so there is no routing decisions required for each packet which means less router memory and bandwidth require. Therefore in virtual circuit, router just uses the circuit number to index into a table to find out where the packet goes.
There was a race between IP (Internet Protocol) and ATM (Asynchronous Transfer Mode) to dominate data networks in the early 90's. In the end, IP routers become more influence over ATM switches partly because the former were simpler and thus faster to hit the market and easier to configure. In contrast, MPLS (Multiprotocol Label Switching) just works below IP, rather than competing with it, and it is an attempt to do simple traffic engineering in the Internet. Recently MPLS has only started getting sizeable deployment with some backbone carriers.
Due to the benefits of virtual circuit packet switching and the growing popularity of IP, many Internet service providers send IP packets over virtual circuits. Virtual circuit packet switching technologies that have been used in the Internet backbones are ATM and, more recently, MPLS.
ATM is a virtual circuit switching technology which was standardized starting in the late 1980s. It is an important technology during 1980s and early 1990s which embraced by the telecommunications industry. ATM is a specific asynchronous packet-oriented information, multiplexing and switching transfer model standard, originally devised for digital voice and video transmission. ATM uses fixed-length payloads with a length of 48 bytes and a 5-byte header, yielding 53-byte long ATM cells. Among the 40 header bits of a cell, 28 are reserved to identify the virtual circuit to which the cell belongs. The corresponding fields are called VCI/VPI (Virtual Circuit Identifier/Virtual Path Identifier). The VCI/VPI fields are updated at each switch.
VPI is identified in cell’s header and cannot establish a virtual channel before virtual path.
VCI only have local significance – different virtual paths reuse VCIs (but VCIs on same path must be unique)
A first issue that arises when trying to send IP packets over ATM virtual circuits is the need for a definition of an encapsulation of IP packets in ATM cells, for example, how to put IP data inside ATM cells. Encapsulation is performed by an adaptation layer (AAL). Moreover, most IP packets are too large to fit in a 53-byte ATM cell. An IP header is at least 20 bytes long, and hosts cannot be coerced to send IP packets of at most 53 bytes. Therefore, IP packets must be cut into smaller pieces in a process called segmentation before they can be encapsulated and put in ATM cells. The last router on the path of IP packets must reassemble the fragments to reconstitute the original IP packets. Segmentation and Reassembly (SAR) is a complex and time consuming process.

## Latest Router Technology

There are a few new technologies invented to create better router.
* Control plane
A router can record which route should be used to forward data packets in the routing table listing. It uses internal preconfigured address to do this, static routes.
* Forwarding plane
The router routes the incoming and outgoing data packets according to its header. It uses data recorded in the routing of control plane.
* Flow control
It deal with receives and transmits packets, the realization of the process of sending and receiving buffer management, congestion control and fairness to deal with.
* Error instructions
Identify errors and errors arising from errors and the necessary ICMP error message.
* Programmable ASIC
It is focus on implement number of functions into a chip with simple design, high reliability and low power consumption but guarantee high performance.
* Routing protocol
They are RIP/RIPv2, OSPF, IS-IS and BGP4. They aim is to improve the router performance such as, backplane capacity, throughput, packet loss rate, forward delay, routing table capacity and reliability.
* Router queue management
Queue management is important so that router can process a number of data packets at the same by processing the data packets one by one. There are a few algorithms available. Packet scheduling algorithm which based on time scale (start time stamp and finish time stamp). Rotation scheduling algorithm which each process is given equal time (round-robin). Last algorithm is priority-based which based on predetermined or user-specified priorities.
* Router security
It combines with firewall to protect the data packets. For example, the router can transfer data provided by the network or users only if the network associated with the access router to confirm the data packets is secure and safe. Another example is the router cannot visit the entire network so that the privacy is ensured.
* IPv6
IPv6 expands the network address bits from 32 bits (IPv4) to 128 bits, so that can provide enough unique IP address for every networked device.
* Cut-through switching
The switch start forwarding the frame before the whole frame is arrived. Normally, as soon as the destination address is processed. It fasten the process, however decreases the reliability.
* Store and forward
The switch starts forwarding the frame only when the whole frame is arrived. So, the router will have time to check the integrity the data packets. It has high reliability, thus suitable for high error rate transmission.
* Adaptive switching
The router will operate the cut through switching or store and forward based on the current situation. The router will operate in cut through switching mode normally, but if the error rate jumps high suddenly, the router will change to store and forward mode.

## Conclusions

Most of the benefits of internet networking can be divided into two generic categories: connectivity and sharing. Networks allow computers, and hence their users, to be connected together. They also allow for the easy sharing of information and resources, and cooperation between the devices in other ways. Since modern business depends so much on the intelligent flow and management of information, this tells you a lot about why networking is so valuable.

## References

http://en.wikipedia.org/wiki/Packet_scheduling
http://en.wikipedia.org/wiki/Router_(computing)
http://tutorialsto.com/index.php/software/engineering/testing/router-technology.html
http://www.cisco.com/en/US/products/hw/vpndevc/index.html
http://www.cisco.com/web/solutions/trends/ipv6/indepth.html
http://isen.com/papers/Dawnstupid.html
http://www.networkdictionary.com/networking/core.php
http://www.tcpipguide.com/free/t_TheAdvantagesBenefitsofNetworking.htm
http://power-idea.com/ideas/network/packet-switching-technology.html
http://www.teach-ict.com/technology_explained/packet_switching/packet_switching.html
http://www.packet.cc/files/ev-packet-sw.html
http://en.wikipedia.org/wiki/Packet_switch
http://www.linktionary.com/p/packet-switching.html
http://books.google.com.my/books?id=3q-emDersecC&pg=PA22&lpg=PA22&dq=packet+switched+router+pipeline&source=bl&ots=vkjYtYU35S&sig=FBdWzMk9OqMPFpwvUGqn65CGRCk&hl=en&ei=MGW7TtPDO43NrQeLufXLBg&sa=X&oi=book_result&ct=result&resnum=10&ved=0CFcQ6AEwCQ#v=onepage&q=packet%20switched%20router%20pipeline&f=false http://www.livinginternet.com/i/iw_packet.htm
http://www.linfo.org/packet_switching.html
http://tusharsharma43.wordpress.com/2010/02/25/what-is-the-difference-in-virtual-packet-switching-and-datagram-switching-what-information-does-packets-hold/
http://en.wikipedia.org/wiki/Virtual_circuit
http://klamath.stanford.edu/~molinero/thesis/html/pmf_thesis_node6.html
http://en.wikipedia.org/wiki/Asynchronous_Transfer_Mode
http://www.cs.virginia.edu/~mngroup/projects/mpls/documents/thesis/node9.html
http://en.wikipedia.org/wiki/Cut-through_switching
http://en.wikipedia.org/wiki/Store_and_forward
http://en.wikipedia.org/wiki/Adaptive_switching