Download Document

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Net neutrality wikipedia , lookup

IEEE 1355 wikipedia , lookup

Distributed firewall wikipedia , lookup

Net neutrality law wikipedia , lookup

Peering wikipedia , lookup

Wake-on-LAN wikipedia , lookup

AppleTalk wikipedia , lookup

SIP extensions for the IP Multimedia Subsystem wikipedia , lookup

Computer network wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Net bias wikipedia , lookup

TCP congestion control wikipedia , lookup

Deep packet inspection wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Communication protocol wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Internet protocol suite wikipedia , lookup

Transcript
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
Unreachable
 If
a gateway is unable to pass a datagram on to its
destination, this message is sent back to the original host.
 Parameter
 This
Problem
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
Quench
 This
message may be sent in an attempt to reduce the
number of incoming datagrams when a router, gateway or
host becomes overloaded.
 Time
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 remote-terminal
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.
 Message 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
Security Issues: Firewalls and Proxy Servers







Firewalls
Proxy Servers
Tunnelling
Hacking
Malware
RSA
Kerberos