Explore Networking In The Cloud

user15543
PaperYouWillBeEditing.docx

Networking in The Cloud

xxxxxxx

xxxxxxxxxxxxxx

CCA 625

xxxxxxxxxx

May 17, 2021

Table of Contents 1.0 Introduction 1 2.0 Internet Protocol (IP) 1 3.0 IP Subnetting 3 4.0 Transmission Control Protocol (TCP) 5 5.0 Software Defined Networking (SDN) 6 6.0 Conclusion 26 7.0 References 28

List of Tables

Table 1 :IP class summary. 3

Table 2 :IP subnetting summary. 4

2

Networking in The Cloud

1.0 Introduction

With the flexibility and ease of use and the maintenance cost of cloud computing today, several businesses, enterprises, and even individuals today are shifting to cloud computing as their computing solutions. According to Vogel et al. (2017) cloud computing is a new technology that offers several computing resources off-premise, mainly via the internet. It provides three main models of services: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), and one of the services that cloud computing offers as an IaaS is cloud networking. This paper will explore this Networking in the cloud: its infrastructure, applications, costs, benefits, and as well as the challenges and concerns in the domain of general cloud computing.

Cloud networking is an infrastructure as a service (IaaS), mainly by cloud computing vendors, to solve traditional Networking for businesses and companies. This kind of service is usually offered through hosting. A company can choose to do it for its private use - to make a private cloud platform or use a cloud platform vendor-ed by some other company for public use - this is known as using public cloud. The integration and use of both public and private clouds are known as hybrid clouds. Most large enterprises today implement the hybrid cloud system (Moura & Hutchison, 2016). The cloud network, at the core, is just the traditional Networking that has been and is still implemented by companies and individuals. That fundamental understanding of computer networks is essential in the knowledge establishment of networking in the cloud.

2.0 Internet Protocol (IP)

Internet Protocol (IP) is the unique address that is used to identify a device in the internet. It will be helpful to identify all the devices connected in the BallotOnline network. An IP address is helpful in the identification of the host and network interface. They are represented in human readable format for instance, 10.0.0.1. They are managed by Internet Assigned Numbers Authority (IATA). They exist in two types, that is IPv4 and IPv6.

For complete communication it is important to understand IP routing. It entails protocols and strategies that determine the path the data follows to reach their destination. The destination is reached after successful hops in different networks (Son & Buyya, 2018). To achieve that, there are a number of core protocols that help. They include; Border Gateway Protocol (BGP), Intermediate System – Intermediate System (IS-IS), Open Shortest Path First (OSPF) as well as Routing Information Protocol (RIP). The technique requires mastery of forwarding table. IP routing makes the administrators to divide the internet into Autonomous Systems (ASs) which are governed and controlled by a central administration under a set of routing protocols.

Before transmitting the message in the internet, it needs to be broken down into blocks or packets for effective transfer. This process is referred to as packet switching. Breaking of data into packets highlights more details about the packet that is summarized in the packet header (Hossain et al., 2018). The information in the packet header helps to make decisions such as determining the route to the destination of the packet. Packet switching exists in two key types; connectionless and connection oriented. Connection oriented type is more efficient as it reduces the chances of packet loss.

The IP address management is made easier with implementation of Domain Name System (DNS). The DNS server translates the domain names into the numerical IP address for identifying and locating the computer devices and their resources (Son & Buyya, 2018). This helps the users as it provides an easier way of accessing the internet resources by just mastering the domain names for instance, www.google.com. Its functionality depends on the name servers and communication protocols.

3.0 IP Subnetting

IP subnetting refers to the process of logically subdividing the network into other small networks for efficiency, security, performance and overall easy management (Filer et al., 2019). IP subnetting focuses on reducing the network traffic by utilizing the mini routers created. This enables the packets to choose the shortest distance available to reach their destination.

