Introduction Lecture 1
Download
Report
Transcript Introduction Lecture 1
TCP/IP
Lecture 2
cs193i – Internet Technologies
Summer 2004
Stanford University
Announcements
Lab #1 due Wednesday
HW #1 assigned
Extra perl session tomorrow
Tuesday, June 29, 2:15-3:05pm, Skilling 193
Broadcast live on E2, Stanford Online
Silas’ Thursday office hours moved to
Wednesday this week
Sweet Hall, 6:30-8:30pm
Communicating with Anyone
How’s the
weather in
Seattle, Mar?
[email protected]
Ethernet
Network
Tokenring
MSN Messenger
[email protected]
Local Area Network (LAN)
High speed, data
network over small
region
Network technologies:
Few thousand meters
Ethernet
FDDI
Token ring
LAN 1
Ethernet
Tokenring
Data link layer
Packets routed based on
physical address (MAC)
LAN 2
Local Area Network (LAN)
High speed, data
network over small
region
Network technologies:
Few thousand meters
Ethernet
FDDI
Token ring
LAN 1
Ethernet
?
Tokenring
Data link layer
Packets routed based on
physical address (MAC)
LAN 2
Connecting Below Internet Level
Hub
Bridge
Center of star topology
In Ethernet, multiport repeater
or concentrator
Connects 2 networks of same
technology – extended LAN
Filters/forwards/floods based
on MAC
Link layer - frames
Hub
Ethernet
Ethernet
Bridge
Switch
Connects 2+ networks –
packet-switched network
Reduces collisions
Ethernet
Ethernet
CISCOSYSTEMS
CISCOSYSTEMS
T3
Switch
CISCOSYSTEMS
STS-N
Connecting at the Internet Level
Router
Originally gateway
Forwards packets based
on network layer info (IP)
Separate broadcast
domains
In each domain, IP packet
encapsulated in domainspecific packet
Ethernet
Ethernet
CISCOSYSTEMS
CISCOSYSTEMS
Router
CISCOSYSTEMS
Tokenring
Internet Society
Governing body for Internet since 1992
http://www.isoc.org
Domain names and addresses assigned
Upper level: Internet Assigned Numbers Authority
Regional:
Latin America / Caribbean
Asia Pacific
America
Europe
How Does Everyone Work Together?
Networks
Network Service Provider
MCI Worldcom, Sprint, Earthlink, …
Exchange points provide connections between networks
Network Access Points – open access policies
Build national or global networks
Lease space at NAPs
Sell bandwidth to regional NSPs
Regional NSP sell bandwidth to ISP
Internet Service Provider sells bandwidth to end users
How Does Everyone Work Together?
OSI Reference Model
for Network Design
Application (Layer 7)
Presentation
Session
Transport
Network
Data Link
Physical (Layer 1)
OSI vs. TCP/IP Stack
Layering: FTP Example
Application
Presentation
FTP
Application
ASCII/Binary
Session
Transport
Network
Link
Physical
The 7-layer OSI Model
TCP
Transport
IP
Network
Ethernet
Link
The 4-layer Internet model
Internet Protocol
Protocol Stack
App
Transport
TCP / UDP
Network
IP
Link
Data
Data
TCP Segment
Hdr
Hdr
IP Datagram
IP Datagram
Header
10101011101010101010010101010100101010100
11010010101010010101111111010000011101111
10100001011101010100110101011110100000101
00100000000010101000011010000111111010101
......... 1011011001010100011001001010110
Data
IP Addresses
4 8-bit numbers (Hierarchical)
18.26.0.1
network
32-bits
host
Specifies both network and host
Number of bits allocated to specify network varies
Three classes:
A
0 net
1 7
B
host
24 bits
C
1 0 net
host
110
net
host
2
16 bits
3
21
8 bits
14
IP Addresses
IP (Version 4) Addresses are 32 bits long
IP Addresses Assigned Statically or
Dynamically (DHCP)
IPv6 addresses are 128 bits long
IP Address Space
Originally, 3 Classes
Problem
A, B, C
Classes too rigid (C too small, B too big)
Solution
Subnetting (e.g. within Stanford)
Classless Interdomain Routing (CIDR)
Subnetting
IP Address plus subnet mask (netmask)
IP Addr: 171.64.15.82
Netmask: 0xFFFFFF00 (111...1100000000)
First
24 bits are the Subnet ID (the
neighborhood)
Last 8 bits are Host ID (the street address)
Can be written as “Prefix + Length”
171.64.15.0/24
or 171.64.15/24
Subnetting at Stanford
To: cenic.net
dcl-rtr
171.64.74.0/24
171.64.1.132
171.64.1.132/30
171.64.1.133
Stanford Class B
Address
171.64.1.161 171.64.1.178
bbr2-rtr
171.64.0.0/16
171.64.1.160/27
171.64.1.152
171.64.1.144/28
To: cogentco.com border-rtr
171.64.1.145
171.64.74.1
Gates-rtr
171.64.74.58
yuba
IP Routing
Routers are not omniscient
Next-Hop
Hop-by-Hop
Thus IP makes no guarantees
except to try it’s best (”Best Effort”)
packets may get there out of order, garbled,
duplicated
may not get there at all!
Unreliable datagram service
IP Routing Hop-by-Hop
128.17.20.1
1
R1 2
3
R2
R3
R4
128.17.16.1
e.g. 128.9.16.14 => Port 2
Prefix
65/8
128.9/16
128.9.16/20
128.9.19/24
128.9.25/24
128.9.176/20
142.12/19
Next-hop
128.17.16.1
128.17.14.1
128.17.14.1
128.17.10.1
128.17.14.1
128.17.20.1
128.17.16.1
Port
3
2
2
7
2
1
3
Forwarding/routing table
How a Router Forwards Datagrams
Classless Interdomain Routing
(CIDR)
0
232-1
Classless Interdomain Routing
(CIDR)
128.9.0.0
65/8
0
128.9.16.14
142.12/19
128.9/16
216
232-1
Classless Interdomain Routing
(CIDR)
128.9.19/24
128.9.25/24
128.9.16/20 128.9.176/20
128.9/16
0
232-1
128.9.16.14
Classless Interdomain Routing
(CIDR)
128.9.19/24
128.9.25/24
128.9.16/20 128.9.176/20
128.9/16
0
232-1
128.9.16.14
Five Minute Break
Network Programs
host
ping
traceroute
nslookup
Summary of IP
Connectionless/Datagram
Unreliable/Best Effort
Transmission Control Protocol
Protocol Stack
App
Transport
TCP / UDP
Network
IP
Link
Data
Data
TCP Segment
Hdr
Hdr
IP Datagram
Characteristics
Connection-Oriented
Reliable
Byte-Stream
Flow Control
(aka Congestion Control)
Three Phases
Establish Connection
Data Transfer
Terminate Connection
Establishing the Connection
(Active)
Client
Syn
(Passive)
Server
Syn + Ack
Ack
Connection Setup
3-way handshake
Data Transfer
Host A
Byte 80
Byte 3
Byte 2
Byte 1
Byte 0
Host B
Byte 80
Byte 3
Byte 2
Byte 1
Byte 0
Data Transfer
Host A
TCP Data
Host B
Byte 80
Byte 3
Byte 2
Byte 1
Byte 0
TCP Data
Byte 80
Byte 3
Byte 2
Byte 1
Byte 0
Maintaining the “Connection”
IP Data
TCP Data
0
TCP Hdr
15
Src port
31
Dst port
Sequence #
Ack Sequence #
RSVD
6
Flags
URG
ACK
PSH
RST
SYN
FIN
HLEN
4
Checksum
IP Hdr
Window Size
Urg Pointer
(TCP Options)
TCP Data
Src/dst port numbers
and IP addresses
uniquely identify socket
Terminating the Connection
(Active)
Client
Fin
(Passive)
Server
(Data +) Ack
Fin
Ack
Connection Close/Teardown
2 x 2-way handshake
Connection-Oriented
Reliable
Byte-Stream
Flow Control
(aka Congestion Control)
Reliability & Flow Control
Sequence numbers & Acknowledgements
(ACKs)
Receiver detects Corrupt, Lost, Duplicated, Out-oforder
Tell sender which packets it has received correctly
Sender can resend
In Flight Window (Window Size)
Sender only has N unacknowledged packets “in
Sending a Message
Leland.Stanford.edu
Application Layer
Arachne.Berkeley.edu
Leslie
Ron
Transport Layer
O.S.
D
Data
Header
Data
O.S.
Header
Network Layer
H
D
H
D
D
H
H
D
D
H
Link Layer
H
Connection-Oriented
Reliable
Byte-Stream
Flow Control
(aka Congestion Control)
UDP
Protocol Stack
App
Transport
TCP / UDP
Network
IP
Link
Data
Data
TCP Segment
Hdr
Hdr
IP Datagram
User Datagram Protocol (UDP)
Like TCP, in the Transport Layer
Characteristics
Connectionless,
Datagram, Unreliable
Adds only application
multiplexing/demultiplexing and
checksumming to IP
Good for Streaming Media, Real-time
Multiplayer Networked Games, VoIP
Summary
IP is the basis of Internetworking
TCP builds on top of IP
adds reliable, congestion-controlled, connectionoriented byte-stream.
UDP builds on top of IP
allows access to IP functionality