0% found this document useful (0 votes)
27 views63 pages

Chapter 3 Networking

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views63 pages

Chapter 3 Networking

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 63

Chapter 3:

Networking and Internetworking

▪ Concepts
▪ Switching
▪ Routing (IP)
▪ End-to-End Protocols (UDP/TCP)
▪ Wireless LAN
Introduction
Building Blocks

Nodes: PC, special-purpose hardware…


hosts
switches

Links: coax cable, optical fiber…


point-to-point (a)

multiple access
(b)
■■■
Switched Networks

A network can be defined recursively as...


two or more nodes two or more
connected by a link, networks connected
or by a node
Simplified view of the QMW Computer Science network (in mid-2000)

router/
Campus138.37.95.240/29 138.37.95.241 firewall
router subnet hammer
Staff subnet Student subnet
138.37.88 138.37.88.251 138.37.94.251 138.37.94
compute file server/
server Eswitch Eswitch
gateway
bruno
138.37.88.249 custard
138.37.94.246 printers
dialup
 server
henry
138.37.88.230
other
file servers
server
hotpoint
138.37.88.162
web
server
copper
138.37.88.248
hub hub

desktop computers138.37.88.xx desktop computers138.37.94.xx

sickle
Campus138.37.95.248/29 100 Mbps Ethernet
router subnet router/
138.37.95.249 firewall
1000 Mbps Ethernet
Eswitch: Ethernet switch
Firewall configurations

a) Filtering router Protected intranet


Router/
filter

Internet

web/ftp
server

b) Filtering router and bas tion R/filter Bas tion

Internet

web/ftp
server

c) Sc reened s ubnet for bastion R/filter Bas tion R/filter

Internet

web/ftp
server
Addressing and Routing

Address: byte-string that identifies a node


usually unique
Routing: process of forwarding messages to the
destination node based on its address
Types of addresses
unicast: node-specific
broadcast: all nodes on the network
multicast: some subset of nodes on the network
Inter-Process Communication

Turn host-to-host connectivity into process-to-process


communication.
Fill gap between what applications expect and what
the underlying technology provides.
Host
Host Application

Channel
Host
Application

Host Host
Multiplexing

Circuit switching: carry bit streams


original telephone network
Packet switching: store-and-forward messages
Internet

L1 R1

L2 R2
Switch 1 Switch 2

L3 R3
Statistical Multiplexing

On-demand time-division
Schedule link on a per-packet basis
Packets from different sources interleaved on
link
Buffer packets that are contending for the link
Buffer (queue) overflow is called congestion

■■■
What Goes Wrong in the Network?

Bit-level errors (electrical interference)


Packet-level errors (congestion)
Link and node failures

Packets are delayed


Packets are deliver out-of-order
Third parties eavesdrop
Conceptual layering of protocol software

Message sent Message received

Layer n

Layer 2
Layer 1
Sender Communication Recipient
medium
Protocol layers in the ISO Open Systems Interconnection (OSI) model

Mess age sent Mess age received


Layers
Application
Presentation
Ses sion
Trans port
Network
Data link
Phy sic al
Sender Communic ation Rec ipient
medium

most peer-to-peer communication is indirect


peer-to-peer is direct only at hardware level
Encapsulation as it is applied in layered protocols

Application-layer mess age

Presentation header

Ses sion header

Trans port header

Network header
ISO Architecture

End host End host

Application Application

Presentation Presentation

Session Session

Transport Transport

Network Network Network Network

Data link Data link Data link Data link

Physical Physical Physical Physical

One or more nodes


within the network
OSI protocol summary

Layer Description Examples


