Download Networking Overview

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Wake-on-LAN wikipedia , lookup

Net neutrality wikipedia , lookup

Distributed firewall wikipedia , lookup

IEEE 1355 wikipedia , lookup

Network tap wikipedia , lookup

Peering wikipedia , lookup

Computer network wikipedia , lookup

Net neutrality law wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Airborne Networking wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Deep packet inspection wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Internet protocol suite wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Net bias wikipedia , lookup

Transcript
Special Topics in Computer Engineering:
Internet/ Intranet Protocols and
Applications
Some of these Slides are Based on Slides by
Kurose and Ross
Prepared for the Book
Computer Networking: A Top Down Approach
Featuring the Internet
Spring 2006
CPE 0907532: Introduction
1-1
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

Spring 2006
CPE 0907532: Introduction
1-2
Systems to study
 Protocols
 Web (HyperText Transfer Protocol, HTTP; Secure Sockets
Layer, 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
Spring 2006
(embedded in protocols)
CPE 0907532: Introduction
1-3
Challenges
 Heterogeneity
 Client and server system architecture
 Performance (in protocols and applications)
 Interoperability (with existing protocols
and applications)
 End-user application design
Spring 2006
CPE 0907532: Introduction
1-4
Highly Heterogeneous
Computing Environment
Issue
Smallest
CPU speed 50 MIPS
RAM
BW
10 MB
3
10 bps
Num CPUs 2
Latency
Spring 2006
Largest log10 (L/S)
3
5000
10 GB 3
10
9
6
7
2 x 10 7
1 micro sec 1 sec
6
CPE 0907532: Introduction
1-5
Other Heterogeneous
Dimensions
 OS
 Palm Pilot … DOS … MVS … WAP phone
 Architecture
 x86 … CRAY
 Spoken language
 Legal entity
Spring 2006
CPE 0907532: Introduction
1-6
What’s the Internet: “nuts and bolts” view
 millions of connected
computing devices: hosts
= end systems
 running network apps
 communication links


router
server
workstation
mobile
local ISP
fiber, copper, radio,
satellite
transmission rate =
bandwidth
regional ISP
 routers: forward packets
(chunks of data)
company
network
Spring 2006
CPE 0907532: Introduction
1-7
What’s the Internet: “nuts and bolts” view
 protocols control sending,
receiving of msgs

e.g., TCP, IP, HTTP, FTP, PPP
 Internet: “network of
router
server
workstation
mobile
local ISP
networks”


loosely hierarchical
public Internet versus
private intranet
 Internet standards
 RFC: Request for comments
 IETF: Internet Engineering
Task Force
Spring 2006
regional ISP
company
network
CPE 0907532: Introduction
1-8
What’s the Internet: a service view
 communication
infrastructure enables
distributed applications:

Web, email, games, ecommerce, file sharing
 communication services
provided to apps:


Spring 2006
Connectionless unreliable
connection-oriented
reliable
CPE 0907532: Introduction
1-9
Internet structure: network of networks
 roughly hierarchical
 national/international backbone
providers (NBPs)
 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
Spring 2006
local
ISP
regional ISP
NBP B
NAP
NAP
NBP A
regional ISP
local
ISP
CPE 0907532: Introduction
1-10
Internet structure: network of networks
 roughly hierarchical
 at center: “tier-1” ISPs (e.g., MCI, Sprint, AT&T, Cable
and Wireless), national/international coverage
 treat each other as equals
Tier-1
providers
interconnect
(peer)
privately
Spring 2006
Tier 1 ISP
Tier 1 ISP
NAP
Tier-1 providers
also interconnect
at public network
access points
(NAPs)
Tier 1 ISP
CPE 0907532: Introduction
1-11
Tier-1 ISP: e.g., Sprint
Sprint US backbone network
Seattle
Tacoma
DS3 (45 Mbps)
OC3 (155 Mbps)
OC12 (622 Mbps)
OC48 (2.4 Gbps)
POP: point-of-presence
to/from backbone
Stockton
…
…
Kansas City
.
…
Anaheim
peering
…
…
San Jose
Cheyenne
Chicago
Roachdale
New York
Pennsauken
Relay
Wash. DC
Atlanta
to/from customers
Fort Worth
Spring 2006
Orlando
CPE 0907532: Introduction
1-12
Internet structure: network of networks
 “Tier-2” ISPs: smaller (often regional) ISPs
 Connect to one or more tier-1 ISPs, possibly other tier-2 ISPs
Tier-2 ISP pays
tier-1 ISP for
connectivity to
rest of Internet
 tier-2 ISP is
customer of
tier-1 provider
Tier-2 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISP
Spring 2006
Tier-2 ISP
NAP
Tier 1 ISP
Tier-2 ISPs
also peer
privately with
each other,
interconnect
at NAP
Tier-2 ISP
Tier-2 ISP
CPE 0907532: Introduction
1-13
Internet structure: network of networks
 “Tier-3” ISPs and local ISPs
 last hop (“access”) network (closest to end systems)
local
ISP
Local and tier3 ISPs are
customers of
higher tier
ISPs
connecting
them to rest
of Internet
Spring 2006
Tier 3
ISP
Tier-2 ISP
local
ISP
local
ISP
local
ISP
Tier-2 ISP
Tier 1 ISP
Tier 1 ISP
Tier-2 ISP
local
local
ISP
ISP
NAP
Tier 1 ISP
Tier-2 ISP
local
ISP
Tier-2 ISP
local
ISP
CPE 0907532: Introduction
1-14
Internet structure: network of networks
 a packet passes through many networks!
local
ISP
Tier 3
ISP
Tier-2 ISP
local
ISP
local
ISP
local
ISP
Tier-2 ISP
Tier 1 ISP
Tier 1 ISP
Spring 2006
Tier-2 ISP
local
local
ISP
ISP
NAP
Tier 1 ISP
Tier-2 ISP
local
ISP
Tier-2 ISP
local
ISP
CPE 0907532: Introduction
1-15
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
Spring 2006
network protocols:
 machines rather than
humans
 all communication
activity in Internet
governed by protocols
protocols define format,
order of msgs sent and
received among network
entities, and actions
taken on msg
transmission, receipt
CPE 0907532: Introduction
1-16
What’s a protocol?
a human protocol and a computer network protocol:
Hi
TCP connection
request
Hi
TCP connection
response
Got the
time?
Get http://www.awl.com/kurose-ross
2:00
<file>
time
Q: Other human protocols?
Spring 2006
CPE 0907532: Introduction
1-17
In Summary, a protocol is ....
 An agreement about communication between two or more
entities
 It specifies
–
–
–
–
Spring 2006
Format of messages
Meaning of messages
Rules for exchange
Procedures for handling problems
CPE 0907532: Introduction
1-18
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)
Spring 2006
CPE 0907532: Introduction
1-19
Space-Time Diagrams
• Describes causal ordering
• Defines indication/request/response actions
•This diagram shows ‘send and wait’ protocol
Spring 2006
CPE 0907532: Introduction
1-20
Finite State Machine
Transition Diagram for
TCP
Defines
 States
 Input (the event that
causes transition)
 Transitions (to new
states)
Spring 2006
CPE 0907532: Introduction
1-21
Protocol “Layers”
Networks are complex!
 many “pieces”:
 hosts
 routers
 links of various
