Académique Documents
Professionnel Documents
Culture Documents
1
1.1
Switching
Packet Switching
The concept of packet switching began with the ideas of independent researchers (Kurose
& Ross, 2012, p. 60). When computers were becoming important for science in the middle
of the 20th century, it also became apparent that there was a need to interconnect systems
regardless of distance. The then-existing communication technique of circuit switching
used for telephony proved to be incompatible with the very nature of computing (Leiner
et al., 2009; Roberts, 1978). Ideas were put into practice in the 1970s with the invention
of what is now known as the TCP/IP protocol suite (Forouzan, 2009, p. 3). The new
switching technique uses packets rather than circuits, in that messages are divided
into small pieces of data and moved across a physical medium (Forouzan, 2009, p. 97;
Tanenbaum & Wetherall, 2010, pp. 162164). Being based on digital technology meant
that the switching could be independent of the physical medium.
The purpose of this new switching technique was twofold: networking and internetworking
or, allowing devices to talk to each other, and allowing networks of devices to talk to each
other (a network of networks), efficiently (Leiner et al., 2009; Roberts, 1978). The key
here is efficiency. Traditional circuit switching reserves the path when a connection is
established, so no two connections can use the same path. In packet switching paths can
be used by multiple connections. Any link in the path can contain packets belonging to
different connections. In this way, packets of one connection are all independent and may
take different routes to a destination. This is a best-effort delivery, and is compatible with
the bursty networking pattern of computers, where any link can be idle for a long time
with sudden bursts of traffic occasionally. In this idle time, other connections can use the
link.
1.2
Circuit Switching
1.3
Digital information can represent different types of data and activity that can have different
requirements of the underlying communication mechanism. Because packet switching
abstracts away the physical medium, it is an appropriate switching technique for digital
data communications. Even when the physical layer of the communication is circuitswitched, packetized data enables greater link utilization. For example, a circuit-switched
link can be divided up into channels and analogue signals can use one channel while
digital (packetized) data can use another (Forouzan, 2006, 6, 9). Because much digital
activity is bursty in nature, a link is not always busy. Breaking up data into smaller
packets enables a link to accommodate many such packets from different connections. This
maximizes utilization by minimizing idle time. Individual packets follow an optimized
route, taking alternative routes when needed. This provides a layer of redundancy.
Circuit switching may be appropriate for analogue communication where there is only
one class of signal and the network is dependent upon a physical layer of signal routing
logic, or for communication where a direct end-to-end link is required for reasons such as
privacy and quality of service. However, because a circuit-switched link is reserved for
one connection, it is not suitable for communication that is bursty in nature and where
permanent allocation of resources would be wasteful or expensive. It is also not suitable
for short messages due to the overhead of setting up a connection. Circuit switching is
inherently not fault-tolerant, as any problem along the path of a connection will prevent
passage of information and require costly physical repairs. There is no redundancy; if one
link is damaged, there is no alternative. With the advances in technology today, even
privacy and quality of service can be met by packet switching (Ars Technica, 2013).
Subnetting
2.1
Group
Businesses
Users
Subnet
Unused
1
2
3
200
400
2000
120
20
6
110.50.0.0/25
110.50.100.0/27
110.50.150.0/29
1600
4800
4000
Group 1
First Customer
nth Customer
2.2
Group 2
2.2.1
First Customer
nth Customer
2.3
Group 3
First Customer
nth Customer
110. 50.150. 0
+ 0. 0. 62.120
--------------110. 50.212.120
:: x = 212, y = 120
First Address: 110.50.212.120 (network address)
Last Address: 110.50.212.127 (special address)
01111000 (last octet of first address)
OR
00000111 (NOT of last octet of mask)
-------01111111 = 127
The results are for the last customer in this last group, so any new allocations can continue
from the next available block 110.50.212.128.
3
3.1
Forwarding
Router R1
The router first determines the class of the destination address so that it can extract
the network address and search the appropriate routing table for where to forward the
packet next. This is done by bit-shifting the address 28 bits to the right. The address
145.80.23.14 is 10010001 01010000 00010111 00001110 in binary. The result of the
bit-shift is 00000000 00000000 00000000 00001001, or 9, which indicates a Class B
network. The router then extracts the network address by performing a binary AND
operation over the Class B network mask and the destination address.
10010001 01010000 00010111 00001110 (145.80.23.14)
11111111 11111111 00000000 00000000 (255.255.0.0)
================>-----------------10010001 01010000 00000000 00000000 (145.80.0.0)
The result of the masking is 145.80.0.0. The router searches the Class B routing table
and finds it in the first row. The next-hop address is empty, which means the destination
network is connected to the router and a direct delivery can be made. The destination
address and interface number m1 are passed to ARP to retrieve the physical address of
the next hop.
Next-hop
Address
Interface
111.0.0.0
m0
Next-hop
Address
Interface
145.80.0.0
170.14.0.0
m1
m2
Next-hop
Address
Interface
192.16.7.0
111.15.17.32
m0
Default: 111.30.31.18, m0
3.2
Router R2
The router determines the class of the destination address by bit-shifting the address 28
bits to the right. The address 145.80.23.14 is 10101010 00001110 00011000 00001100
in binary. The result of the bit-shift is 00000000 00000000 00000000 00001010, or 10,
which indicates a Class B network. The router then extracts the network address by
performing a binary AND operation over the Class B network mask and the destination
address:
10101010 00001110 00011000 00001100 (170.14.24.12)
11111111 11111111 00000000 00000000 (255.255.0.0)
================>-----------------10010001 01010000 00000000 00000000 (170.14.0.0)
The result of the masking is 170.14.0.0, and the router searches the Class B routing table,
finding the address in the second row. There is next-hop address, which means an indirect
delivery must be made. The address 111.25.19.20 and interface number m1 are passed to
ARP to retrieve the physical address of the next hop.
Next-hop
Address
Interface
111.0.0.0
m1
Next-hop
Address
Interface
145.80.0.0
170.14.0.0
111.25.19.20
111.25.19.20
m1
m1
Next-hop
Address
Interface
192.16.7.0
111.15.17.32
m1
Default: 0.0.0.0, m0
3.3
Router R3
The router determines the class of the destination address by bit-shifting the address 28
bits to the right. The address 135.15.42.18 is 10000111 00001111 00101010 00010010
in binary. The result of the bit-shift is 00000000 00000000 00000000 00001000, or 8,
which indicates a Class B network. The router then extracts the network address by
performing a binary AND operation over the Class B network mask and the destination
address:
10000111 00001111 00101010 00010010 (135.15.42.18)
11111111 11111111 00000000 00000000 (255.255.0.0)
================>-----------------10010001 01010000 00000000 00000000 (135.15.0.0)
The result of the masking is 135.15.0.0, and the router searches the Class B routing table,
but does not find the address. This means that the network is somewhere else in the
Internet and the packet must be forwarded to the default router. The address 111.30.31.28
and interface number m1 are passed to ARP to retrieve the physical address of the next
hop.
10
Next-hop
Address
Interface
111.0.0.0
m1
Next-hop
Address
Interface
145.80.0.0
170.14.0.0
111.25.19.2
111.25.19.2
0 m1
0 m1
Next-hop
Address
Interface
192.16.7.0
m0
Default: 111.30.31.18, m1
ARP
The ARP protocol is simply a helper protocol of the network layer, sitting closer to the
data link layer (Forouzan, 2009, p. 222). Its job is to facilitate node-to-node passing
of data by retrieving the physical (hardware) address that relates to a logical address.
(Forouzan, 2009, 6.2) The word relates is used because the physical address retrieved
may not necessarily be that of the device with that particular logical addressit can be
another device that acts on behalf as a forwarder (e.g. a router among many routers in
a path towards the device). Every time the network layer prepares data to be sent out,
ARP helps it fill in the hardware address that the data link layer will use (Forouzan, 2009,
pp. 4850).
It does this by creating a query message of its own that will be broadcast (Figure 1). The
correct system (it can be a host or a router acting on behalf of the host) will respond with
its logical address mapped to a hardware address. In effect, ARP basically asks everyone
around whether one of them is or has access to a particular logical address. In the reply
(Figure 2), the broadcast address field is replaced with the original senders address (i),
while the addresses in the payload change places (j) and the the new physical address is
inserted into the source address (k). The requester now knows that this address is to be
mapped to the logical address it did not have information about.
11
12
5
5.1
ICMP
The Protocol
5.2
Implementations
The ping program utilizes the ICMP echo-request and echo-reply pair of query messages
to obtain several pieces of information (Forouzan, 2009, p. 254; Kurose & Ross, 2012, p.
353; Muuss, n.d.). It can report the round-trip packet transmission time between a host
and destination, and can indicate whether there is any problem along the path by keeping
a count of packets sent and received. Proper operation of the networking hardware and IP
software is a precondition for the program to work (it is a networking utility), so it can be
used to check network availability and functionality. Since a round-trip time measurement
depends on the response from the receiver, it can also be used to test network reachability.
Because the program exposes IP addresses and can be used for malicious purposes, some
systems block ICMP messages due to privacy and security concerns (Kurose & Ross, 2012,
p. 143, 355).
The traceroute (or tracert) program is also based on ICMP, butrather interestingly
instead of using query messages, relies on the time-exceeded and destination-unreachable
error-reporting messages to trace network hops along the path between a host and
destination (Forouzan, 2009, p. 260; Kurose & Ross, 2012, pp. 353355; RFC1393, 1993;
Tanenbaum & Wetherall, 2010, p. 466). Such a route-recording option is also provided by
ping, but traceroute provides other options that offer more control (Forouzan, 2009, pp.
13
204205). It works by sending out simple UDP datagrams and intentionally triggering
errors incrementally, exploiting the behaviour of routers and end-hosts towards TTL values
and invalid port numbers. Because the program also reveals a lot of information and can
be used to map out out the topology of a network, some systems block such messages and
may not respond (Kurose & Ross, 2012, p. 355).
5.3
Practical
The commands were run from a server located in Nuremburg, Germany. This information
can be retrieved using IP geolocation services such as ipinfo.io. The CSU server location
was also retrieved in this manner since the university and website may not necessarily
be colocated. Knowing the distance between the two servers is important in order to
differentiate delays, and this can be found by measuring by hand using a traditional map
or using an online map service such as Google Maps. The distance between Germany and
Australia is found to be approximately 15,000 km.
15000 103
= 0.075 = 75 ms
2 108
However, this is only in one direction, so the actual propagation delay included in the
latency between the two servers is 2 75 = 150 ms, leaving approximately another 150
ms as fixed delay due to unaccountable factors. This also means that the propagation
delay is 50% of the packet delivery time.
14
The traceroute command (Figure 4) was also run with options to suppress names and
to send only one probe packet per hop in order to reduce the size of the image, thereby
recording only one timestamp. The output was also truncated from hop 19 onwards
(up to 30) since they are simply non-response indicators (represented by the asterisk
character). It can be seen that 10th hop does not respond either, and this may be because
ICMP messages have been blocked. The incremental delays seen are likely only due to
geographical distance between the hops (the ping run confirms that there are no variable
delays in the path). The first few hops are closer to Germany and the last few are closer
to Australia. Because the trace does not end before the 30th hop and hops after the 18th
are non-responsive, it can be said that the CSU server does not respond to traces. This
may be for security reasons.
15
References
Ars Technica. (2013). The telephone network is obsolete: get ready for the all
IP telco. A technology news and information website. Retrieved September 7, 2014, from http://arstechnica.com/information-technology/2013/01/
the-telephone-network-is-obsolete-get-ready-for-the-all-ip-telco/
AT&T. (n.d.). History of network switching. The official website of AT&T Corp. Retrieved
September 7, 2014, from http://www.corp.att.com/history/nethistory/switching.
html
COMNEWS. (1984). Electronic switching is in. Communications news: enterprise
network solutions, 21 (9), 8232.
Forouzan, B. A. (2006). Data communications and networking (4th ed.). New York,
United States: McGraw-Hill.
Forouzan, B. A. (2009). TCP/IP protocol suite (4th ed.). New York, United States:
McGraw-Hill.
Holzmann, G. J., & Pehrson, B. (1994). The early history of data networks. New York,
United States: Wiley.
IANA. (2013). Internet control message protocol (ICMP) parameters. Official website
of the Internet Assigned Numbers Authority. Retrieved September 7, 2014, from
http://www.iana.org/assignments/icmp-parameters/icmp-parameters.xhtml
Kurose, J. F., & Ross, K. W. (2012). Computer networking: a top-down approach (6th
ed.). New York, United States: Pearson.
Leiner, B. M., Cerf, V. G., Clark, D. D., Kahn, R. E., Kleinrock, L., Lynch, D. C., . . .
Wolff, S. (2009). A brief history of the Internet. ACM SIGCOMM Computer
Communications Review, 39 (5), 2231. Retrieved from http://www.internetsociety.
org/internet/what-internet/history-internet/brief-history-internet
Muuss, M. (n.d.). The story of the PING program. US Army Research Laboratory user
page. Retrieved September 7, 2014, from http://ftp.arl.army.mil/~mike/ping.html
RFC1393. (1993). Traceroute using an IP option. The Internet Engineering Task Force.
Retrieved from http://tools.ietf.org/html/rfc1393
RFC6633. (2012). Deprecation of ICMP source quench messages. The Internet Engineering Task Force. Retrieved from http://tools.ietf.org/html/rfc6633
RFC792. (1981). Internet control message protocol. The Internet Engineering Task Force.
Retrieved from http://tools.ietf.org/html/rfc792
16
Roberts, L. G. (1978). The evolution of packet switching. Proceedings of the IEEE, 66 (11),
13071313.
Tanenbaum, A. S., & Wetherall, D. J. (2010). Computer networks (5th ed.). New Jersey,
United States: Prentice Hall.
17