Application Protocols that are designed to meet the communication requirements of HTTP, FTP , SMTP,
specific applications, often defining the interface to a service. CORBA IIOP
Presentation Protocols at this level transmit data in a network representation that is Secure Sockets
independent of the representations used in individual computers, which may (SSL),CORBA Data
differ. Encryption is also performed in this layer, if required. Rep.
Session At this level reliability and adaptation are performed, such as detection of
failures and automatic recovery.
Transport This is the lowest level at which messages (rather than packets) are handled. TCP, UDP
Messages are addressed to communication ports attached to processes,
Protocols in this layer may be connection-oriented or connectionless.
Network Transfers data packets between computers in a specific network. In a WAN IP, ATM virtual
or an internetwork this involves the generation of a route passing through circuits
routers. In a single LAN no routing is required.
Data link Responsible for transmission of packets between nodes that are directly Ethernet MAC,
connected by a physical link. In a WAN transmission is between pairs of ATM cell transfer,
routers or between routers and hosts. In a LAN it is between any pair of hosts. PPP
Physical The circuits and hardware that drive the network. It transmits sequences of Ethernet base- band
binary data by analogue signalling, using amplitude or frequency modulation signalling, ISDN
of electrical signals (on cable circuits), light signals (on fibre optic circuits)
or other electromagnetic signals (on radio and microwave circuits).
TCP/IP layers

Message
Layers

Application
Messages (UDP) or Streams (TCP)

Transport
UDP or TCP packets

Internet
IP datagrams

Network interface
Network-specific frames

Underlying network
Encapsulation in a message transmitted via TCP over an Ethernet

Application message

TCP header port

IP header TCP

Ethernet header IP

Ethernet frame
The programmer's conceptual view of a TCP/IP Internet

Application Application

TCP UDP

IP
Internet Architecture
Hourglass Design
Application vs Application Protocol (FTP, HTTP)

FTP HTTP SMTP TFTP

TCP UDP

IP

■■■
NET 1 NET 2 NET n
Protocol Multiplexing
Multiplexing and Demultiplexing (demux key)
Encapsulation (header/body)
Host Host

Application
Application Application
Application
program
program program
program

Data Data

RRP RRP

RRP Data RRP Data

HHP HHP

HHP RRP Data


Switching
Scalable Networks

Switch
Connect links to form a larger network.
Connect switches to form a larger network.
forwards packets from input port to output port
port selected based on address in packet header

Advantages
store and forward
support large numbers of hosts
Datagram Switching

Address Port Host D

A 2 0 Switch 1 Host E
Host F
C 3 3 1
2 Switch 2
F 1 Host C
2 3 1

G 1 0
… … Host A

No connection setup phase


Sometimes called connectionless model
Host G 0 Switch 3 Host B
Each packet forwarded independently 1 3

Each switch maintains a forwarding (routing) table2


Eg. Switch 1 Host H
Datagram Model

Source host has no way of knowing if the network is


capable of delivering a packet or if the destination host
is even up.
No QoS
Since packets are treated independently, it is possible
to route around link and node failures.
Since every packet must carry the full address of the
destination, the overhead per packet is higher than for
the connection-oriented model.
Learning Bridges

Do not forward to all the other ports (broadcast)


when unnecessary
Maintain forwarding table
A B C
Host Port
A 1
B 1
Port 1
C 1
Bridge
X 2
Port 2
Y 2
Z 2

X Y Z
Learn table entries based on source address
Table is an optimization; need not be complete
Always forward broadcast frames
Routing (IP)
Internetworking

Concatenation of Different Networks


Network 1 (Ethernet)

H7 R3 H8
H1 H2 H3

Network 4
Network 2 (Ethernet) (point-to-point)
R1

R2

H4
Network 3 (FDDI)

H5 H6
IP Internet

Connecting Problem 1: Heterogeneity of Networks


Solution: Layered Protocol Stack (IP over …… )
H1 H8

TCP R1 R2 R3 TCP

IP IP IP IP IP

ETH ETH FDDI FDDI PPP PPP ETH ETH

Problem 2: Scalability in Routing and Addressing


Solution: Address Hierarchy
Service Model

Connectionless (datagram-based)
Best-effort delivery (unreliable service)
packets can be lost, delayed, duplicated, delivered out of
order.
Datagram format: IP header
0 4 8 16 19 31
Version HLen TOS Length

Ident Flags Offset

TTL Protocol Checksum

SourceAddr

DestinationAddr

Options (variable) Pad


(variable)
Data
IP Header

Version (always set to the value 4 for IP v4)


