Assignment 2 - Charles Sturt University

advertisement
ITC 212
Internet Technologies
Assignment 2
Student Name: Arman Ernesto Alikarami
Student ID: 11554824
Teacher Name:
Louis Hourany
Date submitted: 24/01/2016
ITC212
Charles Sturt University
Table of Contents
Table of Contents
Table of Contents .................................................................................................................................... 0
Question 1 ............................................................................................................................................... 1
Question 2 ............................................................................................................................................... 2
Question 3 ............................................................................................................................................... 2
Question 4 ............................................................................................................................................... 3
Question 5 ............................................................................................................................................... 4
Question 6 ............................................................................................................................................... 5
References .............................................................................................................................................. 6
11554824
0
Arman Ernesto Alikarami
ITC212
Charles Sturt University
Question 1
Explain the difference between an EUI and a MAC address, give an example of their
practical use.
Network devices within a Local Area Network (LAN) needs to be uniquely identified not
only on a logical basis, through the assignment of IP addresses, but also on a physical basis
through the assignment of Media Access Control (MAC) addresses.
MAC addresses are unique identifiers, usually assigned to the Network Interface Controller
(NIC) of a device, whose first 24 bits identify the organization responsible for their issue,
composing what is known as Organizationally Unique Identifier, while the following bits
identify the unique physical network adapter of the device. In regards to the development of
MAC addresses three distinct formats belonging to the Institute of Electrical and Electronics
Engineers, Incorporated (IEEE) can be utilized, consisting in MAC-48, EUI-48, and EUI-64,
with the term EUI standing for Extended Unique Identifier.
The MAC-48 format is the one originally adopted upon the introduction of physical addresses
to be utilized in conjunction with the IPv4 protocol to deliver data across a network, being
also implemented for ARP operations, Ethernet and wireless networks, Bluetooth and many
further.
In regards to the EUI-48 format, its distinction from the MAC-48 format appears to be linked
only to the fact that one identifies hardware components while EUI-48 identifies other
devices or software. Furthermore the IEEE now considers the label MAC-48 to be an
obsolete term which was previously used to refer to a specific type of EUI-48 identifier used
to address hardware interfaces, thus the term EUI-48 should be used for this purpose (N.A.,
2016).
Finally the EUI-64 format has been adopted after the introduction of the IPv6 protocol,
because by implementing it a host can automatically assign itself a unique 64-bit IPv6
interface identifier without the need for manual configuration or DHCP. This is accomplished
on Ethernet interfaces by reformatting the device 48-bit MAC address by inserting the 16 bit
hexadecimal value ‘FFFE’ between the OUI and NIC segments of the address (Stretch,
2008). Other implementations of the format are instead linked with technologies such as
FireWire and ZigBee.
11554824
1
Arman Ernesto Alikarami
ITC212
Charles Sturt University
Question 2
Explain the difference between ICMP and ICMPv6, give some examples of their
practical use.
The Internet Control Message Protocol (ICMP) is a Network Layer protocol introduced
mainly for compensate structural deficiencies characterizing the IPv4 protocol in terms of
error control and assistance mechanisms. For this reason ICMP is used for the transportation
of network status information rather than application data, including application
communications errors, remote host’s availability and network congestions (Mitchell, 2014)
as well as for the relay of query messages.
The most common implementation of the ICMP protocol is linked to network diagnostic
tools, like the Ping utility, which uses ICMP messages for verify that a destination host is
reachable and collect information about the round-trip time, or the Traceroute utility, which
uses ICMP messages for identify the path of hops that a packet travels to reach its
destination.
The ICMPv6 protocol consists instead in the ICMP adaptation to the IPv6 protocol and while
it serves the same main purpose and functions of its predecessor it also includes
enhancements that absorbed the functions performed by other protocols operating
autonomously from the original ICMP.
Therefore while ICMPv6 messages still support the Ping and Traceroute utilities, they now
also used for support the Network Discovery Protocol (NDP), which is a Link Layer protocol
performing node discovery functions that replace and improve those performed by the
Address Resolution Protocol (ARP), and for support the Multicast Listener Discovery
(MLD), which performs the multicast management functions previously performed by the
Internet Group Management Protocol (IGMP).
Question 3
Describe the differences between structured and unstructured networks in
decentralised P2P networks? Discuss the advantages and disadvantages of both
networks.
Peer-to-Peer networks allow the distribution of resources and workloads within the nodes that
compose them and can be distinct in centralised and decentralised depending on the presence
of a central server that will have knowledge of resources allocation and will redirect peer’s
requests accordingly. Decentralised solutions are characterized by the absence of such server,
11554824
2
Arman Ernesto Alikarami
ITC212
Charles Sturt University
and by a further differentiation based on the way that queries are handled, determining
structured and unstructured networks.
Unstructured networks are implemented through the absence of a defined structure with each
node having knowledge only of its own neighbours and no or limited knowledge of resources
allocation, with queries flowing through the entire network (from neighbour to neighbour)
until the target resource is located, if it exists within the network. The advantages of this
solution rely on its easy implementation, the absence of a single point of failure, the
adaptability to the physical network and the possibility of maintaining a certain degree of
anonymity. However significative disadvantages are present as well, including the increase in
messages and signalling traffic, the possibility of modem nodes turning in bottlenecks and the
increase of delay and network load if the P2P network not adapted to the physical structure
(Steinmetz & Wehrle, 2005).
In structured networks instead the network topology is scrupulously controlled with resources
stored only by specific peers and resource allocation recorded, usually through a Distributed
Hash Table (DHT), so that the queries within the network will be redirected only to the
correct peers. This solution will allow an optimization of the querying system, which will be
quicker and more efficient with each peer maintaining information about the data objects
available through their neighbours. Nevertheless the maintenance cost is high, especially for
large P2P networks and high rates of peer joins or departures, in a phenomenon known as
churn (Vlachou, Doulkeridis, Norvag & Kotidis, 2012).
Question 4
Explain the advantages of verifying the hash function of the bit torrent peer to peer
network.
Bit Torrent is a peer to peer protocol introduced with the main purpose of allowing the
downloading and sharing of large files between multiple peers.
In its original implementation Bit Torrent allows users to load Torrent files from the Internet
to a client software, which will then contact a tracker server specified in the file, for retrieve a
list of IP addresses of the peers sharing the target file, in the file swarm, and connect to them.
After joining the swarm the client software downloads small segments of the file proceeding
at the same time to upload this data so that other clients in the swarm could download the file
as well making the overall download process within the swarm faster and less costly in terms
of bandwidth.
However this solution appears to be fully dependent to the tracker operations, being
vulnerable in case of server failures, therefore in recent times, a decentralized “trackerless”
11554824
3
Arman Ernesto Alikarami
ITC212
Charles Sturt University
torrent system has been introduced allowing Bit Torrent clients to communicate between each
other without the need for the tracker server. In particular Bit Torrent clients use a distributed
hash table (DHT) technology for this, with each client functioning as a DHT node that will
contact nearby nodes when a torrent file is added using a “magnet link”, and those other
nodes will contact other ones until they locate the information about the torrent (Hoffman,
2013).
The main advantages of implementing the hash function within the Bit Torrent network
include:
-
Fault Tolerance, achieved through the absence of a central server, so all nodes within
a DHT would be equal taking charge of the information stored on a node that fails
Fast Recoverability, achieved through the even distribution of workloads and
responsibilities, allowing quick recovery when multiple nodes fail
Scalability, allowing nodes to join and leave dynamically and responding well to
increase of network dimensions.
Question 5
In the client-server paradigm, explain the process of FTP connection control and data
transfer.
The File Transfer Protocol (FTP) is an Application layer protocol introduced in the TCP/IP
protocol suite to promote sharing of files (computer programs and/or data), to encourage
indirect or implicit (via programs) use of remote computers, to shield a user from variations
in file storage systems among hosts and to transfer data reliably and efficiently (n.a., 2007).
Its implementation is achieved through a client-server model, where users install FTP client
software on their devices and submit request for specific resources to an FTP server, which
will handle the data transfer. However, unlike other client-server architectures, two distinct
connections are performed between client and server, with the first one being characterized
by the exchange of control information and the second one consisting in the actual data
transfer process.
The first FTP connection is established at the well-known TCP port 21 by the client device,
which initially connects to the FTP server and exchange control information, consisting in
client inputs and server replies. In particular after the connection is set up, authentication
credentials are provided, the target file is located and subsequently transferred, with the
connection remaining active for each data transfer session.
The second FTP connection instead is established at the well-known TCP port 20 for each
individual data transfer operation, which can result in three different options: the client device
11554824
4
Arman Ernesto Alikarami
ITC212
Charles Sturt University
downloading files from the FTP server, the client device uploading files to the FTP server
and client device retrieving a list of directories or file names from the FTP server. At the end
of the data transfer operation the connection at port 20 will be closed and a new one might be
open for the next operation.
Question 6
Explain the difference between a persistent and non-persistent connections in the client
server paradigm.
Within the client-server paradigm connections between the server device and the client
device can be classified under two distinct categories, persistent connections and nonpersistent connections, based on the way that the Transport layer connection between the
devices is handled after each individual Application layer communication.
When non-persistent connections are implemented the server will close the Transport layer
connection after responding to each individual request that the client presents. This means
that every request will lead to a separate TCP connection even if the target resource resides
on the same server. Therefore, given the TCP connection establishment overhead, generated
by the three-way handshake mechanism, and the TCP congestion control mechanism, using
non-persistent connections is rather costly in terms of resources usage (Schonwalder, 2005).
On the other side, however non-persistent connections present significant advantages in terms
of the number of clients that could be served at the same time and the security and reliability
of the transfer process.
When persistent connections are instead implemented the server will leave the Transport
layer connection open after an individual request from the client has been responded,
allowing therefore to maintain the same TCP connection, with the three-way handshake
process not implemented between resource transfers, until each request from the client has
been satisfied. This solution will allow to achieve a faster delivery of target resources and
services and will apply reduced overhead on the network resources, however might encounter
scalability issues, with all connections to the server occupied and other users waiting for their
turn.
11554824
5
Arman Ernesto Alikarami
ITC212
Charles Sturt University
References
N.A. (2016). “What are MAC addresses and how are they used?”. In Computrols.com.
Retrieved from http://www.computrols.com/faqs/faq-127
Stretch, J. (2008). “EUI-64 in IPv6”. In PacketLife.net. Retrieved from
http://packetlife.net/blog/2008/aug/4/eui-64-ipv6/
Mitchell, B. (2014). “ICMP definition”. In About.com. Retrieved from
http://compnetworking.about.com/od/tcpip/g/bldef_icmp.htm
Steinmetz, R. & Wehrle, K. (2005). “Peer-to-Peer Systems and Applications”. State-of-theart survey, xxvii, 629 p. ISBN: 354029192X
Vlachou, A., Doulkeridis, C., Norvag, K. & Kotidis, Y. (2012). “Peer-to-Peer Query
Processing over Multidimensional Data”. Springer, XII, 84 p. ISBN: 978-1-4614-2110-8
Hoffman, C. (2013). “HTG Explains: How Does Bit Torrent Work?”. In HowToGeek.com.
Retrieved from http://www.howtogeek.com/141257/htg-explains-how-does-bittorrent-work/
N.A. (2007). “Protocols Guide: TCP/IP Protocols. Application Layer Protocols: FTP: File
Transfer Protocol”. Network Protocols Handbook (pp. 14-15). Javvin Technologies, Inc.
Schonwalder, J. (2005). “Network and Protocols. Quiz Sheet 3.”Retrieved from
http://cnds.eecs.jacobs-university.de/courses/np-2005/q3.pdf
11554824
6
Arman Ernesto Alikarami
Download