Internet Protocols

Download Report

Transcript Internet Protocols

Data and Computer
Communications
Chapter 18 – Internet Protocols
Ninth Edition
by William Stallings
Data and Computer Communications, Ninth
Edition by William Stallings, (c) Pearson
Education - Prentice Hall, 2011
Internet Protocols
She occupied herself with studying a map on the
opposite wall because she knew she would have
to change trains at some point. Tottenham Court
Road must be that point, an interchange from the
black line to the red. This train would take her
there, was bearing her there rapidly now, and at
the station she would follow the signs, for signs
there must be, to the Central Line going
westward.
—King Solomon's Carpet.
Barbara Vine (Ruth Rendell)
Internet
 internet
• an interconnected set of networks where each of
the constituent networks retains its identity
 end
systems
• devices attached to a network
 intermediate
systems
• provide a communications path and perform the
necessary relaying and routing functions


bridges
• acts as a relay of frames between similar networks
routers
• routes packets between potentially different networks
Internetworking
Terms
TCP/IP Concepts
Differences in Networks
 addressing
schemes
 maximum packet size
 network access mechanisms
 timeouts
 error recovery
 status reporting
 routing techniques
 user access control
 connection, connectionless
Connectionless Operation
 Internetworking
involves connectionless
operation at the level of the Internet
Protocol (IP)
IP
• initially developed for the DARPA internet
project
• protocol is needed to access a particular
network
Connectionless Internetworking
 Connectionless
internet facility is flexible
 IP provides a connectionless service
between end systems.

Advantages:
• is flexible
• can be made robust
• does not impose unnecessary overhead
IP
Operation
LAPF : link access
protocol for frame
(frame relay)
IP Design Issues
 routing
 datagram
lifetime
 fragmentation and reassembly
 error control
 flow control
The Internet as a Network
Routing
• indicate next router
to which datagram
is sent
• static
• dynamic
ES / routers maintain
routing tables
source routing
• source specifies
route to be
followed
• can be useful for
security & priority
route recording
(for testing &
debugging)
Datagram Lifetime
 datagrams


could loop indefinitely
consumes resources
transport protocol may need upper bound on
lifetime of a datagram
• can mark datagram with lifetime
• when lifetime expires, datagram discarded
Fragmentation and
Re-assembly



protocol exchanges data between two entities
lower-level protocols may need to break data up into
smaller blocks, called fragmentation
reasons for fragmentation:





network only accepts blocks of a certain size
more efficient error control & smaller retransmission units
fairer access to shared facilities
smaller buffers
disadvantages:


smaller buffers
more interrupts & processing time
Fragmentation and
Re-assembly
at destination
issue of when to
re-assemble
packets get
smaller as data
traverses internet
need large buffers
at routers
intermediate reassembly
buffers may fill
with fragments
all fragments must
go through same
router
IP Fragmentation

IP re-assembles at destination only
 uses fields in header

Data Unit Identifier (ID)
• identifies end-system-originated datagram

Data length
• length of user data in octets

Offset
• position of fragment of user data in original datagram
• in multiples of 64 bits (8 octets)
• indicates that this is not the last fragment
Fragmentation Example
Error and Flow Control

Flow
Error control


discarded datagram
identification is needed
reasons for discarded
datagrams include:
• lifetime expiration
• congestion
• FCS error
(frame check
sequence)


control
allows routers to limit
the rate they receive
data
send flow control
packets requesting
reduced data flow
(ICMP)
Internet Protocol (IP) v4
 defined

in RFC 791
www.rfc-editor.org
 part
of TCP/IP suite
 two parts
specification of
interface with a
higher layer
specification of
actual protocol
format and
mechanisms
IP Services

Primitives




specifies functions to
be performed
form of primitive
implementation
dependent
Send : request
transmission of data
unit
Deliver : notify user of
arrival of data unit

Parameters

used to pass data and
control information
IP Parameters









source & destination addresses
protocol
type of Service
identification
“don’t fragment” indicator
time to live
data length
option data
user data
IP Options
route
recording
security
source
routing
stream
identification
timestamping
IPv4 Header
IPv4 Header
 http://www.tcpipguide.com/free/t_IPDatagr
amGeneralFormat.htm
 Important:
the « Protocol » field identifies
the nature of the next header (in the data
portion of the IP packet) Ex: TCP, ICMP

http://www.iana.org/assignments/protocolnumbers/protocol-numbers.xml
IPv4 Address Formats
IP Addresses - Class A
 start
with binary 0
 all 0 reserved
 01111111 reserved for loopback
• (localhost 127.0.0.1)
 range
1.x.x.x to 126.x.x.x
IP Addresses - Class B
 start
with binary 10
 range 128.x.x.x to 191.x.x.x
 second octet also included in network
address
 214 = 16,384 class B addresses
IP Addresses - Class C
 start