media
 applications
 protocols
 hardware,
software
Spring 2006
Question:
Is there any hope of
organizing structure of
network?
Or at least our discussion
of networks?
CPE 0907532: Introduction
1-22
Organization of air travel
ticket (purchase)
ticket (complain)
baggage (check)
baggage (claim)
gates (load)
gates (unload)
runway takeoff
runway landing
airplane routing
airplane routing
airplane routing
 a series of steps
Spring 2006
CPE 0907532: Introduction
1-23
Layering of airline functionality
ticket (purchase)
ticket (complain)
ticket
baggage (check)
baggage (claim
baggage
gates (load)
gates (unload)
gate
runway (takeoff)
runway (land)
takeoff/landing
airplane routing
airplane routing
airplane routing
departure
airport
airplane routing
airplane routing
intermediate air-traffic
control centers
arrival
airport
Layers: each layer implements a service
 via its own internal-layer actions
 relying on services provided by layer below
Spring 2006
CPE 0907532: Introduction
1-24
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?
Spring 2006
CPE 0907532: Introduction
1-25
Internet protocol stack
 application: supporting network
applications

application
FTP, SMTP, HTTP
 transport: process-process data
transport
transfer

TCP, UDP
 network: routing of datagrams from
source to destination

IP, routing protocols
 link: data transfer between
neighboring network elements

link
physical
PPP, Ethernet
 physical: bits “on the wire”
Spring 2006
network
CPE 0907532: Introduction
1-26
Encapsulation
source
message
segment
M
Ht
M
datagram Hn Ht
M
frame Hl Hn Ht
M
application
transport
network
link
physical
link
physical
switch
destination
M
Ht
M
Hn Ht
Hl Hn Ht
M
M
Spring 2006
application
transport
network
link
physical
Hn Ht
Hl Hn Ht
M
M
network
link
physical
Hn Ht
M
router
CPE 0907532: Introduction
1-27
Potential Drawbacks to Layering
Some researchers and networking engineers are vehemently
opposed to layering [Wakeman 1992].


Spring 2006
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).
CPE 0907532: Introduction
1-28
Internet Protocol (IP)
 Only data transmission protocol at Layer 3
 Defines
 Internet addressing
 Internet packet format
 Internet routing