A better alternative to subnetting is the Classless Inter-Domain Routing (CIDR). It is applicable in giving much details about the IP address with the help of CIDR notation. For instance, the class A IP address 10.0.0.1 has a subnet mask of 255.0.0.0 can be assigned a CIDR notation of 10.0.0.1/14 meaning 14 bits are very important in IP routing. A better representation of the CIDR notation is usually given in binary. For example, 255.255.254.0 can be given as 11111111 11111111 11111110 0000000.

Having more than one subnet in a LAN is helpful in ease management of a network. BallotOnline network is huge and therefore splitting the network into subnets is of much help. To perform subnetting, the router interface is configured with a secondary interface to accommodate all the required subnets. To work effectively, the default gateway must be well defined in each of the subnet (Luong et al., 2017).

Effective IP subnetting requires a deep understanding of IP classes. IPv4 exists in 5 classes. The classes are summarized in the table below;

Table 1:IP class summary.

Class

IP range

Application use

A

1 to 126

Used where large number of hosts are required

B

128 to 191

Used where medium number of hosts are required

C

192 to 223

Used in local area network

D

224 to 239

Used for multitasking

E

240 to 254

Used for research and development

The organization is assigned an IP address 10.0.0.1 by the Internet Service Provider (ISP). The proposed subnetting data for BallotOnline is summarized in the table below;

Table 2:IP subnetting summary.

Subnet Address

Netmask

Range of Addresses

Broadcast

Useable IPs

Total number of Hosts

10.0.0.0

255.252.0.0

10.0.0.1 - 10.3.255.255

10.3.255.255

10.0.0.1 - 10.3.255.254

262142

10.4.0.0

255.252.0.0

10.4.0.1 – 10.7.255.255

10.7.255.255

10.0.0.1 - 10.3.255.254

262142

10.8.0.0

255.252.0.0

10.8.0.1 – 10.11.255.255

10.11.255.255

10.0.0.1 - 10.3.255.254

262142

10.12.0.0

255.252.0.0

10.12.0.1 – 10.15.255.255

10.15.255.255

10.0.0.1 - 10.3.255.254

262142

4.0 Transmission Control Protocol (TCP)

The TCP defines the standard which outlines how network communication is achieved and maintained. It facilitates communication between the applications and users in the network. It works with the Internet Protocol (IP) that helps to define how data packets are sent from one computer to the other. TCP connections depends on a number of communication protocols (Moura & Hutchison, 2016). The most common TCP connects include TCP/IP and TCP over HTTP. The connections are managed by the port numbers which defines the source and destination. For the HTTP connection based, the message is streamed through the available open TCP connection. The message is broken into segments that are transported in the transport layer in form of IP packets. The complete process is handled by TCP/IP software.

Unlike User Datagram Protocol (UDP), the TCP protocol is more reliable as it ensures that all the packets are delivered to respective destinations despite the challenges. It goes a step ahead by recovering the damaged, lost, duplicated and out of order data packets through dynamic retransmission. The reliability is attained through the acknowledgement feature that determines the success of delivery process (Hossain et al., 2018). The acknowledgement depends on the sequence number.

TCP flow control is managed by TCP sliding window. The window helps in determining the number of unacknowledged bytes in the transfer process. It determines both the available space and the size of the data being transported. With such consideration, the system only sends data that can fit in the available space. This reduces traffic at the same time ensures that the first bit of data is acknowledged before releasing the second bit.

5.0 Software Defined Networking (SDN)

BallotOnline network implementation requires Software Defined Networking resources and techniques. SDN refers to the network architecture that is controlled and managed from a central point with the help of software applications. The network behaviors are simulated and programmed into APIs for easy management (Filer et al., 2019). It is also useful in programming the hardware components such as the routers and switches.

To program the network, OpenFlow protocol is needed. The protocol is helpful in programming the network so as to manage and control traffic. It is

Implementation of SDN technology in BallotOnline Network helps in the following ways;

To begin with, it saves the implementation cost. Most of the hardware functionalities are programmed into software therefore saving the organization from purchasing the hardware components which tends to be more expensive.

