Data Link Layer Chapter 3: Protocols and Services • 3.1: The Internet Protocol: IP • 3.2: Routing • 3.3: Auxiliary Protocols • 3.4: Quality of Service • 3.5: Transport Layer: TCP and UDP Presentation Layer Session Layer Chapter 2: Computer Networks Physical Layer Network Layer Transport Layer Application Layer Internet Protocols Chapter 4: Application Protocols OSI Reference Model
50
Embed
Chapter 3: Protocols and Services - RWTH Aachen University · Layer 3 Layer 3: Network Layer † Boundary between network carrier and customer † Control of global traffic: Coupling
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 1Chapter 3.1: The Internet Protocol IP
Data Link Layer
Chapter 3: Protocols and Services• 3.1: The Internet Protocol: IP• 3.2: Routing• 3.3: Auxiliary Protocols• 3.4: Quality of Service• 3.5: Transport Layer: TCP and UDP
Presentation Layer
Session Layer
Chapter 2: Computer Networks Physical Layer
Network Layer
Transport Layer
Application Layer
Internet Protocols
Chapter 4: Application Protocols
OSI Reference Model
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 2Chapter 3.1: The Internet Protocol IP
Layer 3
Layer 3: Network Layer
• Boundary between network carrier and customer
• Control of global traffic:
� Coupling of sub-networks by…
- Global addressing
- Routing of data packets
� Global flow control
Layer 1/2 are responsible only for the transmission of data
between adjacent computers.
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 3Chapter 3.1: The Internet Protocol IP
Layers in the Network
PhysicalLayer
Data LinkLayer
NetworkLayer
TransportLayer
SessionLayer
PresentationLayer
ApplicationLayer
ApplicationProcess
PhysicalLayer
Data LinkLayer
NetworkLayer
TransportLayer
SessionLayer
PresentationLayer
ApplicationLayer
ApplicationProcess
PhysicalLayer
Data LinkLayer
NetworkLayer
PhysicalLayer
Data LinkLayer
NetworkLayer
Host A Host BRouter A Router B
Routers in the network receive frames from layer 2, extract the layer 3 content (packet) and decide due to the global address, to which outgoing connection the packet must be passed on. Accordingly the packet becomes payload of a new frame and is sent.
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 4Chapter 3.1: The Internet Protocol IP
Two Fundamental Philosophies
Connectionless communication:• Data are transferred as packets of variable length
• Source and destination address are being indicated• Sending is made spontaneously without reservations
• Very easy to implement • But: packets can take different ways to the receiver (wrong order of packets at the
receiver, differences in transmission delay, unreliability)
� Selection of the communication partner resp. of the terminal� Examination of the communication readiness� Initiation of a connection
• Data transmission: Information exchange between the partners• Connection termination: Release of the terminals and channels
• Advantages: no change of sequence, reservation of capacity, flow control
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 5Chapter 3.1: The Internet Protocol IP
Connectionless Communication
Computer A
Computer C
Computer B
• Message is divided into packets
• Access is always possible, small susceptibility to faults
• Alternative paths for the packets
• Additional effort in the nodes: Store-and-Forwardnetwork
Keyword: Packet Switching
13 2
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 6Chapter 3.1: The Internet Protocol IP
Connection-Oriented Communication
Computer A
Computer C
Computer B
• Simple communication method
• Defined way between the participants
• Switching nodes connect the lines• Exclusive use of the line (telephone) or virtual connection:
Establishment of a connection over a (possibly even packet switching) network
Keyword: Circuit Switching
virtual connection
123
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 7Chapter 3.1: The Internet Protocol IP
Result: ARPANET (predecessor of today's Internet)
Goal about 40 years ago:• Interconnection of computers and networks using uniform protocols
• A particularly important initiative was initiated by the ARPA(Advanced Research Project Agency, with military interests)
• The participation of the military was the only sensible way to implement such an ambitious and extremely expensive project
• The OSI specification was still in developing phase
On the Way to Today's Internet
In the Internet, the connectionless principle is chosen, based on itspredecessor ARPANET:
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 8Chapter 3.1: The Internet Protocol IP
Design objective for ARPANET
• The operability of the network should remain intact even after a largest disaster possible, e.g. a nuclear war, thus high connectivity and connectionless transmission
• Network computer and host computer are separated
ARPA
Advanced Research Projects Agency
ARPANET
1969Subnet
ARPANET
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 9Chapter 3.1: The Internet Protocol IP
A subnet consists of: • Interface Message Processors
(IMPs), which are connected by leased transmission circuits
• High connectivity (in order to guarantee the demanded reliability)
Host
IMP
Subnet
IMP-IMP
protocol
Source IMP todestination IMP protocol
Host-host Protocol
Host-IMPProtocol
A node consists of
• an IMP• a host
Several protocols for the communication between IMP-IMP, host-IMP,…
ARPANET
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 10Chapter 3.1: The Internet Protocol IP
XDS940
DEKPDP-10
XDS1-7
Stanford ResearchInstitutes (SRI)
Universityof Utah
University of CaliforniaLos Angeles (UCLA)
University ofCalifornia SantaBarbara (UCSB)
ARPANET(December 1969)
IMP
IMPIBM
360/75 IMP
IMP California
The Beginning of ARPANET
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 11Chapter 3.1: The Internet Protocol IP
SRI
UCSB
UCLA
Utah
WITH
Harvard
Illinois
USC
SRI Utah Illinois WITH
USCUCLA
UCSB
Stanford
HarvardAberdeen
CMU
ARPANET in April 1972 ARPANET in September 1972
Very fast evolution of ARPANET within shortest time:
Evolution by ARPANET
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 12Chapter 3.1: The Internet Protocol IP
Problem: Interworking!Simultaneously to the ARPANET further (smaller) networks were developed.
All the LANs, MANs, WANs
• had different protocols, media, …
• could not be interconnected at first and were not be able to communicate with each another.
Therefore:
Development of uniform protocols on the transport- and network level (without a too accurate definition of these levels, in particular withoutexact coordination with the respective OSI levels).Result: TCP/IP networks.
Interworking
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 13Chapter 3.1: The Internet Protocol IP
Developed 1974:
Transmission Control Protocol/Internet Protocol (TCP/IP)
Requirements:
• Fault tolerance
• Maximal possible reliability and availability
• Flexibility (i.e. suitability for applications with very different requirements)
• End-to-end protocols TCP (Transmission Control Protocol; connection-oriented) and UDP (User Datagram Protocol; connectionless)
TCP/IP
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 14Chapter 3.1: The Internet Protocol IP
From the ARPANET to the Internet
• 1983 TCP/IP became the official protocol of ARPANET. ARPANET was
connected with many other USA networks.
• Intercontinental connecting with networks in Europe, Asia, Pacific.
• The total network evolved this way to a world-wide available network (called “Internet”) and gradually lost its early militarily dominated character.
• No central administrated network, but a world-wide union from many individual, different networks under local control (and financing).
• 1990 the Internet consisted of 3,000 networks with 200,000 computers. That was however only the beginning of a rapid evolution.
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 15Chapter 3.1: The Internet Protocol IP
What does it mean: “a computer is connected to the Internet”?
• Use of the TCP/IP protocol suite
• Accessibility over an IP address
• Ability to send IP packets
In its early period, the Internet was limited to the following applications:
E-mail electronic mail (partly because the US post was not very reliable and the different time zones made telephone accessibility of the telephone partner more difficult)
Remote login running jobs on external computers
File transfer exchange of data between computers
Internet
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 16Chapter 3.1: The Internet Protocol IP
• Until 1990: the Internet was comparatively small, only used by universities and research institutions.
• 1990: The WWW (World Wide Web) - first developed by the CERN for the simplification of communication within the field of high-energy physics -became, together with HTML and Netscape browsers, a from nobody foreseen “killer application”; this was the breakthrough for the acceptance of the Internet.
• Emergence of so-called Internet Service Providers (ISP), i.e. companies, which make their computers available as access points to the Internet.
• Millions of new (predominantly non-academic) users!
• New applications, e.g. E-Commerce
• 1995: Backbones, ten thousands LANs, millions attached computers, exponentially rising number of users
• 1998: The number of attached computers is doubled approx. all 6 months
• 1999: The transferred data volume is doubled in less than 4 months
Evolution of the Internet
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 17Chapter 3.1: The Internet Protocol IP
Evolution of the Internet
At mid of 2007: (estimated) 500 million of hosts attached to the Internet
1.01
.198
11.
01.1
982
1.01
.198
3
1.01
.198
4
1.01
.198
5
1.01
.198
6
1.01
.198
7
1.01
.198
81.
01.1
989
1.01
.199
01.
01.1
991
1.01
.199
2
1.01
.199
31.
01.1
994
1.01
.199
5
1.01
.199
6
1.01
.199
71.
01.1
998
1.01
.199
91.
01.2
000
1.01
.200
1
1.01
.200
21.
01.2
003
0
20.000.000
40.000.000
60.000.000
80.000.000
100.000.000
120.000.000
140.000.000
160.000.000
180.000.000
200.000.000
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 18Chapter 3.1: The Internet Protocol IP
Internet and Intranet
Internet
• Communication via the TCP/IP protocols
• Local operators control and finance
• Global coordination by some organizations
• Internet Providers provide access points for private individuals
Intranet
• Enterprise-internal communication with the same protocols and applications as in the Internet.
� Computers are sealed off from the global Internet (data security)
� Heterogeneous network structures from different branches can be integrated with TCP/IP easily
� Use of applications like in the WWW for internal data exchange
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 19Chapter 3.1: The Internet Protocol IP
The TCP/IP Protocol Suite
Networks
Protocols
ApplicationLayer
TransportLayer
InternetLayer
Wireless LANEthernet Token Ring DSL
FTP Telnet SMTP DNS SNMP TFTPHTTP
UDPTCP
IP Routing protocols“Helper” protocols
Host-to-network Layer
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 20Chapter 3.1: The Internet Protocol IP
Sandglass Model
HTTP, SMTP, FTP, …
E-Mail, File Transfer, Video Conferencing, …
Twisted Pair, Optical Fiber, Radio Transmission, …
Because of the small number of central protocols but the large number of applications and communication networks, the TCP/IP protocol stack (and applications/networks) can be represented like a sandglass.
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 21Chapter 3.1: The Internet Protocol IP
Internet Layer
Routing Protocols Transfer Protocols:IPv4, IPv6
“Helper” Protocols:ICMP, ARP, RARP, IGMP
Routing Tables
The tasks of the Internet layer can be rawly divided into three tasks:• Data transfer over a global network (chapter 3.1)
• Route decision at the sub-nodes (chapter 3.2)• Control of the network or transmission status, auxiliary protocols for address
translation (chapter 3.3)
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 22Chapter 3.1: The Internet Protocol IP
IP: connectionless, unreliable transmission of datagrams/packets (“Best Effort”)
• Transparent end-to-end communication between the hosts
• Routing, interoperability between different network types
• IP addressing (IPv4):
→ Uses logical 32-bit addresses
→ Hierarchical addressing→ 3 network classes
→ 4 address formats (including multicast)
• Fragmenting and reassembling of packets
• Maximum packet size: 64 kByte (in practice: 1500 byte)
• At present commonly used: Version 4 of IP protocol: IPv4(September 1981, RFC 791)
IP – Internet Protocol
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 23Chapter 3.1: The Internet Protocol IP
IP Packet
IP Header, usually 20 Bytes
Source Address
VersionType ofService
Total LengthIHL
Identification Fragment Offset
ProtocolTime to Live Header Checksum
Destination Address
PaddingOptions (variable, 0-40 Byte)
32 Bits (4 Bytes)
DATA (variable)
DF
MF
Header Data
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 24Chapter 3.1: The Internet Protocol IP
The IP Header (1)
• Version: IP version number (for simultaneous use of several IP versions)
• IHL: IP Header Length (in words of 32 bit; between 5 and 15, depending upon options)
• Type of Service: Indication of the desired service: Combination of reliability (e.g. file transfer) and speed (e.g. audio)
• Total Length: Length of the entire packet (in byte, ≤ 216-1 = 65535 bytes)
• Identification: definite marking of a packet
• Time to Live (TTL): Lifetime of packets is limited to maximal 255 Hops (endless circling of packets in the network is prevented). In principle, also the processing time in routers is to be considered, which does not happen in practice. The counter is reduced with each hop, with 0 the packet is discarded.
Prece-dence
D T R unused
3 bit priority(0 = normal data,7 = control packet)
DelayThroughput
Reliability
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 25Chapter 3.1: The Internet Protocol IP
The IP Header (2)
• DF: Don't Fragment. All routers must forward packets up to a size of 576 byte, everything beyond that is optional. Larger packets with set DF-bit therefore cannot take each possible way in the network.
• MF: More Fragments. “1” - further fragments follow. “0” - last fragment of a datagram)
• Fragment Offset: Sequence number of the fragments of a packet (213 = 8192 possible fragments). The offset states, at which place of a packet (counted in multiples of 8 byte) a fragment belongs. From this a maximum length of 8192 * 8 byte = 65536 byte results for a packet.
• Protocol: Which transport protocol is used in the data part (UDP, TCP,…)? To which transport process the packet is to be passed on?
• Header Checksum: 1’s complement of the sum of the 16-bit half words of theheader. Must be computed with each hop (since TTL changes)
• Source Address/Destination address: Network and host numbers of sending and receiving computer. This information is used by routers for the routing decision.
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 26Chapter 3.1: The Internet Protocol IP
Fragmentation
• A too large or too small packet length prevents a good performance. Additionally there are often size restrictions (buffer, protocols with length specifications, standards, allowed access time to a channel,…)
• The data length must be a multiple of 8 byte. Exception: the last fragment, there only the remaining data are packed, padding to 8 byte units does not take place.
• If the “DF”-bit is set, the fragmentation is prevented.
777 x00 0 0 1200 bytes
Ident. Flags Offset Data
IP header
777 x01 0 0 511
777 x01 64 512 1023
777 x00 128 1024 1200
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 27Chapter 3.1: The Internet Protocol IP
The IP Header (3)
Options: Prepare for future protocol extensions. Coverage: Multiple of 4 byte, therefore possibly padding is necessary. At present, 5 options are defined, however none is supported by common routers:
• Security: How secret is the transported information? (Application e.g. in military: Avoidance of crossing of certain countries/networks.)
• Strict Source Routing: Complete path defined from the source to the destination host by providing the IP addresses of all routers which are crossed. (Use by system managers e.g. in case of damaged routing tables or for time measurements)
• Loose Source Routing: The carried list of routers must be passed in indicated order. Additional routers are permitted.
• Record Route: Recording of the IP addresses of the routers passed. (Maximally 9 IP addresses possible, nowadays too few.)
• Time Stamp: Records router addresses (32 bits) as well as a time stamp for each router (32 bits). Application e.g. in fault management.
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 28Chapter 3.1: The Internet Protocol IP
• Unique IP address for each host and router.
• IP addresses are 32 bits long and are used in the Source Address as well as in Destination Address field of IP packets.
• The IP address is structured hierarchical and refers to a certain network, i.e. machines with connection to several networks have several IP addresses.
• Structure of the address: Network address for physical network (e.g. 137.226.0.0) and host address for a machine in the addressed network (e.g. 137.226.12.221)
IP Addressing
32 bits
10 Network HostB
110 Network HostC 2097151 networks (LANs) with 256 hosts each(starting from 192.0.0.0)
0 Network Host
Class
A
1110 Multicast addressD
1111 Reserved for future useE
16383 networks with216 hosts each(starting from 128.0.0.0)
126 networks with224 host each(starting from 1.0.0.0)
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 29Chapter 3.1: The Internet Protocol IP
IP Addresses
Binary format
Dotted Decimal Notation
10001001 11100010 00001100 00010101
137.226.12.21
137.226.12.1
137.226.112.1
137.226.112.78
Router
137.226.12.21
• Each node has (at least) one world-wide unique IP address
• Router or gateways, which link several networks with one another, have for each network an assigned IP address
137.226.12.0 137.226.112.0
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 30Chapter 3.1: The Internet Protocol IP
IP Addresses and Routing
137.226.0.0
142.117.0.0
12.0.0.0
194.52.124.0
ab
adefaultx.x.x.x
bdirect194.52.124.x
adirect142.117.x.x
a142.117.x.x137.226.x.x
b194.52.124.x12.x.x.x
Network Interface
ConnectionDestination IP Address
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 31Chapter 3.1: The Internet Protocol IP
Class B address
137.226.12.174
Class B addressof RWTH Aachen
10001001 11100010 00001100 10101110
Subnet(Computer science 4)
Terminal“Shadow”
The representation of the 32-bit addresses is divided into 4 sections of each 8 bits:
1 1 1 .............................................................. 1 1 1 Broadcast in own local area network
1 1 1 ................................. 1 1 1 Broadcast in the remote network
Loop, no sending to the network
Special addresses:
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 32Chapter 3.1: The Internet Protocol IP
Address Space
50,00%
25,00%
12,50%
6,25%
6,25%
Klasse A
Klasse B
Klasse C
Klasse D
Klasse E
ClassClassClassClassClass
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 33Chapter 3.1: The Internet Protocol IP
Problems• Nobody had thought about such a strong growth of the Internet
(otherwise one would have defined longer addresses from the beginning).
• Too many Class A address blocks were assigned in the first Internet years.
• Inefficient use of the address space.
Example: if 500 devices in an enterprise are to be attached, a Class B address block is needed, but by this unnecessarily more than 65.000 host addresses are blocked.
Solution approach
Extension of the address space within IPv6 against the actual version IPv4
⇒ IP version 6 has 128 bit for addresses
⇒ 7 x 1023 IP addresses per square meter of the earth's surface (including the oceans!)
⇒ one address per molecule on earth's surface!
But: The success of IPv6 is not by any means safe! (The introduction of IPv6 is tremendously difficult: Interoperability, costs, migration strategies,….)
IP Addresses are scarce…
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 34Chapter 3.1: The Internet Protocol IP
Ethernet A 128.10.1.0
128.10.1.3 128.10.1.8 128.10.1.70 128.10.1.26
Ethernet B 128.10.2.0
128.10.2.3 128.10.2.133 128.10.2.18
Restof the
Internet
All trafficfor 128.10.0.0
128.10.2.1
RouterEthernet
AHost
EthernetA
Host
EthernetA
Host
EthernetB
Host
EthernetB
Host
EthernetB
Host
Examples for subnets: subnet mask 255.255.255.0
Problem: Class C-networks are very small, Class B-networks often already too large. Therefore exists the possibility of dividing an through the IP-address identified network into so-called subnets.
IP Subnets
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 35Chapter 3.1: The Internet Protocol IP
IP Subnets
• Within an IP network address block, several physical networks can be addressed
• Some bits of the host address part are used as network ID
• A Subnet mask identifies the „abused” bits
• All hosts of a network should use the same subnet mask
• Routers can determine through combination of an IP address and a subnet mask, into which subnet a packet must be sent.
The entrance router of the RWTH, which receives the IP packet, does not know, where host “12.21” is located – no corresponding entry is in its routing table
The router computes the (sub-)network address “137.226.12” and searches its routing table for this entry
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 37Chapter 3.1: The Internet Protocol IP
Assigned network address for the RWTH:137.226.0.0
137.226.12.0 Info 4
137.226.8.0
254 hosts per subnet:• Hosts have the addresses
1 – 254
• 0 is reserved for the subnet• 255 is reserved for broadcast
in the subnet
Subnet mask for each subnet = 255.255.255.0
Other format for writing of addresses in subnets: prefix notation
137.226.12.221/24
137.226.112.0137.227.10.0
Example of a Subnet
Number of bits for “(sub)network address”
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 38Chapter 3.1: The Internet Protocol IP
More flexible Addressing
Remaining problem: how to use the very small class C networks efficiently for today’s network sizes? How to reduce the number of entries in routing tables?
Solution: Classless Inter-Domain Routing (CIDR)• Allow also for moving the network/host separation in left direction, i.e. skip the
class concept and always give a subnet mask as mark of the end of the network address part
• Examples:� 137.250.x.x/15: The first 15 bits of the IP address only are used for the
network identification – even if it would be a class B address
� 197.121.192.x/19: Several class C networks are combined to a single subnet• Used together with routing: Backbone router, e.g. on transatlantic links only
consider the first 13 bits → small routing tables, little cost of routing decision
• Routers of ISPs consider e.g. only the first 15 bits• Routers in company networks consider e.g. the first 25 bits
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 39Chapter 3.1: The Internet Protocol IP
NAT – Network Address Translation
• Each internal computer in the Intranet needs an own IP address to communicate with the others. For this purpose, “private” address blocks are reserved, which everyone may use (without buying an own address block) within its own networks and which are never routed in the Internet:
• When using addresses of those range, the internal computers can communicate with each other
• But: packets with those addresses are not forwarded by a router. Thus: routers, which are attached to the “external world” need a global address
• Solution: assign a few IP addresses to a company which are known by a “NAT box” which usually is installed with the router
• When data are leaving the own network, an address translation takes place: the NAT box exchanges the private address with a globally valid one
• Side effect: hiding of the internal network structure (security)
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 40Chapter 3.1: The Internet Protocol IP
NAT Variants
NAT is available in several “variants”, known under different names:
Basic NAT (also: Static NAT)
• Each private IP address is translated into one certain external IP• Either, you need as much external addresses as private ones, otherwise no re-
translation is possible when a reply arrives
• Or, you manage a pool of external IP addresses and assign one dynamically when a request is sent out
router with NAT box
Internet192.168.0.2 192.168.0.3
192.168.0.4 192.168.0.5
router with NAT box
Internet192.168.0.2 192.168.0.3
192.168.0.4 192.168.0.5
137.226.12.35192.168.0.5
137.226.12.34192.168.0.4
137.226.12.33192.168.0.3
137.226.12.32192.168.0.2
Map toPrivate IP
137.226.12.35---
137.226.12.34---
137.226.12.33192.168.0.5
137.226.12.32192.168.0.2
Currently mapped:
Private IP
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 41Chapter 3.1: The Internet Protocol IP
NAT Variants
Disadvantages of static NAT:• With static mapping, you need as much official IP addresses as you have
computers
• With dynamic mapping, you need less official IP addresses, but for times of high traffic you nevertheless need nearly as much addresses as local computers
• Those approaches help to hide the network structure, but not to save addresses
Hiding NAT (also: NAPT: Network Address Port Translation, Masquerading)• Translate several local addresses into the same external address
• Now: some more details are necessary to deliver a response
router with NAT box
Internet192.168.0.2 192.168.0.3
192.168.0.4 192.168.0.5
137.226.12.32192.168.0.5
137.226.12.32192.168.0.4
137.226.12.32192.168.0.3
137.226.12.32192.168.0.2
Map toPrivate IP
to: 137.226.12.32
destination?
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 42Chapter 3.1: The Internet Protocol IP
NAPT – Network Address Port Translation
80207.17.4.21198.60.42.12150010.0.0.71500TCP
21137.226.12.221198.60.42.12106610.0.0.11066TCP
Port (destination)IP (destination)IP (global)Port (global)IP (local)Port (local)Protocol
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 43Chapter 3.1: The Internet Protocol IP
Problems with NAPT
NAPT works well with communication initiated from the Intranet. But: how could someone from outside give a request to the Intranet (e.g. to the web server)?
• NAPT box needs to be a bit more “intelligent”• Some static information has to be stored, e.g. “each incoming request with port 80
has to be mapped to the private address of the web server”
• Still problems if e.g. several web servers are operated, or if some user spontaneously wants to have special access to a host from outside
• Lots of workarounds
• Thus, only more IP addresses really help to solve the problem
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 44Chapter 3.1: The Internet Protocol IP
The new IP - IPv6
Why changing the protocol, when IPv4 works well?
• Dramatically increasing need for new IP addresses
• Improved support of real time applications
• Security mechanisms (Authentication and data protection)
• Differentiation of types of service, in particular for real time applications
• Support of mobility (hosts can go on journeys without address change)
• Simplification of the protocol in order to ensure a faster processing
• Reduction of the extent of the routing tables
• Options for further development of the protocol
→ IPv6 (December 1995, RFC 1883)
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 45Chapter 3.1: The Internet Protocol IP
• Address size– 128-bit addresses (8 groups of each 4 hexadecimal numbers)
• Improved option mechanism– Simplifies and accelerates the processing of IPv6 packets in routers
• Auto-configuration of addresses– Dynamic allocation of IPv6-addresses
• Improvement of the address flexibility– Anycast address: Reach any one out of several
• Support of the reservation of resources– Marking of packets for special traffic
• Security mechanisms– Authentication and Privacy
• Simpler header structure: – IHL: redundant, no variable length of header by new option mechanism
– Protocol, fragmentation fields: redundant, moved into the options – Checksum: Already done by layer 2 and 4
IPv6 - Characteristics
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 46Chapter 3.1: The Internet Protocol IP
• Version: IP version number• Priority: 4 bits for priority. 1 - News, 4 -
ftp, 6 - telnet, 8 to 15 - real time traffic• Flow label: virtual connection with certain
characteristics/requirements• PayloadLen: packet length after the 40-
byte header• Next Header: 8-bit selector. Indicates the
type of the following extension header (or the transport header)
• HopLimit: At each node decremented by one. At zero the packet is discarded
• Source Address: The address of the original sender of the packet
• Destination Address: The address of the receiver (not necessarily the final destination, if there is an optional routing header)
• Next Header/Data: if an extension header is specified, it follows after the main header. Otherwise, the data are following
1 4 8 3216 24
The prefix of an address characterizesgeographical areas, providers, local internal areas,…
IPv6 Main Header
Version (4)
Next Header (8) HopLimit (8)PayloadLen (16)
Flow label (24)
Source Address (128)
Destination Address (128)
Next Header/Data
Priority (4)
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 47Chapter 3.1: The Internet Protocol IP
Optional data follows in extension headers. There are 6 headers defined:
• Hop by Hop (information for single links)All routers have to examine this field. Momentarily only the support of Jumbograms (packets exceeding the normal IP packet length) is defined (length specification).
• Routing (definition of a full or partly specified route)
• Fragmentation (administration of fragments)Difference to IPv4: Only the source can do fragmentation. Routers for which a packet is too large, only send an error message back to the source.
• Authentication (of the sender)
• Ciphered data
• Destination options (additional information for the destination)
IPv6 Extension Headers
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 48Chapter 3.1: The Internet Protocol IP
IPv4 vs. IPv6: Header
En sion
Priority
Flow label
PayloadLen NEXTheaders
Hop limit
SOURCE ADDRESS
SOURCE ADDRESS
SOURCE ADDRESS
SOURCE ADDRESS
Destination ADDRESS
Destination ADDRESS
Destination ADDRESS
Destination ADDRESS
NEXT header/DATA
En sion
IHL Totally lengthType OF service
Identification Fragment offset
Time to Live
Protocol Header Checksum
SOURCE ADDRESS
Destination ADDRESS
Option (variable)/Padding
DATA
The IPv6 header is longer, but this is only caused by the longer addresses.Otherwise it is “better sorted” and thus faster to process by routers.
Ver-sion
4 8 16 32
Prio-rity
Flow Label
PayloadLenNext
HeaderHop Limit
Source Address
Source Address
Source Address
Source Address
Destination Address
Destination Address
Destination Address
Destination Address
Next Header / Data
4 8 16 32
Ver-sion
IHL Total LengthType of Service
Identification
Time to Live
Protocol
Source Address
Destination Address
Options (variable)/Padding
Data
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 49Chapter 3.1: The Internet Protocol IP
Coexistence of IPv4 and IPv6
IPv6 cannot be introduced “over night”… for some time both IP variants will be used in parallel.
• New network interface card drivers support both versions of IP, thus they are able to communicate with the newer version
• But: how to enable two modern IPv6-based hosts to communicate if only an IPv4-based network is in between?
1. Header ConversionRouter translates an incoming IPv6 packet into a IPv4 packet, receiving router retranslates
Internetmostly IPv4
IPv6 network
IPv6 header
payload IPv4 header
payloadIPv6
headerpayload
IPv6 network
But: reconstruction of e.g. flow label???
Routers which “speak” IPv4 and IPv6 in parallel
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Page 50Chapter 3.1: The Internet Protocol IP
Coexistence of IPv4 and IPv6
2. TunnelingRouter at the entry to the IPv4-based network encapsulate an incoming IPv6 packet into a new IPv4 packet with destination address of the next router also supporting IPv6
Internetmostly IPv4
IPv6 network
IPv6 header
payload IPv4 header
IPv6 header
payload
IPv6 network
IPv6 header
payload
• More overhead because of two headers for one packet, but no information loss due to header conversion
Tunneling is a general concept also used for multicast, VPN, etc: it simply means “pack a whole packet as it is into a new packet of different protocol”