Internet and Intranet Protocols Why Study “Internet and ... · PDF file• An...
Transcript of Internet and Intranet Protocols Why Study “Internet and ... · PDF file• An...
1
02/07/06 1
Internet and Intranet Protocols and Applications
Lecture 1a: Introduction to Internet and Intranet
Protocols and Applications
January 17, 2006Arthur Goldberg
Computer Science DepartmentNew York University
02/07/06 2
Why Study “Internet and Intranet Protocols and Applications”?
– Same systems used in the two major types of networks, the public Internet and internal (corporate) Intranets
– Accessible for study, because protocol standards are published and their design is publicly debated
02/07/06 3
Growth of the Internet
Source: Internet Software Consortium ; available at http://www.isc.org/ds/hosts.htmlSurvey data obtained: 87-97: walking the DNS Tree(s). See RFC1296 for details97-present: checking which IP addresses are valid; see http://www.isc.org/ds/new-survey.html
02/07/06 4
Log Growth of the Internet
Source: Internet Software Consortium ; available at http://www.isc.org/ds/hosts.htmlNote exponential growth; recent slowing.
100
1,000
10,000
100,000
1,000,000
10,000,000
100,000,000
1,000,000,000
1980 1985 1990 1995 2000 2005
host tableDNS/domain surveyAdjustedIP active domain survey
2
02/07/06 5
Systems to study• Protocols
– Web (HTTP, SSL)– Email (SMTP, POP3, IMAP)
– File Transfer (FTP)
– Reliable Multicast (PGM)
• Client and server software (and intermediate systems, like caching proxies, gateways and firewalls)
• Object formats for documents and programs (embedded in protocols)
02/07/06 6
Challenges
• Heterogeneity• Client and server system architecture• Performance (in protocols and
applications)• Interoperability (with existing protocols
and applications)• End-user application design
02/07/06 7
Highly Heterogeneous Computing Environment
Issue Smallest Largest log10 (L/S)CPU speed 50 MIPS 5000 3 RAM 10 MB 10 GB 3 BW 103 bps 109 6 Num CPUs 2 2 x 107 7 Latency 1 micro sec 1 sec 6
02/07/06 8
Other Heterogeneous Dimensions
• OS– Palm Pilot … DOS … MVS … WAP phone
• Architecture– x86 … CRAY
• Spoken language• Legal entity
3
02/07/06 9
Let’s begin ....
What is:
The Internet?A protocol?
02/07/06 10
What’s the Internet: A Nuts and Bolts View
• Millions of connected computing devices: hosts, end-systems– PCs, workstations, servers– PDAs, phones, toastersrunning network apps
• Communication links– fiber, copper, radio, satellite
• Routers: forward packets (chunks) of data thru network
local ISP
companynetwork
regional ISP
router workstationserver
mobile
From Computer Networking: A Top-Down Approach Featuring the Internet by Kurose & Ross
02/07/06 11
What’s the Internet: A Nuts and Bolts View• Protocols: control sending &
receiving of messages– e.g., TCP, IP, HTTP, FTP, PPP
• Internet: “network of networks”– loosely hierarchical– public Internet versus private
intranet• Internet standards
– RFC: Request for comments– IETF: Internet Engineering Task
Force
local ISP
companynetwork
regional ISP
router workstationserver
mobile
From Computer Networking: A Top-Down Approach Featuring the Internet by Kurose & Ross 02/07/06 12
What’s the Internet: A Service View• Communication infrastructure
enables distributed applications:– WWW, email, games, e-
commerce, database, voting – more?
• Communication services provided:– connectionless– connection-oriented
• Cyberspace [Gibson]:“a consensual hallucination
experienced daily by billions of operators, in every nation, ...."
From Computer Networking: A Top-Down Approach Featuring the Internet by Kurose & Ross
4
02/07/06 13
Internet structure: network of networks
• roughly hierarchical• national/international backbone
providers (NBPs)– e.g. Sprint, MCI (previously
UUNet/WorldCom), AT&T, Level3 (which acquired Genuity), Qwest and Cable & Wireless
– interconnect (peer) with each other privately, or at public Network Access Point (NAPs)
• regional ISPs– connect into NBPs
• local ISP, company– connect into regional ISPs
NBP A
NBP B
NAP NAP
regional ISP
regional ISP
localISP
localISP
From Computer Networking: A Top-Down Approach Featuring the Internet by Kurose & Ross 02/07/06 14
What’s a protocol?Human protocols:• “what’s the time?”• “I have a question”• introductions
… specific msgs sent… specific actions taken when
msgs received, or other events
Network protocols:• machines rather than humans• all communication activity in
Internet governed by protocols
protocols define format, order of messages sent and received among network entities, and actions taken
on messages receipt
From Computer Networking: A Top-Down Approach Featuring the Internet by Kurose & Ross
02/07/06 15
What’s a protocol?A human protocol and a computer network protocol:
Hi
HiGot thetime?2:00
TCP connection requestTCP connectionreply.
Get http://www.cs.nyu.edu/index.htm
<file>time
From Computer Networking: A Top-Down Approach Featuring the Internet by Kurose & Ross 02/07/06 16
In Summary, a protocol is ....
• An agreement about communication between two or more entities
• It specifies– Format of messages– Meaning of messages– Rules for exchange– Procedures for handling problems
5
02/07/06 17
Protocol Specification
• As designers, we typically specify a protocol in a document, such as an Internet RFC
• Many formal and semi-formal representations can describe protocols– Space-Time Diagrams– Finite State Machines (FSM)
02/07/06 18
Space-Time Diagrams
• Describes causal ordering• Defines indication/request/response actions•This diagram shows ‘send and wait’ protocol
02/07/06 19
Finite State Machine Transition Diagram for TCP
– Defines– States– Input (the event that causes
transition)– Transitions (to new states)
02/07/06 20
Networking Review Layered protocol model of computer networks
– Reduce complexity by “layering” protocols– Solve at most a few challenges in each layer– E.g.
• Lower layer (link) eliminates all physical noise errors
• Upper layer (transport in TCP) resends lost messages
– Each layer offers services to the layer above– Enable improvements to PART of the network
6
02/07/06 21
Why layering?
Dealing with complex systems:• explicit structure allows identification, relationship of complex
system’s pieces– layered reference model for discussion
• modularization eases maintenance, updating of system– change of implementation of layer’s service transparent to rest of
system– e.g., change in gate procedure doesn’t affect rest of system
• layering considered harmful?
From Computer Networking: A Top-Down Approach Featuring the Internet by Kurose & Ross 02/07/06 22
Layers And Protocol Software
• Protocol software follows layering model• One software module per layer• Modules cooperate• Incoming or outgoing data passes from one module to
another• Entire set of modules known as stack
02/07/06 23
Internet protocol stack• application: supporting network applications
– ftp, SMTP, HTTP• transport: host-host data transfer
– TCP, UDP• network: routing of datagrams from source to
destination– IP, routing protocols
• link: data transfer between neighboring network elements– PPP, ethernet
• physical: bits “on the wire, in the fiber, or as electromagnetic waves”
application
transport
network
link
physical
From Computer Networking: A Top-Down Approach Featuring the Internet by Kurose & Ross 02/07/06 24
Protocol layering and data
Each layer takes data from above• adds header information to create new data unit• passes new data unit to layer below
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
source destinationMMMM
Ht
HtHn
HtHnHl
MMMM
Ht
HtHn
HtHnHl
messagesegmentdatagramframe
From Computer Networking: A Top-Down Approach Featuring the Internet by Kurose & Ross
7
02/07/06 25
Potential Drawbacks to Layering
– Potential drawbacks:A layer may duplicate lower-layer functionality (the classic End to End issue).
– A layer may need information that is present in another layer (violates isolation principle).
Some researchers and networking engineers are vehemently opposed to layering [Wakeman 1992].
02/07/06 26
Internet Protocol (IP)
• Only data transmission protocol at Layer 3• Defines
– Internet addressing– Internet packet format– Internet routing
02/07/06 27
IP Address Details
• 32 Bits - divided into two parts– Prefix identifies network– Suffix identifies host
• Global authority assigns unique prefix to network (IANA)
• Local administrator assigns unique suffix to host
02/07/06 28
IP Addresses
0network host
10 network host
110 network host
1110 multicast address
A
B
C
D
class1.0.0.0 to127.255.255.255128.0.0.0 to191.255.255.255192.0.0.0 to223.255.255.255224.0.0.0 to239.255.255.255
32 bits
given notion of “network”, let’s examine IP addresses:
“class-full” addressing:
8
02/07/06 29
Classes And Network Sizes
• Maximum network size determined by class of address– Class A large– Class B medium– Class C small
02/07/06 30
IP Addressing Example
02/07/06 31
IP addressing: CIDR• classful addressing:
– inefficient use of address space, address space exhaustion– e.g., class B net allocated enough addresses for 65K hosts, even if
only 2K hosts in that network• CIDR: Classless InterDomain Routing
– network portion of address of arbitrary length– address format: a.b.c.d/x, where x is # bits in network portion of
address
11001000 00010111 0001000 000000000
networkpart
hostpart
200.23.16.0/23
02/07/06 32
Internet Packets• Contains sender and destination addresses• Size depends on data being carried• Called IP datagram• Two Parts Of An IP Datagram
• Header– Contains source and destination address– Fixed-size fields
• Data Area (Payload)– Variable size up to 64K– No minimum size
9
02/07/06 33
IP V4 Datagram format
ver length
32 bits
data (variable length,typically a TCP
or UDP segment)
16-bit identifierInternet
checksumtime to
live32 bit source IP address
IP protocol versionnumber
header length (bytes)
max numberremaining hops
(decremented at each router)
forfragmentation/reassembly
total datagramlength (bytes)
upper layer protocolto deliver payload to
head.len
type ofservice
“type” of data flgs fragment offsetupper
layer
32 bit destination IP address
Options (if any) E.g. timestamp,record routetaken, specifylist of routers to visit.
From Computer Networking: A Top-Down Approach Featuring the Internet by Kurose & Ross 02/07/06 34
IP Semantics
• IP is connectionless– Datagram contains identity of destination– Each datagram sent/handled independently
• Routes can change at any time
02/07/06 35
IP Semantics (continued)
• IP allows datagrams to be– Delayed– Duplicated– Delivered out-of-order– Lost
• Called best effort delivery• Motivation: accommodate all possible networks
02/07/06 36
Requests For Comment (RFC)
• Describe formally (and sometimes not so formally) everything about the Internet.
• Actually, RFCs are really a form of Memo.• For amusement, try RFC 968 (“‘Twas the Night Before
Startup”)• All are available on-line: www.ietf.org/rfc.html• We use RFCs to learn about SMTP (2821), HTTP (2616) ,
for example.
10
02/07/06 37
RFC Characteristics
• RFC Statuses (2026)– Standard track
• PS - proposed standard• DS - draft standard• S - standard
– Non-standards track• E - experimental• I - information only• H - Historic• BC - Best current practices
02/07/06 38
ExampleNetwork Working Group D. Waitzman Request for Comments: 1149 BBN STC 1 April 1990 A Standard for the Transmission of IP Datagrams on Avian Carriers Status of this Memo
This memo describes an experimental method for the encapsulation of IP datagrams in avian carriers. This specification is primarily useful in Metropolitan Area Networks. This is an experimental, not recommended standard. …
Overview and Rational Avian carriers can provide high delay, low throughput, and low altitude service. The connection topology is limited to a single point-to-point path for each carrier, used with standard carriers, but many carriers can be used without significant interference with each other, outside of early spring. This is because of the 3D ether space available to the carriers, in contrast to the 1D ether used by IEEE802.3. The carriers have an intrinsic collision avoidance system, which increases Frame Format The IP datagram is printed, on a small scroll of paper, in hexadecimal, with each octet separated by whitestuff and blackstuff. The scroll of paper is wrapped around one leg of the avian carrier. A band of duct tape is used to secure the datagram's edges. The bandwidth is limited to the leg length.
02/07/06 39
RFC citations
• RFC citations appear in this format: – #### Title of RFC. Author 1, Author 2,
Author 3. Issue date. (Format: ASCII) (Obsoletes xxx) (Obsoleted by xxx) (Updates xxx) (Updated by xxx) (Also FYI ####) (Status: ssssss)
• Good searchable index– http://www.rfc-editor.org/rfcsearch.html
02/07/06 40
Internet Engineering task ForceIETF
• Open organization - anyone may join• Primarily dedicated to development of the Internet
protocols. • Ideas are presented as RFCs and go through a review
process• RFC standards described in RFC 1602
– Proposed– Draft– Standard
11
02/07/06 41
More Alphabet Soup
• IAB - Internet Architecture Board• IANA - Internet Assigned Numbers Authority• IESG - Internet Engineering Standards Group
02/07/06 42
Conclusions
– Layering a key concept in computer network design
• Determines design and modularity of network software
– Major design decision in building a network architecture
• Connection-oriented vs. connectionless• Both popular
– This course focuses on Application layer software
02/07/06 43
EXTRA SLIDES
02/07/06 44
Finite State Machine Representation
• Visualize as a 2D Array of functions– Rows represent states– Columns represent events– Current State is an index i– New Event is some index j
• For each State/Event pair specify– An action to take (a function to execute)– A next state
12
02/07/06 45
Protocol Model
• Intended for protocol designers• Divides protocols into layers• Each layer devoted to one sub-problem• Example: ISO 7-layer reference model
02/07/06 46
OSI Layered protocol model
• Application (We focus on activity here)• Presentation - Data representation• Session - Login and passwords• Transport - Reliability• Network - Packet forwarding• Data Link - Hardware frame definitions• Physical - Underlying hardware
02/07/06 47
TCP/IP Model vs. OSI
TF 1-902/07/06 48
IP Fragmentation & Reassembly
• network links have MTU (max.transfer size) - largest possible link-level frame.– different link types,
different MTUs • large IP datagram divided
(“fragmented”) within net– one datagram becomes
several datagrams– “reassembled” only at final
destination– IP header bits used to
identify, order related fragments
fragmentation: in: one large datagramout: 3 smaller datagrams
reassembly
From Computer Networking: A Top-Down Approach Featuring the Internet by Kurose & Ross
13
02/07/06 49
IP Fragmentation and Reassembly
ID=x
offset=0
fragflag=0
length=4000
ID=x
offset=0
fragflag=1
length=1500
ID=x
offset=1480
fragflag=1
length=1500
ID=x
offset=2960
fragflag=0
length=1040
One large datagram becomesseveral smaller datagrams
From Computer Networking: A Top-Down Approach Featuring the Internet by Kurose & Ross