Furthermore, the activities are managed and controlled from a central point. The central management of the network and the resources comes with much benefits such as bandwidth management, improved security as well intelligent control among many others (Hossain et al., 2018).

In addition, the services and applications running on SDN are abstracted from the available technologies and/or the hardware components. This will mean that the services will be run on APIs as opposed to hardware interfaces.

The SDN implementation can be illustrated through simulation of a network with Mininet as discussed below;

Task 1: creation of Amazon account

Log in to aws.amazon.com and create an account. The amazon account will allow to access cloud services on AWS.

Task 2: Setting up an EC2 instance

To set up a virtual machine, go to EC2 and select the type of machine to create, operating system and security groups accordingly and then select launch. After a few minutes, the machine is ready for use. The machine set up does not have a graphical user interface and we will set up one as shown next.

Task 3: setting up VNC

First log in to the EC2 instance using ssh or the aws console.

In order to use the gui we need to install Ubuntu desktop and tightvnc on the EC2 instance. Using the terminal, run the following commands:

Sudo apt update

Sudo apt install Ubuntu-desktop

Sudo apt install tightvncserver

Sudo apt install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

To launch the vnc server and create the initial configuration, type vncserver :1 into the terminal.

Open the vnc server configuration in vim using the command:

Vim ~/.vnc/xstartup

Edit the final file to look like this one:

Restart the vnc server by using the commands:

Vncserver –kill :1

Vncserver :1

To connect to the EC2 instance via VNC download a VNC client and use the public dns name followed by :1 to connect for example:

ec2-3-136-84-86.us-east-2.compute.amazonaws.com:1

Task 4: setting up and exploring mininet

Mininet is a network virtualization tool that is suitable for simulating traditional computer networks and SDN networks. This makes is an excellent testbed for simulating cloud networks. Mininet has a command line interface as well as a graphical user interface.

To install mininet on a linux host, run the command: sudo apt-get istall mininet as shown below:

Once fully installed, mininet can be invoked by running the command: sudo mn as shown below:

Running the sudo mn command starts a minimal network topology consisting of two hosts connected via a switch. To verify this, run the command nodes as shown below:

The net commands further expose the network topology by detailing where each interface is connected to as shown below:

It can be seen that:

host h1’s interface h1-eth0 is connected to the s1’s eth1 interface

host h2’s interface h2-eth0 is connected to s1’s eth2 interface

s1 has a loopback interface l0 and two other physical interfaces eth1 and eth2

Digging deeper into the IP configuration of the network, use the ifconfig command for the respective node that we want to investigate. For example, we can use h1 ifconfig to view the configuration details of h1 as shown below.

To test connectivity between the hosts, use the ping command as shown below:

Task 5: capturing and analysing mininet communications.

Wireshark is a popular network sniffer and protocol analyser that can be used even in cloud networks. If not installed yet, wireshark can be installed by running the command: sudo apt install wireshark as shown below:

Once installed, wireshark can be run by selecting it on the start menu or running the command sudo wireshark. The wireshark interface is as shown below:

The capture and analysis process are given in the following steps;

Step 1. Exploring the Wireshark Interface.

What are the Capture Options in the Input tab you can choose?

The capture options in the input tab are interface, Snaplen (B), Monitor mode, Traffic, Link-Layer Header, Capture Filter. The interfaces can also be managed.

Step 2. DNS Request Inspection

Requesting computer IP address is 209.18.47.62

DNS server IP address is 10.0.2.15

Site is www.umuc.edu

Step3. DNS Responses Inspection

How many IP addresses are assigned to the site, and what are these IP addresses?

(2) Source- 209.18.47.62 and destination 10.0.2.15.

What protocol is the DNS protocol implemented on top of? What is the destination port number used in that protocol?

UDP protocol port number Destination port: 44505

Step 4. DNS Request Inspection

What website does the DNS request found by the search? What is the IP address that was found?

Mitsloan.mit.edu-209.18.47.61

Step 5. HTTP Request Inspection

