Title: Protocols 1
1Protocols 1
- Objective
- Build a protocol foundation for Client / Server
programming in an Internet Environment
References RFCs 791, 793, 768, 826
Note RFCs available from http//www.isi.edu/rf
c-editor/
2Objectives of C/S Architecture
- Improve system performance
- Get centralized applications closer to user
- Improve system reliability
- Improve intersystem (multi-vendor) communications
- Improve resource utilization (PCs on the desktop)
- Move towards standard inter-operating environment
3Internetwork Communications
4Layered Protocol Architectures
- Driven by interoperability Concerns
- Divide the communications process into tasks that
can be managed by a protocol - Allow multiple protocols to do each of the layers.
5Simple Layered Model
Application
FTP, e-mail, Client/Server
Transport
Connection Control
Internetwork
Routing
Network Access
Ethernet, fiber, Token Ring
6Standard Layered Architecture
OSI Model
Internet
Application Layer
TCP / UDP Layer
Internet Protocol
Physical Layer
7Multiple Hop Communications
Router
Host
Host
8Internet Addressing
- 32 bit universal identifier (4 octets)
- Normal Site Addresses
- Multicast Address
- Broadcast Address
9Internet addressing
1 2
3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 ---------
----------------------- 0
NETWORK Local Address
------------------
--------------
-------------------------
------- 1 0 NETWORK
Local Address ---------
-----------------------
-------------------------
------- 1 1 0
NETWORK Local Address
------------------------
--------
-------------------------
------- 1 1 1 0 MULTICAST ADDRESS
-----------------------
---------
10Special Internet Addresses
- netid hostid 0s This host
- netid 0s, host id HOST HOST on this net
- netid hostid 1s local net broadcast
- netid NET, hostid 1s broadcast on NET
- high order octet 127, rest anything loopback
11Domain Name System
- Hierarchical Names
- primus.cstp.umkc.edu
- Domain Name suffixes
- com edu gov
- mil net org
- arpa int country codes
- Domain Name resolution
- name servers
- local caching
12Data Encapsulation
User Data
Application Layer
TCP
TCP / UDP Layer
IP Layer
PH
Physical Layer
13Protocol Relationships
------ ----- ----- ----- Telnet
FTP TFTP ... ... ------ -----
----- -----
----- ----- -----
TCP UDP ... ...
----- ----- -----
---------------------
--------- Internet Protocol ICMP
------------------------------
--------------------------- Local
Network Protocol --------------------
-------
14Ethernet Frame Format
- Preamble Destination Source Type Data
FCS - 8 6 6 2 46-1500 4
- Preamble - used for synchronization
- Destination - Ethernet address of destination
- Source - IP address of source
- Ethertype - higher layer protocol type(0800IP)
- Data - IP datagram
- FCS - Frame Check Sequence (32 bit CRC)
15Ethernet Frame with QoS / VLAN
16 bits 3 bits 1 bit 12 bits
16Address Resolution Protocol
- Conversion of 32 bit Network Protocol address to
48 bit Ethernet Address - Specified in RFC 0826
- Each host must know its own IP address.
- Hosts generally use dynamic discovery to identify
mappings between IP and Ethernet addresses. - Ethernet broadcast address FF.FF.FF.FF.FF.FF
17Internet Protocol functions
- Connectionless Datagram Delivery
- RFC 791
- Benefits of connectionless delivery
- Flexibility (requires little from networks)
- Robustness (datagrams routed independently)
- Connectionless application support
18IP Design Issues
- Addressing
- Routing
- Datagram lifetime
- Fragmentation and reassembly
- Error control
- Flow control
19IP Datagram Format
0 1 2
3 0 1 2 3 4 5 6 7 8 9 0 1 2
3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
-------------------------
------- Version IHL Type of
Service Total Length
-------------------------
------- Identification
Flags Fragment Offset
-------------------------
------- Time to Live Protocol
Header Checksum
-------------------------
------- Source
Address
-------------------------
-------
Destination Address
-------------------------
------- Options
Padding
-------------------------
-------
20IP Service Primitives
- Services offered to higher layers
- Send
- (source address, destination address, protocol,
type of service indicators, identifier, dont
fragment indicator, time to live, data length,
option data, data) - Deliver
- (Source address, destination address, protocol.
type of service indicators, data length, option
data, data)
21User Datagram Protocol Functions
- Connectionless Data Transfer
- Unreliable
22UDP Header
0 7 8 15 16 23 24 31
--------------------------------
Source Destination Port
Port ------------------------
--------
Length Checksum
--------------------------------
data
octets ... ---------------- ...
23UDP pseudo Header
0 7 8 15 16 23 24 31
--------------------------------
source address --------------------
------------ destination address
-------------------------------- zero
protocol UDP length ------------------
--------------
24Summary
- Reviewed layered Protocol Architecture
- Discussed Internet Naming and Addressing
- Discussed Internet Protocol (IP) Functions and
Header