Networking Theory (Part 2)

Download Report

Transcript Networking Theory (Part 2)

Networking Theory
(part 2)
Internet Architecture
The Internet is a worldwide collection of
smaller networks that share a common
suite of communication protocols
(TCP/IP).
 It is an open system, built on common
network, transport and application layer
protocols, while granting the flexibility to
connect a variety of computers, devices
and operating systems to it.

Design of the Internet
The Internet is the result of many decades
of innovation and experimentation.
 The TCP/IP protocols have been carefully
designed, tested and improved over the
years.

Design of the Internet

Major design goals:
 Resource
sharing between networks
 Hardware and software independence
 Reliability and robustness

Fault tolerant protocols - data could be rerouted
depending on the state of the network
 "Good"
protocols that are efficient and simple.
TCP/IP Protocol Suite

Major protocols:
 Internet
Protocol (IP)
 Internet Control Message Protocol (ICMP)
 Transmission Control Protocol (TCP)
 User Datagram Protocol (UDP)
Internet Protocol (IP)
IP is a Layer 3 protocol (network layer)
 It is used to transmit data packets over the
Internet
 It is the most widely used networking
protocol in the world.
 IP acts as a bridge between networks of
different types

Internet Protocol (IP)
IP is a packet-switching network protocol.
 Information is exchanged between two
hosts in the form of IP packets (IP
datagrams).
 Each datagram is treated as a discrete
unit - there are no "connections" between
machines at the network layer.
 Connection services are provided by the
higher-level protocols at the transport
layer.

Internet Protocol (IP)
The IP datagram consists of a header and
the actual data being sent.
 The header contains essential information
for controlling how it will be delivered.
Refer Figure 1.4 (pg 12).

Internet Protocol (IP)




Although each machine has its own physical
address, each host machine under the Internet
Protocol must be assigned a unique IP address.
The IP address is a four-byte (32-bit) address.
Example: 192.168.1.5
The IP address is not bound to a particular
physical machine.
Network programming in Java does not require
the use of the physical address; only the IP
address is used.
Internet Protocol (IP)
Humans do not find IP addresses easy to
remember.
 An addressing scheme is also used which
allows the use of textual names
(hostnames) instead of numerical values.
Example: java.sun.com

Internet Control Message Protocol
(ICMP)
The Internet Protocol provides absolutely
no guarantee of datagram delivery.
 The Internet Control Message Protocol
(ICMP) is a mechanism for error-control. It
is used in conjunction with the Internet
Protocol to report errors when and if they
occur.

Internet Control Message Protocol
(ICMP)

The relationship between IP and ICMP is a
strong one.
 E.g:
IP uses ICMP if it needs to notify another
host of an error. ICMP requires IP to send the
error message.

Note that a host cannot rely solely on
ICMP to guarantee delivery as there is no
guarantee that ICMP messages will be
sent or that they will reach their intended
destination.
Internet Control Message Protocol
(ICMP)

Five error messages are defined:
 Destination

If a gateway is unable to pass a datagram on to its
destination, this message is sent back to the
original host.
 Parameter

Unreachable
Problem
This message is sent to the sending host if a
gateway is unable to process the header
parameters of an IP datagram.
Internet Control Message Protocol
(ICMP)
 Redirect

If a shorter path, or alternate route, is available, a
gateway may send this message to the router that
passed on a datagram
 Source

This message may be sent in an attempt to reduce
the number of incoming datagrams when a router,
gateway or host becomes overloaded.
 Time

Quench
Exceeded
Whenever the TTL value of a datagram reaches
zero is discarded. This message may be sent if
this event occurs.
Internet Control Message Protocol
(ICMP)

ICMP supports several informational
messages such as:
 Echo

Request/Echo Reply
Used to determine whether a host is alive and can
be reached.
 Address

Mask Request/Address Mask Reply
Provides the functionality to determine the address
mask which controls which bits of an IP address
correspond to a host, and which bits determine the
network/subnet portion.
Transmission Control Protocol
(TCP)
TCP is a Layer 4 protocol (transport layer)
that provides guaranteed delivery and
ordering of bytes.
 TCP uses IP to send TCP segments,
which contain additional information that
allows it to order packets and resend them
if they go astray.

Transmission Control Protocol
(TCP)
TCP uses communication ports to
distinguish one application or service from
another.
 A host machine can have many
applications connected to one or more
ports.
 Although TCP provides a simpler
programming interface, it may reduce
network performance.

User Datagram Protocol (UDP)
UDP is a Layer 4 protocol (transport layer)
that applications can use to send packets
of data across the Internet (as opposed to
TCP, which sends a sequence of bytes).
 UDP also supports communication ports.
 UDP does not guarantee delivery packets.
It also does not guarantee that they will
arrive in the right order.
 Although unreliable, UDP offers faster
communication.

Internet Application Protocols
Network programmers are more interested
in the protocols at the application layer.
 Examples:

 Protocols
for accessing and sending email
 Protocols for transferring files
 Protocols for reading Web pages

Telnet
 A service
that allows users to open a remoteterminal session to a specific machine.
 Uses TCP port 23.

File Transfer Protocol (FTP)
 Allows
file transfers
 Uses TCP port 21 (to control sessions) and
TCP port 20 (for the actual transfer).

Post Office Protocol version 3 (POP3)
 Used
to access e-mail
 Allows users to read mail offline.
 Uses TCP port 110.

Internet Message Access Protocol (IMAP)
 Less
popular than POP3 as it requires
continual connection to the mail server.
 Messages are stored on a server and not on
the user's system.
 Uses port 143.

Simple Mail Transfer Protocol (SMTP)
 Allows
messages to be delivered over the
Internet.
 Uses port 25.

HyperText Transfer Protocol (HTTP)
 One
of the most popular protocols in use on
the Internet; it made the World Wide Web
possible.
 Java provides good HTTP support.
 Uses TCP port 80.
TCP/IP Protocol Suite Layers
Although there are seven OSI network
layers, not all are used in Internet
programming.
 The layers beneath the network layer are
encapsulated from the network
programmer.

TCP/IP Protocol Suite Layers
HTTP SMTP FTP
TCP
UDP
Internet Protocol
TCP/IP Stack
POP3
ICMP
TCP/IP Protocol Suite Layers
POP3 command:
TCP segment:
Application layer
RETR1
TCP header
RETR1
IP datagram: IP header TCP header
Transport layer
RETR1
Network layer
Modem frame:
Modem header IP header TCP header
Carrier wave:
Data link layer
RETR1
Physical layer