CS 408 Computer Networks
Chapter 2: Protocols and the TCP/IP Protocol Suite
Protocols
Cooperative action is necessary
computer networking is not only to exchange bytes huge system with several utilities and functions. For examples
error detection Encryption Routing etc.
For proper communication, entities in different systems must speak the same language
there must be mutually acceptable conventions and rules about the content, timing and underlying mechanisms
Those conventions and associated rules are referred as PROTOCOLS
2
Protocol Architecture
Task of data transfer is broken up into some modules
Why? How do these modules interact?
For example, file transfer could use three modules
File transfer application Communication service module Network access module
A Real World Example to Protocol Architecture philosopher-translator-secretary architecture
Issues: peer-to-peer protocols are independent of each other
for example, secretaries may change the comm. medium to email or the translators may agree on using another common language
Each layer adds a header
4
Simplified File Transfer Architecture
File Transfer Application Layer: Application specific commands, passwords and the actual file(s) high level data
Communications Service Module: reliable transfer of those data error detection, ordered delivery of data packets, etc.
Network Module: actual transfer of data and dealing with the network if the network changes, only this module is affected, not the whole system 5
General protocol architecture principles that we have seen so far
Layered structure
Protocol stack
Each layer provides services to upper layer; expect services from lower one
Layer interfaces should be well-defined
Peer entities communicate using their own protocol
peer-to-peer protocols independent of protocols at other layers if one protocol changes, other protocols should not get affected
6
A General Three Layer Model
Generalize the previous example for a generic application
we can have different applications (e-mail, file transfer, )
Network Access Layer Transport Layer Application Layer
7
Network Access Layer
Exchange of data between the computer and the network Sending computer provides address of destination
so that network can route
Different switching and networking techniques
Circuit switching Packet switching LANs etc.
This layer may need specific drivers and interface equipment depending on type of network used. But upper layers do not see these details
independence property
8
Transport Layer
Reliable data exchange
to make sure that all the data packets arrived in the same order in which they are sent out Packets nor received or received in error are retransmitted
Independent of network being used Independent of application
Application Layer
Support for different user applications e.g. e-mail, file transfer
10
Addressing Requirements
Two levels of addressing required Each computer needs unique network address Each application on a (multi-tasking) computer needs a unique address within the computer
The service access point or SAP The port number in TCP/IP protocol stack
11
Protocol Architectures and Networks
or ports
12
Protocol Data Units (PDU)
User data is passed from layer to layer Control information is added/removed to/from user data at each layer
Header (and sometimes trailer) each layer has a different header/trailer
Data + header + trailer = PDU (Protocol Data Unit)
This is basically what we call packet each layer has a different PDU
13
Transport PDU
Transport layer may fragment user data Each fragment has a transport header added
Destination port Sequence number
since the transport layer may split application data into smaller packets
Error detection code (generally at trailer)
14
Network PDU
Adds network header
network address for destination computer optional facilities from network (e.g. priority level)
15
Operation of a Protocol Architecture
Transport Header
Transport Header
Network Header
Network Header
(Network PDU)
16
Standard Protocol Architectures
Common set of conventions Nonstandard vs. standard protocols
Nonstandard: K sources and L receivers lead to K*L different protocols If common protocol used, we design only once
Products from different vendors interoperate
If a common standard is not implemented in a product, then that products market is limited; customers like standard products Customers do not stick to a specific vendor
17
Standard Protocol Architectures
Two approaches (standard)
OSI Reference model
never used widely but well known
TCP/IP protocol suite
Most widely used
Another approach (proprietary)
IBMs Systems Network Architecture (SNA)
18
OSI Reference Model
Open Systems Interconnection Reference model
provides a general framework for standardization defines a set of layers and services provided by each layer one or more protocols can be developed for each layer
Developed by the International Organization for Standardization (ISO)
also published by ITU-T (International Telecommunications Union)
19
OSI Reference Model
A layered model
Seven layers seven has been presented as the optimal number of layer
Delivered too late (published in 1984)!
by that time TCP/IP started to become the de facto standard
Although no OSI-based protocol survived, the model is still valid (in the textbooks)
20
OSI - The Layer Model
Each layer performs a subset of the required communication functions Each layer relies on the next lower layer to perform more primitive functions Each layer provides services to the next higher layer Changes in one layer should not require changes in other layers
21
OSI as Framework for Standardization
layer functionalities are described by ISO; different standards can be developed based on these functionalities
22
Layer Specific Standards
23
Elements of Standardization
Protocol specification
Operates between the same layer on two systems
May involve different platforms
Protocol specification must be precise
Format of data units Semantics of all fields
Service definition
Functional description of what is provided to the next upper layer
Addressing
Referenced by SAPs
24
The OSI Environment
25
OSI Layers (1)
Physical
Physical interface between devices Characteristics
Mechanical - interface specs Electrical - voltage levels for bits, transmission rate
Data Link
Basic services: error detection and control, flow control at the link level (point to point)
Higher layers may assume error free transmission
Later a sublayer is added to Data Link Layer
MAC (Medium Access Control) sublayer to deal with broadcast networks
26
OSI Layers (2)
Network
Transfer of information through communication network
network related issues
Network nodes (relays/routers) should perform switching and routing functions QoS (Quality of Service) and congestion control are also addressed in this layer Several other internetworking issues
e.g. differences in addressing, max. data length, etc.
Higher layers do not need to know about underlying networking technology Not needed on direct links
27
Use of a Relay/Router
28
OSI Layers (3)
Transport
End to end exchange of data In sequence, no losses, no duplicates If needed, upper layer data are split into smaller units
Session
Control of dialogues
whose turn to talk? Dialogue discipline (full-duplex, half-duplex)
Checkpointing and recovery
29
OSI Layers (4)
Presentation
Data formats Data compression Encryption
Application
Support for various applications
30
TCP/IP Protocol Suite
Most widely used interoperable network protocol architecture Specified and extensively used before OSI
OSI was slow to take place in the market
Funded by the US Defense Advanced Research Project Agency (DARPA) for its packet switched network (ARPANET)
DoD automatically created an enormous market for TCP/IP
Used by the Internet and WWW
31
TCP/IP Protocol Suite
TCP/IP does not have an official layer structure But protocols imply one
Application layer Transport (host to host) layer Internet layer Network access layer Physical layer
Actually TCP/IP reference model has been built on its protocols
That is why that reference model is only for TCP/IP protocol suite and this is why it is not so important to assign roles to each layer in TCP/IP; understanding TCP, IP and the application protocols would be enough
32
OSI vs. TCP/IP
HTTP, SMTP,
TCP, UDP IP
33
Network Access and Physical Layers
TCP/IP reference model does not discuss these layers too much
the node should connect to the network with a protocol such that it can send IP packets this protocol is not defined by TCP/IP mostly in hardware a well known example is Ethernet
34
Internet Layer
Connectionless, point to point internetworking protocol (uses the datagram approach)
takes care of routing across multiple networks each packet travels in the network independently of each other
they may not arrive (if there is a problem in the network) they may arrive out of order
a design decision enforced by DoD to make the system more flexible and responsive to loss of some subnet devices
Implemented in end systems and routers as the Internet Protocol (IP)
35
Transport Layer
End-to-end data transfer Transmission Control Protocol (TCP)
connection oriented reliable delivery of data ordering of delivery
User Datagram Protocol (UDP)
connectionless service delivery is not guaranteed
Can you give example applications that use TCP and UDP?
36
Application Layer
Support for user applications A separate module for each different application
e.g. HTTP, SMTP, telnet
37
IP (Internet Protocol)
The core of the TCP/IP protocol suite Two versions co-exist
v4 the widely used IP protocol v6 has been standardized in 1996, but still not widely deployed
IP (v4) header minimum 20 octets (160 bits)
38
IPv6
IPv6
Enhancements over IPv4 for modern high speed networks Support for multimedia data streams
But the driving force behind v6 was to increase address space
128-bit as compared to 32-bit of v4
Not backward compatible
all equipment and software must change that is why it will take some more time to migrate into IPv6
39
TCP
Transmission Control Protocol
end to end protocol Reliable connection = provides flow and error control
In TCP terms, a connection is a
temporary association between entities in different systems
TCP PDU
Called TCP segment Includes source and destination port
Identify respective users (applications) pair of ports (together with the IP addresses) uniquely identify a connection; such an identification is necessary in order TCP to track segments between entities.
40
TCP Header
41
UDP
User Datagram Protocol Alternative to TCP
end-to-end protocol
Not guaranteed delivery No preservation of sequence No protection against duplication Minimum overhead
42
PDUs in TCP/IP
Dest. Port Sequence number Checksum .
Dest. Address Source address .
Dest. Network Address Priority info
43
Operation of TCP and IP
44
Some Protocols in TCP/IP Suite
45
Internetworking
Interconnected set of networks
May be seemed as a large network
Each constituent network is a subnetwork Entire configuration referred to as an internet
not the Internet
conceptually the same but by internet we do not mean a specific network the Internet is the most important example of an internet
46
Internetworking Devices
Each subnetwork supports communication among the devices attached to that subnetwork
End systems (ESs)
Subnetworks connected by intermediate systems (ISs)
In practice, ISs are routers that are used to relay and route packets between different subnetworks If subnetworks use different Network Access Protocols, router should support all of the protocols In OSI terminology, a router works at layer 3 (network layer)
47
Routers
Interconnect dissimilar subnetworks without any modifications on architecture of subnetworks Must accommodate differences among networks, such as
Addressing schemes
network addresses may need to be translated
Maximum packet sizes
if two subnetworks have different limits for max. packet sizes, then router may need fragment/reassemble the packets
We have seen that subnetworks may have different network access and physical layers, but they have to speak the same (inter)network protocol implemented in all end systems and routers
The most important internetwork protocol is the IP protocol
48
Configuration for TCP/IP Example
WAN
49
Action of Sender
50
Action of Router
51
Action of Receiver
52
Standards
Required to allow for interoperability among equipments Advantages
Ensures a large market for equipment and software Allows products from different vendors to communicate
Disadvantage
Freeze technology (???)
53
Standards Organizations in Networking
Internet Society ISO (International Organization for Standardization)
more formal NGO, but most members are from governments
ITU-T (formerly CCITT)
International Telecommunications Union UN agency governmental
54
Internet Society (ISOC)
Internet development and standardization 3 suborganizations
IAB (Internet Architecture Board)
overall Internet architecture
IETF (Internet Engineering Task Force)
protocol engineering and development
IESG (Internet Engineering Steering Group)
monitors IETF standardization efforts
55
IETF Organization
Grouped in areas
e.g. applications, security, routing, etc. each area has an Area Director, who is also member of IESG
Each area has several working groups
working groups actually contribute to standards/protocols, etc.
Voluntary participation in IETF working groups For detail see
www.ietf.org or RFC 3160 - The Tao of IETF - A Novice's Guide to the Internet Engineering Task Force
56
Internet Drafts and RFCs
Internet Draft
Draft and temporary documents expires in 6 months, if IESG does not approve it as an RFC can be resubmitted published online comments are welcome
RFC (Request for Comments)
final version can obsolete previous RFCs about the same topic actually an RFC can be of any type of document
not necessarily a standard Best Current Practice, Experimental, Informational RFCs April 1st RFCs (http://en.wikipedia.org/wiki/April_1_RFC )
My favorite is IP over Avian Carriers (RFC 1149)
57
Internet Standards Track
Steps involve increasing amount of scrutiny and testing Step 1: Internet Draft Step 2: Proposed standard
Internet Draft approved as an RFC by IESG must remain at least six months to advance
Step 3: Draft standard
at least two independent and interoperable implementations must remain at least 4 months
Step 4: Internet standard
Significant operational experience
key difference between ISOC and others
consensus
58
Internet Assigned Numbers Authority (IANA)
An ISOC entity responsible for all unique numbers on the Internet
including IP addresses
Almost all protocols work with numeric parameters
e.g. port numbers, error codes, status codes, message types, options, etc. the meanings of all numeric codes are mostly specified in RFCs, but number assignment is formalized by IANA
59