+ All Categories
Home > Documents > Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet...

Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet...

Date post: 01-Jan-2016
Category:
Upload: jason-stevenson
View: 219 times
Download: 0 times
Share this document with a friend
24
Protocols 1 Objective: 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
Transcript
Page 1: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

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

Page 2: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

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

Page 3: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

cs423 - cotter 3

Internetwork Communications

Application Application

Page 4: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

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.

Page 5: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

cs423 - cotter 5

Simple Layered Model

Network Access

Internetwork

Transport

Application

Ethernet, fiber, Token Ring

Routing

Connection Control

FTP, e-mail, Client/Server

Page 6: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

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

Page 7: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

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

Page 8: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

cs423 - cotter 8

Internet Addressing

• 32 bit universal identifier (4 octets)• Normal Site Addresses• Multicast Address• Broadcast Address

Page 9: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

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 |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Page 10: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

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

Page 11: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

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

Page 12: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

cs423 - cotter 12

Data Encapsulation

Application Layer

TCP / UDP Layer

IP Layer

Physical Layer

User Data

TCP

PH

IP

Page 13: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

cs423 - cotter 13

Protocol Relationships

+------+ +-----+ +-----+ +-----+ |Telnet| | FTP | | TFTP| ... | ... | +------+ +-----+ +-----+ +-----+ | | | | +-----+ +-----+ +-----+ | TCP | | UDP | ... | ... | +-----+ +-----+ +-----+ | | | +--------------------------+----+ | Internet Protocol & ICMP | +--------------------------+----+ | +---------------------------+ | Local Network Protocol | +---------------------------+

Page 14: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

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)

Page 15: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

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

Page 16: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

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

Page 17: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

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

Page 18: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

cs423 - cotter 18

IP Design Issues

• Addressing• Routing• Datagram lifetime• Fragmentation and reassembly• Error control• Flow control

Page 19: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Page 20: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

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)

Page 21: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

cs423 - cotter 21

User Datagram Protocol Functions

• Connectionless Data Transfer

• “Unreliable”

Page 22: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

cs423 - cotter 22

UDP Header

0 7 8 15 16 23 24 31 +--------+--------+--------+--------+ | Source | Destination | | Port | Port | +--------+--------+--------+--------+ | | | | Length | Checksum | +--------+--------+--------+--------+ | | data octets ... +---------------- ...

Page 23: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

cs423 - cotter 23

UDP pseudo Header

0 7 8 15 16 23 24 31 +--------+--------+--------+--------+| source address |+--------+--------+--------+--------+| destination address |+--------+--------+--------+--------+| zero |protocol| UDP length |+--------+--------+--------+--------+

Page 24: Protocols 1 Objective: Build a protocol foundation for Client / Server programming in an Internet Environment Note: RFCs available from

24

Summary

• Reviewed layered Protocol Architecture• Discussed Internet Naming and Addressing• Discussed Internet Protocol (IP) Functions and

Header


Recommended