IP Header Length (number of 32 -bit words forming the header,
usually five)
Size of Datagram (in bytes, header + data)
Flags 3 bits: R (reserved bit set to 0) DF (Don't fragment ) MF (More
fragments)
Time To Live (Number of hops /links which the packet may be
routed over, decremented by most routers - used to prevent
accidental routing loops)
Protocol (the type of transport packet being carried (e.g. 1 =
ICMP; 6 = TCP; 17= UDP).
Header Checksum (A 1's complement checksum of IP header,
updated whenever the packet header is modified by a node.
Packets with an invalid checksum are discarded by all nodes in
an IP network)
Source Address / Destination Address
Internet address structure, showing field sizes in bits

7 24
Clas s A: 0 Network ID Hos t ID

14 16
Clas s B: 1 0 Network ID Hos t ID

21 8
Clas s C: 1 1 0 Network ID Hos t ID

28
Clas s D (multicast): 1 1 1 0 Multicast addres s

27
Clas s E (reserved): 1 1 1 1 0 unus ed

globally unique
hierarchical: network + host
Decimal representation of Internet addresses

octet 1 octet 2 octet 3 Range of addresses


Network ID Host ID
1.0.0.0 to
Class A: 1 to 127 0 to 255 0 to 255 0 to 255 127.255.255.255
Network ID Host ID
Class B: 128 to 191 0 to 255 0 to 255 0 to 255 128.0.0.0 to
191.255.255.255
Network ID Host ID
192.0.0.0 to
Class C: 192 to 223 0 to 255 0 to 255 1 to 254
223.255.255.255
Multicast address
Class D (multicast): 224 to 239 0 to 255 0 to 255 1 to 254 224.0.0.0 to
239.255.255.255

Class E (reserved): 240 to 255 0 to 255 0 to 255 1 to 254 240.0.0.0 to


255.255.255.255
Datagram Forwarding Strategy

Every datagram contains destination’s


address
if connected to destination network, then
forward to the host in LAN
If network number of destination IP == my
network number
if not directly connected, then forward to the
host’s default router
Each router maintains a forwarding table
forwarding table maps network number (rather
than host address) into next hop or interface
number (if directly connected)
Traffic: H1 → H3, H1 → H8
R1: default router is R2
R2 Routing Table:
Network Number Next Hop Interface
1 R3 interface 1
2 R1 interface 0
3 - interface 1 Network 1 (Ethernet)
4 - interface 0

H7 R3 H8
H1 H2 H3

Network 4
Network 2 (Ethernet) (point-to-point)
R1

R2

H4
Network 3 (FDDI)

H5 H6
Address Translation in LAN
Map IP addresses into physical addresses of the
destination host (if connected directly) or the next hop
router
ARP
Each host caches its table of IP to physical address bindings
table entries are discarded if not refreshed
timeout in about 10 minutes
broadcast request if IP address not in table
target machine send its physical address to the sender
target machine also updates add entry of the source in its table
It is likely that the target will send IP packets to the source later on.
Other hosts (who receives the broadcasted request) update
table if already have an entry
End-to-End Protocols

Underlying best-effort network


drop messages
re-orders messages
delivers duplicate copies of a given message
limits packet (not message) to some finite size
delivers messages after an arbitrarily long delay
Common end-to-end services
guarantee message delivery
deliver messages in the same order they are sent
deliver at most one copy of each message
support arbitrarily large messages
support synchronization between sender and receiver
allow the receiver to flow control the sender
support multiple application processes on each host
End-to-End Protocols
(UDP/TCP)
Simple Demultiplexor (UDP)

Unreliable and unordered datagram service


Adds multiplexing
No flow control or error control
no need for sender-side buffer)
Endpoints identified by ports 0 16 31

servers listens at well-known ports! SrcPort DstPort

see /etc/services on Unix Length Checksum

Header format Data

Optional checksum
psuedo header (IP.src, IP.dsest, IP.proto, UDP.len) + UDP
header + data
TCP Overview

Connection- Full duplex


