Date post: | 15-Jan-2016 |
Category: |
Documents |
Upload: | nevaeh-oare |
View: | 214 times |
Download: | 0 times |
CSE331:Introduction to Networksand Security
Lecture 10
Fall 2002
CSE331 Fall 2002 2
Announcements
• HW 2 Graded– Mean 82– Pick up after class
CSE331 Fall 2002 3
Recap
• Domain Name System• IPv4 Routing
– RIP – Routing Information Protocol– OSPF – Open Shortest Path First
CSE331 Fall 2002 4
Today
• Interdomain Routing• IPv6• UDP & TCP
CSE331 Fall 2002 5
Interdomain Routing
• EGP - Exterior Gateway Protocol– Early; constrained Internet to tree and hence
shares some problems of bridging (scalability, path exploitation, etc. ….. )
Internet tree structure circa 1990.
CSE331 Fall 2002 6
Backbone Service Provider
Today’s Multibackbone Internet
Backbone Service ProviderBackbone Service
Provider
Consumer ISP Consumer ISP
Consumer ISP
Large Corporation
Large Corporation
Small Company
Peering point
CSE331 Fall 2002 7
BGP - Border Gateway Protocol
• Arbitrary topology• Interconnected of Administrative Domains
– local traffic: originates or terminates in A.D.– transit traffic: passes through– stub: one A.D.-A.D. link– multihomed: multiple A.D. links, no transit– transit: connections to other A.D.s; carry transit
CSE331 Fall 2002 8
BGP Continued
• AD Connectivity– A border gateway is an IP router that forwards
packets between A.D.s– A.D. has one “BGP speaker”
• Border Gateway Protocol– Advertises reachability, not costs– Advertises complete paths between A.D.s
• Needed for policy decisions like “Use provider B”• Helps detect loops
– Not LSP or DV.– Router state ~# A.D.s, hence large
CSE331 Fall 2002 9
Next Generation IP (IPv6 or IPng)
• Lots of addresses (128 bits)• Real-time• Security• Autoconfiguration• Mobile hosts and other enhanced routing
functions
CSE331 Fall 2002 10
Packet Format
Next Header/Data
Ver. Prio FlowLabel
PayloadLEN NextHeader HopLimit
Source Address (128 bits)
Destination Address (128 bits)
0 31
CSE331 Fall 2002 11
Protocol Stack Revisited
Application
Presentation
Session
Transport
Network
Data Link
Physical
UDP and TCP/IP
So far…
CSE331 Fall 2002 12
Application vs. Network
Application Needs Network Char.
Reliable, Ordered, Single-Copy Message Delivery
Drops , Duplicates and Reorders Messages
Arbitrarily large messages
Finite message size
Allows Flow Control by Receiver
Arbitrary Delay
Supports multiple applications per-host
…
CSE331 Fall 2002 13
User Datagram Protocol (UDP)
• Simplest transport-layer protocol• Just exposes IP packet functionality to
application level• Ports identify sending/receiving process
– Demultiplexing information– (port, host) pair identifies a network process
SrcPort DestPort
Length Checksum
IP Packet Data
0 16 31
CSE331 Fall 2002 14
UDP End-to-End Model
• Multiplexing/Demultiplexing with Port number
UDP Sender(Multiplexer)
UDP Receiver(Demultiplexer)
Application ApplicationApplication Application
CSE331 Fall 2002 15
Using Ports
• Client contacts Server at a well-known port– DNS: port 53– POP3: port 110– Unix talk : port 517– In unix, ports are listed in /etc/services
• Sometimes Client and Server agree on a different port for subsequent communication
• Ports are an abstraction– Implemented differently on different OS’s– Typically a message queue
CSE331 Fall 2002 16
Transmission Control Protocol (TCP)
• Most widely used protocol for reliable byte streams– Reliable, in-order delivery of a stream of bytes– Full duplex: pair of streams, one in each direction– Flow and congestion control mechanisms– Like UDP, supports ports
• Built on top of IP (hence TCP/IP)
CSE331 Fall 2002 17
TCP End-to-End Model
• Buffering corrects errors but may introduce delays
Application ApplicationApplication Application
TCP Sender:Send Buffers
TCP ReceiverReceive Buffers
segment segmentsegment
segment
CSE331 Fall 2002 18
Packet Format
• Flags– SYN– FIN– RESET– PUSH– URG– ACK
• Fields
SequenceNum
SrcPort DstPort
Options (variable)
Checksum UrgPtr
HL 0 Flags Advert.Wind.
Acknowledgment
0 15 31
DATA
CSE331 Fall 2002 19
Three-Way Handshake
CSE331 Fall 2002 20
TCP State Transitions
CSE331 Fall 2002 21
TCP Receiver
• Maintains a buffer from which application reads
• Advertises < buffer size as the window for sliding window
• Responds with Acknowledge and AdvertisedWindow on each send; updates byte counts when data O.K.
• Application blocked until read() O.K.
CSE331 Fall 2002 22
TCP Sender
• Maintains a buffer; sending application is blocked until room in the buffer for its write
• Holds data until acknowledged by receiver as successfully received
• Implement window expansion and contraction; note difference between flow and congestion control
CSE331 Fall 2002 23
Flow vs. Congestion Control
• Flow control protects the recipient from being overwhelmed.
• Congestion control protects the network from being overwhelmed.
CSE331 Fall 2002 24
TCP Congestion Control
• Additive Increase / Multiplicative Decrease• Slow Start• Fast Retransmit and Fast Recovery
CSE331 Fall 2002 25
Increase and Decrease
• A value CongestionWindow is used to control the number of unacknowledged transmissions.
• This value is increased linearly until timeouts for ACKs are missed.
• When timeouts occur, CongestionWindow is decreased by half to reduce the pressure on the network quickly.
• The strategy is called “additive increase / multiplicative decrease”.
CSE331 Fall 2002 26
Additive Increase
CSE331 Fall 2002 27
TCP Sawtooth Pattern
Time
KB
CSE331 Fall 2002 28
Slow Start
• Sending the entire window immediately could cause a traffic jam in the network.
• Begin “slowly” by setting the congestion window to one packet.
• When acknowledgements arrive, double the congestion window.
• Continue until ACKs do not arrive or flow control dominates.
CSE331 Fall 2002 29
Slow Start