Sei sulla pagina 1di 19

Network Protocol Architecture

Layered Protocols for Networking


Application
layer Application
Presentation layer
layer
Session
layer Transport
layer
Transport
layer
Network Network
layer layer
Data link
layer Link layer
Physical
layer Physical layer

ISO/OSI Reference Model TCP/IP Model


Why Layers?

• Divide and conquer: easier to design


• Mix and match: e.g., IP over wireless link
• Changes isolated
What each layer does

• Physical: bits (0/1), voltages, wires, pins


• Data Link: framing, error detection
• Network: addressing, routing
• Transport: end-to-end delivery, congestion
and flow control
• Application: specific to application need
The IP Hourglass

Application Layer HTTP, FTP, NNTP, SMTP,


telnet, ...

Transport Layer TCP, UDP


“Spanning layer”
Network Layer IP

Data Link Layer Ethernet,


FDDI, SONET

Physical Layer coax, twisted pair, fiber,


wireless, ...
Some Protocols in TCP/IP Suite
TCP/IP Model
end-to-end
Appl Appl

Trans end-to-end Trans


port port

Net Net point-to-point Net Net


work work work work

point-to-point
Link Link Link Link

Host A Router 1 Router 2 Host B


Message Flow
Appl Appl

Trans Trans
port port

Net Net Net Net


work work work work

Link Link Link Link

Host A Router 1 Router 2 Host B


Encapsulation
Data
Appl Appl

Data
Trans Trans
port port

Net Net Data Net Net


work work work work

Data
Link Link Link Link

Host A Router 1 Router 2 Host B


Example HTTP header

Data
HTTP HTTP
TCP header
TCP payload

Data
TCP TCP
IP header
IP payload
Data
IP IP IP IP

Frame payload
Data
Link Link Link Link
Frame trailer
Frame header

Host A Router 1 Router 2 Host B


Protocol Techniques

For bit corruption


– Parity
– Checksum
– CRC
For out-of-order delivery
– Sequence numbers
Duplication
– Sequence numbers

CS422 Part 9 15 Spring 1999


Protocol Techniques
(continued)

For lost packets


– Positive acknowledge and retransmission
For replay (excessive delay)
– Unique message ID
For data overrun
– Flow control

CS422 Part 9 16 Spring 1999


Flow Control

Needed because
– Sending computer system faster than receiving computer
– Sending application faster than receiving application
Related to buffering
Two forms
– Stop-and-go
– Sliding window

CS422 Part 9 17 Spring 1999


Stop-And-Go Flow Control

Sending side
– Transmits one packet
– Waits for signal from receiver
Receiving side
– Receives and consumes packet
– Transmits signal to sender
Inefficient

CS422 Part 9 18 Spring 1999


Sliding Window Flow Control

Receiving side
– Establishes multiple buffers and informs sender
Sending side
– Transmits packets for all available buffers
– Only waits if no signal arrives before transmission
completes
Receiving side
– Sends signals as packets arrive

CS422 Part 9 19 Spring 1999


Illustration Of Sliding
Window On Sending Side
window
12 11 10 9 8 7 6 5 4 3 2 1

(a)
still unsent already acknowledged

window
12 11 10 9 8 7 6 5 4 3 2 1

(b)

window
12 11 10 9 8 7 6 5 4 3 2 1

(c)

Window tells how many packets can be sent


Window moves as acknowledgements arrive
CS422 Part 9 20 Spring 1999
Performance

Stop-and-go
– Slow
– Useful only in special cases
Sliding window
– Fast
– Needed in high-speed network

CS422 Part 9 21 Spring 1999


Comparison Of Flow Control
computer 1 computer 2 computer 1 computer 2
send send
packet four
packets
send
ack send
four
acks
send
packet
done

send
ack

send
packet

send
ack

send
packet

send
ack

done

(a) (b)

CS422 Part 9 22 Spring 1999


Why Sliding Window?

Simultaneously
– Increase throughput
– Control flow
Speedup

Tw = min (B, Tg × W)

where
* B is underlying hardware bandwidth,
* Tw is sliding window throughput
* Tg is stop-and-go throughput
* W is the window size.
CS422 Part 9 23 Spring 1999

Potrebbero piacerti anche