Title: Computer Networks
1Computer Networks
Network layer
2Network Layer
- Design issues
- Routing
- Congestion
- Internetworking
- Internet Protocols
- Multimedia or QoS
- Different networks, protocols?
- Interconnection styles
- Internetwork routing
- Fragmentation
- Firewalls
3Internetworking differences
- Different networks will always be around
- Installed base is large and growing
- Networks get cheaper, so decision makers ?
- New technology ? new networks ? new protocols
4Internetworking differences
Item Some differences
Service offered Connection-oriented ltgt connectionless
Protocols IP, IPX, CLNP, Apple talk, SNA,
Addressing Flat (802) ltgt hierarchical (IP)
Multicasting Present ltgt absent
Packet size Maximum per network
Quality of service Many kinds
Error handling Reliable, ordered,
Flow control Sliding window, rate control,
Congestion control Leaky bucket, choke packets,
Security Privacy rules, encryption,
Parameters Timeouts, flow specifications,
Accounting Connect time, available bandwidth,
5Internetworking differences
- Interconnection boxes
- Repeaters, hubs
- Bridges, switches
- Routers
- Transport gateways
- Application gateways
Layer Example
1 Ethernet
2 LANs
3 IP, IPX, Apple talk
4 TCP ltgt OSI TP4
5 Mail SMTP ltgt X400
Multifunctional products
6Internetworking styles
- Half-devices neutral protocol
- Management issue
- Cooperation reduced to agreement on protocol
7Internetworking styles
- Concatenated virtual circuits
- Set-up of a connection
- Recognition of remote destination (host, router)
and selection of multiprotocol router for first
VC - Multiprotocol router extends VC towards
- Data transfer
- Same path for all packets
- Conversions (packet format, VC numbers,) in
multiprotocol routers - Essential features
- Sequence of VCs
- Networks should have same/similar properties
- Properties I dentical to single VCs
8Internetworking styles
- Concatenated virtual circuits
- Set-up of a connection
- Recognition of remote destination (host, router)
and selection of multiprotocol router for first
VC - Multiprotocol router extends VC towards
- Data transfer
- Same path for all packets
- Conversions (packet format, VC numbers,) in
multiprotocol routers - Essential features
- Sequence of VCs
- Networks should have same/similar properties
- Properties identical to single VCs
9Internetworking styles
- Connectionless internetworking
- Datagram approach
- Multiple routes
- Higher bandwidth
- No guarantee for in order delivery
- Nearly identical protocols required
- Packet conversion
- Addressing ( assignment, mapping)
- Properties same as for datagram networks
10Internetworking styles
- Connectionless internetworking
- Datagram approach
- Multiple routes
- Higher bandwidth
- No guarantee for in order delivery
- Nearly identical protocols required
- Packet conversion
- Addressing ( assignment, mapping)
- Properties same as for datagram networks
11Internetworking styles
- Tunneling
- Interconnect 2 identical networks using a
different one - Behaviour point-to-point line between
multiprotocol routers
12Internetworking routing
- Same problem some complications
- 2 levels of routing
- Within a network
- Intranetwork routing
- Interior gateway protocol
- Internetwork routing
- Graph construction
- Every router can directly access routers on the
same network - Packet forwarding tunneling if necessary
- Differences with intranetwork routing
- Cross international boundaries adopt national
laws - Agreements between operators (transit traffic)
- Between networks
- Internetwork routing
- Exterior gateway protocol
13Internetworking routing
- An internetwork
- Router A can communicate with routers B
and C
Graph of internetwork
14Internetworking fragmentation
- Problem Large packet through network with
smaller maximum packet size - Solution
- Break large packet into fragments
- Send each fragment as a separate packet
- Reassemble transparent ltgt non transparent?
- Transparent fragmentation
- Strategy
- Gateway breaks large packet into fragments
- Each fragment addressed to same exit gateway
- Exit gateway does reassembly
15Internetworking fragmentation
- Transparent fragmentation
- Strategy
- Gateway breaks large packet into fragments
- Each fragment addressed to same exit gateway
- Exit gateway does reassembly
- Simple, but some problems
- Gateway must know when it has all pieces
- Performance loss all fragments through same
gateway - Overhead repeatedly reassemble and refragment
- Example ATM segmentation
16Internetworking fragmentation
- Nontransparent fragmentation
- Strategy
- Gateway breaks large packet into fragments
- Each fragment is forwarded to destination
- problems
- Every host must be able to reassembly
- More headers
- Example IP fragmentation
17Internetworking fragmentation
- Fragment numbering
- Hierarchical numbering
- Packet 0 ? packets 0.0, 0.1, 0.2
- Problem retransmission different
fragmentations - Basic block numbering in every packet
- Original packet number
- Sequence number of first block
18Internetworking firewalls
- Protection needed against
- Information leaking out
- Trade secrets, product development plans,
- Information leaking in
- Viruses, worms,
- Old medieval analogy
- Castle deep moat around it
- Single draw bridge
- Example firewall
- 2 routers for packet filtering
- Application gateway
19Internetworking firewalls
- Packet filtering
- Acceptable sources destinations
- Filters on
- Address IP
- Service port (TCP header)
- both
- Application gateway
- Decisions made per application
- Header fields,
- Message size
- content
20Network Layer
- Design issues
- Routing
- Congestion
- Internetworking
- Internet Protocols
- Multimedia or QoS
- IP protocol
- Internet Control Protocols
- Routing
- Internet multicasting
- Mobile IP
- IPv6
21Internet IP protocol
- View on Internet
- Collection of Autonomous Systems (AS)
- Glue IP designed for internetworking
22Internet IP protocol
- IP protocol
- best effort service
- Datagrams up to 64 Kbytes
- IP header
- 20 byte fixed part optional part
- Transmitted in big endian order ( l -gt r)
23Internet IP header
Version Version of IP protocol now 4
IHL Length of header
Type of service 3 bit precedence field priority 0 (normal) to 7 (control) 3 flags Delay, Throughput, Reliability
Total length Length of header data
Identification Unique number for datagram (between source destination)
DF Dont fragment this packet
MF More fragments to come
Fragment offset Relative position of fragment in original packet ( 8 bytes mult.)
Time to live Hop counter
Protocol Protocol of higher layer
Header checksum 16 bit sum of half words using 1-complement
Source address IP address
Destination address IP address
24Internet IP header
- Options maximum length 40 bytes
- Too small 40 bytes -gt only 10 IP addresses!
Option Description
Security Specifies how secret the datagram is
Strict source routing Gives the complete path to be followed
Loose source routing Gives a list of routers not to be missed
Record route Makes each router append its IP address
timestamp Makes each router append its IP address and timestamp
25Internet IP addresses
class networks hosts
A 126 16.000.000
B 16.382 64.000
C 2.000.000 254
- IP address 32 bits
- Network number
- Host number (on network)
26Internet IP addresses
- Dotted notation 134.58.47.25
- Assignment
- ICANN Internet Corporation for Assigned Names and
Numbers - Arin (American Registry for Internet Numbers)
for N S America - RIPE (Réseaux IP Européennes) for Europe
- APNIC (Asia Pacific Network Information Centre)
- Special addresses
27Internet IP subnets
- Subnetting different views on same network
- Internal network split up in different parts
- External a single net
- Why?
- Avoid use of different C networks for a single
organisation - Allow structuring of class A B networks
28Internet IP subnets
- Subnetting different views on same network
- Internal network split up in different parts
- External a single net
- Why?
- Avoid use of different C networks for a single
organisation - Allow structuring of class A B networks
- Network ltgt host?
- Subnet mask
29Internet IP subnets
Routing table entries No subnets
With subnets
- (network, 0) how to get distant network
- (this-network, host) to local host
- (network, 0) how to get to distant
network - (this-network, subnet, 0) to host on
another subnet - (this-network, this-subnet, host) to
local host
- Advantages
- Smaller tables
- Management of networks easier (not easy!)
30Internet CIDR
- Exponential growth of Internet
- Running out of addresses
- B is too large ltgt C is too small
- Assign many Cs iso a single B
- Routing table explosion
- Hierarchical routing
- No support in IP addressing scheme
- CIDR solution
- Allocate blocks of class C addresses
- Introduce hierarchy for remaining addresses
- Classless routing
CIDR classless InterDomain Routing
31Internet CIDR
- CIDR solution
- Allocate blocks of class C addresses
- Variable size described by
- IP address
- Mask indicating meaningful bits in address
- Allocation scheme block of X addresses starts on
X-byte boundary - 2048 addresses (8 C classes) 194.24.0.0 to
194.24.7.255 - 4096 addresses (16 C classes) 194.24.16.0 to
194.24.31.255 - Introduce hierarchy for remaining addresses
- Classless routing
From To Region
194.0.0.0 195.255.255.255 Europe
198.0.0.0 199.255.255.255 North America
200.0.0.0 201.255.255.255 Central South America
202.0.0.0 203.255.255.255 Asia Pacific
32Internet CIDR
- 3 blocks assigned
- Entries in router tables
- Route 194.24.17.4? or 0001 0001 0000
0100 - Test address mask
Gent 2048 194.24.0.0 194.24.7.255
Leuven 4096 194.24.16.0 194.24.31.255
Hasselt 1024 194.24.8.0 194.24.11.255
Address Mask Mask (last 2 bytes)
194.24.0.0 255.255.248.0 1111 1000 0000 0000
194.24.16.0 255.255.240.0 1111 0000 0000 0000
194.24.8.0 255.255.252.0 1111 1100 0000 0000
1111 1000 0000 0000
0001 0000 0000 0000 ltgt 194.24.0.0
1111 0000 0000 0000
0001 0000 0000 0000 194.24.16.0
33Internet NAT
- Network Address translation
- Simple solution to the shortage of IP addresses
- Examples?
- Technique
- non routable addresses inside a domain
- Translate address to a routable one when packet
leaves domain
Reply packets?
34Internet NAT
- Use TCP/UDP port number to differentiate between
different local computer systems - NAT translation table
- (local IP address, source port)
- ?? (external IP address, unique port)
- 1 IP address can be used for up to 64K hosts
35Internet NAT
- Objections to NAT
- Violates architectural model of IP
- IP address uniquely identifies a single computer
- Crash of NAT box ? all connections lost
- Connection oriented flavor
- Violates fundamental rule of protocol layers
- Only works for TCP UDP
- Addresses inside body are not translated
- Ugly and temporary hack delays real solution
IPv6
36Network Layer
- Design issues
- Routing
- Congestion
- Internetworking
- Internet Protocols
- Multimedia or QoS
- IP protocol
- Internet Control Protocols
- ICMP
- ARP
- RARP
- Routing
- Internet multicasting
- Mobile IP
- IPv6
37Internet ICMP
- ICMP Internet Control Message Protocol
- Used by routers to report unexpected events
- Definition RFC 792
Message type Description
Destination unreachable Packet could not be delivered
Time exceeded Time to live field 0
Parameter problem Invalid header field
Source quench Choke packet
Redirect Teach a router about geography
Echo request Ask a machine if it is alive
Echo reply Yes, I am alive
Timestamp request Same as echo, but with timestamp
Timestamp reply Same as echo reply, but with timestamp
38Internet ARP
- ARP address resolution protocol
- How do IP addresses get mapped onto data link
layer addresses? - Problem
- Solution configuration files
unsatisfactory
192.31.65.7 E1
192.31.65.5 E2
39Internet ARP
- Basic ARP protocol
- Broadcast who owns IP address 192.31.65.5?
- Host with that IP address should reply with its
data link address - Optimisations cache mappings!
- Values in ARP request (every system on net)
- Values in ARP reply (sender of ARP request
only) - Gratuitous ARP upon boot host can send ARP
request with its own mappinganswer duplicate
IP address in use!
40Internet ARP
- How to handle remote hosts?
- Proxy ARP routers serving the net should reply
- Sending host forwards packet to router
41Internet RARP
- RARP Reverse Address Resolution Protocol
- Problem
- Given a data link address
- What is the corresponding IP address
- Why needed?
- Allows a newly booted workstations to get its IP
address - Solutions
- RARP protocol RARP server!!
- IP address embedded in OS image (different image
for every WS) - BOOTP protocol
- Limitation of RARP server needed on each net as
broadcast is not forwarded
42Internet BOOTP
- Bootstrap protocol
- Uses UDP messages
- Broadcast to port 67
- Forwarded over routers
- Gives additional information
- IP address of file server holding the OS
- IP address of default router
- Subnet mask to use
43Internet DHCP
- DHCP Dynamic Host Configuration Protocol
- Special server relay agents
- Static dynamic assignment of IP addresses
(leasing) - Newly booted machine broadcasts a DHCP Discover
packet
44Network Layer
- Design issues
- Routing
- Congestion
- Internetworking
- Internet Protocols
- Multimedia or QoS
- IP protocol
- Internet Control Protocols
- Routing
- OSPF
- BGP
- Internet multicasting
- Mobile IP
- IPv6
45Internet routing
- History
- First protocol RIP (distance vector)
- Since 1979 replaced by link state
- In 1990 new standard OSPF
- Protocols
- Interior gateway protocol OSPF Open Shortest
Path First - Exterior gateway protocol BGP Border gateway
protocol
46Internet routing OSPF
- Requirements for OSPF
- Algorithm in open literature
- Support for various distance metrics
- Dynamic algorithm
- Support for routing based on type of service
- Do load balancing over multiple lines
- Support for hierarchical systems
- Security to prevent false updates
- Support for routers connected through tunnel
- OSPF supports as connections and networks
- Point-to-point lines between routers
- Multi access networks with broadcasts
- (multi access) networks without broadcasts
47Internet routing OSPF
- Abstract view on network
- Directed graph
- Node for each router network
- Arcs
- 2 arcs for each point-to-point line
- 2 arcs for each network node to the routers
connected to the network - Example
48Internet routing OSPF
- Abstract view on network
- Directed graph
- Node for each router network
- Arcs
- 2 arcs for each point-to-point line
- 2 arcs for each network node to the routers
connected to the network
49Internet routing OSPF
- Network divided into areas
- Areas do not overlap
- Area set of contiguous networks
- Topology of area not visible outside area
- Backbone area
- Interconnects areas
- Router connected to at least 2 areas is part of
backbone - Classes of routers
- Internal routers (within an area)
- Area border routers (interconnect areas)
- Backbone routers
- AS boundary router
- 3 kinds of routes
- Intra-area shortest path
- Interarea from source to backbone to destination
- Inter AS
Provisions for very large networks
50Internet routing OSPF
Provisions for very large networks
51Internet routing OSPF
- Provisions for very large networks
52Internet routing OSPF
- Exchanging information
- Between adjacent routers
- on LAN one router is elected as designated router
- Designated router is adjacent to all neighbouring
routers - Flooding to all routers in an area
- Within routers of any area
- Construct graph
- Compute shortest paths between routers in area
- Extra for backbone area
- Accept info from area border routers
- Compute SP between backbone router and all
routers in AS - Propagate this info back to area border routers,
which advertise it within their areas
53Internet routing OSPF
- How handle different types of service
- Multiple graphs with as cost metric
- Delay
- Throughput
- reliability
- Triples computation
- Separate routes for optimising
54Internet routing BGP
- Allow many kinds of routing policies
- Examples
- No transit traffic
- Only transit X if there is no alternative
- Traffic from or to Y should not transit Z
- Policies require manual configuration!
- BGP view of the Internet
- BGP routers interconnecting lines
- 3 kind of networks
- stub networks 1 connection in BGP graph
- multi connected networks
- transit networks (operated as backbones)
- BGP algorithm
55Internet routing BGP
- BGP algorithm
- Distance vector protocol
- Each router keeps track of exact path used
- Route violating a policy? distance ?
- Uses reliable TCP connections???
56Network Layer
- Design issues
- Routing
- Congestion
- Internetworking
- Internet Protocols
- Multimedia or QoS
- IP protocol
- Internet Control Protocols
- Routing
- Internet multicasting
- Mobile IP
- IPv6
57Internet multicasting
- Use of class D IP addresses
- Each group identified by class D address
- Best effort delivery to all members of group
- Permanent addresses
- 224.0.0.1 all systems on LAN
- 224.0.0.2 all routers on LAN
- 224.0.0.5 all OSPF routers on LAN
- 224.0.0.6 all designated OSPF routers on LAN
- Temporary addresses for temporary groups
- Create group
- Host can join/leave group
- IGMP Internet Group Management Protocol
58Internet multicasting
- Multicast router
- Keeps track of the groups to which hosts on its
LAN belong - Modified distance vector protocol
- Each router constructs spanning tree per group
- Heavy use of tunneling (why?)
59Internet mobile IP
- Unattractive solutions
- Give new IP address to mobile host
- Use complete IP address for routing
- IETF desirable goals
- (home) IP address usable everywhere
- No software changes to fixed hosts
- No changes to router software and tables
- No detours for most packets to mobile hosts
- No overhead when mobile host is at home
- Solution
60Internet mobile IP
- Solution (see general scheme for details)
- Home agent
- Gratuitous ARP to invalidate cached entries
- Foreign agent registering
- ARP home agent responding
- Tunnel to foreign agent inform sender
- Handling of other problems
- Locating agents
- Broadcast
- Host leaving without deregistration
- Registration valid for fixed time interval
- Security
- Use authentication protocol
61Network Layer
- Design issues
- Routing
- Congestion
- Internetworking
- Internet Protocols
- Multimedia or QoS
- IP protocol
- Internet Control Protocols
- Routing
- Internet multicasting
- Mobile IP
- IPv6
62Internet IPv6
- Major goals for new IP
- Support billion of hosts
- Reduce size of routing tables
- Simplify protocol
- Better security (authentication privacy)
- More attention for type of service
- Aid multicasting
- Better support for mobility
- Allow protocol to evolve
- Permit coexistence of old and new IP
- Features of IPv6
- Not compatible with IPv4
- Compatible with other Internet protocols
- Longer addresses
- Simplification of header
- Better support for options
- Big advance in security
- More attention to type of service
63Internet IPv6
- Procedure
- Call for proposal by IETF
- 21 responses
- Dec 92 7 serious proposals
- 3 better proposals published in IEEE network
- SIPP (Simple Internet Protocol Plus) or IPv6
combined version
64Internet IPv6 header
65Internet IPv6 header
- Version identifies protocol version
- Priority
- 0 7 transmissions capable of slowing down
- 8 15 real-time traffic
- Higher values more important traffic
- Flow label Identification of flow with specific
requirements - Pseudoconnection between source and destination
- To be used by routers for special treatment of
all packets of a flow - Payload length number of bytes in packet after
header - Next header
- Which extension follows this one
- (last extension header) which transport protocol
to select - Hop limit decremented at each hop
- Addresses of source destination 16 bytes or
128 bits
66Internet IPv6 addresses
- Size of address space
- 128 bits ? 2128 ? 1038 addresses
- 7 x 1023 addresses /m2 land water on entire
earth - Most pessimistic scenario 1000 addresses / m2
(land water) - Notation
- 8 groups of 4 hexadecimal digits with colons as
separators - 80000000000000000123456789ABCDEF
- Short cuts
- Sequence of 0000 ? 80000123456789ABCDE
F - IPv4 1345891254
- Assignment
- Provider-based geographic-based addresses
- Overview
67Prefix Usage Fraction
0000 0000 Reserved (including IPv4) 1/256
0000 0001 Unassigned 1/256
0000 001 OSI NSAP addresses 1/128
0000 010 Novell Netware IPX addresses 1/128
0000 011 Unassigned 1/128
0000 1 Unassigned 1/32
0001 Unassigned 1/16
001 Unassigned 1/8
010 Provider-based addresses 1/8
011 Unassigned 1/8
100 Geographic-based addresses 1/8
101 Unassigned 1/8
110 Unassigned 1/8
1110 Unassigned 1/16
1111 0 Unassigned 1/32
1111 10 Unassigned 1/64
1111 110 Unassigned 1/128
1111 1110 0 Unassigned 1/512
1111 1110 10 Link local use addresses 1/1024
1111 1110 11 Site local use addresses 1/1024
1111 1111 Multicast 1/256
68Internet IPv6
- Extension headers
- Extra info, efficiently encoded
- Overview
Extension Header Description
Hop-by-hop options Miscellaneous information for routers
Routing Full or partial route to follow
Fragmentation Management of datagram fragments
Authentication Verification of the senders identity
Encrypted security payload Information about the encrypted contents
Destination options Additional information for the destination
69Internet IPv6
- Extension headers
- Encoding
- Fixed format or
- variable number of variable length fields
- Type, length value encoding
70Internet IPv6
- Jumbogram extension header
- Datagrams gt 64 Kbyte
71Internet IPv6
- Routing extension header
- Bit map strict source routing ltgt loose source
routing
72Internet IPv6
- Fragmentation extension header
- Fragmentation only by source host?
simplification of routers, - Identical fields
- Datagram identifier
- Fragment number
- MF bit
73Internet IPv6
- Controversies
- Address length
- Length of hop limit field
- Number of hops should never exceed 100 ? 8 bits
- Maximum packet size
- Removal of checksum
- Security
- in network layer? Yes ? standard service
No ? never good enough - Export restriction?
- How? replaceable algorithms
74Computer Networks
Network layer