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