You are on page 1of 43

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


Hows the weather in Seattle, Mar?

kashaw@cs.stanford.edu Ethernet

Network

Tokenring

mar@cs.washington.edu

MSN Messenger

Local Area Network (LAN)

High speed, data network over small region

LAN 1

Few thousand meters Ethernet FDDI Token ring Packets routed based on physical address (MAC)

Network technologies:

Ethernet

Tokenring

Data link layer

LAN 2

Local Area Network (LAN)

High speed, data network over small region

LAN 1

Few thousand meters Ethernet FDDI Token ring Packets routed based on physical address (MAC)

Network technologies:

Ethernet

?
Tokenring

Data link layer

LAN 2

Connecting Below Internet Level

Hub

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 Connects 2+ networks packet-switched network Reduces collisions

Bridge

Hub

Ethernet

Ethernet

Bridge

Switch
Ethernet
CISCOSYSTEMS

Ethernet
CISCOSYSTEMS

T3

CISCOSYSTEMS

STS-N

Switch

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
CISCOSYSTEMS

Ethernet
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

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

Network Service Provider


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 Session Transport
TCP IP Ethernet FTP ASCII/Binary

Application

Transport Network Link

Network
Link Physical

The 7-layer OSI Model

The 4-layer Internet model

Internet Protocol

Protocol Stack
App Transport Network Link TCP / UDP IP
Data Hdr

TCP Segment
Hdr

Data

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 B host 1 0 net host 110 C net host

0 net

1 7

24 bits

14

16 bits

21

8 bits

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

A, B, C

Problem

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.1.132

171.64.74.0/24

171.64.1.132/30
171.64.1.133 171.64.1.161 171.64.1.178 bbr2-rtr 171.64.74.1 Gates- rtr

Stanford Class B Address


171.64.0.0/16

171.64.1.160/27

171.64.74.58

yuba

171.64.1.152 To: cogentco .com border-rtr 171.64.1.145

171.64.1.144/28

IP Routing

Routers are not omniscient

Next-Hop

Hop-by-Hop Thus IP makes no guarantees


except to try its 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

R2 R3 R4

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

1 R1 2 3

128.17.16.1

Forwarding/routing table

How a Router Forwards Datagrams

Classless Interdomain Routing (CIDR)

232-1

Classless Interdomain Routing (CIDR)


128.9.0.0
65/8
128.9/16 142.12/19

216

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

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

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 Network Link TCP / UDP IP
Data Hdr

TCP Segment
Hdr

Data

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

Byte 80

Byte 3 Byte 2 Byte 1 Byte 0 Byte 80

Byte 3 Byte 2 Byte 1 Byte 0

Host A

Host B

Data Transfer

Byte 80

TCP Data

Byte 3 Byte 2 Byte 1 Byte 0

Byte 3 Byte 2 Byte 1 Byte 0

Host A

TCP Data

Byte 80

Host B

Maintaining the Connection


IP Data
TCP Data TCP Hdr

IP Hdr

0
Src port

15
Dst port

31

Sequence #

Ack Sequence #
URG ACK PSH RST SYN FIN
HLEN 4 RSVD 6

Flags

Window Size

Src /dst port numbers and IP addresses uniquely identify socket

Checksum

Urg Pointer

(TCP Options)

TCP Data

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 Ron
Transport Layer
Application Layer

Arachne.Berkeley.edu Leslie

O.S.
D H

Data

Header

Data

Header

O.S.
D H

Network Layer

Link Layer

Connection-Oriented Reliable Byte-Stream Flow Control (aka Congestion Control)

UDP

Protocol Stack
App Transport Network Link TCP / UDP IP
Data Hdr

TCP Segment
Hdr

Data

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

You might also like