Title: Internet Architecture and Protocol Concept
1Internet Architectureand Protocol Concept
2Internet Abstraction of Physical Network
- IP Layer
- Accept packets/Deliver packets
- From/to any host
- User sees only basic network functionality
- Internal structure/architecture irrelevant
- TCP Layer
- Reliable, end-to-end transport
- Connections (stream)
- Application layer
- Many applications are native to TCP/IP
environment - Telnet, FTP, SMTP Mail clients, HTTP etc.
3TCP/IP Layers
Application Services
Reliable Transport Service
Connectionless Packet Delivery System
4Basic IP Service
- Characterized by
- Unreliable
- Service not guaranteed
- Packets may be lost, duplicated, returned
- System will not report these conditions
- Best effort
- System resources are applied to achieve correct
delivery - Connectionless
- Only packets are accepted for delivery
- Packet characteristics are fixed by IP rules, not
the application - IP does not support a persistent connection
between end-points
5IP Protocol defines
- What is a packet (IP Datagram)?
- Max size
- Encoding
- Format
- Routing
- What path a packet should take and how the path
is decided - What is Best Effort?
- When packets should be discarded
- When and what error messages are generated
6IP Datagram Format
0 4 8 16 19 24
31
IDENTIFICATION
TIME TO LIVE PROTOCOL
HEADER CHECKSUM
SOURCE IP ADDRESS
DESTINATION IP ADDRESS
IP OPTIONS (IF ANY)
PADDING
DATA
. . .
7IP Datagram Fields
- Version current is V.4
- HLEN Length of Header 32 bit words (5 if no
options) - Total Length HeaderData (octets)
- 16 bit field ? max packet size 64k octets
- Identification IP generated identifying number
- Used to relate packets that have been fragmented
(discussed later)
8Type of Service (TOS)
0 1 2 3 4 5 6 7
- Precedence sets priority
- 0 lowest (normal priority)
- 7 highest (network control)
- DTR Type of Transport
- D Delay request low delay
- T Throughput request max throughput
- R Reliability request high reliability
- TOS for e.g. congestion algorithms can use
control packets that are not affected by
congestion being controlled
9Datagram Encapsulation
- Lower level physical network transport treats
complete datagram, including header as data.
10Fragmentation
- Maximum Transfer Unit (MTU)
- Largest packet size for a physical network
- Fixed characteristic of any specific network
- Example Ethernet MTU1500 octets
- Example FDDI MTU4470 octets
- Some network technologies MTU128 octets
- IP allows datagrams up to 65k octets
- Q What happens if router receives packet larger
than MTU of network of next router? - A Router must fragment the datagram
- Breaks it into pieces small enough for physical
network
11Fragmentation Example
HostB
HostA
Net 3 MTU1500
Net 1 MTU1500
R2
R1
Network 2 MTU620
12Fragmentation Example (contd)
600 octets
600 octets
200 octets
Fragment 1 (offset 0) Fragment 2 (offset
600) Fragment 3 (offset 1200)
13Fragmentation Control
- IDENTIFICATION field
- All fragments of a datagram have same
identification - Fragment offset
- Position of fragment in original datagram
- Units of 8 octets (save space in header)
- Flags (3 bits)
- Fragment bit indicates fragmentation
- Do not fragment if router receives packet too
large for physical network MTU with this bit set,
discards packet, sends error message - More fragments if zero, this is the last
fragment
14Datagram Format (contd)
- Time to Live (TTL) bit
- seconds datagram can live in the internet
- Every router on a datagrams path decrements TTL
by 1 - Router records time of receipt for a datagram
- If datagram is delayed in router, TTL decremented
by seconds delay - Guarantees datagrams cannot congest a network
forever - Possible reasons for long delays
- Overloaded network and long queues in routers
- Corrupted routes leading to loops
- Header checksum
- Insures integrity of header data
- Shorter checksum for routers
- dont need to check data
15Internet Routing Example
20.0.0.4
30.0.0.5
40.0.0.6
Network 20.0.0.0
Network 30.0.0.0
Network 40.0.0.0
Network 50.0.0.0
Q
P
R
30.0.0.4
40.0.0.5
50.0.0.6
TO REACH HOSTS ON THIS NETWORK
ROUTE TO THIS ADDRESS
Router Q Routing Table
16IP Protocol Functions
- Router packet processing
- Extract Net part of IP address find table match
-- - If Local
- Table entry gives ? (Host address)
- pass to local network layer
- Map to physical address
- Send via local network
- If non-local
- Get next-hop IP address from Routing table
- Table entry gives Next Hop? (Router address)
- pass to local network layer
- Map to physical address
- Send via local network
17IP Protocol Functions
- Host packet processing
- Receive packets
- My address?
- Yes hand off to application software
- No discard
- Send Packets
- Extract Net part of IP address
- Map to local router for that network (or subnet)
- pass to local network layer
- Map to physical address
- Send via local network
18IP Internet vs. Subnetworks
H
Network 10.0.0.0
Network 50.0.0.0
R
R
R
Network 10.0.0.0
Network 30.0.0.0
Map subnet ?? IP Address
R
R
H
Network 40.0.0.0
- IP maps only networks
- until host subnetwork
- IP sees Host is here
- Only subnetwork knows physical address
19Subnet Addressing
- Not enough Class B addresses for all physical
networks - Many sites administer multiple physical networks
- Ip sees Administrative Domain addresses
IP sees Admin Domain sees Mask
11111111111111111111111111111111-000000000
20Subnetting (contd)
- EXAMPLE
- IP Internet sees the subnet address 128.10.0.0
- Two physical subnets 128.10.1.0 / 128.10.2.0
- Subnet Mask 255.255.255.0
- Allows 255 physical subnets
- Local part may be subnetted in any way by Admin
Domain
21Arbitrary Subnetting
- Different physical networks can use different
subnet masks - Different bit positions
- Two different IP addresses can map to same
destination under different masks - E.g. IP address 255.255.240.15 will map to
ltIPnet, 240,15gt under mask 255.255.255.0 but IP
address 255.255.15.15 will also map to ltIPnet,
240,15gt if instead we use mask 255.255.14.240!
(240 11110000 1500001111) - Different number of bits in mask
- Strange, since bits implies number of countable
subnets - Usable by administrators, e.g. distinguish
between professional and mfr divisions. - Experience shows ? error prone create
maintenance/upgrade difficulties. - Guidelines for subnetting specify that
- All subnets contiguous (connected by a router
without intervening non-subnet network) - All subnets use the same mask
- All routers in the network use subnet routing
22Arbitrary Subnetting Example
- Show how a manager uses 1st 2 bits to identify
type of subnet each has a different number of
bits for subnet ID
23Routing Table for previous slide
24Uniform Subnet Masks
- Creates difficulties when subnets are not
physically connected - Corporation A with many networks around the world
connect to Internet but not to each other - With arbitrary subnetting
- Each network assigned successive subnet numbers
- Routers on each subnet implement subnet routing
to send incoming packets to correct hosts on
their subnet - If an incoming is destined for another subnet,
they route it to the router on that subnet. - No logical difficulty
- Why recommendations deprecate this architecture?
- Router outside of As domain doesnt know how to
route packets to A, since it has many routers for
its different subnets and each may have varying
distances to the destination. Unless other
routers maintain info on As subnet addresses,
significant route inefficiencies will result. -
25Arbitrary Subnet Addressing
To which router should x send packets addressed
to N? E.g. if Network 1 is very large, sending a
packet destined for Network 2 via R1 could be
inefficient. We return to this problem later
Routing in Peer Backbones.
Host x
Not a subnet address
Network 1
R2
R1
Network 1
Network 2
Subnets of address N
26IP for subnetting (hierarchical)
- Each table entry includes mask, Net Adrs, Next
Hop Adrs - Extract Net part of IP address find table match
-- - If Local (Network)
- Use mask to extract subnet part from destination
IP address - If Local (Subnet)
- Table entry gives ? (Host address)
- pass to local network layer
- Map to physical address
- Send via local network
- If non-local (Subnet)
- Table entry gives Next Hop? (Router address)
- pass to local network layer
- Map to physical address
- Send via local network
- If non-local
- Continue as for non-subnet routing