Unit Ii
Unit Ii
Internet Communications:
Internet Protocol (IP) is the method or protocol by which data is sent from one
computer to another on the internet. Each computer -- known as a host -- on the
internet has at least one IP address that uniquely identifies it from all other
computers on the internet.
IP Routing
How does IP routing work?
When data is received or sent -- such as an email or a webpage -- the message is
divided into chunks called packets. Each packet contains both the sender's
internet address and the receiver's address. Any packet is sent first to
a gateway computer that understands a small part of the internet. The gateway
computer reads the destination address and forwards the packet to an adjacent
gateway that in turn reads the destination address and so forth until one gateway
recognizes the packet as belonging to a computer within its immediate
neighborhood -- or domain. That gateway then forwards the packet directly to the
computer whose address is specified.
IP packets
While IP defines the protocol by which data moves around the internet, the unit
that does the actual moving is the IP packet. An IP packet is like a physical parcel
or a letter with an envelope indicating address information and the data contained
within.
An IP packet's envelope is called the header. The packet header provides the
information needed to route the packet to its destination. An IP packet header is
up to 24 bytes long and includes the source IP address, the destination IP
address and information about the size of the whole packet.
The other key part of an IP packet is the data component, which can vary in size.
Data inside an IP packet is the content that is being transmitted.
IP Address
What is an IP address?
IP provides mechanisms that enable different systems to connect to each other to
transfer data. Identifying each machine in an IP network is enabled with an IP
address.
Similar to the way a street address identifies the location of a home or business,
an IP address provides an address that identifies a specific system so data can be
sent to it or received from it.
IPv4 provides a 32-bit IP addressing system that has four sections. For example, a
sample IPv4 address might look like 192.168.0.1, which coincidentally is also commonly the
default IPv4 address for a consumer router. IPv4 supports a total of 4,294,967,296
addresses.
A key benefit of IPv4 is its ease of deployment and its ubiquity, so it is the default
protocol. A drawback of IPv4 is the limited address space and a problem commonly
referred to as IPv4 address exhaustion. There aren't enough IPv4 addresses available for
all IP use cases. Since 2011, IANA (Internet Assigned Numbers Authority) hasn't had any
new IPv4 address blocks to allocate. As such, Regional Internet Registries (RIRs) have had
limited ability to provide new public IPv4 addresses.
In contrast, IPv6 defines a 128-bit address space, which provides substantially more
space than IPv4, with 340 trillion IP addresses. An IPv6 address has eight sections. The
text form of the IPv6 address is xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx, where
each x is a hexadecimal digit, representing 4 bits.
The massive availability of address space is the primary benefit of IPv6 and its most
obvious impact. The challenges of IPv6, however, are that it is complex due to its large
address space and is often challenging for network administrators to monitor and manage.
TCP is one of the basic standards that define the rules of the internet and is included
within the standards defined by the Internet Engineering Task Force (IETF). It is one of
the most commonly used protocols within digital network communications and ensures
end-to-end data delivery.
TCP organizes data so that it can be transmitted between a server and a client. It
guarantees the integrity of the data being communicated over a network. Before it
transmits data, TCP establishes a connection between a source and its destination, which
it ensures remains live until communication begins. It then breaks large amounts of data
into smaller packets, while ensuring data integrity is in place throughout the process.
As a result, high-level protocols that need to transmit data all use TCP Protocol.
Examples include peer-to-peer sharing methods like File Transfer Protocol (FTP),
Secure Shell (SSH), and Telnet. It is also used to send and receive email through
Internet Message Access Protocol (IMAP), Post Office Protocol (POP), and Simple
Mail Transfer Protocol (SMTP), and for web access through the Hypertext
Transfer Protocol (HTTP).
TCP and IP are separate protocols that work together to ensure data is delivered
to its intended destination within a network. IP obtains and defines the address—
the IP address—of the application or device the data must be sent to. TCP is then
responsible for transporting and routing data through the network architecture
and ensuring it gets delivered to the destination application or device that IP has
defined.
The TCP/IP model is the default method of data communication on the Internet.
It was developed by the United States Department of Defense to enable the
accurate and correct transmission of data between devices. It breaks messages
into packets to avoid having to resend the entire message in case it encounters a
problem during transmission. Packets are automatically reassembled once they
reach their destination. Every packet can take a different route between the
source and the destination computer, depending on whether the original route used
becomes congested or unavailable.
TCP/IP divides communication tasks into layers that keep the process
standardized, without hardware and software providers doing the management
themselves. The data packets must pass through four layers before they are
received by the destination device, then TCP/IP goes through the layers in
reverse order to put the message back into its original format.
A good example of how this works in practice is when an email is sent using SMTP
from an email server. To start the process, the TCP layer in the server divides the
message into packets, numbers them, and forwards them to the IP layer, which
then transports each packet to the destination email server. When packets arrive,
they are handed back to the TCP layer to be reassembled into the original message
format and handed back to the email server, which delivers the message to a user’s
email inbox.
What is UDP?
However, UDP can also cause data packets to get lost as they go from the source
to the destination. It can also make it relatively easy for a hacker to execute a
distributed denial-of-service (DDoS) attack.
In many cases, particularly with Transmission Control Protocol (TCP), when data is
transferred across the internet, it not only has to be sent from the destination
but also the receiving end has to signal that it is ready for the data to arrive. Once
both of these aspects of the communication are fulfilled, the transmission can
begin. However, with UDP, the data is sent before a connection has been firmly
established. This can result in problems with the data transfer, and it also
presents an opportunity for hackers who seek to execute DDoS attacks.
UDP Operations/Working:
Even though UDP comes with checksums, which are meant to ensure the integrity
of the data, and port numbers, which help differentiate the role the data plays at
the source and destination, the lack of an obligatory handshake presents a
problem. The program the user is executing with the help of UDP is left exposed to
unreliable facets (surface) of the underlying network.
As a result, the data may get delivered, and it may not. In addition, the order in
which it arrives is not controlled, as it is in TCP, so the way the data appears at the
final destination may be glitchy, out of order, or have blank spots.
However, in a situation where there is no need to check for errors or correct the
data that has been sent, this may not pose a significant problem. This is one reason
why UDP is used in video applications. Getting the video signal to its destination on
time is worth than the occasional glitches.
As data is transferred from one point to another, it is given a header, which tells
devices what to do with it. The UDP header is a simple 8-byte fixed header.
With TCP, on the other hand, the header can vary from 20 to 60 bytes. The fields
for UDP port numbers are 16 bits long, giving them a range that goes from 0 up to
65535. The header consists of a 16-bit source port, a 16-bit destination port, a
16-bit length, and a 16-bit checksum. This is the information used to send the
datagram toward its destination. The sending process does not involve any
verification of a connection between the source and the destination.
TCP is different in that it requires a handshake between where the data originates
and where it is headed. This makes TCP more reliable than UDP. In the course of a
TCP communication, the data can only be sent along after the destination and
source have been formally linked. With UDP, because no link is required, the data
can be sent right away.
Another difference between TCP and UDP communications is that with TCP, the
order in which the packets need to be received is confirmed before the
transmission begins. Also, TCP provides for the confirmation that the packets
arrived as intended. In the event that the packet does not arrive, TCP dictates
that it needs to be sent again. UDP does not require any confirmation, checking, or
resending.
If an application uses UDP, the users assume the risk of errors, the data not
reaching its destination, or being duplicated. The reward for accepting this trade-
off is better speed. UDP itself is not necessarily to blame for the data loss. The
information in the header is sufficient to get the data where it needs to go, and
the chronological order of the sending of the datagrams should keep them in
order.
However, the majority of network routers are not capable of arrival confirmation
or packet ordering. Data packets can get lost or duplicated. TCP accounts for this
“weakness” in most network routers by making sure data gets where it is going and
in the right order.
Applications of UDP
UDP is used for: The straightforward request/response communication of
relatively small amounts of data, eliminating concerns regarding controlling errors
or the flow of the packets
DNS
Real Time Streaming Protocol (RTSP), Trivial File Transfer Protocol (TFTP), RIP
IP ADDRESS
How do IP addresses work: Internet Protocol works the same way as any other
language, by communicating using set guidelines to pass information. All devices
find, send, and exchange information with other connected devices using this
protocol. By speaking the same language, any computer in any location can talk to
one another.
The use of IP addresses typically happens behind the scenes. The process works
like this:
Website IP addresses: For website owners who don’t host their own server, and
instead rely on a web hosting package – which is the case for most websites – there
are two types of website IP addresses. These are shared and dedicated.
Shared IP addresses: Websites that rely on shared hosting plans from web
hosting providers will typically be one of many websites hosted on the same server.
This tends to be the case for individual websites or SME websites, where traffic
volumes are manageable, and the sites themselves are limited in terms of the
number of pages, etc. Websites hosted in this way will have shared IP addresses.
Dedicated IP addresses: Some web hosting plans have the option to purchase a
dedicated IP address (or addresses). This can make obtaining an SSL certificate
easier and allows you to run your own File Transfer Protocol (FTP) server. This
makes it easier to share and transfer files with multiple people within an
organization and allow anonymous FTP sharing options. A dedicated IP address also
allows you to access your website using the IP address alone rather than the
domain name — useful if you want to build and test it before registering your
domain.
How to look up IP addresses: The simplest way to check your router’s public IP
address is to search “What is my IP address?” on Google. Google will show you the
answer at the top of the page.
In Windows:
Use the command prompt.
Search for “cmd” (without the quotes) using Windows search
In the resulting pop-up box, type “ipconfig” (no quote marks) to find the
information.
On an iPhone:
Go to Settings
Select Wi-Fi and click the “i" in a circle () next to the network you are on – the
IP address should be visible under the DHCP tab.
If you need to check the IP addresses of other devices on your network, go into
the router. How you access the router depends on the brand and the software it
uses. Generally, you should be able to type the router's gateway IP address into a
web browser on the same network to access it. From there, you will need to
navigate to something like "attached devices," which should display a list of all the
devices currently or recently attached to the network — including their IP
addresses.
Attackers can use social engineering to deceive you into revealing your IP address.
For example, they can find you through Skype or a similar instant messaging
application, which uses IP addresses to communicate. If you chat with strangers
using these apps, it is important to note that they can see your IP address.
Attackers can use a Skype Resolver tool, where they can find your IP address from
your username.
Online stalking: Criminals can track down your IP address by merely stalking
(track) your online activity. Any number of online activities can reveal your IP
address, from playing video games to commenting on websites and forums.
Once they have your IP address, attackers can go to an IP address tracking
website, such as whatismyipaddress.com, type it in, and then get an idea of your
location. They can then cross-reference other open-source data if they want to
validate whether the IP address is associated with you specifically. They can then
use LinkedIn, Facebook, or other social networks that show where you live, and
then see if that matches the area given.
If a Facebook stalker uses a phishing attack against people with your name to
install spying malware, the IP address associated with your system would
likely confirm your identity to the stalker.
If cybercriminals know your IP address, they can launch attacks against you or
even impersonate you. It is important to be aware of the risks and how to mitigate
them. Risks include:
Downloading illegal content using your IP address: Hackers are known to use
hacked IP addresses to download illegal content and anything else they do not want
to be traced back to them. For example, using the identity of your IP address,
criminals could download pirated movies, music, and video – which would breach your
ISP’s terms of use – and much more seriously, content related to terrorism or child
pornography. This could mean that you – through no fault of your own – could
attract the attention of law enforcement.
Tracking down your location: If they know your IP address, hackers can use
geolocation technology to identify your region, city, and state. They only need to do
a little more digging on social media to identify your home and potentially burgle it
when they know you are away.
Directly attacking your network: Criminals can directly target your network and
launch a variety of assaults. One of the most popular is a DDoS attack (distributed
denial-of-service). This type of cyberattack occurs when hackers use previously
infected machines to generate a high volume of requests to flood the targeted
system or server. This creates too much traffic for the server to handle,
resulting in a disruption of services. Essentially, it shuts down your internet. While
this attack is typically launched against businesses and video game services, it can
occur against an individual, though this is much less common. Online gamers are at
particularly high risk for this, as their screen is visible while streaming (on which
an IP address can be discovered).
Hacking into your device : The internet uses ports as well as your IP address to
connect. There are thousands of ports for every IP address, and a hacker who
knows your IP can try those ports to attempt to force a connection. For example,
they could take over your phone and steal your information. If a criminal does
obtain access to your device, they could install malware on it.
How to protect and hide your IP address : Hiding your IP address is a way to
protect your personal information and online identity. The two primary ways to hide
your IP address are:
1. Using a proxy server
2. Using a virtual private network (VPN)
A proxy server is an intermediary server through which your traffic is routed:
The internet servers you visit see only the IP address of that proxy server and
not your IP address.
When those servers send information back to you, it goes to the proxy server,
which then routes it to you.
A drawback of proxy servers is that some of the services can spy on you — so you
need to trust it. Depending on which one you use, they can also insert ads into your
browser.
VPN offers a better solution:
When you connect your computer – or smartphone or tablet – to a VPN, the
device acts as if it is on the same local network as the VPN.
All your network traffic is sent over a secure connection to the VPN.
Because your computer behaves as if it is on the network, you can securely
access local network resources even when you are in another country.
You can also use the internet as if you were present at the VPN’s location, which
has benefits if you are using public Wi-Fi or want to access geo-blocked
websites.
Kaspersky Secure Connection is a VPN that protects you on public Wi-Fi, keeps
your communications private, and ensures that you are not exposed to phishing,
malware, viruses, and other cyber threats.
IP PROTOCOL SUITE
1. Network access layer : is the first lowest layer of the TCP/IP model. It
defines details of how data is physically sent through the network, including
how bits are electrically or optically signaled by hardware devices that
interface directly with a network medium, such as coaxial cable, optical fiber,
or twisted pair copper wire. The protocols included in Network Access Layer
are Ethernet, Token Ring, FDDI etc.
2. Internet Layer is the second layer of the four layer TCP/IP model. Internet
layer pack data into data packets known as IP datagrams, which contain
source and destination address (logical address or IP address) information
that is used to forward the datagrams between hosts and across networks.
The most famous protocol included at Internet layer is IP (Internet
Protocol).
IP doesn’t care whether a packet gets to it’s destination or not. Nor does IP
know about connections and port numbers. IP’s job is too send and route
packets to other computers. IP packets are independent entities and may
arrive out of order or not at all. It is TCP’s job to make sure packets arrive
and are in the correct order.
3. Transport Layer is the third layer of the four layer TCP/IP model. Under
the application layer in the protocol stack is the TCP layer. When applications
open a connection to another computer on the Internet, the messages they
send (using a specific application layer protocol) get passed down the stack to
the TCP layer. TCP is responsible for routing application protocols to the
correct application on the destination computer. To accomplish this, port
numbers are used. Ports can be thought of as seperate channels on each
computer. For example, you can surf the web while reading e-mail. This is
because these two applications (the web browser and the mail client) used
different port numbers. When a packet arrives at a computer and makes its
way up the protocol stack, the TCP layer decides which application receives
the packet based on a port number.
4. And the final layer of interest is the application layer. Application layer
defines TCP/IP application protocols and how host programs interface with
Transport layer services to use the network. Application layer includes all the
higher-level protocols like DNS (Domain Naming System), HTTP (Hypertext
Transfer Protocol), FTP (File Transfer Protocol), SMTP (Simple Mail
Transfer Protocol) etc.
MAC ADDRESSES
o MAC address is the physical address, which uniquely identifies each device
on a given network. To make communication between two networked devices,
we need two addresses: IP address and MAC address. It is assigned to the
NIC (Network Interface card) of each device that can be connected to the
internet.
o It stands for Media Access Control, and also known as Physical address,
hardware address, or BIA (Burned In Address).
o It is globally unique; it means two devices cannot have the same MAC
address. It is represented in a hexadecimal format on each device, such
as 00:0a:95:9d:67:16.
o It is 12-digit, and 48 bits long, out of which the first 24 bits are used
for OUI (Organization Unique Identifier), and 24 bits are for NIC/vendor-
specific.
o It works on the data link layer of the OSI model.
o It is provided by the device's vendor at the time of manufacturing and
embedded in its NIC, which is ideally cannot be changed.
o The ARP protocol is used to associate a logical address with a physical or
MAC address.
When we request a page to load on the internet, the request is responded and sent
to our IP address.
Both MAC and IP addresses are operated on different layers of the internet
protocol suite. The MAC address works on layer 2 and helps identify the devices
within the same broadcast network (such as the router). On the other hand, the IP
addresses are used on layer 3 and help identify the devices on different networks.
We have the IP address to identify the device through different networks, we still
need a MAC address to find the devices on the same network.
If a LAN network has two or more devices with the same MAC address, that
network will not work.
Types of MAC address: There are three types of MAC addresses, which are:
1. Unicast MAC Address
2. Multicast MAC address
3. Broadcast MAC address
Unicast MAC address: The Unicast MAC address represents the specific NIC on
the network. A Unicast MAC address frame is only sent out to the interface which
is assigned to a specific NIC and hence transmitted to the single destination
device. If the LSB (least significant bit) of the first octet of an address is set to
zero, the frame is meant to reach only one destination NIC.
Multicast MAC Address: Multicast addresses enables the source device to
transmit a data frame to multiple devices or NICs. In Layer-2 (Ethernet)
Multicast address, LSB (least significant bit) or first 3 bytes of the first octet of
an address is set to one and reserved for the multicast addresses. The rest 24
bits are used by the device that wants to send the data in a group. The multicast
address always starts with the prefix 01-00-5E.
Application layer is the last and 7th layer of the OSI model. This layer is the
abstraction layer, which handles the sharing protocols over the computer network
with OSI and TCP/IP model. In internet protocol suite, the application layer
contains communication protocols and interface methods which used for the
process to process communication over the network. Application layer contains
several protocols namely Telnet, FTP, TFTP, SMTP, SNMP, DNS, and DHCP.
Protocols of Application layer: Below is the list of applications layers protocols.
1. Telnet: Telnet is an application protocol. It provides bidirectional interactive
text orientated communication feature. For text orientated communication telnet
uses terminal connection. Configuration elements of networking hardware can be
achieved using telnet. At TCP, information is interspersed in-band with Telnet
control information in an 8-bit byte oriented data connection. Telnet is a type of
client server protocol, used to open command line on remote computers.
2. FTP : FTP stands for File Transfer Protocol. It is a application layer protocol
that is used for transforming a file from one location to another, i.e. from one host
to another host. It is a standard mechanism that is provided by TCP/IP.
Transforming files from one system to another seems very simple, but some
problems need to be dealt with before transforming files. It uses TCP services. It
needs two TCP connections. One is a Control connection, and another is a Data
connection. For control connection, it uses well-known port 21, and for data
connection, it uses well-known port 20.
3. TFTP : TFTP stands for Trivial File Transfer Protocol is a application layer
protocol, used for sending a file from the server to the client. Trivial File Transfer
Protocol uses the concept of UDP to share files between server and client. Here
UDP stands for User Datagram Protocol. It is generally used for communicating
files among machines set up in the local intranet only. Trivial File Transfer
Protocol’s most important feature is that it uses a minimal amount of memory. This
application layer Protocol could be used to communicate boot files if computers do
not have hard disks. It generally uses protocol 69; however, the port used for
communication could be defined by used when Trivial File Transfer Protocol is
being set up.
4. SMTP : SMTP stands for Simple mail transfer protocol is used to transfer the
mails. It defines how both commands and responses must be sent back and forth.
It is used two times, between the sender and the sender’s mail server and between
the two mail servers. To transfer messages between Messages Transfer Agents
client and message transfer agents sever, simple mail transfer protocol uses
commands and responses. The actual mail transfer is done through MTA, i.e.
Message Transfer Agents. The system must have the client message transfer
agents and server message transfer agents to transfer mail from one system to
another.
5. SNMP : SNMP stands for Simple network management protocol which is used
to collect and organize the data of managed devices on IP networks. It also
modifies the information to change the behavior of the devices. SNMP is mainly
used to monitor and manage the network. It consists of a set of standards for
network management, including an application layer protocol, a database schema,
and a set of data objects.
HTTP is an application layer network protocol which is built on top of TCP. HTTP
uses Hypertext structured text which establishes the logical link between nodes
containing text. It is also known as “stateless protocol” as each command is
executed separately, without using reference of previous run command.
Advantages of HTTP:
HTTP can be implemented with other protocol on the Internet, or on other
networks
HTTP pages are stored on computer and internet caches, so it is quickly
accessible
Limitations of HTTP
There is no privacy as anyone can see content
Data integrity is a big issue as someone can alter the content. That’s why
HTTP protocol is an insecure method as no encryption methods are used.
Not clear who you are talking about. Anyone who intercepts the request can
get the username and password.
HTTP also allows you to create a secure encrypted connection between the server
and the browser. It offers the bi-directional security of Data. This helps you to
protect potentially sensitive information from being stolen.
In HTTPS protocol SSL transactions are negotiated with the help of key-based
encryption algorithm. This key is generally either 40 or 128 bits in strength.
Advantages of HTTPS
In most cases, sites running over HTTPS will have a redirect in place.
Therefore, even if you type in HTTP:// it will redirect to an https over a
secured connection
It allows users to perform secure e-commerce transaction, such as online
banking.
Limitations of HTTPS
HTTPS protocol can’t stop stealing confidential information from the pages
cached on the browser
SSL data can be encrypted only during transmission on the network. So it
can’t clear the text in the browser memory
Difference Between HTTP and HTTPS : The below table demonstrates what is
difference between HTTP and HTTPS:
Parameter HTTP HTTPS
It is hypertext transfer
Protocol It is hypertext transfer protocol with secure.
protocol.
It is less secure as the It is designed to prevent hackers from accessing
Security data can be vulnerable to critical information. It is secure against such
hackers. attacks.
Port It uses port 80 by default It was use port 443 by default.
HTTP URLs begin with
Starts with HTTPs URLs begin with https://
http://
It’s a good fit for
If the website needs to collect the private
websites designed for
Used for information such as credit card number, then it is a
information consumption
more secure protocol.
like blogs.
Scrambling HTTP does not scramble HTTPS scrambles the data before transmission. At
the data to be the receiver end, it descrambles to recover the
Parameter HTTP HTTPS
transmitted. That’s why
there is a higher chance
original data. Therefore, the transmitted
that transmitted
information is secure which can’t be hacked.
information is available to
hackers.
HTTPS does not have any separate protocol. It
It operates
Protocol operates using HTTP but uses encrypted TLS/SSL
at TCP/IP level.
connection.
Domain HTTPS requires SSL certificate.
HTTP website do not need
Name
SSL.
Validation
Data HTTP website doesn’t use
HTTPS websites use data encryption.
encryption encryption.
Search HTTP does not improve
HTTPS helps to improve search ranking.
Ranking search rankings.
Speed Fast Slower than HTTP
It Is highly secure as the data is encrypted before
Vulnerability Vulnerable to hackers
it is seen across a network.
CHANGING EMBEDDED PLATFORM : When you scale up, you may well have to
think about moving to a different platform, for cost or size reasons. If you’ve
started with a free-form, powerful programming platform, you may find that
porting the code to a more restricted, cheaper, and smaller device will bring many
challenges. This issue is something to be aware of. If the first prototype you built
on a PC, iPhone, BeagleBone, or whatever has helped you get investment or
collaborators, you may be well placed to go about replicating that compelling
functionality on your final target.
Of course, if you’ve used a constrained platform in prototyping, you may find that
you have to make choices and limitations in your code. Dynamic memory allocation
on the 2K that the Arduino provides may not be especially efficient, so how should
that make you think about using strings or complex data structures? If you port to
a more powerful platform, you may be able to rewrite your code in a more modern,
high-level way or simply take advantage of faster processor speed and more RAM.
But will the new platform have the same I/O capabilities? And you have to consider
the ramping-up time to learn new technologies and languages.
In practice, you will often find that you don’t need to change platforms. Instead,
you might look at, for example, replacing an Arduino prototyping microcontroller
with an AVR chip (the same chip that powers the Arduino) and just those
components that you actually need, connected on a custom PCB.
Chances are that the production techniques that you use for the physical side of
your device won’t translate directly to mass production. However, while the
technique might change—injection moulding in place of 3D printing, for example—
in most cases, it won’t change what is possible.
An aspect that may be of interest is in the way that digital fabrication tools can
allow each item to be slightly different, letting you personalize each device in
some way. There are challenges in scaling this to production, as you will need to
keep producing the changeable parts in quantities of one, but mass personalisation,
as the approach is called, means you can offer something unique with the
accompanying potential to charge a premium.
CLIMBING INTO THE CLOUD The server software is the easiest component to
take from prototype into production. As we saw earlier, it might involve switching
from a basic web framework to something more involved (particularly if you need
to add user accounts and the like), but you will be able to find an equivalent for
whichever language you have chosen. That means most of the business logic will
move across with minimal changes. Beyond that, scaling up in the early days will
involve buying a more powerful server. If you are running on a cloud computing
platform, such as Amazon Web Services, you can even have the service dynamically
expand and contract, as demand dictates.