Cloud Computing Networking
Cloud Computing Networking
com
www.allitebooks.com
Cloud
Computing
Networking
Theory, Practice, and Development
www.allitebooks.com
www.allitebooks.com
Cloud
Computing
Networking
Theory, Practice, and Development
Lee Chao
www.allitebooks.com
Screen shots and icons are reprinted by permission from Microsoft Corporation. Microsoft® and Windows® are trade-
marks of Microsoft Corporation. This book is not sponsored by or affiliated with Microsoft Corporation.
CRC Press
Taylor & Francis Group
6000 Broken Sound Parkway NW, Suite 300
Boca Raton, FL 33487-2742
© 2016 by Taylor & Francis Group, LLC
CRC Press is an imprint of Taylor & Francis Group, an Informa business
This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been
made to publish reliable data and information, but the author and publisher cannot assume responsibility for the valid-
ity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright
holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this
form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may
rectify in any future reprint.
Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or uti-
lized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopy-
ing, microfilming, and recording, or in any information storage or retrieval system, without written permission from the
publishers.
For permission to photocopy or use material electronically from this work, please access www.copyright.com (http://
www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923,
978-750-8400. CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For
organizations that have been granted a photocopy license by the CCC, a separate system of payment has been arranged.
Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for
identification and explanation without intent to infringe.
Visit the Taylor & Francis Web site at
http://www.taylorandfrancis.com
and the CRC Press Web site at
http://www.crcpress.com
www.allitebooks.com
Contents
P r e fa c e xi
Acknowledgments xvii
Author xix
C h a p t e r 2 N e t w o r k P r o t o c o l s 35
Objectives 35
2.1 Introduction 35
2.2 Application Layer Protocols 35
2.3 Transport Layer Protocols 39
2.3.1 Transmission Control Protocol 40
2.3.2 User Datagram Protocol 45
2.4 Internet Layer Protocols 46
2.4.1 Internet Protocol 46
2.4.2 Internet Control Message Protocol 49
2.4.3 Address Resolution Protocol 50
2.4.4 IP Security 51
2.4.5 Internet Routing Protocols 52
www.allitebooks.com
vi C o n t en t s
C h a p t e r 3 N e t w o r k C o n c e p t s and Design 79
Objectives 79
3.1 Introduction 79
3.2 Network Types 79
3.2.1 Local Area Network 80
3.2.1.1 Ethernet 80
3.2.1.2 Fibre Channel 83
3.2.1.3 LAN Segment 83
3.2.2 Wide Area Network 84
3.2.2.1 WAN Technology 85
3.2.2.2 Modulation 86
3.2.2.3 Multiplexing 87
3.2.2.4 WAN Network Media 88
3.2.3 Internet 89
3.2.4 Wireless Network 91
3.2.4.1 Wi-Fi Technology 91
3.2.4.2 WiMAX Technology 93
3.2.4.3 Infrared 94
3.2.4.4 Bluetooth 94
3.2.5 Virtual Network 95
3.3 IP Addressing 97
3.3.1 Network Planning 97
3.3.2 IP Addressing Strategy 99
3.3.3 IP Addressing 99
3.3.3.1 IPv4 IP Addressing 99
3.3.3.2 Special IP Addresses 102
3.3.3.3 Private and Public IP Addressing 104
3.3.3.4 IPv6 IP Addressing 104
3.3.4 Subnets 108
3.3.4.1 Reasons for Using Subnets 108
3.3.4.2 Subnet Masks 109
3.3.4.3 Network Subnetting 111
3.3.4.4 Classless Inter-Domain Routing 117
Activity 3.1: Implementing Simple Network 118
3.4 Summary 122
Review Questions 122
www.allitebooks.com
C o n t en t s vii
C h a p t e r 4 N e t w o r k D i r e c t o r y S e r v i c e s 125
Objectives 125
4.1 Introduction 125
4.2 Active Directory® Logical Structure 126
4.3 Active Directory® Design 131
4.3.1 Requirement Analysis 131
4.3.2 Structure Specification 132
4.4 Active Directory® Implementation 138
4.5 Active Directory® Deployment 139
Activity 4.1: Active Directory® Domain Services 140
Task 1: Installing Active Directory® Domain Services on servera 140
Task 2: Joining serverb to Active Directory® Domain 143
Task 3: Configuring serverb as a Replica Domain Controller 151
Task 4: Creating and Viewing Active Directory® Objects 153
4.6 Summary 159
Review Questions 159
C h a p t e r 6 N e t w o r k i n g with Wi n d ow s P ow e rS h e l l ® 203
Objectives 203
6.1 Introduction 203
6.2 Windows PowerShell® 204
6.2.1 Cmdlets 204
6.2.2 PowerShell Functions 207
6.2.3 Windows PowerShell® Scripts 211
6.2.4 Native Commands 213
6.3 Networking with PowerShell 214
Activity 6.1: Networking with Windows PowerShell® 222
Task 1: Basic Networking with PowerShell 222
Task 2: DNS Management with PowerShell 224
Task 3: Managing Active Directory® with PowerShell 229
www.allitebooks.com
viii C o n t en t s
C h a p t e r 7 I n t e r n e t D ata Tr a n s a c t i o n P r o t e c t i o n 243
Objectives 243
7.1 Introduction 243
7.2 Secure Sockets Layer 243
7.2.1 Confidentiality 244
7.2.1.1 Symmetric Encryption 245
7.2.1.2 Asymmetric Encryption 245
7.2.2 Integrity 246
7.2.2.1 Hash Encryption 246
7.2.3 Nonrepudiation 247
7.2.4 Authentication 249
7.3 Certificate Services 249
7.4 Enabling SSL 251
7.5 Certificates on Microsoft Azure™ 252
7.5.1 Management Certificate (.CER) 252
7.5.2 Service Certificate (.PFX) 252
7.5.3 SSH Keys 253
Activity 7.1: Certificate Services 253
Task 1: Installing and Configuring CA 254
Task 2: Certificate Management with CA 261
Task 3: Creating SSL Certificate for Web Server 274
Task 4: Repairing Certificate 283
7.6 Summary 289
Review Questions 290
C h a p t e r 8 I n t e r n e t P r o t o c o l S e c u r i t y 291
Objectives 291
8.1 Introduction 291
8.2 TCP/IP-Related Security Issues 291
8.3 IP Security 293
8.3.1 Tunnel Mode 293
8.3.2 Transport Mode 294
8.4 Creating and Using IP Security (IPSec) 297
8.4.1 IP Security Policy 298
8.4.2 Windows Firewall with Advanced Security 300
Activity 8.1: IPSec Implementation with IP Security Policy 304
Activity 8.2: IPSec Implementation with Windows Firewall with Advanced
Security 319
8.5 Summary 329
Review Questions 330
www.allitebooks.com
C o n t en t s ix
C h a p t e r 10 V i r t ua l P r i vat e N e t w o r k 379
Objectives 379
10.1 Introduction 379
10.2 Virtual Private Network Architecture 379
10.3 VPN Tunneling 381
10.3.1 Internet Protocol Security VPN 381
10.3.2 Secure Sockets Layer VPN 383
10.3.3 Point-to-Point Tunneling Protocol VPN 383
10.3.4 VPN Tunneling Type 385
10.4 VPN Security 386
10.4.1 VPN Authentication 386
10.4.1.1 Windows Authentication 386
10.4.1.2 Remote Authentication Dial-In User Service 388
10.4.2 VPN Encryption 389
10.5 Remote Accessing on Microsoft Azure™ 390
Activity 10.1: Point-to-Site Connection between Local Computer
and Microsoft Azure™ 391
Task 1: Creating Virtual Network 393
Task 2: Preparing VPN Gateway 393
Task 3: Creating and Uploading Certificates 395
Task 4: Downloading and Installing VPN Package 401
Activity 10.2: Site-to-Site Connection between Microsoft Azure™ and
On-Premises Network 404
10.6 Summary 417
Review Questions 417
C h a p t e r 11 H y b r i d C l o u d 419
Objectives 419
11.1 Introduction 419
11.2 Hybrid Cloud Solution 421
11.3 Hybrid Cloud Technology 422
x C o n t en t s
As the IT industry advances, cloud computing represents the next big computing
platform change. It is the most significant transformation since the introduction of
the Internet in the early 1990s. Cloud computing along with virtualization technol-
ogy will literally revolutionize the way we run a business. The cloud provides a flex-
ible, secure, scalable, and affordable IT infrastructure. E-commerce and educational
institutions can particularly benefit from cloud-based IT infrastructures.
Through the Internet, cloud-based IT infrastructures allow companies and edu-
cational institutions to subscribe to software, an IT infrastructure, or an application
development platform from a cloud provider. This way, it is not necessary for subscrib-
ers to build their own IT infrastructure for supporting their computation needs. As
a result, subscribers can significantly reduce the cost of IT development and man-
agement. Companies and educational institutions can also develop their own private
clouds to take advantage of the flexibility, security, availability, and affordability of a
cloud computing environment.
To catch up on the cutting-edge technology such as cloud computing and net-
work virtualization, this book is designed to provide enough networking theory and
concepts for readers to understand cloud computing. In addition, the book provides
hands-on practice in a cloud-based computing environment.
Motivation
More and more companies and educational institutions are planning to adopt a
cloud-based IT infrastructure. Therefore, today’s job market requires IT profession-
als to understand cloud computing and have hands-on skills for developing cloud-
based IT infrastructures. Although professional development books in the cloud
xi
x ii P refac e
computing field are available, they are usually for more experienced IT professionals.
For many university students and entry-level IT professionals, there are a handful of
challenges to master cloud technology. It is difficult for them to understand cloud
computing without adequate knowledge of networking and system administration.
Understanding the needs of entry-level IP professionals and university students has
motivated the author to write this book, which includes systematic coverage of net-
working and system administration for better understanding cloud computing.
With this motivation, this book is designed with the following objectives. First, it
provides IT professionals with the necessary networking and system administration
knowledge to better understand cloud computing. Second, it helps IT professionals
to get a quick start in deploying cloud services. The book provides detailed instruc-
tions on establishing a cloud-based computing environment where IT professionals
can carry out all the hands-on activities in this book. The cloud-based computing
environment allows readers to develop cloud services collaboratively or individually.
Third, it enhances readers’ hands-on skills by providing lab activities. Through these
lab activities, readers can develop a fully functioning cloud-based IT infrastructure
with Microsoft Azure. Last, this book demonstrates how networking plays a key role
in a cloud-based IT infrastructure. It helps readers understand how to set up networks
for a cloud-based IT infrastructure. It also demonstrates how networks are used to
construct cloud services.
This book integrates networking and cloud computing. Networking and system
administration theory and concepts are used to explain cloud computing technology.
Hands-on practice is conducted in the cloud computing environment. To help IT
professionals catch up with the trend in cloud computing, the public cloud provider,
Microsoft Azure, is used to establish a cloud computing environment. This book also
illustrates the development of a private cloud with Hyper-V. After systematic cover-
age of networking theory and concepts such as virtual network, private network, and
certification, this book leads the reader to the development of a hybrid cloud that
integrates the public cloud and the private cloud.
The following are the features that make the book valuable for readers who are
interested in learning about cloud-based IT infrastructures.
The book focuses on its goal to make sure that readers learn how to develop a cloud-
based network system for a real-world business. The content of the book is suitable for
undergraduate and beginning graduate courses related to networking as well as for IT
professionals who do self-study on cloud computing.
For the convenience of entry-level IP professionals and university students, the
book is designed in the following manner:
This book includes 11 chapters. Each chapter contains an introduction of its content,
the main body of the chapter, a “Summary” section to summarize the discussion in
the chapter, and a “Review Questions” section to help readers review the knowledge
xiv P refac e
learned from the chapter. Each chapter also includes hands-on activities to help read-
ers practice the skills learned in the chapter.
Chapter 1 introduces networking and network operating systems. It outlines the
use of network operating systems in cloud computing. This chapter gives an overview
of the commonly available public cloud providers and packages used for developing
private clouds. The lab activity in this chapter prepares a cloud computing environ-
ment for the lab activities in later chapters.
Chapter 2 deals with the necessary network protocols to be used in cloud com-
puting. Three hands-on activities are used to explore the network management tools
provided by the Windows Server operating system.
Chapter 3 covers the topics related to network design and IP addressing. It describes
how the Internet works. It also describes other types of networks used in implement-
ing cloud computing. The hands-on practice of this chapter creates a virtual network
on Microsoft Azure. The virtual network is used to illustrate the concepts of local area
networking and subnetting.
Chapter 4 introduces directory services, which are the key components of cloud
computing. The chapter describes how directory services are used in enterprise-level
IT infrastructure management. It provides technical details on the development and
implementation of directory services. In the hands-on practice of this chapter, the
Active Directory service is implemented on virtual machines hosted by Microsoft
Azure.
Chapter 5 introduces network services such as the dynamic host service and name
service, which are often used in cloud computing. The theory and concepts of the
dynamic host service and name service are described in detail. The hands-on activity
in this chapter illustrates the implementation of the dynamic host service and name
service in Microsoft Azure.
Chapter 6 demonstrates how to use Windows PowerShell for network and cloud
management. This chapter introduces programming units such as cmdlets, PowerShell
functions, and PowerShell Scripts. During hands-on activities, readers can experi-
ment with such units in the Microsoft Azure cloud environment. This chapter also
presents the use of Microsoft Azure PowerShell for cloud service management.
Chapter 7 discusses Internet data transaction protection. In the cloud computing
environment, it is necessary to protect the data transaction between a cloud provider
and a cloud service subscriber. The chapter introduces network security tools such as
Secure Sockets Layer (SSL) and Certificate Services. The hands-on activity in this
chapter implements Certificate Services in the Microsoft Azure cloud environment.
Chapter 8 covers IP Security (IPSec), which is used in later chapters to link the vir-
tual networks created in Microsoft Azure to the on-premises network of an enterprise.
IPSec is a security protocol to secure the network protocols above the Internet layer.
The hands-on activities implement IPSec in the Microsoft Azure cloud environment.
Chapter 9 explains the theory and concepts of network routing. Routers are used to
connect networks. In this book, the virtual networks in the cloud and the on-premises
P refac e xv
networks of an enterprise are connected with routers. This chapter also discusses
Network Address Translation (NAT), which allows the virtual machines on a private
network to share a single Internet connection. There are two activities for this chap-
ter’s hands-on practice. The first one creates a routing service with Windows Server
and second one implements a NAT service.
Chapter 10 discusses the virtual private network (VPN) architecture. VPN allows
an enterprise to integrate its own network with a virtual network in a cloud. This
chapter gives the pros and cons of different types of VPN technologies. It focuses on
the IPSec-based VPN and SSL-based VPN, which are used by Microsoft Azure to
remotely access the on-premises network of a company from a virtual network in a
cloud or vice versa. Two hands-on activities are included in this chapter. The first one
is used to create a point-to-site connection between a local computer and Microsoft
Azure. The second one creates a site-to-site connection between Microsoft Azure and
an on-premises network.
Chapter 11 covers the hybrid cloud, which integrates public clouds with private
clouds. It introduces hybrid cloud technology and its application in a cloud-based
enterprise network. With the System Center Virtual Machine Manager (SCVMM)
package, the hands-on activity of this chapter creates a hybrid cloud that integrates
Microsoft Azure with a private cloud created on a local network.
One or more hands-on activities are included in each of the chapters. It is recom-
mended that readers complete the activities in the previous chapters before starting
the hands-on activity in the next chapter because some of the hands-on activities may
depend on the ones in the previous chapters.
Acknowledgments
I thank my family for their continuous and loving support, patience, and understand-
ing of my work.
My special gratitude goes to my students and Dr. Jenny Huang for their partici-
pation in the book proofreading process. They carefully reviewed the content of the
manuscript. Their constructive suggestions and corrections greatly improve the quality
of the book.
I also thank the outstanding editorial staff members and other personnel at
Auerbach Publications of Taylor & Francis Group for their support of this project.
I truly appreciate the encouragement and collaboration of John Wyzalek, senior
acquisitions editor, and all the other people who have been involved in the book’s
production. The book would not have been possible without their inspiration and
great effort.
x vii
Author
xix
1
O v erv ie w on C loud
and N e t workin g
Objectives
1.1 Introduction
1
2 C l o ud C o m p u tin g Ne t w o rkin g
As networks play a key role in today’s IT industry, networking has become a required
subject in the computer science and information systems curricula. Networking theo-
ries and practice are taught at different levels in high schools and higher education
institutions. Students majoring in IT-related fields are required to have networking
knowledge and skills.
This chapter will first introduce the types of networks. Then, it will introduce the
operating systems that are able to provide network services and manage network
devices. It will analyze the functionalities of these operating systems and present their
functionalities through network architecture. This chapter will explain how cloud
computing is supported by the operating systems. It will discuss the networking pro-
cess and illustrate how to implement a network system. At the end of the chapter,
instructions will be provided on how to develop a cloud-based lab environment for
conducting hands-on activities in later chapters.
1.2 Networks
To transmit data from one computer to another computer, the two computers need
to be connected via network hardware and software. Computers, printers, copiers, or
storage devices linked by a network are called hosts. Each host has a network interface
card (NIC) to which a network cable or another connection medium is connected.
The network cable or connection medium carries binary electronic signals back and
forth between two hosts. When there are multiple hosts on a network, these hosts are
connected to a network device called a switch through which electronic signals are
distributed to other hosts. The network device, router, is used to connect two different
networks. In the IT industry, it is known that a switch is used to construct a network
and a router is used to connect networks.
There are different types of networks such as the local area network (LAN), wide
area network (WAN), Internet, and cloud-based network. A LAN is a type of net-
work that exists within a room or a building as shown in Figure 1.1. A WAN is a type
of network that is highly scalable and may cover a large geographic area (Figure 1.2).
The Internet is a worldwide network system formed by interconnecting LANs and
Router Router
Internet
WAN
connection
WAN
WAN
connection
connection
WAN
Packet switch 4 connection Packet switch 3
WANs as shown in Figure 1.3. The LAN is connected to the Internet through one
of the Internet Service Providers (ISPs). The ISP communicates with the regional
network through an access point called a point of presence (POP). It can be a telecom-
munication facility rented by an ISP for accessing the global network, or it can be any
facility used to access the Internet such as a dial-up server, router, or ATM switch.
ISPs are connected through a network access point (NAP), which is a major Internet
interconnection point.
Internet
Virtual network
Router
Data center 1
Virtual machines
DB 1 DB 2 DB 3 Virtual network
Router
Data center 2 Virtual machines
Virtual network
Switch
DB 1 DB 2 DB 3 Gateway
Virtual network
Router
Data center 3
Virtual machines
DB 1 DB 2 DB 3
Virtual network
Router
Cloud
Virtual machines
On-premises network
Operating systems can be categorized as a server edition, desktop edition, and mobile
edition based on the tasks performed by them. The server edition can be used to man-
age networks and is capable of providing network services. Here, our focus is on server
edition operating systems. In the following, we will discuss several commonly avail-
able server edition operating systems that are capable of networking.
Most of the low-cost network server operating systems are developed to run on
the ×86 platform, which is powered with the microprocessors from Intel and AMD.
The ×86 platform was originally created for personal computers. Today’s ×86 platform
is built on multicore ×86 microprocessors, which can handle large-scale networking
tasks. Popular operating systems such as Linux, Windows, and some versions of the
UNIX operating system are all supported by the ×86 platform.
For networking, Windows Server 2012 provides tools to accomplish the following
tasks:
• Network management: The tasks may include network performance manage-
ment, network device management, system backup and restoration, trouble-
shooting, and so on.
• Network services: The tasks may include developing and managing network
services such as IP address management service, dynamic IP address assign-
ment, name service, Web service, email service, VOIP service, and so on.
• Network security: The tasks may include user authentication, certification ser-
vice, data encryption, network monitoring, setting up firewalls, virus protec-
tion, and so on.
• Remote access and routing: The tasks may include sharing network resources
through VPN and DirectAccess. Windows Server 2012 can also accomplish
tasks such as routing network traffic from one network to another network.
• Cloud communication management: The tasks may include extending a private
cloud to a public cloud by securely connecting the private cloud to the public
cloud. The public cloud can also be used to extend the data center located on
the private cloud.
• Virtualization: Windows Server 2012 includes the virtualization tool,
Hyper-V. With Hyper-V, we are able to accomplish the tasks of creating vir-
tual machines, virtual networks, and virtual network devices such as virtual
switches.
Compared with the older version of Windows Server, Windows Server 2012 was
designed with the cloud concept in mind. New networking features have been added
6 C l o ud C o m p u tin g Ne t w o rkin g
mainly to support cloud computing. The new features such as failover clustering, vir-
tualization, and file services have all been added for this purpose. The virtualization
tool Hyper-V has been modified so that it can help set up environments in the cloud.
Hyper-V is broadly used to create and manage virtual machines and virtual net-
work devices such as virtual switches. With Hyper-V, one can create virtual networks
that are independent of the underlying physical network. For network security man-
agement, the virtual networks created with Hyper-V can be isolated from each other.
For example, the virtual network for hands-on practice in a networking class can be
made to isolate itself from that of the Admissions office. Also, deploying the workload
to multiple virtual networks can improve the performance of a large project such as a
datacenter.
Hyper-V has a feature called live migration; that is, virtual machines hosted by
virtual networks can live migrate anywhere without service disruption. These virtual
networks can be migrated to a cloud while preserving their existing IP addresses.
With the IP addresses preserved, the virtual networks on the cloud can emerge into
the on-premises network. All the services provided by these migrated virtual networks
can continue to function without knowing where the underlying physical network is.
With Hyper-V, a true hybrid cloud can be established by seamlessly integrating a pub-
lic cloud and a private cloud running on an on-premises network.
In Windows Server 2012, most of the management tasks can be done through the
Server Manager interface shown in Figure 1.5. Networking tasks such as active direc-
tory administration, dynamic IP addressing, name service, virtualization, and remote
access can all be handled in Server Manager.
The management tasks can also be done through the command interface, Windows
PowerShell (Figure 1.6). Windows PowerShell is a powerful management tool which
includes 2430 cmdlets. A network administrator can write a script to automate a large
task that needs to execute multiple cmdlets.
Windows Server 2012 uses a new Metro GUI design for touch-centric devices. In
Metro GUI, the Start menu is a matrix of icons as shown in Figure 1.7.
Microsoft Azure offers Windows Azure SQL Database for storing and managing
relational data and data storage services for storing and managing nonrelational data.
Microsoft Azure provides software such as server operating systems like Windows
Server 2012 and SUSE Linux Enterprise Server (SLES). It also provides database
management system (DBMS) software such as Windows Azure SQL Database,
which is the cloud version of Microsoft SQL Server. The Windows Azure emulation
www.allitebooks.com
O v erv ie w o n C l o ud a n d Ne t w o rkin g 9
software and Windows Azure Software Development Kit (SDK) can be downloaded
to students’ home computers to emulate the Microsoft Azure cloud environment
on a local computer. Figure 1.9 shows the operating system software provided by
Microsoft Azure.
To help cloud subscribers to extend their existing networks into the public cloud,
Microsoft Azure offers a range of networking capabilities such as Virtual Network,
Windows Azure Connect, and Traffic Manager. Figure 1.10 shows the Virtual
Network tools.
Windows Azure Virtual Network provisions and manages the VPN connection
between the on-premises IT infrastructure and Microsoft Azure. Virtual Network
is used to set up a hybrid cloud, which consists of the private cloud run on the on-
premises network and the public Microsoft Azure cloud. With Virtual Network,
an administrator can accomplish tasks such as setting up IP security service to pro-
vide a secure connection between the corporate VPN gateway and Microsoft Azure.
Virtual Network can also be used to configure DNS service and IP address for virtual
machines.
Windows Azure Connect is a tool used to connect the services provided by
two machines; one is located on the on-premises network and the other one is on
Microsoft Azure. This tool can be used to help application developers to build cloud
applications hosted in a hybrid environment. It allows services such as Web service on
10 C l o ud C o m p u tin g Ne t w o rkin g
Microsoft Azure to securely access an on-premise SQL Server database server. It can
also authenticate users on Microsoft Azure against an on-premise Active Directory
service. With this tool, application developers can use the debugging tools provided
by the on-premises applications to do troubleshooting for the applications hosted on
the Microsoft Azure cloud.
Traffic Manager is a tool used to balance the network traffic across multiple
Microsoft Azure hosted services. This tool can help improve an application’s perfor-
mance, availability, and elasticity. To improve availability, Traffic Manager provides
automatic failover capabilities when a service goes down. It also monitors Microsoft
Azure hosted services. To improve performance, it allows the services to run at the
datacenter closest to the end-user to reduce latency.
The VMware vCloud Suite® is an integrated package used to provide a full cloud
solution at the enterprise level. It includes the operating system, management soft-
ware, and front-end user interface. The following are the main products included in
the suite.
VMware vSphere: vSphere is a cloud computing virtualization operating system
provided by VMware. vSphere provides a virtualization platform for enterprises to
make use of both the public and private cloud services. One of VMware’s goals is
to be able to connect a private cloud to any public cloud provider. When there is a
burst of workload, vSphere can seamlessly migrate some of the workload to a pub-
lic cloud. To achieve this goal, VMware has developed the open-source standard,
Open Virtualization Format (OVF), used for packaging and distributing virtual
machines. Through OVF, VMware enables the sharing of virtual machines between
O v erv ie w o n C l o ud a n d Ne t w o rkin g 11
two different virtual machine platforms and the sharing of virtual machines over
the Internet. vSphere is able to migrate running virtual machines and attach storage
devices to host servers. Figure 1.11 illustrates a map of host servers, virtual machines,
and the centralized data store.
To enhance network security and manageability, VMware has been working on
the new operating system NSX as the network and security virtualization platform.
With NSX, to help with virtualization security, VMware provides tools to help users
to store virtualized applications and data in a separated zone where no unauthorized
user can access. NSX allows users to create virtual networks to accomplish tasks such
as switching, routing, firewall setting, load-balancing, and so on. NSX also allows
its partners to securely integrate their physical and virtual networks into the NSX
platform. For security, NSX does not require disruptive hardware to be upgraded. To
support virtual machines made by other server hypervisors, VMware is designed to
support server hypervisors such as KVM and Xen. It can also work with any cloud
management systems, for example, VMware vCloud, OpenStack, and CloudStack.
As a network operating system, vSphere can be used for datacenter-wide network
integration by centralizing the network provision and network management. It pro-
vides management tools such as vSphere Distributed Resource Scheduler (DRS) for
dynamically balancing computing resources and power consumption, vSphere High
Availability for fault tolerance, data protection and replication, vShield Zones for
securing vSphere with application-aware firewall and antivirus functions, and vSphere
Auto Deploy for rapid deployment.
12 C l o ud C o m p u tin g Ne t w o rkin g
By using the vSphere Web Client, the network administrator can perform tasks
such as user authentication management, inventory management, vSphere replication,
workflow management, virtual machine migration management, logging, virtual dis-
tributed switch management, and vSphere data protection.
1.3.4 Linux
Linux is an open source operating system, which is licensed under the GNU General
Public License. The operating system source code can be freely modified, used, and
redistributed by anyone. Since the World Wide Web and Internet-related protocols
such as IP are open source technologies, it is convenient to include these protocols
in the operating system. With these open source protocols, Linux is widely used as a
network server to accomplish various networking tasks. Linux can be made to serve as
an enterprise-level server operating system. It is built to multitask and allow multiple
users to work on the same server computer at the same time. Therefore, a Linux oper-
ating system is often used in a grid system for distributed computing. As Linux is able
to communicate with other network technologies such as Windows and Novell, Linux
can also host the directory service. As an open source product, the total cost of using
Linux is low. However, it requires technicians to have adequate knowledge to handle
daily operations. The main cost of using Linux is the support and services offered by
Linux distributions. In general, Linux requires less computing resources and is able to
16 C l o ud C o m p u tin g Ne t w o rkin g
work with older network devices. The Linux operating system is able to run on a broad
range of computing architectures such as ×86, POWER, SAPRC, and Itanium 2.
This feature is especially suitable for organizations that have a limited budget and are
not able to upgrade their equipment frequently.
Next, we will look at some of the Linux operating systems that are capable of sup-
porting cloud computing. Among these Linux operating systems, you can find virtual
machines preinstalled with SUSE Linux Enterprise or Ubuntu Linux on Microsoft
Azure. Also, you can download a readymade virtual machine with Red Hat Linux
installed for VMware.
Red Hat Linux: Red Hat, Inc. was founded in 1993. Red Hat has two editions
of operating systems, Fedora and Red Hat Enterprise Linux. Fedora is the open
source version of the Linux operating system, which is managed by the Linux user
community and Red Hat employees. Even though Fedora is free, it is a fully func-
tioning operating system. Red Hat uses Fedora as a testing platform for many new
services and innovation tools. During the testing period, programmers from the
user community and Red Hat work together to fix problems found in the new prod-
ucts. As Linux is updated frequently, Fedora is updated every 4–6 months. Since
Fedora is a free operating system, Red Hat does not provide training and support
for Fedora.
Red Hat Enterprise Linux is known as the Linux operating system for supporting
enterprise-level computation. It charges fees for support and services. The support and
services are necessary for developing and managing an enterprise-level IT infrastruc-
ture. Red Hat Enterprise Linux provides 24 × 7 integrated service. Customers can
often get response within 1 h. In addition to the support and services, Red Hat also
provides various training and certification service on Red Hat Enterprise Linux. Red
Hat Enterprise Linux is a more stable operating system. It only includes those new
services and innovation tools that are proven to work. Red Hat Enterprise Linux will
be upgraded to a new version after three new upgrades of Fedora. Red Hat Enterprise
Linux is going to be fully supported by Red Hat for 7 years after it is upgraded. It is
widely supported by computer hardware companies such as Dell, HP, and IBM. It
is also supported by over a thousand application software companies such as Oracle,
CA, IBM, and so forth. The software from these companies is tested on the Red
Hat operating system. Although the Red Hat operating system often runs on the
×86 platform, it is also able to run on other platforms.
For cloud computing, Red Hat provides an open hybrid cloud solution. Red Hat
allows its customers to create a hybrid cloud in their own way and there is no vendor
lock-in. That is, the customer has the freedom to access data in various structures,
to build any application or service regardless of technology and platform. The open
cloud allows customers to add a variety of features, cloud providers, and technolo-
gies from different vendors. With Red Hat, customers can fully utilize the existing
IT infrastructure and build a cloud solution piece by piece. They are able to connect
their private clouds to a wide range of public clouds such as Amazon and IBM.
O v erv ie w o n C l o ud a n d Ne t w o rkin g 17
Red Hat can make applications and data portable across different clouds. It also
allows the management of applications across heterogeneous infrastructures.
Red Hat provides a number of products for developing cloud services. Among these
products, CloudForms can be used to develop IaaS service and OpenShift can be
used to develop PaaS service. With CloudForms, one can construct a virtualized sys-
tem with a mixture of hypervisors and virtualization management software, and the
technologies from various public clouds. CloudForms allows users to create a pool of
virtual machine images consisting of an operating system, applications, and associated
supporting software. It also allows users to manage, deploy, and monitor virtualized
systems. OpenShift has two versions, OpenShift Online and OpenShift Enterprise.
OpenShift Online is a public cloud providing PaaS service. OpenShift Enterprise
is a comprehensive enterprise development platform. With OpenShift Enterprise, a
team of developers can develop, deploy, and execute enterprise applications in either a
private or public cloud environment.
SUSE Linux: SUSE Linux is another major Linux distribution owned by Novell.
Like Red Hat Linux, there are two editions of SUSE Linux, openSUSE and SUSE
Linux Enterprise. openSUSE is available in a free-download open source package. It
is also available in a retail package, which contains a printed manual, a DVD, and bun-
dled software. openSUSE also includes some proprietary components such as Adobe
Flash. After Novell acquired SUSE Linux from a SUSE UNIX consulting company
in Germany, Novell added the GUI-based system management software YaST2 to
SUSE Linux. Novell also provides two proprietary editions of the Linux operating
system, SUSE Linux Enterprise Server (SLES) and SUSE Linux Enterprise Desktop
(SLED). These two editions of SUSE Linux are designed for developing and manag-
ing enterprise-level IT infrastructure. As a server operating system, SLES can run on
servers with platforms such as ×86, PowerPC, Itanium 2, and so on. SLES includes
over 2000 proprietary application software packages from Microsoft, Oracle, SAP,
and WebSphere. In addition, it includes over 1000 open source applications. SLES
is a relatively stable operating system. It is usually upgraded to a new version every
2 years. The new version will be supported by SUSE for 7 years. Figure 1.16 displays
the SUSE Linux Enterprise login interface.
As a desktop operating system, SLED is designed for enterprise use. Like SLES,
it is relatively stable when compared with openSUSE. It also includes proprietary
software such as the antivirus software McAffee. Both SLED and SLES include
technical support from Novell and certification by hardware and software vendors.
SUSE Linux Enterprise is often installed on servers sold by hardware vendors such as
IBM, HP, Sun Microsystems, Dell, and SGI. These hardware vendors install, con-
figure, and test SUSE Linux Enterprise before their computer systems are shipped to
customers.
As for cloud computing, the SUSE Cloud package is an open source, enterprise
cloud computing platform. The platform includes an administration server used
for setting up the cloud. The administration server is also used for configuring and
18 C l o ud C o m p u tin g Ne t w o rkin g
provisioning cloud control nodes and cloud compute or storage nodes. A control node
automatically tracks the resource state of the cloud compute or storage nodes, identi-
fies the available capacity within the cloud, and deploys workloads. The compute or
storage nodes are physical servers that are either used to host virtual machines or to
host storage devices.
SUSE Cloud is an OpenStack-based platform that supports multiple hypervisors
such as Xen, KVM, QEMU, LXC, and Hyper-V. The support of Hyper-V enables
enterprises to deploy their open source private clouds on the public cloud Microsoft
Azure, or to be hosted by on-premises Windows Server machines. The collaboration
with Hyper-V also facilitates the installation of compute nodes based on Hyper-V on
the SUSE Cloud platform.
SUSE collaborates with the hardware vendor Dell to develop the enterprise-class
private cloud infrastructure solution, which combines Dell’s hardware and services
with SUSE software. The Dell SUSE Cloud Solution gets support from both Dell and
SUSE worldwide support organizations. It simplifies the IT infrastructure develop-
ment process, enables an enterprise to set up clouds on an existing data center quickly,
and reduces tasks needed to add capacity as the need continues to grow.
Ubuntu Linux: Ubuntu is also a major Linux distribution sponsored by Canonical
Ltd., a private company from South Africa. The Ubuntu Linux operating system is free
and consists of all open source products. It is updated every 6 months. It also provides
a long-term support version of the operating system, which upgrades every 3 years.
O v erv ie w o n C l o ud a n d Ne t w o rkin g 19
The Ubuntu Linux operating system has three editions, the server edition, the desk-
top edition, and the mobile edition. The server edition of Ubuntu Linux includes the
LAMP (Linux, Apache, MySQL, and PHP) package. The installation of Ubuntu is
quick and simple. The LAMP package is installed automatically. The Ubuntu desktop
edition is specially designed to be easy-to-use. It includes many utilities for handling
multimedia content such as photo editing and media editing tools. Like the Windows
operating system, it includes a large number of GUI tools for searching, calendar-
ing, Web form spell checking, phishing detection, and system administration. It also
includes e-mail and the latest Web browsing technology, the office suite OpenOffice.
org, the instant messenger Pidgin, and the image editor GIMP. The mobile edition is
designed to run multimedia content on mobile devices. The mobile edition operating
system can run with small memory and storage space. It also delivers fast boot and
resume time. Figure 1.17 illustrates the GUI interface of Ubuntu Server.
Ubuntu Cloud is designed to allow companies to provide fast and efficient cloud
services. With Ubuntu Cloud, a pool of scalable compute and storage IT resources
can be made available for on-demand access. Ubuntu is the reference operating system
for OpenStack. That is, Ubuntu is the base operating system used by the develop-
ers of OpenStack. OpenStack is a free and open-source software platform on which
cloud services can be built, tested, and deployed. As the reference operating system
for OpenStack, Ubuntu cuts down the complexity in developing an OpenStack cloud,
which stops the lock-in to a specific cloud vendor.
Ubuntu is broadly supported by public clouds such as Amazon Web Services,
Rackspace Cloud, HP Public Cloud, and Microsoft Azure, and so on. It can be
used either as an underlying infrastructure or as a guest operating system on virtual
machines hosted in a cloud. Ubuntu works with the leading public cloud infrastruc-
tures to enhance performance, handle updates, and achieve compliance and reliability
on the public clouds. Ubuntu has been creating tools such as cloud-init to ease the
process of bringing up new instances on a public cloud.
Ubuntu can also be used to create cloud services that are deployed on private IT
infrastructures. With Ubuntu Cloud Infrastructure, a company can deliver all its
compute, network, and storage resources as cloud service. Ubuntu provides neces-
sary tools for developing a private Infrastructure as a Service (IaaS) cloud service on
an existing private IT infrastructure. With these tools, one can quickly set up scal-
able storage and integrate the features into a cloud service. The private cloud created
with Ubuntu is compliant with some of the public cloud standards including Amazon
EC2 and Rackspace APIs. Therefore, it has the freedom to migrate the cloud services
between the public cloud and the private cloud.
With Ubuntu Cloud Infrastructure, a private cloud can be extended into the
public cloud to form a hybrid cloud. When Ubuntu is on both the private cloud and
the public cloud, Ubuntu Cloud Infrastructure enables users to burst workloads
from their private clouds to the major public clouds, or vice versa. Ubuntu pro-
vides a service orchestration tool called Juju to accomplish tasks such as automated
arrangement, coordination, and management of virtual machines, middleware,
and services. With Juju, one can define the Software as a Service (SaaS) and deploy
it to a cloud, either a private cloud or a public cloud or both. Juju is so designed
that it is cloud provider independent; therefore, it can deploy services to different
cloud providers.
Earlier, we have discussed several operating systems that are capable of cloud com-
puting and network virtualization. There are many other operating systems that may
also be capable of cloud development and network virtualization. The selection of an
operating system for networking depends on the tasks to be accomplished, the flex-
ibility, the scalability, ease-of-use, and the cost. For most networking-related tasks,
the operating system mentioned in this section should be able to do the job. Next, we
will focus on network architecture which is the logic model used by the networking
capable operating systems.
This section will discuss network architecture and the tasks to be accomplished
during a networking process. It will introduce the major components in a net-
work system. We will take a look at how network functionalities are designed and
O v erv ie w o n C l o ud a n d Ne t w o rkin g 21
Users
Application software
Network protocols
Network drivers
Network adapter
Physical media
The network protocols perform tasks such as establishing the communication ports,
detecting data transmission errors, data formatting, controlling the data transmission
process, resolving network addresses, maintaining network traffic, locating the des-
tination computer and setting up the route to the destination, defining how the data
are sent and received, and so on. For security, some of the protocols are used for data
encryption and authentication.
A network driver serves as an interface between the software and the hardware.
The driver enables the operating system to communicate with the NIC, which
connects the physical data transmission media. Drivers can be used to handle I/O
interrupts during a data transmission process. In addition to interacting with the
operating system, drivers also interact with buffers, network protocols, and net-
work adapters.
A network adapter is a piece of hardware that connects the physical media to a
computer on the network. During data transmission, a network adapter communi-
cates with its peer network adapter installed on another computer. Network adapters
may be a wired Ethernet NIC, or it can also be a wireless network device. A network
adapter serves as an interface between the operating system kernel and the physical
media. Electrical signals are framed in a network adapter. The frame specifies the
transmission rate and the shape and strength of the binary signals. By using a network
adapter, the binary electric signals are sent to or received from physical transmission
media. The network adapter is able to locate its peer network adapter through the
hardware address. Once the data arrive at the receiving network adapter, the receiving
network adapter informs the operating system to get ready to process the incoming
binary signals.
The physical medium links two network hosts such as computers or network devices.
The electric signals representing the binary bits are transmitted through the physical
media such as copper cables, fiber glass, radio waves, etc. The physical media may also
include network devices used to pass the electric signals to a particular destination.
A network can be presented in two different network architectures. The first
one is the Open Systems Interconnection (OSI) architecture developed by the
International Organization for Standardization (ISO). OSI is a network architec-
ture that defines the communication process between two computers. OSI catego-
rizes the entire communication process into seven layers as shown in Figure 1.19.
The second one is the Internet architecture. This architecture is built around the
Transmission Control Protocol and Internet Protocol (TCP/IP). Therefore, the
Internet architecture is also called the TCP/IP architecture, which includes four
layers as shown in Figure 1.20.
In the OSI network architecture, the top layer is the application. The protocols in
the application layer are provided by application software. The application layer pro-
tocols handle requests from users for file transfer, database query, message exchange,
and so on. The protocols in the application layer communicate with the protocols in
the presentation layer.
O v erv ie w o n C l o ud a n d Ne t w o rkin g 23
OSI architecture
Host 1 Host 2
Application Application
Presentation Presentation
Session Session
Transport Transport
Network Network
Physical Physical
Internet architecture
Host 1 Host 2
Application Application
Transport Transport
Internet Internet
The protocols in the presentation layer format the data so that the data meet certain
transmission requirements. The tasks to be handled by this layer can be data compres-
sion, data encryption, video streaming, data format conversion, and so forth.
The protocols in the session layer establish the communication session between
two applications such as a conference call or remote connection to a database server.
These protocols can be used to start, manage, and terminate a communication session.
24 C l o ud C o m p u tin g Ne t w o rkin g
They also perform tasks such as requesting and responding during a data transmission
process between applications.
The protocols in the transport layer establish and manage the connection between
two hosts on the network. This layer handles tasks such as detecting transmission
errors; controlling network flow; transporting data; and establishing, managing and
terminating connections.
The protocols in the network layer can identify the destination network and estab-
lish the data transmission route to a destination host. This is the layer that works with
routers and network logical address configuration tools. The routing protocols are able
to calculate the shortest path to the destination host and update the routing table
periodically.
The data link layer is often implemented in the network card driver. This layer
defines the beginning and ending of a binary data transmission frame. It also defines
data types. During the process of sending and receiving binary code, this layer also
detects and corrects errors in the binary code.
The physical layer transmits electrical binary signals over the physical media that
link two hosts. It also defines the shape of electronic signals. When an electrical
binary signal arrives from the physical media, the physical layer passes the binary
signal up to the data link layer.
Another commonly used network architecture, the Internet architecture, is
designed for modeling data exchange through the Internet. The application layer in
the Internet architecture includes the application layer, the presentation layer, and the
session layer of the OSI architecture. The transport layer of the Internet architecture
is equivalent to the transport layer of the OSI architecture. The Internet layer of
the Internet architecture is similar to the network layer of the OSI architecture. The
network interface layer of the Internet architecture includes data link layer and the
physical layer of the OSI architecture. Figure 1.20 shows the diagram of the Internet
(TCP/IP) architecture.
The OSI network architecture is the standard adopted by the U.S. government.
Therefore, the hardware and software companies working for the U.S. government
need to follow the OSI network architecture. On the other hand, many private com-
panies have been traditionally using the TCP/IP architecture, which matches the
network architecture used by the Berkeley UNIX operating system. The Microsoft
Windows Server operating system uses the TCP/IP architecture to describe its net-
work system.
Both Linux and Windows network systems can be implemented by closely fol-
lowing the TCP/IP network architecture. Comparing the network components in
Figure 1.18 with the TCP/IP network architecture, one can see that the application
layer in the TCP/IP network architecture matches the component of application soft-
ware in Figure 1.18. Application software often carries out tasks such as data compres-
sion, data encryption, video streaming, and data format conversion. The application
software component also includes network management tools. These tools are used
O v erv ie w o n C l o ud a n d Ne t w o rkin g 25
To carry out the lab activities covered in this book, we need to install the operating
system and virtualization software. We also need to prepare the cloud environment
for the hands-on practice. As for the public cloud provider, we will choose Microsoft
Windows Azure since it has a free trial period, academic support, and it supports
both Linux and Windows operating systems. To develop virtual networks, we can
use Microsoft Azure, or use Hyper-V if Windows Server 2012 or Windows 8, or use
VMware Workstation, which can work with various desktop operating systems. The
following tasks will be performed on Microsoft Azure.
To be able to use Microsoft Azure, you need to first create a free account. You also
need to create a storage account and virtual network on Microsoft Azure. Then,
you will create a virtual machine on Microsoft Azure as shown in the following
steps:
1. Assume that you have established the free trial account or academic account.
First, you need to go to the following Web site to log on to Microsoft Azure
(Microsoft Azure, The cloud for modern business, May, 2015): http://azure.
microsoft.com/en-us/.
2. Log on to your Microsoft Azure Management Portal with your user name
and password.
3. In the lower left-hand corner of your screen, click New. Then, click
NETWORK SERVICES, and then click VIRTUAL NETWORK. Click
CUSTOM CREATE as shown in Figure 1.21.
4. On the Virtual Network Details page, enter the information about the name
and location as shown in Figure 1.22, and then click the Next arrow at the
lower right corner.
5. On the DNS Server and VPN Connectivity page, leave DNS server blank as
shown in Figure 1.23. Then, click the next arrow on the lower right.
26 C l o ud C o m p u tin g Ne t w o rkin g
6. On the Virtual Network Address Spaces page, click add subnet button to
create a subnet as shown in Figure 1.24. Then, click the check mark on the
lower right.
7. In addition to the virtual network, you may create a storage account that pro-
vides the namespace for data storage. At the lower left-hand corner of the
screen, click New.
8. In the navigation pane, click DATA SERVICES, STORAGE, and then
QUICK CREATE. Specify the URL and Affinity group as shown in
Figure 1.25. Then, click the CREATE STORAGE ACCOUNT check
mark on the lower right.
O v erv ie w o n C l o ud a n d Ne t w o rkin g 27
9. Your next step is to create a virtual machine installed with Windows Server
2012. To do so, at the lower left-hand corner of your screen, click New. Then,
click COMPUTE, VIRTUAL MACHINE, FROM GALLERY as shown
in Figure 1.26.
10. On the Select virtual machine operating system page, click Windows Server
2012 R2 Datacenter (Figure 1.27) and then click the Next arrow on the
lower right.
28 C l o ud C o m p u tin g Ne t w o rkin g
11. On the Virtual machine configuration page, enter your virtual machine name
servera, the user student and the password, confirm the password, and select
the size of your virtual machine as shown in Figure 1.28. The A1 size is
adequate for the hands-on activities in this book. Then, click the Next arrow.
12. On the Virtual machine configuration page, specify the virtual machine as
shown in Figure 1.29.
13. Depending on the needs, you may add a few more communication protocols
as shown in Figure 1.30. Then, click the Next arrow.
14. On the Virtual machine configuration page, click the check mark at the lower
right corner to create the virtual machine.
15. After the virtual machine is created, click the CONNECT link at the bot-
tom of your screen. Select the option Use another account. Enter the user
name as student and the password for the user and then click OK to log on to
the virtual machine (Figure 1.31).
www.allitebooks.com
O v erv ie w o n C l o ud a n d Ne t w o rkin g 29
16. After logging on to the virtual machine, you should be able to see Server
Manager as shown in Figure 1.32.
17. For networking, you need to create another virtual machine. Assume that you
are still logged on to the Microsoft Azure Management Portal. Click NEW
at the bottom of the screen. Click FROM GALLERY and select Windows
Server 2012 R2 Datacenter. Enter the virtual machine serverb and user
O v erv ie w o n C l o ud a n d Ne t w o rkin g 31
name student. Enter your password as shown in Figure 1.33 and click the
Next arrow.
18. On the Virtual Machine Configuration page, specify the virtual machine as
shown in Figure 1.34. Similarly, add some network protocols as shown in
Figures 1.30. Then, click the Next arrow.
19. On the Virtual machine option page, click the check mark at the lower right
corner to create the virtual machine.
32 C l o ud C o m p u tin g Ne t w o rkin g
20. Due to the spending limit on Azure, make sure to shutdown the vir-
tual machines whenever you are not using them. In the Microsoft Azure
Management Portal, you should shutdown both servera and serverb before
exiting the Microsoft Azure Management Portal.
So far, you have created two virtual machines on Microsoft Azure. Later, you will
perform networking on these two virtual machines.
O v erv ie w o n C l o ud a n d Ne t w o rkin g 33
1.5 Summary
Review Questions
Objectives
2.1 Introduction
35
36 C l o ud C o m p u tin g Ne t w o rkin g
protocols also perform tasks such as data compression, data encryption, video stream-
ing, and data format conversion.
There are hundreds of protocols included in this layer. Some of the well-known
application protocols are Hypertext Transfer Protocol (HTTP), Domain Name
System (DNS), Dynamic Host Configuration Protocol (DHCP), Simple Mail
Transfer Protocol (SMTP), Post Office Protocol Version 3 (POP3), Internet Message
Access Protocol (IMAP), Telecommunication Network (Telnet), Secure Shell (SSH),
Lightweight Directory Access Protocol (LDAP), Secure Sockets Layer (SSL),
Secure Shell (SSH), Secure Socket Tunneling Protocol (SSTP), and Simple Network
Management Protocol (SNMP).
An application protocol communicates through a dedicated port number. For
example, HTTP communicates through the port 80, DNS communicates through
the port 53, and DHCP communicates through the port 67.
The following gives general descriptions of the commonly used protocols in
the application layer. In later chapters, more specific application protocols will be
introduced.
Hypertext Transfer Protocol (HTTP): The protocol HTTP is used for transfer-
ring data between web browsers and web servers. HTTP can carry data in various
formats such as text, graphic images, sound, video, and other multimedia files. To
manage data transferring, HTTP provides a set of commands. With these com-
mands, HTTP handles how a web browser requests data stored on a web server
and how the web server responds to the request from the web browser. HTTP also
handles how a web browser uploads files to a web server and how the web server
executes scripts to support a dynamic web page. For example, suppose that a user
enters a URL in a web browser. After the user presses the Enter key, HTTP carries
the GET command to the web server through Port 80. By executing the GET com-
mand, the web server finds the requested web page. Then, HTTP carries the web
page back to the web browser. If the user uploads a file to the web server, HTTP
sends the web page and the PUT command to the web server. By executing the
PUT command, the web server stores the web page in a proper place. In addition to
telling the web server how to respond to a request from a client, HTTP can instruct
the web server to place requested data in an application. It can also instruct the web
server to run scripts.
Domain Name System (DNS): DNS is a protocol used to find the corresponding
IP address for a given host name, or vice versa. It communicates with UDP through
Port 53. In a network, each host needs to have an IP address for data communication.
However, it is not easy for a user to remember the host’s IP address. The host in a net-
work needs a user-friendly name such as www.windowsazure.com. When accessing a
web server, the data communication process needs the web server’s IP address to con-
tact the web server. DNS works like finding a phone number in a telephone directory.
Based on the URL entered by the user, DNS finds the corresponding IP address in a
Ne t w o rk P r o t o c o l s 37
DNS server. Then, it returns the IP address to the host with the web browser installed
for connecting to the web server.
DNS is implemented with two components, the DNS client and DNS server. The
DNS client is the host that requests the IP address. The DNS server stores a data-
base that contains pairs of host names and corresponding IP addresses. As you can
imagine, for all the hosts on the Internet, the DNS database can be a really large one.
Therefore, the database has to be distributed to many DNS servers; each of them
stores only part of the database.
Dynamic Host Configuration Protocol (DHCP): As described earlier, each host in a
network needs to have a unique IP address. It can be a tedious task to manually assign
each host an IP address. DHCP is a protocol that can be used to automatically assign
an IP address and other network parameters to a computer or a network device. In
addition to assigning IP addresses, DHCP can also be used to deliver network param-
eters such as the subnet mask, the IP address of the router used as the default gateway,
and the DNS server, and so on. Later chapters will provide more information about
these parameters. DHCP greatly reduces the amount of configuration time spent on
these network hosts such as computers and network devices.
Here is an example to illustrate how DHCP works. If a computer is configured
to automatically receive an IP address and other network parameters from a DHCP
server, as the computer is booted up, it sends out a broadcast message to look for the
DHCP server on a network. Once the DHCP server receives the request broadcasted
by the client computer, it offers an IP address and a set of network parameters to the
client computer. When the client computer receives the offer from the DHCP server,
it accepts the offer by sending a response to the DHCP server. If the DHCP client
receives multiple offers from multiple DHCP servers, the client computer will inform
the DHCP servers to let them know which offer has been accepted. Then, the cho-
sen DHCP server sends an acknowledgment to the client computer and informs the
client computer that the IP address and other network parameters are ready for data
communication.
Simple Mail Transfer Protocol (SMTP): Sending and receiving e-mail message need
different protocols. SMTP is a protocol used to send messages to e-mail servers. It can
also be used to deliver e-mail messages between two e-mail servers. However, SMTP
is not used to receive messages from e-mail servers for reading due to its limited ability
on user authentication and queuing messages at the receiving end.
As a simple text-based protocol, SMTP has about 10 commands in order to reduce
bandwidth and improve performance. SMTP has no authentication measure to ver-
ify who is sending the message. Therefore, it cannot tell if the message is sent by a
real sender or a hacker. SMTP communicates through Port 25. To improve security
and performance, the Enhanced Simple Mail Transfer Protocol (ESMTP) has been
developed to enforce security. ESMTP adds many features for authentication, reduces
bandwidth, and does error recovery.
38 C l o ud C o m p u tin g Ne t w o rkin g
Post Office Protocol Version 3 (POP3): POP3 is one of the protocols used for receiving
e-mail messages. It can check the mail box on an e-mail server and download the
e-mails from the server. It has the user authentication mechanism so that only the
qualified user can receive the e-mails that belong to that user. POP3 is included in
most of the e-mail client software and web browsers. The disadvantage of POP3 is
that it only supports a single inbox, so the user cannot place related e-mails into dif-
ferent folders. POP3 communicates through Port 110.
Internet Message Access Protocol (IMAP): IMAP is another protocol used for receiv-
ing e-mail messages. Unlike POP3, IMAP supports multiple folders on the server
side. These folders can be used for organizing e-mail messages. IMAP allows users
to select which messages to download. It uses Port 143 to download e-mail messages
from an e-mail server.
Secure Sockets Layer (SSL): SSL is a security protocol used for protecting sensi-
tive information transferred between a web server and a web browser. When a web
browser connects to an SSL server hosted by a web server, it requests the server to
provide a digital Certificate of Authority (CA). The CA is usually validated by a third
party authority agency such as VeriSign. This CA is used to authenticate the SSL
server to make sure that the server is not a hacker. The web browser also checks if the
name of the server matches the domain name provided by the CA and if the digital
signature is valid. When a web browser uses the URL starting with https, it means
that the SSL protocol is used to connect to the SSL server. Sensitive information will
be protected during data communication. For web applications, SSL runs on the port
number 443. However, for other applications, SSL runs on different ports. Also, the
network administrator can choose to run SSL on a different port number.
Secure Shell (SSH): SSH is another protocol used to secure the access of a remote
network host. With SSH, a user can securely log on to a remote computer to carry out
tasks such as executing commands and transferring files. With the built-in authenti-
cation and encryption mechanism, SSH can protect the network from attacks such as
IP spoofing or IP source routing. The authentication mechanism only allows the con-
nection from trusted hosts. The encryption mechanism encrypts SSH commands and
passwords for confidentiality. During transmission, SSH establishes a secure channel
between two hosts on the network. By default, SSH uses the port 22 for information
exchange.
Secure Socket Tunneling Protocol (SSTP): SSTP is a protocol designed to allow two
application programs to engage in bidirectional, asynchronous communication. For
example, it can be used to establish a virtual private network (VPN), which is a pri-
vate network constructed over the public Internet. Even though the data communica-
tion is carried out in the public network, the communication between two hosts in
the private network is protected by using encryption and authentication mechanisms.
SSTP depends on SSL to provide the security mechanism. SSTP uses TCP Port
443 for relaying SSTP traffic. In later chapters, SSTP is used to connect a host on a
Ne t w o rk P r o t o c o l s 39
home network to a virtual network on a cloud. The advantage of SSTP is that it is not
blocked by the firewall, so the virtual machine on the cloud can communicate with
the hosts behind the router in your home network.
Lightweight Directory Access Protocol (LDAP): A directory service is used to store
and organize the authentication information about network resources such as users,
groups, computers, printers, files, domains, and organization units. LDAP is a pro-
tocol used to manage the directory service. With LDAP, the network administrator
can perform tasks such as implementing centralized user authentication, arrang-
ing users according to an organization’s structure, and configuring group policies.
LDAP is often used by other services, such as web service and e-mail service for
authentication.
Simple Network Management Protocol (SNMP): SNMP is a protocol for network
management. It can be used to improve network performance, detect and correct net-
work problems, and monitor network activities. The commands provided by SNMP
are used to perform management tasks such as obtaining information from network
devices and controlling the behavior of network devices. To accomplish the manage-
ment tasks, SNMP needs information about the network devices and software that is
stored in a management information base (MIB). In the MIB, the names of network
objects and the information about their locations are stored on a tree structure and
are coded in the Abstract Syntax Notation One (ASN.1) language. SNMP provides
the security measures called SNMP Community Strings to protect the data being
transmitted.
Earlier, a few commonly used application protocols were introduced. More appli-
cation protocols will be introduced in later chapters. The list of application protocols
introduced in this book is far from complete. There are about 100 known application
protocols available. Also, there is no consistent definition on which protocol should be
qualified as an application layer protocol.
Protocols in the transport layer transfer data from one application to another. To pre-
pare data transferring, protocols in the transport layer break the data into small units
called packets. The transport layer protocols also handle tasks such as data transmis-
sion error checking; network flow control; and establishing, managing, and terminat-
ing a connection between hosts. The transport protocols process requests from the
application layer protocols and issue the requests to the protocols in the Internet layer.
While communicating with the protocols in the application layer, the transport layer
protocols have the ability to identify the ports in the destination hosts. In such a way,
the packets can be delivered to the proper ports of the destinations. The two com-
monly used transport layer protocols are Transmission Control Protocol (TCP) and
User Datagram Protocol (UDP).
40 C l o ud C o m p u tin g Ne t w o rkin g
TCP is a well-known transport layer protocol. It controls and manages data commu-
nication between ports. The following TCP features make TCP a core protocol in the
TCP/IP architecture:
• TCP divides a data file to be transmitted into small units called packets.
• A reliable TCP connection is established by using the 3-way handshake
process.
• The termination of a TCP connection is also done through the 3-way hand-
shake process.
• The 3-way handshake is implemented with a three-packet process.
• During the transmission process, a window mechanism is used to control the
packet transmission flow.
• Based on the network capacity, TCP determines the proper packet transmis-
sion rate to avoid network congestion.
• TCP tracks packets to make sure that all the packets arrive at the destination
host.
• TCP keeps the transmitted packets in order so that the packets can be reas-
sembled back to the original file.
• TCP creates checksum used for detecting any transmission error.
• TCP resends the packets that are lost or that have transmission errors detected
during the transmission.
• TCP discards duplicated packets.
To see how TCP can accomplish the aforementioned tasks, read the next few para-
graphs for detailed descriptions.
Ne t w o rk P r o t o c o l s 41
The reasons for TCP to break a data block to be transmitted over a network into
small units are listed:
• It needs some time to coordinate the protocol and hardware involved in a data
transmission process.
• When the network transmission media are shared by multiple computers, the
use of packets allows these computers transfer data in turns.
Packets are formed by combining each small data unit with a header and a trailer. In a
packet, the small data unit is called a payload. The header includes information about
the data to be transferred. It also includes information about the network used to carry
out the transmission. It general, the header may include the following:
• The header includes the source and destination information for delivering
a packet to the destination host and for receiving response from the destina-
tion host.
• It contains a packet sequence number used as the packet identification.
• It contains a synchronization bit, which can be turned on and off to synchro-
nize network transmission.
• It has a packet type indicator to identify the type of information to be carried
by the packet.
• It also has the information about the packet length, which is the size of the packet.
In practice, the header of a protocol may include more or less information than the
basic information listed earlier. As a complicated protocol, TCP has much more infor-
mation in its header. The following is the diagram of a typical TCP header (Figure 2.1).
In the diagram, each row represents a unit of 32 binary bits transmitted through a
network. The following briefly describes each field in the diagram:
• Source and Destination Ports: These two fields identify the end points of a
TCP connection for delivering and receiving packets.
• Sequence Number: Assigned to the outgoing packet, this number is used for
reordering packets and calculating the acknowledgment number(s).
0 8 16 24 31
Source port Destination port
Sequence number
Acknowledgment number
Data U A P R S F
Reserved R C S S Y I Window
offset G K H T N N
The data section is placed after the header. The data section typically contains 1000–
1500 bytes of message. It is also called the payload or packet body. Depending on the
size of the data, the length of the data section may vary. If a packet is set to have a
fixed length, the data section will be padded with blanks.
The packet trailer is placed after the data section. It is used to indicate the end of a
packet. The error checking mechanism called Cyclic Redundancy Check (CRC) may
be included in the packet trailer. During transmission, binary signals can be wrongly
altered by outside interference. CRC can be used for detecting this type of transmis-
sion error. It can also be used to detect damaged binary signals caused by hardware
failure.
Ne t w o rk P r o t o c o l s 43
Host A Host B
SYN: Seq = x
ACK: Ack# = y + 1
After sending out a packet, the sender waits for the acknowledgment from the
receiver. When a packet gets lost or delayed during the transmission, a retrans-
mit mechanism provided by TCP will resend the packet. If TCP waits for the
acknowledgment from the receiver long enough, it will resend the same packet to
the receiver. The waiting period is estimated by TCP according to the network trans-
mission rate. TCP collects the round-trip time for sending a packet and getting the
acknowledgment back. Based on the collected round-trip time, TCP then calculates
the estimated mean and standard deviation of the round-trip time. The waiting period
for retransmission can be determined by the following rules:
• When the measures of the round-trip time remain close to the mean, it means
that the round-trip time is relatively consistent. In such a case, the waiting
period for retransmission can be a time period value that is slightly longer than
the mean. With such a length of waiting time, TCP waits long enough for
most of the sending–receiving round trips to complete before retransmission.
• When the measures of the round-trip time vary significantly from the mean,
it means that the round-trip time is not consistent. The waiting period value
should be set as the mean plus two times the standard deviation. According
to the statistics theory, such a waiting period is long enough for 95% of the
round-trip transmissions to complete their journeys. In fact, such a calculated
waiting period is suitable to any type of network traffic environments.
After the waiting period is over, TCP assumes that the packet is lost and resends the
packet.
During packet transmission, there could be a situation where the sender sends more
packets than the receiver can handle. To prevent this from happening, TCP uses a
window mechanism to control the traffic flow so that the receiver is not overwhelmed.
Once the incoming data arrive, the receiver uses a buffer to store the incoming data. The
available buffer is also called the window. To not over feed the receiver, it is necessary
for the sender to adjust the packet transmission rate according to the receiver’s window
size. Before the data transmission starts, the receiver sends out a notification about its
buffer size. This notification is also called the window advertisement. According to
the window advertisement, the sender delivers packets. When the receiver receives the
packets from the sender, it will recalculate its window advertisement. Then, it sends
the updated window advertisement to the sender with the acknowledgment. When
the buffer is full, the receiver will send a zero window advertisement to inform the
sender to stop sending packets. After the receiver informs the sender with a positive
window advertisement, the sender can restart the data sending process.
When a packet transmission gets too crowded in one section of a network, the
delivery of packets may be delayed. Some of the packets may even get lost. Such a
phenomenon is called network congestion. When network congestion occurs, TCP’s
resending mechanism will resend those packets that get delayed or lost. Resending
the packets will add more traffic on the network. In the end, little or no meaningful
Ne t w o rk P r o t o c o l s 45
Like TCP, UDP is a transport layer protocol used for sending and receiving pack-
ets between ports. Unlike TCP, UDP does not provide mechanisms to establish a
reliable connection between network hosts. Also, it does not provide transmission
control mechanisms such as the error correction mechanism and packet resending
mechanism. The way that UDP delivers packets resembles mail delivery. It deliv-
ers a packet without the permission of the receiver. With UDP, packets are sent out
without establishing a connection first. Therefore, UDP is said to be a connectionless
network protocol. The advantage of UDP is that it has better performance than TCP.
On the other hand, UDP is a less reliable protocol. Therefore, UDP is suitable for a
situation that requires high performance but not high reliability in packet delivering.
UDP is commonly used in delivering multimedia content such as streaming media
in online digital games, Voice over IP (VoIP), and IP Television (IPTV). Due to its
high performance feature, UDP is also used by some network protocols, applications,
and services such as Trivial File Transfer Protocol (TFTP), Domain Name System
(DNS), and broadcasting messages over the network.
TCP and UDP are two main transport layer protocols. In addition to TCP and
UDP, there are a few dozen other less known transport layer protocols. In the
TCP/IP architecture, transport protocols handle service requests from application
protocols. Based on the requests from the protocols in the application layer, the
transport protocols instruct the protocols in the Internet layer to prepare packet
delivery to the destination hosts. In the next section, we will discuss the protocols
in the Internet layer.
46 C l o ud C o m p u tin g Ne t w o rkin g
In the TCP/IP architecture, protocols in the Internet layer are used to deliver packets
from a source host to a destination host across a network. The IP is a well-known
Internet layer protocol. It is the core protocol in the TCP/IP architecture. IP is the
protocol that carries packets to the destination host. The journey may cross various
types of networks. Another significant Internet layer protocol is the Internet Control
Message Protocol (ICMP) used by network operating systems to get responses from
remote hosts. The Address Resolution Protocol (ARP) relates an IP address with its
hardware address, and IP Security (IPSec) is for securing IP communication. There
is an argument on which layer the routing protocols should belong to. Since BGP and
RIP use UDP in data transmission, some authors think BGP and RIP should belong
to the application layer. Since OSPF uses IP in data transmission, some authors believe
OSPF should belong to the transport layer. Sometimes, OSPF is listed in the network
interface layer. Also, some authors think ARP should belong to the network interface
layer. So far, there is no convincing answer to the argument. Here, for convenience,
these protocols will be described in the Internet layer.
If the destination host is located within the same network, the frame will carry the
Internet packet or datagram to its destination directly. However, if the destination
host is located in a different type of network, the frame can only carry the datagram
to the border between the two networks where the datagram will be reloaded to a dif-
ferent type of frame formed by a different type of network technology. This is how the
datagram can be carried through different types of networks.
When a datagram is delivered across the Internet, it may need to travel through
multiple networks to get to the destination. Different networks may have different
data transmission rates. The data transmission rate is specified by the parameter
Maximum Transmission Unit (MTU). The MTU refers to the maximum amount
of data that a frame can carry. It may happen that the MTU of a network in the
middle of the delivery path is less than that of the network which the sender belongs
to. In such a case, the amount of data originally loaded in the frame formed by the
sender’s network is too much to be carried by the frame formed by the network with
the lower MTU. Therefore, the originally loaded data unit needs to be divided into
smaller units so that they can be carried by the frame formed by the network with
the lower MTU. The process of dividing the original data unit into several small
units is called fragmentation. The header of each fragment is so constructed that
all the fragments can be reassembled back to the original datagram. As the frag-
ments may be transmitted through different routes to the ultimate destination, it
is difficult to reassemble them in the middle of the delivery path. Also, the frag-
ments may need to be further fragmented if there is a network with an even smaller
MTU in the delivery path. Therefore, the fragments are reassembled at the ultimate
destination.
An IP header is constructed to accomplish the aforementioned tasks. Figure 2.5
illustrates an IP header’s structure.
The following briefly describes the main fields in the IP header:
• H. Len: This field specifies the length of the IP packet header. The minimum
length of an IP header is five words and each word contains 32 bits. Therefore,
the smallest IP header contains 20 bytes of information.
0 4 8 16 19 31
Version H. Len Type of service Total length
Identification Flags Fragment offset
Time to live Protocol Header checksum
Source IP address
Destination IP address
IP options (if any) Padding
Beginning of data section
ICMP is a protocol used to report network operation status and network errors. The
following are some of the tasks accomplished by ICMP:
• Report Network Status: ICMP can be used to send an echo request message to
the receiver. Then, it carries the reply of the receiver back to the sender. ICMP
can also be used to report how packets are redirected to different networks.
• Report Network Errors: ICMP can be used to report network problems such
as an unreachable host or network. It also carries network parameters that
may reveal an improperly functioning network.
50 C l o ud C o m p u tin g Ne t w o rkin g
For the data communication between two hosts, the IP header includes the source
and destination IP addresses. However, a frame uses the hardware address (also called
MAC address) to deliver packets. When the frame reaches the destination network,
each host in the destination network compares its hardware address with the destina-
tion hardware address included in the frame. If there is a match, the frame will be
processed by the destination host. Therefore, the destination IP address in the data-
gram needs to be correctly converted to the hardware address. Otherwise, the frame
will not be able to find its destination. ARP is the protocol used to resolve the IP
address to the hardware address.
The commonly used address resolution scheme is called message exchange, which
can be accomplished in three steps. When a host needs to resolve a destination IP
address, it first broadcasts an ARP request to ask which host in the destination net-
work has the IP address that matches the destination IP address. After the destination
host discovers that its IP address matches the destination IP address, it will respond
with an ARP reply, which contains the corresponding hardware address to the host
that issued the ARP request. After the ARP reply arrives, the host that issued the
Ne t w o rk P r o t o c o l s 51
ARP request places the destination hardware address to the frame. Now, the frame is
ready to be sent. Figure 2.7 illustrates the three-step process.
To make the address resolution process more efficient, the host operating system
saves the pair of the IP address and its matching hardware address in a cache. Next
time, if the host needs to resolve a destination IP address to a hardware address, it will
search the cache first. If there is no match in the cache, then the host will start the
message exchange process.
2.4.4 IP Security
the hackers cannot figure out the data content. The IPSec digital signature is used
to make sure that the content of an IP packet is not altered during the transmission.
Since IPSec is an Internet layer protocol, it can protect all the protocols in the trans-
port layer and application layer so that those protocols do not have to have their own
protection. The disadvantage of IPSec is that it slows down the network traffic. Later
chapters will show how IPSec is used to connect an on-premises network to a virtual
network on a cloud. The advantage of IPSec is that the data communication between
two networks is highly secured.
Routing protocols such as Routing Information Protocol (RIP), Open Shortest Path
First (OSPF) protocol, and Border Gateway Protocol (BGP) are used to create and
update routing tables. A routing table stores information about the routes from one
network to other networks. The routing protocols can also be used to calculate the
shortest path from one network to another.
BGP is a protocol used to manage routes among autonomous systems. An autono-
mous system is a heterogeneous network system typically governed by a large orga-
nization such as an Internet service provider (ISP). Each ISP may create its own
autonomous system. The networks included in an autonomous system adopt the
same routing policy. BGP is often used by ISPs to establish routes among them. The
Internet routing protocol that manages routes among autonomous systems is also
called Exterior Gateway Protocol (EGP). The Internet routing protocol that manages
routes within an autonomous system is called Interior Gateway Protocol (IGP). To
accomplish the routing management tasks, BGP has the following features:
• BGP is a type of EGP as well as IGP.
• BGP allows the sender and the receiver in different autonomous systems to
negotiate routing policies.
• BGP uses the reliable TCP to update the routing table.
• With BGP, an autonomous system can be defined as a transit system, which
allows the network traffic to pass through, or can be defined as a stub system,
which blocks the network traffic from passing through.
• BGP can be used to dynamically update the routing tables of neighboring
autonomous systems.
• BGP can be used to program routing policies and route filters.
• BGP allows network administrators to inject specific routes into the routing
table.
RIP is used as an Internet routing protocol within an autonomous system. RIP is
a simple protocol and requires very little configuration. However, RIP is not suit-
able for large networks since it can only manage up to 15 subnetworks and it takes
a lot of network resources to update routing tables. Therefore, RIP is usually used in
Ne t w o rk P r o t o c o l s 53
small network systems or used for education purposes. The following are some of the
RIP features:
• RIP is used as IGP.
• RIP uses UDP to update routing tables, which is faster but less reliable.
• RIP does not check transmission faults while updating routing tables.
• RIP uses broadcasting to update routing tables. Although the use of broad-
casting may take less effort, it is much less efficient.
• RIP measures the distance of a route by counting the number of networks the
route traverses. RIP can only count up to 15 networks. This feature makes
RIP a protocol that updates routing tables locally.
• To update routing tables, RIP broadcasts a packet that contains a complete
routing table every 30 s. The broadcasted routing table is used by other rout-
ers to update their own routing tables. Broadcasting routing tables to one
another every 30 s can significantly slow down network performance if there
are many routers used in the network. Therefore, RIP is not designed for large
networks.
The OSPF protocol is designed to handle the routing needs of large companies and
ISPs. It has the following features:
• OSPF is used as IGP.
• OSPF has a hierarchical structure. With the hierarchical structure, OSPF
can divide a large autonomous system into areas and update the routing tables
within an area. The use of areas can significantly reduce the size of a routing
table.
• OSPF uses Dijkstra’s algorithm to find the shortest path inside each area.
OSPF allows the network administrator to define the criteria of the shortest
path.
• By using OSPF, more IP addresses are available to be assigned to networks
and hosts in a network.
• OSPF provides the authentication mechanism to secure the updating of rout-
ing tables.
• OSPF can import routes created by other routing protocols.
• Instead of using broadcasting, OSPF uses multicasting within an area for
routing table updating. Multicasting is more efficient than broadcasting.
• When updating a routing table, instead of sending out the entire routing
table, OSPF only sends out what has been changed in the routing table to
other routing tables in an area. Changes are sent only when they occur, not
every 30 s.
With the aforementioned features, OSPF is a more sophisticated Internet routing
protocol. The disadvantages of OSPF are the complexity in configuration, which takes
more time for one to learn how to configure the protocol.
54 C l o ud C o m p u tin g Ne t w o rkin g
Protocols in the network interface layer are implemented by combining the hardware
and software. In some of the textbooks, the network interface layer is broken into two
layers. One is the network interface layer, which contains protocols that are used to
form frames. The other layer is the physical layer, which includes the network hardware.
Here, for convenience, the hardware and the protocols are all combined into a single
network interface layer. There are more than a dozen protocols and network technolo-
gies included in this layer. The commonly used protocols and network technologies
in the network interface layer are Point-to-Point Tunneling Protocol (PPTP), Layer
2 Tunneling Protocol (L2TP), Point-to-Point Protocol (PPP), Ethernet, Wireless
Fidelity (Wi-Fi), Worldwide Interoperability for Microwave Access (WiMAX), the
network interface card, twisted pair cable, optical fiber, electromagnetic radio wave,
and so forth.
The network interface layer protocols convert packets into raw binary bits and trans-
port the binary bits across the network media. The binary bits are then formed into
code words. After that, the code words are converted into physical electric signals.
Through the network media, the electric signals are then transmitted to the destina-
tion host. Once the electric signals arrive at the destination host, they are reorganized
into packets for protocols in the upper layers to process. Some of the protocols in the
network interface layer have the mechanism to verify if the physical electric signals
have been correctly transferred to the destination.
Point-to-Point Tunneling Protocol (PPTP): PPTP is sometimes listed as the appli-
cation layer protocol. Again, there is no convincing answer to this. PPTP is also a
protocol used for VPN connections. PPTP was jointly developed by several compa-
nies such as Microsoft, 3COM, US Robotics, and others. By using PPTP, users can
securely remotely access their companies’ or universities’ network devices and comput-
ers through the Internet. PPTP provides both user authentication and encryption to
secure the communication on the Internet. It is relatively easy to configure PPTP. The
disadvantage of PPTP is that it only authenticates users but not network hosts. This
means that the users are able to access the VPN server through any host, which may
cause some security concern. For better security, one can consider using L2TP.
Layer 2 Tunneling Protocol (L2TP): L2TP can also be used to support VPN con-
nections. The data to be transmitted are encapsulated into L2TP packets. To protect
the data’s confidentiality, L2TP relies on IPSec to provide the encryption mechanism.
In order to do so, the L2TP packet is encapsulated into an IPSec. Then, the IPSec
packet is delivered over the public Internet. The L2TP/IPSec pair requires more
configurations. Both the VPN client and VPN server are required to use the IPSec
authentication. L2TP/IPSec improves authentication by providing both the user level
authentication and the computer level authentication.
Point-to-Point Protocol (PPP): PPP is a protocol commonly used for transferring
Internet packets over a serial link such as a telephone line or an optical link. TCP/IP
Ne t w o rk P r o t o c o l s 55
protocols do not work well over a serial link. Therefore, PPP is designed for this
purpose. For example, since IP packets cannot be transmitted through a modem line
on their own, an ISP uses this protocol to connect their customers to the Internet.
PPP also provides error checking and authentication mechanisms.
Ethernet: The Ethernet technology does two tasks. The first task specifies the for-
mat of a frame to be transmitted across a network. The second task defines the wiring
and signaling standards. In an Ethernet network, the network media such as cables
are designed according to the Ethernet standards. The network hardware used to con-
nect to cables, such as cable plugs and network interface cards, is also designed to fol-
low the Ethernet wiring and signaling standards. The Ethernet technology is widely
used in both the wired networks and wireless networks. Originally, the transmis-
sion rate supported by the Ethernet technology was 10 megabits per second (Mbps).
Later, the Fast Ethernet technology supported the transmission rate of 100 Mbps.
The Gigabit Ethernet technology can support the transmission rate up to 1000 Mbps.
Recently, 10G Gigabit Ethernet has become available. All these Ethernet technolo-
gies are designed to share the same frame format; this makes the current Ethernet
technology backward compatible with the early versions of Ethernet.
Wireless Fidelity (Wi-Fi): Wi-Fi is well known for short distance wireless commu-
nication. It is commonly used in local area networks, cordless phones, video games,
and so on. Wi-Fi network devices are widely installed in laptop computers and mobile
devices. In a data communication process, a Wi-Fi adapter converts the binary code
into radio signals, and then transmits the radio signals through an antenna. When a
Wi-Fi access point receives the radio signals, it converts the radio signals back to the
binary code and transmits the code through a wired network media. A Wi-Fi access
point is typically available in a home network. It may also be available in many public
locations such as student dormitories, restaurants, airports, and hotels. The Wi-Fi
technology makes networking more flexible by avoiding the cabling process. Without
cabling, Wi-Fi also reduces the cost on network deployment. The main disadvantage
of Wi-Fi is the short communication range. It may also cause some security concerns.
Network Interface Card (NIC): Physically, an NIC connects the bus system in a
computer and the network media. A computer bus is an array of wires with a con-
nector on each end of the bus. The computer bus shared by different electric devices
is used to transmit binary signals from one device to another device inside a com-
puter. Through NICs, binary signals can be passed on to the network media such as
the copper wire, fiber optic cable, or radio wave for wireless networks. Each NIC
has a unique serial number, which is often used as the hardware address. In a data
transmission process, after a frame is formed, the CPU sends the frame through the
computer bus to the NIC and instructs the NIC to forward the frame to the network
media. The NIC handles all the details of frame transmission and reception. After
the frame reaches the receiver, the receiving computer’s CPU allocates buffer space
in the memory and tells the receiving computer’s NIC to read the incoming frame.
After all parts of the frame have been received, the NIC verifies the checksum.
56 C l o ud C o m p u tin g Ne t w o rkin g
If there is no error, the NIC will compare the destination address in the received
frame with its own hardware address. If there is a match, the NIC will inform the
CPU to make a copy of the frame in the memory and begin to process the frame.
If the hardware address does not match the destination address, the received frame
will be discarded. The communication between the NIC and CPU is handled by the
network card driver, which handles the interaction between the computer and the
attached hardware.
Twisted pair cable: A twisted pair cable is a type of network media. It is a type of
wire used to transmit electric signals to the destination host through a pair of cop-
per wires. The pair of insulated copper wires is twisted together to minimize the
electric interference. The use of the copper wire is due to its low resistance to electric
currents.
Optical fiber: Optical fiber is another type of network media. It is made with flex-
ible glass fiber that can be used to transmit data to a remote destination. To transmit
data over optical fiber, the sender first converts the binary signals into light pulses
and then transmits the light pulses by using a light emitting diode (LED). When the
light pulses reach the destination, the receiver uses a phototransistor to detect the light
pulses and converts them into electric currents. Then, the network adapter converts
the electric currents to binary code. Compared with the copper wire, optical fiber has
the following advantages:
• The light pulses transmitted by optical fiber are not susceptible to electric
interference.
• The transmission of light pulses in optical fiber is much faster than the trans-
mission of electric signals in a copper wire.
• Optical fiber can transmit data over much longer distance than what a copper
wire can do. During long distance travel, a light pulse has very little loss.
• Light pulses can be encoded with much more information than electric
currents.
The disadvantage is that it is difficult to install and repair optical fiber.
Electromagnetic radio wave: An electromagnetic radio wave is a type of wireless
network transmission media. It can be used to transmit data over the air. With radio
waves, senders and receivers send and receive data through antennae. Radio waves can
be converted into binary signals or vice versa. Different sections of radio wave fre-
quencies are reserved for different types of wireless technologies. For example, Wi-Fi
uses radio frequencies between 2.4 and 5.6 GHz. The higher the frequency, the faster
the transmission rate is.
This section has briefly introduced some of the network interface layer protocols
and technologies. Some of the protocols and technologies in the network interface
layer are responsible for physically transferring data between hosts. Some of them are
also responsible for interacting with the protocols in the Internet layer. In the next
section, we will take a closer look at how these protocols relate to each other.
Ne t w o rk P r o t o c o l s 57
In this section, a protocol graph will be used to illustrate the relationships among the
protocols. The protocols in the application layer handle data communication requests
and responses by application software. However, the protocols in the application layer
cannot deliver or receive data through a network by themselves. To deliver the data to
a destination host in a network, the data block needs to be chopped into small units
and carried by the IP protocol to the destination host. To reach the destination host,
one needs a protocol such as TCP to create a connection between two hosts on the
network. Also, other protocols may be needed to convert IP packets to electric signals
so that they can be physically transmitted over the network media. Therefore, data
transmission over a network is accomplished by multiple protocols working together.
Figure 2.8 illustrates the relationships among these protocols.
As shown in Figure 2.8, when a client needs certain information from the server,
the request is initiated by an application layer protocol. The request will be passed on
to a transport protocol such as TCP through a dedicated communication port. Then,
TCP will establish a reliable connection to the port dedicated to the application on
the server.
IP delivers packets to destination hosts across the Internet. IP itself does not
create a connection to a remote host. It relies on TCP to establish the connection
and control the data flow. ICMP is used to get error messages from remote hosts.
Protocols such as ICMP and ARP are encapsulated in IP so that messages can
be delivered through different types of networks. To deliver an Internet packet or
datagram, IP depends on the protocols or technologies in the network interface
layer. For example, to transmit an Internet packet across an Ethernet network, the
Protocol graph
Transport Application
HTTP IMAP LDAP POP3 SMTP SSH SSL SSTP DHCP SNMP DNS
TCP UDP
Internet
Network interface card, Twister pair cable, Optical fiber, Electromagnetic radio wave
The objective of this activity is to get familiar with the networking tools provided by
Windows Server 2012.
1. Log on to the Microsoft Azure Management Portal with your user name and
password.
2. Select your virtual machine servera and click CONNECT.
3. Log on to your servera server as student with your password.
4. Click Local Server, you should be able to see the configuration of the local
server shown in Figure 2.9. In Figure 2.9, you can find the computer name,
Ne t w o rk P r o t o c o l s 59
workgroup name, firewall status, information about the Ethernet cards, and
the version of your operating system.
5. You can configure the name of the local server. Click servera, you will see
the System Properties dialog where you can configure the computer name
and workgroup as shown in Figure 2.10. Click Cancel to close the System
Properties dialog.
6. For firewall configuration, click the link Public: On. You should be able to see
the Windows Firewall dialog shown in Figure 2.11. You can change the fire-
wall settings in the Windows Firewall dialog. Close the Windows Firewall
dialog.
7. To configure the network adapter, click the link IPv4 address assigned by
DHCP, IPv6 enabled. Right click the Ethernet icon and select Properties.
Select Internet Protocol Version 4 (TCP/IPv4) and click the Properties
button. You should be able to see the Internet Protocol Version 4 (TCP/
IPv4) Properties dialog shown in Figure 2.12.
8. To be able to access the Internet from your virtual machine, click the option
Use the following DNS server addresses as shown in Figure 2.13. Enter a
public know DNS server IP address such 8.8.8.8 and click OK.
9. You should be able to see the Internet Protocol Version 6 (TCP/IPv6)
Properties dialog shown in Figure 2.14. Click Cancel to close the dialog.
1. Assume that you have logged on to your Windows Server 2012. Click the
link Local Computer. Then, click IPv4 address assigned by DHCP, IPv6
enabled.
2. Right click the Ethernet icon and select Properties. In the Ethernet Properties
dialog, as you can see, the network protocols TCP/IPv4 and TCP/IPv6 are
installed. Click the Install button (Figure 2.15).
Ne t w o rk P r o t o c o l s 61
3. To see more protocols available to install, in the Select Network Feature Type
dialog, select Protocols and click the Add button. You will see a few protocols
available for installation as shown in Figure 2.16.
4. After you have viewed the protocols, click the Cancel button.
You will be using ICMP to test the connection between two virtual machines. By
default, the ICMP protocol is blocked by the firewall. You need to enable ICMP. The
following are the steps to enable ICMP:
1. Log on to your Microsoft Azure Management Portal with your user name
and password.
2. Select your virtual machine servera and click CONNECT.
3. Log on to your servera server as student with your password.
4. In Server Manager, click the Tools menu and select Windows Firewall with
Advanced Security as shown in Figure 2.17.
5. After the configuration dialog is opened, click Inbound Rules on the
left-hand side of your screen. Use the Ctrl key to select File and Printer
Sharing (Echo Request - ICMPv4-In) and File and Printer Sharing (Echo
Request - ICMPv6-In). Right click the selected items and click Enable Rule
as shown in Figure 2.18.
6. In the configuration dialog, click Outbound Rules on the left hand side of your
screen. Use the Ctrl key to select File and Printer Sharing (Echo Request -
ICMPv4-Out) and File and Printer Sharing (Echo Request - ICMPv6-
Out). Right click the selected items and click Enable Rule as shown in Figure
2.19. After the outbound rules are configured, close the configuration dialog.
64 C l o ud C o m p u tin g Ne t w o rkin g
10. After the Add Roles and Features Wizard is opened, click the Next button.
11. On the Select installation type page, select the option Role-based or feature-
based installation and click the Next button as shown in Figure 2.21.
12. On the Select destination server page, select your server as shown in Figure
2.22, and then click the Next button.
13. On the Select server roles page, you can see a number of service roles available
for installation as shown in Figure 2.23. Then, click the Next button.
14. On the Select features page, you can see a number of features available for
installation as shown in Figure 2.24. After viewing the features, click the
Cancel button.
To view the installed services on Windows Server 2012, you may follow the steps
given here:
1. Move the mouse along the border at the lower right corner of your Windows
Server screen. After the pop-up menu is displayed on the screen, click the
Start icon as shown in Figure 2.25. You may also get the Start menu by click-
ing the Start icon on the task bar.
2. On the Settings menu, click Administrative Tools tile.
3. On the Administrative Tools page, double click Services. Then, you will see
the installed services shown in Figure 2.26.
4. After you have viewed the installed services, close the Services window.
In this activity, you will use the Command Prompt window to view IP configuration:
1. If you have not done so, log on to your Microsoft Azure account and connect
to your virtual machine servera.
2. Press the Windows logo key. Type cmd and then click the Command Prompt
tile as shown in Figure 2.27.
3. In the Command Prompt window, enter the command ipconfig/all as shown
in Figure 2.28 and press Enter. From the printout, you can find the informa-
tion about the Windows IP configuration and Ethernet Adapter configuration.
Ne t w o rk P r o t o c o l s 69
As shown in Figures 2.29 and 2.30, the private IP address for servera is 10.78.64.31
and the IP address for serverb is 10.78.30.82. Note that your IP address should be
different from the ones illustrated in Figures 2.29 and 2.30.
The goal of this activity is to install the Network Monitor. Then, use Network Monitor
to view some of the protocols introduced in this chapter.
7. You may also need to temporarily turn off the IE Enhanced Security
Configuration. To do so, On the Server Manager page, click Local Server.
Then, turn off IE Enhanced Security Configuration.
8. You can now download Network Monitor from the following website (Microsoft
Azure, Download Center, May, 2015). http://www.microsoft.com/en-us/
download/?id%20=%204865.
9. From the website, download the NM34_x64.exe file. Then, run the file to
install the Typical version of Microsoft Network Monitor.
10. Double click the icon of Microsoft Network Monitor 3.4 on Desktop.
11. Network Monitor will be opened as shown in Figure 2.32. Then, close the
Network Monitor window.
1. On your desktop, right click the Network Monitor icon and select Run as
administrator.
2. Make sure Ethernet is checked as shown in Figure 2.33.
3. Click the link New Capture tab. Then, click Start on the menu bar (Figure 2.34).
4. Assume that Internet Explorer is still open, type the URL http://
go.microsoft.com.
5. In the Network Monitor window, click the Stop menu.
6. Select the first HTTP packet under the Protocol Name column as shown in
Figure 2.35.
Ne t w o rk P r o t o c o l s 73
7. Then, expand the HTTP node in the Frame Details pane. As you can see in
Figure 2.35, the protocol HTTP sends a requested file to the web server and
the command GET is used to retrieve the data requested by the HTTP client.
8. In the Frame Summary pane, click the first TCP after HTTP under the
Protocol Name column. Then, expand the TCP node in the Frame Details
pane. As shown in Figure 2.36, the source port number is HTTP(80), and
the destination port number is 49162. In the Frame Details pane, you can also
find information of other items included in the TCP header.
74 C l o ud C o m p u tin g Ne t w o rkin g
1. To start the Command Prompt window, press the Windows logo + r key
combination. In the Run dialog box, type cmd and then click OK.
2. In the Network Monitor window, click Start on the menu bar.
Ne t w o rk P r o t o c o l s 75
1. To view the IP protocol, in the Network Monitor window, click Start on the
menu bar. In Internet Explorer, enter the URL http://go.microsoft.com. In
the Network Monitor window, click the Stop menu.
2. Click the first DNS packet under the Protocol Name column. Expand the Ipv4
node in the Frame Details pane. As shown in Figure 2.39, the source IP address
and destination IP address are specified in the IPv4 protocol. In the Frame
Details pane, you can also view the configuration of other items in the IP header.
3. To view the UDP protocol, expand the Udp node in the Frame Details pane.
As you can see, the UDP protocol communicates through the source port
62215 and the destination port 53 (Figure 2.40).
4. Close the Network Monitor window. When prompted to save the captured
packets, click No.
5. In the Microsoft Azure Management Portal, shutdown both servera and
serverb before exiting the Microsoft Azure Management Portal.
76 C l o ud C o m p u tin g Ne t w o rkin g
2.7 Summary
This chapter introduces some of the commonly used protocols in the TCP/IP
architecture. Protocols are used to handle data communication between network
hosts. This chapter shows how different protocols work together to deliver or receive
data across networks. The relationships among these protocols are also illustrated
through a protocol graph. The hands-on activities in this chapter explore various net-
work management tools such as Server Manager, Command Prompt, and Network
Monitor. The knowledge of protocols and network management tools covered in the
next chapter will help design and develop networks.
Review Questions
www.allitebooks.com