oriented Flow control: keep sender
Byte-stream from overrunning receiver
app writes bytes Congestion control: keep
TCP sends sender from overrunning
segments network
app reads bytes
Application process Application process

Write Read
bytes bytes

TCP TCP
Send buffer Receive buffer

■■■
Segment Segment Segment

Transmit segments
Segment Format

0 4 10 16 31
SrcPort DstPort

SequenceNum

Acknowledgment

HdrLen 0 Flags AdvertisedWindow

Checksum UrgPtr

Options (variable)

Data
Segment Format (cont)
Each connection identified with 4-tuple:
(SrcPort, SrcIPAddr, DsrPort, DstIPAddr)
Sliding window + flow control
acknowledgment, SequenceNum, AdvertisedWinow
Data (SequenceNum)

Sender Receiver

Acknowledgment +
AdvertisedWindow
Flags
SYN, FIN, RESET, PUSH, URG, ACK
Checksum
pseudo header + TCP header + data
Connection Establishment and Three-Way Handshake

Active participant Passive participant


(client) (server)
Reliability and Flow Control

The receiver’s buffer has two purposes


Reorder segments received out of order
Hold data unread by the application
The sender cannot send more than
AdvertisedWindow bytes of unacknowledged
data at any given time (Flow Control).
The sender retransmits after timeout
Adaptive RTT measurement.
Socket API

Creating a socket
int socket(int domain, int type, int protocol)
type = SOCK_STREAM, SOCK_DGRAM, SOCK_RAW

Passive Open (on server)


int bind(int socket, struct sockaddr *addr, int addr_len)
int listen(int socket, int backlog)
int accept(int socket, struct sockaddr *addr, int addr_len)

Active Open (on client)


int connect(int socket, struct sockaddr *addr,
int addr_len)

Sending/Receiving Messages
int send(int socket, char *msg, int mlen, int flags)
int recv(int socket, char *buf, int blen, int flags)
Wireless LAN
Ethernet Overview

The most successful Local Area Networks


Bandwidth: 10Mbps, 100Mbps (Fast), 1Gbps
Avoid Simultaneous on a Shared Line:
CSMA/CD
multiple access
carrier sense:
listen before transmitting.
distinguish an idle and busy link.
collision detection
listen while transmitting.
Collision: What you hear is different from what you listen
Ethernet Frame

64 48 48 16 32

Frame Format Preamble Dest


addr
Src
addr
Type Body CRC

Addresses
unique, 48-bit unicast address assigned to each adapter
example: 8:0:e4:b1:2
Every body hears the frame (shared media). But the one with
matching destination address picks up.
broadcast: all 1s
multicast: first bit is 1. The host can configure its adaptor to
accept some multicast addresses
Preamble (a seq. alternating 0s and 1s ) indicates the
start of a frame
Type: high-level protocols
Transmit Algorithm

If line is idle…
send immediately
upper bound message size of 1500 bytes
Limited occupancy on the line.
must wait 9.6us between back-to-back frames
To allow other hosts to send.
If line is busy…
wait until idle and transmit immediately
Collisions

The remote side may A B

send its frame before it (a)


hears the frame currently
being sent A B

Both sides detect an idle (b)


line
Due to the propagation A B

delay (c)

For A to detect the


collision A B

Collisions can only be (d)

detected during
transmission
51.2us •10Mbps = 64
bytes
Upon Collision

Send 32 jam bits, then stop transmitting frame


To ensure other hosts to detect conllision
minimum frame is 64 bytes (header + 46 bytes
of data)
delay and try again: exponential backoff
1st time: 0 or 51.2us selected at random
2nd time: 0, 51.2, or 102.4us
nth time: k x 51.2us, for randomly selected
k=0..2n - 1
give up after several tries (usually 16)
Wireless LANs

IEEE 802.11
Bandwidth: 1 - 11 Mbps
Physical Media
diffused infrared (10m)
Diffused: the sender do not need a clear line of sight.
spread spectrum radio (2.4GHz): 11 Mbps  54Mbps
Wireless LAN configuration

A B C
Laptops

radio obs truction


Wireless
LAN
Palmtop D E

Server Bas e station/


ac cess point