with binary 110
 range 192.x.x.x to 223.x.x.x
 second and third octet also part of network
address
 221 = 2,097,152 addresses
 nearly all allocated

see IPv6
IP Addresses
 Decimal code to
simplify address
management.

00001010 00000000 00000000 00000000 = 10.0.0.0 (classe A)

Class A examples:
• BBN (4.0.0.0) , General Electric (3.0.0.0), Apple
(17.0.0.0), AT&T (12.0.0.0), IBM (9.0.0.0), MIT
(18.0.0.0)

Class B example : UQAC (132.212.0.0)
IP Addresses
 IP


addresses index :
http://cqcounter.com/whois/ip/
(http://www.ip2location.com/)
IP Addresses

Special cases :


"loopback address" : 127.0.0.1
Non-routable addresses :
• 10.0.0.0
à 10.255.255.255 (Class A)
• 172.16.0.0 à 172.31.255.255 (Class B)
• 192.168.0.0 à 192.168.255.255 (Class C)


if hostid = 00....0 => IP address of the local network
if hostid = 111....1 => "broadcast" address of the local
network
IP Addresses

Addresses assigned by central organisations



IANA (ARIN, RIPR NCC, LACNIC and APNIC)
InterNIC: www.internic.net (http://www.internic.ca/)
Godaddy
IP Addresses
 Configuration

ipconfig /all


netmask, default gateway…
ping 127.0.0.1 (and pinging your own
address)
Subnets and Subnet Masks







allows arbitrary complexity of internetworked
LANs within organization
insulate overall internet from growth of network
numbers and routing complexity
site looks to rest of internet like single network
each LAN assigned subnet number
host portion of address partitioned into subnet
number and host number
local routers route within subnetted network
subnet mask indicates which bits are subnet
number and which are host number
IP Addresses and Subnet Masks
 Other
notation used to represent the
netmask: CIDR notation
 The
number after the ‘/’ represents the
number of ‘1’ of the netmask.
 Ex.
: 132.212.203.0/24 indicates that
the netmask is 255.255.255.0
 Subnet mask:

Allows to define netid and subnetid.
Class C address example: 200.123.15.0



Document 1
Document 2
Subnets and Subnet Masks
 When
is the default gateway actually used ?
Decision based on netmask

Notes:



RFC 950 suggest not to use subnets having all 0s and all
1s. (2 subnets not used)
Modern routers can use those two particular subnets..
To display routing table on a PC : netstat –r
• A computer can have more than one interface

Each has a default gateway
• Example of use : route.xls
 extracted from : Document
Subnets and Subnet Masks
Subnets and Subnet Masks
 NAT (network
address translation)

Formerly « IP masquarading » (using LINUX)
Remapping of IP addresses
Can be implemented in various ways…

Popular method : « port forwarding »


table of correspondence (stored in the gatway
memory)
Proxy server..
Subnets and Subnet Masks
Obtaining an IP address
 DHCP




:
dynamic host configuration protocol
belongs to the application layer
uses UDP port 68 on the client and port 67 on
the server
see figure in
http://wiki.cas.mcmaster.ca/index.php/Dynamic_
Host_Configuration_Protocol

Information sent by DHCP server
Default gateway
Domain name
Name servers …
Network adapter
configuration
 In
a command window => ipconfig /all
 In
a program, one can use GetAdaptersInfo()
https://msdn.microsoft.com/enus/library/windows/desktop/aa366062(v=vs.85).aspx
Address Resolution Protocol
(ARP)
need MAC address to send to LAN host
•
•
•
•
manual
included in network address
use central directory
use ARP (address resolution protocol)
ARP (RFC 826) provides dynamic “IP to
Ethernet” address mapping
• source broadcasts ARP request
• destination replies with ARP response
Address Resolution Protocol
(ARP)
Sequence of events :
• See
http://www.tcpipguide.com/free/t_ARPAddressSpecificationandGeneralOperation-2.htm
• Broadcast at the MAC (Ethernet) level
• No IP header => just ARP header
To read the arp table on a PC :
arp –a
Note: one can modify the arp table if he has admin status …
(« spoofing »)
Internet Control Message
Protocol (ICMP)
 RFC
792
 transfer messages from routers and hosts
to hosts
 provides feedback about problems
• datagram cannot reach its destination
• router does not have buffer capacity to forward
• router can send traffic on a shorter route
 encapsulated

in IP datagram
hence not reliable
ICMP Message Format
(inserted at the end of the IP header)
Common ICMP Messages
 destination
unreachable
 time exceeded (traceroute)
 parameter problem
 source quench
 redirect
 echo & echo reply
 timestamp & timestamp reply
 address mask request & reply
IP Versions
 IP
v 1-3 defined and replaced
 IP v4 - current version
 IP v5 - streams protocol
 IP v6 - replacement for IP v4

during development, it was called IPng (IP
Next Generation)
Why Change IP?
address space
exhaustion:
• two level addressing
(network and host) wastes
space
• network addresses used
even if not connected
• growth of networks and the
Internet
• extended use of TCP/IP
• single address per host
requirements for new types
of service
• address configuration
routing flexibility
• traffic support
IPv6 RFCs

RFC 1752 - Recommendations for the IP Next
Generation Protocol




requirements
PDU formats
addressing, routing security issues
RFC 2460 - overall specification
 RFC 4291 - addressing structure
IPv6 Enhancements
 expanded
128-bit address space
 improved option mechanism

most not examined by intermediate routes
 dynamic
address assignment (no more
DHCP)
 increased addressing flexibility

anycast & multicast
 support

for resource allocation
labeled packet flows
IPv6
 Basics:
• Network prefix (48 bits) + subnet (16 bits) +
interface ID (64 bits)

Interface ID can be used for additionnal subnet masking
• www.tc.mtu.edu/ipv6/basics.php
• Expanded and Compressed notation (: ::)


Uncompressed: fc00:0:3:0:0:0:23:a
Compressed:
fc00:0:3::23:a
• Can compress only once
• Leading and ending zeros can be omitted

Examples:
::1
and
fc00:0:3:1ad3::
• Netmask (CIDR notation Ex: /48)
IPv6
 Basics:
• http://www.tunnelsup.com/subnet-calculator


Calculate
• 2001:0db8:85a3::8a2e:0370:7334/64
• 2001:0db8:85a3::/48/64 (see subnet prefix)
Brackets in URL : http://[2001:db8:85a3:8d3:1319:8a2e:370:7348]/
(colon usually defines ports so backets are required to avoid confusion)
IPv6
 Address

types :
http://www.ripe.net/lir-services/new-lir/ipv6_reference_card.pdf
• Link local addresses are used in one single network
segment, they can't be routed. Unique local addresses can
be routed, but only within one routing domain. So an ISP can
choose to use ULA for services which can't be publicly
accessible.
• Note: the example of unique local addresses is not correct
(should be fc00:f53b:82e4::53)
• Address space still not completely defined
• Ex PC de l’UQAC : fe80::517:ed90:ee5:7e15/10
 http://www.iana.org/assignments/ipv6-
address-space/ipv6-address-space.xhtml
IPv6
PDU
(Packet)
Structure
IP v6 Header
IP v6 Flow Label







related sequence of packets
special handling
A flow is identified by source and destination
addresses + flow label
router treats flow as sharing attributes
may treat flows differently (a particular flow uses
the same path -> guarantees same order
delivery)
alternative to including all information in every
header
have requirements on flow label processing
IPv6 Addresses

128 bits long
 assigned to interface
 single interface may have multiple unicast
addresses
three types of addresses:
• unicast - single interface address
• anycast - one of a set of interface addresses
(still no clear usage of anycast…)
• multicast - all of a set of interfaces
Hop-by-Hop Options

must be examined by every router

if unknown discard/forward handling is specified

next header
 header extension length
 options




Pad1
PadN
Jumbo payload (> 64kB)
Router alert
Fragmentation Header

In IPv6, fragmentation only allowed at source


no fragmentation at intermediate routers
node must perform path discovery to find
smallest MTU of intermediate networks
 set source fragments to match MTU
 otherwise limit to 1280 octets
Routing Header

contains a list of one or more intermediate nodes
to be visited on the way to a packet’s destination
header
includes
Type 0 routing
provides a list
of addresses
•
•
•
•
next header
header extension length
routing type
segments left
• initial destination address is first on list
• current destination address is next on
list
• final destination address will be last in
list
Destination Options Header
carries optional
information for
destination node
format same as
hop-by-hop
header
IPv6 Extension Headers
Virtual Private Network (VPN)
 set
of computers interconnected using an
unsecure network
• e.g. linking corporate LANs over Internet
 using
encryption & special protocols
to provide security against
• eavesdropping
• entry point for unauthorized users
 proprietary
solutions are problematical
• development of IPSec standard
IPSec
 RFC
1636 (1994) identified security need
 encryption and authentication necessary
security features in IPv6
 designed also for use with current IPv4
 applications needing security include:




branch office connectivity
remote access over Internet
extranet and intranet connectivity for partners
electronic commerce security
IPSec Functions
IP Security Scenario
Benefits of IPsec
 provides
strong security for external traffic
 resistant to bypass
 Located below transport layer hence

=> transparent to applications
 can be transparent to end users
 can provide security for individual users if
needed
IPsec vs https
 https


encrypts data at the application level
uses special port 443
 IPsec



encrypts data at the network level
all applications data (not only http data) are
encrypted.
any port can be used
Summary
 internetworking
principles
 Internet protocol operation

design issues, connectionless operation
 IP

services, addresses, subnets, ICMP, ARP
 IPv6

structure, header, addresses
 VPNs

and IP Security
IPsec applications, benefits, functions