Title: The TCPIP architecture: an Introduction
1The TCP/IP architecturean Introduction
- Benoît MACQ
- macq_at_tele.ucl.ac.be
- www.tele.ucl.ac.be
2The elementary communication resource
- Circuits (ISDN, SDH, SONET) with a fixed bit
rate - resource reservation procedure (centralised)
- wasted bandwidth (no statistical multiplexing)
- Two ways to use packets
- connection oriented carry only an VC identifier
(X25, ATM) - connectionless carry entire destination address
in header (Internet Protocol IP)
Data
Sample ATM cell Datagram
Data
VCI
Data
Addr.
3Connection vs. connectionless
- A connection allows resource reservation
- Quality of Service (voice, data, multimedia)
- A connection allows to establish a virtual
circuit - guaranteed path (security)
- elementary information of small size (filling
time of the payload, easier statistical
multiplexing and switching) - Connectionless datagrams communications are
suited for non reliable networks - Connectionless communicatons allows a
decentralised, lower cost and more scalable
implementation
4Internet requirements
5Internet for what ?
- Make computer programs communicating together,
e.g. - FTP file transferts from a server to a client
- HTTP World Wide Web navigation (a navigator is
requesting pages from a server) - POP, SMTP e-mail receiving and sending
- and other dedicated applications
- Make those computer programs reachable and
available from everywhere in the Universe - Synchronise and make reliable communications
6Internet requirements
- Reliable highly connected network (suited to
survive the day after (cold war)) - Decentralised, datagram based
- Unique format of the information unit (datagram)
- Dump network
7TCP-IP key-concepts
8TCP-IP key-concepts
- Internet Protocol (IP) transmit datagrams
between two machines - communication nodes routers feed the datagram
and transmit to the best neighbouring connected
node - routing table
- entries endpoint destinations
- output corresponding optimum neighbour
- routing protocol messages and procedures between
routers to update the outing tables from a
knowledge of status of the network - IP address the address of a machine (computer or
router in the network) 4 bytes (e.g.
130.194.128.35)
9Datagram
- IP best effort network
- each datagram is treated as better as possible
regardless the nature of its contents - If a Datagram transmission fails, send a control
message back to the source - Each datagram of a communication is send
independly from the others
32 bits
Control data
Source address
Destination address
Control data
Payload
103 Types of messages at the IP level
- Datagrams
- Control messages (failure of transmission,
unreachable destination, ) ICMP - Routing protocols messages (RIP or OSPF)
11The role of the Transmission Control Protocol
(TCP)
- The need for a datagram to be directed towards a
specific program running on the destination
computer, and possibly run several communicating
programs on the same computer (i.e. the same IP
address)multiplexing - communicating programs are numbered according to
the port number - The need to establish virtual connections
- need for synchronising the source and
destination communicating programs - establish synchronised buffers at the source and
the destination - need for reliable communication
- numbering and checksum of TCP segments
12Datagram vs. TCP segment
32 bits
Control data
Source address
Destination address
32 bits
Control data
Source port
Destin.port
Sequence number
Acknowledgement num.
Control data
Payload
13A global view on the Internet
14Economy Huge growth!
- The Internet has doubled in size every year since
1969 - Soon, everyone who has a phone is likely to also
have an email account - More and more, telephone directories will include
email addresses in white pages and vice-versa - Moores law the amount of functions implemented
into a chip double every 18 months - Metcalfes law the utility of a network is a
function of the square of the amount of its
subscriber
15Technologydatagram transmission, endpoints
services
- The information is sent through datagrams
- Datagram header (Dest. Adr. Orig. Adr.)
data - Address IP (Internet Protocol) address
(virtual address) - ARP (address resolution protocol) how to find a
physical address (Ethernet, ISDN, ATM, SDH, )
corresponding to the IP address - Best effort connectionless network
- Practical services (e-mail, WWW, files transfer,
) provided by software running at endpoints
(layering like OSI, but only a the endpoints)
16The Internet microcosm
- Internet Architecture Board (IAB)
- The IAB is responsible for defining the overall
architecture of the Internet, providing guidance
and broad direction to the IETF. - The IAB also serves as the technology advisory
group to the Internet Society, and oversees a
number of critical activities in support of the
Internet. - Internet Engineering Task Force (IETF)
- The IETF is the protocol engineering and
development arm of the Internet. Establish and
develop the RFC documents approved by IAB - Take a look at www.ietf.org and www.ietf.org/rfc
17IP RFC 791
- INTERNET PROTOCOL (September 1981)
- TABLE OF CONTENTS
- PREFACE ......................................
.................. iii - 1. INTRODUCTION .................................
.................... 1 - 1.1 Motivation ................................
.................... 1 - 1.2 Scope .....................................
.................... 1 - 1.3 Interfaces ................................
.................... 1 - 1.4 Operation .................................
.................... 2 - 2. OVERVIEW .....................................
.................... 5 - 2.1 Relation to Other Protocols
................................... 9 - 2.2 Model of Operation ........................
.................... 5 - 2.3 Function Description ......................
.................... 7 - 2.4 Gateways ..................................
.................... 9 - 3. SPECIFICATION ................................
................... 11 - 3.1 Internet Header Format ....................
................... 11 - 3.2 Discussion ................................
................... 23 - 3.3 Interfaces ................................
................... 31
18TCP RFC 793
- TRANSMISSION CONTROL PROTOCOL(September 1981)
- 1. INTRODUCTION .................................
.................... 1 - 2. PHILOSOPHY ...................................
.................... 7 - 2.1 Elements of the Internetwork System
........................... 7 - 2.2 Model of Operation ........................
.................... 7 - 2.3 The Host Environment ......................
.................... 8 - 2.4 Interfaces ................................
.................... 9 - 2.5 Relation to Other Protocols
................................... 9 - 2.6 Reliable Communication ....................
.................... 9 - 2.7 Connection Establishment and Clearing
........................ 10 - 2.8 Data Communication ........................
................... 12 - 2.9 Precedence and Security ...................
................... 13 - 2.10 Robustness Principle ......................
................... 13 - 3. FUNCTIONAL SPECIFICATION .....................
................... 15 - 3.1 Header Format .............................
................... 15 - 3.2 Terminology ...............................
................... 19 - 3.3 Sequence Numbers ..........................
................... 24 - 3.4 Establishing a connection
.................................... 30 - 3.5 Closing a Connection ......................
................... 37
19The Internet microcosm
- The Internet Engineering Steering Group (IESG)
- The IESG is directly responsible for the actions
associated with entry into and movement along the
Internet "standards track," including final
approval of specifications as Internet Standards.
- Internet Society (ISOC)
- The Internet Society is a professional membership
organization of Internet experts that comments on
policies and practices and oversees a number of
other boards and task forces dealing with network
policy issues.
20The Internet microcosm
- Internet Assigned Numbers Authority (IANA)
- Based at the University of Southern California's
Information Sciences Institute, IANA is in charge
of all "unique parameters" on the Internet,
including IP (Internet Protocol) addresses. Each
domain name is associated with a unique IP
address, a numerical name consisiting of four
blocks of up to three digits each, e.g.
204.146.46.8, which systems use to direct
information through the network.
21IANA
- Internet Protocol (IP) addresses (under the
current version 4) are 32-bit numbers often
expressed as 4 octets in "dotted decimal"
notation (for example, 192.168.45.230). - If you need an IP address or block of addresses,
please contact your Internet service provider
(ISP). - Internet Service Providers (ISPs) should contact
their upstream registry or their appropriate
regional registry at one of the following
addresses - APNIC (Asia-Pacific Network Information Center)
lthttp//www.apnic.netgt - ARIN (American Registry for Internet Numbers )
lthttp//www.arin.netgt - RIPE NCC (Reseau IP Europeens)
lthttp//www.ripe.netgt - RFC 2050 - Internet Registry IP Allocation
Guidelines - RFC 1918 - Address Allocation for Private
Internets - RFC 1518 - An Architecture for IP Address
Allocation with CIDR
22What does Internet look like?
- Loose collection of networks organized into a
multilevel hierarchy - 10-100 machines connected to a hub or a router
(gateway) - service providers also provide direct dialup
access - or over a wireless link
- 10s of routers on a department backbone
- 10s of department backbones connected to campus
backbone - 10s of campus backbones connected to regional
service providers - 100s of regional service providers connected by
national backbone - 10s of national backbones connected by
international trunks
23Internet services
- Ftp file transfer protocol
- e-mail electronic mail
- World Wide Web
- Direct communication routines ((win)sockets
library) - Naming service (DNS Domain Name Service)
- Certification procedures (Public Key
Infrastructures) - Network management tools (ping, traceroute, )
24Example of message routing
- Détermination de l'itinéraire vers
DANDELION-PATCH.MIT.EDU 18.181.0.31 - avec un maximum de 30 sauts
- 1 1698 ms 799 ms 799 ms
PMHalles1.sri.ucl.ac.be 130.104.1.15 - 2 794 ms 799 ms 799 ms
CsHalles.sri.ucl.ac.be 130.104.1.60 - 3 1195 ms 799 ms 799 ms
c7206vxr-lln.belnet.net 130.104.254.174 - 4 796 ms 698 ms 800 ms
pvc1-76.c7513.brussels.belnet.net
193.190.61.178 - 5 807 ms 700 ms 700 ms
g0-0-0.c7507.brussels.belnet.net 193.190.182.1 - 6 1695 ms 800 ms 800 ms
s4-1-0.bru-bbr-01.carrier1.net 212.4.203.1 - 7 795 ms 800 ms 800 ms 212.4.199.194
- 8 785 ms 800 ms 700 ms
s0-0-0.ham-bbr-01.carrier1.net 212.4.199.54 - 9 895 ms 799 ms 1199 ms
s1-1-0.nyc-bbr-01.carrier1.net 212.4.199.25 - 10 998 ms 1199 ms 899 ms
h2-0.nyc4-cr3.bbnplanet.net 4.1.73.1 - 11 895 ms 900 ms 899 ms
p4-1.nyc4-nbr3.bbnplanet.net 4.0.1.109 - 12 895 ms 900 ms 899 ms
p4-1.bstnma1-ba2.bbnplanet.net 4.24.4.237 - 13 795 ms 799 ms 799 ms
p2-3.cambridge1-nbr1.bbnplanet.net 4.0.2.166 - 14 895 ms 899 ms 999 ms
p1-0-0.cambridge1-br1.bbnplanet.net 4.0.1.22 - 15 960 ms 899 ms 899 ms DANDELION-PATCH.MIT
.EDU 18.181.0.31 - Itinéraire déterminé
25Intranet, Internet, and Extranet
- Intranets are administered by a single entity
- e.g. Louvain-la-Neuve campus network
- Internet is administered by a coalition of
entities - name services, backbone services, routing
services etc. - Extranet is a marketing term
- refers to exterior customers who can access
privileged Intranet services - e.g. Louvain-la-Neuve could provide extranet
services to UCL St Luc
26What holds the Internet together?
- Addressing
- how to refer to a machine on the Internet
- Routing
- how to get there
- Internet Protocol (IP)
- what to speak to be understood
27Example joining the Internet
- How can people talk to you?
- get an IP address from your administrator
- How do you know where to send your data?
- if you only have a single external connection,
then no problem - otherwise, need to speak a routing protocol to
decide next hop - How to format data?
- use the IP format so that intermediate routers
can understand the destination address - If you meet these criteria--youre on the
Internet! - Decentralized, distributed, and chaotic
- but it scales (why?)
28What lies at the heart?
- Two key technical innovations
- packets
- store and forward
29Packets
- Self-descriptive data
- packet data metadata (header)
- Packet vs. sample
- samples are not self descriptive
- to forward a sample, we have to know where it
came from and when - cant store it!
- hard to handle bursts of data
30Store and forward
- Metadata allows us to forward packets when we
want - E.g. letters at a post office headed for main
post office - address labels allow us to forward them in
batches - Efficient use of critical resources
- Three problems
- hard to control delay within network
- switches need memory for buffers
- convergence of flows can lead to congestion
31Key features of the Internet
- Addressing
- Routing
- Endpoint control
32Addressing
- Internet addresses are called IP addresses
- Refer to a host interface need one IP address
per interface - Addresses are structured as a two-part hierarchy
- network number
- host number
135.105.53
100
33An interesting problem
- How many bits to assign to host number and how
many to network number? - If many networks, each with a few hosts, then
more bits to network number - And vice versa
- But designers couldnt predict the future
- Decided three sets of partitions of bits
- class A 8 bits network, 24 bits host
- class B 16 bits each
- class C 24 bits network, 8 bits host
34Addressing (contd.)
- To distinguish among them
- use leading bit
- first bit 0gt class A
- first bits 10 gt class B
- first bits 110 gt class C
- (what class address is 135.104.53.100?)
- Problem
- if you want more than 256 hosts in your network,
need to get a class B, which allows 64K hosts gt
wasted address space - Solution
- associate every address with a mask that
indicates partition point - CIDR
35Routing
- How to get to a destination given its IP address?
- We need to know the next hop to reach a
particular network number - this is called a routing table
- computing routing tables is non-trivial
- Simplified example
36Default routes
- Strictly speaking, need next hop information for
every network in the Internet - gt 800,000 now
- Instead, keep detailed routes only for local
neighborhood - For unknown destinations, use a default router
- Reduces size of routing tables at the expense of
non-optimal paths
37Endpoint control
- Key design philosophy
- do as much as possible at the endpoint
- dumb network
- exactly the opposite philosophy of telephone
network - Layer above IP compensates for network defects
- Transmission Control Protocol (TCP)
- Can run over any available link technology
- but no quality of service
- modification to TCP requires a change at every
endpoint - (how does this differ from telephone network?)
38Challenges
- IP address space shortage
- because of free distribution of inefficient Class
B addresses - decentralized control gt hard to recover
addresses, once handed out - Decentralization
- allows scaling, but makes reliability next to
impossible - cannot guarantee that a route exists, much less
bandwidth or buffer resources - single points of failure can cause a major
disaster - and there is no control over who can join!
- hard to guarantee security
- end-to-end encryption is a partial solution
- who manages keys?
39Challenges (contd.)
- Decentralization (contd.)
- no uniform solution for accounting and billing
- cant even reliably identify individual users
- no equivalent of white or yellow pages
- hard to reliably discover a users email address
- nonoptimal routing
- each administrative makes a locally optimal
decision
40Challenges (contd).
- Multimedia
- requires network to support quality of service of
some sort - hard to integrate into current architecture
- store-and-forward gt shared buffers gt traffic
interaction gt hard to provide service quality - requires endpoint to signal to the network what
it wants - but Internet does not have a simple way to
identify streams of packets - nor are are routers required to cooperate in
providing quality - and what about pricing!