What protocol implemented on top of HTTP is used in this capture? Research this protocol on Internet and briefly describe what it is used for.

The Transmission Control protocol (TCP) is used. The TCP protocol is responsible for exchanging of messages over the network for communication. It is reliable and ensures the packets are delivered successfully through acknowledgements.

Step 6. HTTP Requests Inspection

What is the IP address of the request's destination? What is the HTTP response code?

23.49.176.128

Get / HTTP/1.1

Step 7. HTTP Requests Inspection

 What HTTP operation does this request invoke?

What is its destination? 

23.49.176.128

What is the HTTP response code?

HTTP response 1/1

What is the length of the returned data file?

1283\r\n

 What is the extra header tucked on top of this response?

Accept-ranges: bytes\r\n

Step 8. IP Header Inspection

What is the total length of the IP header? What is the request's Time to Live?

Total Length: 405

Time to Live:64

Step 9. TCP Header Inspection

What are the source and destination ports in the TCP header? What is the TCP sequence number for this request? What is the sliding window size?

Source Port: 35722

Destination Port: 80

Sequence number:1

Sliding Window Size: -2

Step 10. Packet Content Inspection

What kind of file is that?

Picture file-PNG

Step 11. Capture Statistics Exploration

What capture filters were used for this capture?

Hardware- Intel ® core ™ 15-7277U CPU @ 3.10GHz (with SSE4.2)

OS: Linus 5.0.0-23-generic

Application: Dumcap (Wireshark) 2.6.8 (Git v2.6.8 packaged as 2.6.8-1~ubuntu 18.04.0

 How many addresses in the domain of akamai.net were resolved?

4 addresses:

23.209.38.147

23.209.38.219

2600:1408:8c00::17dd:4bc1

2600:1408:8c00::17dd:4b91

In the Statistics menu, click on "I/O Graph." 

What does this graph show?

It shows TCP errors and filtered packets.

In the Statistics menu, click on "Flow Graph." 

What does this graph show? 

It summarizes the acknowledgement, synchronize and the SYN/ACK successful information.

6.0 Conclusion

In conclusion, cloud computing has grown to be one of the most popular technologies in the current decade, with big players heavily investing in it. As a core component of the technology, cloud networking also is rising in popularity, with many businesses and enterprises around the world migrating to its use over traditional on-premise networking systems (Vogel et al., 2017). With the growth of the internet and big data, cloud networking will see more popularity. With ever-increasing versatility, several websites, applications, and software hosted on the cloud are bound to rise. Therefore, cloud vendors must invest more in research to deliver well-curated services and provide security systems that the public can trust.

7.0 References

Filer, M., Gaudette, J., Yin, Y., Billor, D., Bakhtiari, Z., & Cox, J. L. (2019). Low-margin optical networking at cloud scale. IEEE/OSA Journal of Optical Communications and Networking, 11(10), C94-C108.

Hossain, M. S., Xu, C., Li, Y., Bilbao, J., & El Saddik, A. (2018). Advances in next-generation networking technologies for smart healthcare. IEEE Communications Magazine, 56(4), 14-15.

Luong, N. C., Wang, P., Niyato, D., Wen, Y., & Han, Z. (2017). Resource management in cloud networking using economic analysis and pricing models: A survey. IEEE Communications Surveys & Tutorials, 19(2), 954-1001.

Moura, J., & Hutchison, D. (2016). Review and analysis of networking challenges in cloud computing. Journal of Network and Computer Applications, 60, 113-129.

Son, J., & Buyya, R. (2018). A taxonomy of software-defined networking (SDN)-enabled cloud computing. ACM Computing Surveys (CSUR), 51(3), 1-36.

Vogel, A., Griebler, D., Schepke, C., & Fernandes, L. G. (2017, March). An intra-cloud networking performance evaluation on cloudstack environment. In 2017 25th Euromicro International Conference on Parallel, Distributed and Network-based Processing (PDP) (pp. 468-472). IEEE.