LAN
Infrastructure mode

fixed
terminal
mobile terminal

infrastructure
network

access point
application application
TCP TCP
IP IP
LLC LLC LLC
802.11 MAC 802.11 MAC 802.3 MAC 802.3 MAC
802.11 PHY 802.11 PHY 802.3 PHY 802.3 PHY
Supporting Mobility

Case 1: ad hoc networking


Case 2: access points (AP)
Tethered
each mobile node associates with an AP (base
station)
Mobile nodes sends to AP first; AP forwards

Distribution system

AP-1 AP-3
AP-2 F
A B G
H

C E
D
Collisions Avoidance

Similar to Ethernet: Wait until link idle


Problem: hidden and exposed nodes
A  C; C  B;
Collides at B
A, C cannot detect: hidden nodes
B  A; C  D;
C assumes collision A B C D

Actually no collision at A or D

Cannot (listen) detect collision when transmit


802.11 MAC

Priorities
defined through different inter frame spaces
no guaranteed, hard priorities
SIFS (Short Inter Frame Spacing)
highest priority, for ACK, CTS, polling response
PIFS (PCF IFS)
medium priority, for time-bounded service using PCF
DIFS (DCF, Distributed Coordination Function IFS)
lowest priority, for asynchronous data service

DIFS DIFS
PIFS
SIFS
medium busy contention next frame

t
direct access if
medium is free  DIFS
802.11 CSMA/CA
contention window
(randomized back-off
DIFS DIFS
mechanism)

medium busy next frame

direct access if t
medium is free  DIFS slot time

station ready to send starts sensing the medium (Carrier Sense based
on CCA, Clear Channel Assessment)
if the medium is free for the duration of an Inter-Frame Space (IFS), the
station can start sending (IFS depends on service type)
if the medium is busy, the station has to wait for a free IFS, then the
station must additionally wait a random back-off time (collision
avoidance, multiple of slot-time)
if another station occupies the medium during the back-off time of the
station, the back-off timer stops (fairness)
802.11 CSMA/CA: contention resolution

DIFS DIFS DIFS DIFS


boe bor boe bor boe busy
station1

boe busy
station2

busy
station3

boe busy boe bor


station4

boe bor boe busy boe bor


station5
t

busy medium not idle (frame, ack etc.) boe elapsed backoff time

packet arrival at MAC bor residual backoff time


802.11 CSMA/CA: detailed

Sending unicast packets


station has to wait for DIFS before sending data
receivers acknowledge at once (after waiting for SIFS) if the packet
was received correctly (CRC)
automatic retransmission of data packets in case of transmission
errors

DIFS
data
sender
SIFS
ACK
receiver
DIFS
other data
stations t
waiting time contention
Multiple Access with Collision Avoidance (MACA)

Sender transmits RequestToSend (RTS) frame


Specifying how long to hold the medium
Receiver replies with ClearToSend (CTS) frame
Neighbors…
see CTS: keep quiet
see RTS but not CTS: receiver cannot hear me, ok to
transmit
Receive sends ACK when has frame
neighbors silent until see ACK
Collisions
no collisions detection
known when don’t receive CTS or ACK
The cost of collision with RTS/CTS is much smaller
exponential backoff
802.11: RTS & CTS

Sending unicast packets


station can send RTS with reservation parameter after waiting for DIFS
(reservation determines amount of time the data packet needs the medium)
acknowledgement via CTS after SIFS by receiver (if ready to receive)
sender can now send data at once, acknowledgement via ACK
other stations store medium reservations distributed via RTS and CTS

DIFS
RTS data
sender
SIFS SIFS
CTS SIFS ACK
receiver

NAV (RTS) DIFS


other NAV (CTS) data
stations
t
defer access contention
Mobility (cont)

Scanning (selecting an AP)


node sends Probe frame
all AP’s w/in reach reply with ProbeResponse frame
node selects one AP; sends it AssociateRequest
frame
AP replies with AssociationResponse frame
When
active: when join or move
Signal with old AP weakened
new AP informs old AP via tethered network
passive: AP periodically sends Beacon frame

You might also like