Spring 2006
CPE 0907532: Introduction
1-29
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
Spring 2006
CPE 0907532: Introduction
1-30
IP Addresses
given notion of “network”, let’s examine IP addresses:
“class-full” addressing:
class
A
0 network
B
10
C
110
D
1110
1.0.0.0 to
127.255.255.255
host
network
128.0.0.0 to
191.255.255.255
host
network
multicast address
host
192.0.0.0 to
223.255.255.255
224.0.0.0 to
239.255.255.255
32 bits
Spring 2006
CPE 0907532: Introduction
1-31
Classes And Network Sizes
 Maximum network size determined by class of
address



Spring 2006
Class A large
Class B medium
Class C small
CPE 0907532: Introduction
1-32
IP Addressing Example
Spring 2006
CPE 0907532: Introduction
1-33
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 is of arbitrary length
 address format: a.b.c.d/x, where x is # bits in network portion of
address

network
part
host
part
11001000 00010111 0001000 000000000
200.23.16.0/23
Spring 2006
CPE 0907532: Introduction
1-34
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)



Spring 2006
Variable size up to 64K
No minimum size
CPE 0907532: Introduction
1-35
IP V4 Datagram format
IP protocol version
number
header length
(bytes)
“type” of data
max number
remaining hops
(decremented at
each router)
upper layer protocol
to deliver payload to
32 bits
type of
ver head.
len service
length
fragment
16-bit identifier flgs
offset
time to upper
Internet
layer
live
checksum
for
fragmentation/
reassembly
32 bit source IP address
32 bit destination IP address
Options (if any)
data
(variable length,
typically a TCP
or UDP segment)
Spring 2006
total datagram
length (bytes)
E.g. timestamp,
record route
taken, specify
list of routers
to visit.
CPE 0907532: Introduction
1-36
IP Semantics
 IP is connectionless
Datagram contains identity of destination
 Each datagram sent/handled independently

 Routes can change at any time
Spring 2006
CPE 0907532: Introduction
1-37
IP Semantics (continued)
 IP allows datagrams to be
 Delayed
 Duplicated
 Delivered out-of-order
 Lost
 Called best effort delivery
 Motivation: accommodate all possible networks
Spring 2006
CPE 0907532: Introduction
1-38
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.
Spring 2006
CPE 0907532: Introduction
1-39
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
Spring 2006
CPE 0907532: Introduction
1-40
Example
Network 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.
CPE 0907532: Introduction
1-41
Spring 2006
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
Spring 2006
CPE 0907532: Introduction
1-42
Internet Engineering task Force
IETF
 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



Spring 2006
Proposed
Draft
Standard
CPE 0907532: Introduction
1-43
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

Spring 2006
This course focuses on Application layer
software
CPE 0907532: Introduction
1-44
EXTRA SLIDES
Spring 2006
CPE 0907532: Introduction
1-45
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


Spring 2006
An action to take (a function to execute)
A next state
CPE 0907532: Introduction
1-46
Protocol Model
 Intended for protocol designers
 Divides protocols into layers
 Each layer devoted to one sub-problem
 Example: ISO 7-layer reference model
Spring 2006
CPE 0907532: Introduction
1-47
OSI Layered protocol model
 Application (We focus on activity here)
 Presentation - Data representation
 Session
 Transport
 Network
 Data Link
 Physical
Spring 2006
-
Login and passwords
Reliability
Packet forwarding
Hardware frame definitions
Underlying hardware
CPE 0907532: Introduction
1-48
TCP/IP Model vs. OSI
TF 1-9
Spring 2006
CPE 0907532: Introduction
1-49
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
Spring 2006
fragmentation:
in: one large datagram
out: 3 smaller datagrams
reassembly
CPE 0907532: Introduction
1-50
IP Fragmentation and Reassembly
length ID fragflag offset
=4000 =x
=0
=0
One large datagram becomes
several smaller datagrams
length ID fragflag offset
=1500 =x
=1
=0
length ID fragflag offset
=1500 =x
=1
=1480
length ID fragflag offset
=1040 =x
=0
=2960
Spring 2006
CPE 0907532: Introduction
1-51
Message Segmentation Applet
http://media.pearsoncmg.com/aw/aw_kurose
_network_2/applets/message/messageseg
mentation.html
Spring 2006
CPE 0907532: Introduction
1-52