Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet...
-
Upload
jason-stevenson -
Category
Documents
-
view
219 -
download
0
Transcript of Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet...
Protocols 1Objective:
Build a protocol foundation for Client / Server programming in an Internet Environment
Note: RFCs available from http://www.isi.edu/rfc-editor/
References: RFC’s 791, 793, 768, 826
cs423 - cotter 2
Objectives 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
cs423 - cotter 3
Internetwork Communications
Application Application
cs423 - cotter 4
Layered 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.
cs423 - cotter 5
Simple Layered Model
Network Access
Internetwork
Transport
Application
Ethernet, fiber, Token Ring
Routing
Connection Control
FTP, e-mail, Client/Server
cs423 - cotter 6
Standard Layered Architecture
Application Layer
Presentation Layer
Session Layer
Transport Layer
Network Layer
Data Link Layer
Physical Layer
OSI Model Internet
Application Layer
TCP / UDP Layer
Internet Protocol
Physical Layer
cs423 - cotter 7
Multiple Hop Communications
Application Layer
TCP / UDP Layer
Internet Protocol
Physical Layer
Application Layer
TCP / UDP Layer
Internet Protocol
Physical Layer
Internet Protocol
Physical Layer
Host HostRouter
cs423 - cotter 8
Internet Addressing
• 32 bit universal identifier (4 octets)• Normal Site Addresses• Multicast Address• Broadcast Address
cs423 - cotter 9
Internet 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 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
cs423 - cotter 10
Special Internet Addresses
• netid + hostid = 0’s: This host• netid = 0’s, host id = HOST: HOST on this net• netid + hostid = 1’s: local net broadcast• netid = NET, hostid = 1’s: broadcast on NET• high order octet = 127, rest = anything: loopback
cs423 - cotter 11
Domain Name System
• Hierarchical Names– primus.cstp.umkc.edu
• Domain Name suffixescom edu gov
mil net org
arpa int country codes
• Domain Name resolution– name servers
– local caching
cs423 - cotter 12
Data Encapsulation
Application Layer
TCP / UDP Layer
IP Layer
Physical Layer
User Data
TCP
PH
IP
cs423 - cotter 13
Protocol Relationships
+------+ +-----+ +-----+ +-----+ |Telnet| | FTP | | TFTP| ... | ... | +------+ +-----+ +-----+ +-----+ | | | | +-----+ +-----+ +-----+ | TCP | | UDP | ... | ... | +-----+ +-----+ +-----+ | | | +--------------------------+----+ | Internet Protocol & ICMP | +--------------------------+----+ | +---------------------------+ | Local Network Protocol | +---------------------------+
cs423 - cotter 14
Ethernet Frame Format
Preamble Destination Source Type Data FCS8 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(0800=IP)• Data - IP datagram• FCS - Frame Check Sequence (32 bit CRC)
Ethernet Frame with QoS / VLAN
15
Upper Layer Protocol Payload (~> 1500 bytes)
Tag / Protocol ID
Prio VLAN ID
16 bits 3 bits 1 bit 12 bits
cs423 - cotter 16
Address 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
cs423 - cotter 17
Internet Protocol functions
• Connectionless Datagram Delivery• RFC 791• Benefits of connectionless delivery
– Flexibility (requires little from networks)
– Robustness (datagrams routed independently)
– Connectionless application support
cs423 - cotter 18
IP Design Issues
• Addressing• Routing• Datagram lifetime• Fragmentation and reassembly• Error control• Flow control
cs423 - cotter 19
IP 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
cs423 - cotter 20
IP Service Primitives
• Services offered to higher layers• Send
– (source address, destination address, protocol, type of service indicators, identifier, don’t 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)
cs423 - cotter 21
User Datagram Protocol Functions
• Connectionless Data Transfer
• “Unreliable”
cs423 - cotter 22
UDP Header
0 7 8 15 16 23 24 31 +--------+--------+--------+--------+ | Source | Destination | | Port | Port | +--------+--------+--------+--------+ | | | | Length | Checksum | +--------+--------+--------+--------+ | | data octets ... +---------------- ...
cs423 - cotter 23
UDP pseudo Header
0 7 8 15 16 23 24 31 +--------+--------+--------+--------+| source address |+--------+--------+--------+--------+| destination address |+--------+--------+--------+--------+| zero |protocol| UDP length |+--------+--------+--------+--------+
24
Summary
• Reviewed layered Protocol Architecture• Discussed Internet Naming and Addressing• Discussed Internet Protocol (IP) Functions and
Header