Transport Protocols - PowerPoint PPT Presentation

1 / 33
About This Presentation
Title:

Transport Protocols

Description:

11. Internet transport-layer protocols. reliable, in-order delivery (TCP) ... Used by DNS, SNMP and streaming apps like Realplayer and MS Windows Media Player ... – PowerPoint PPT presentation

Number of Views:87
Avg rating:3.0/5.0
Slides: 34
Provided by: adria231
Category:

less

Transcript and Presenter's Notes

Title: Transport Protocols


1
Transport Protocols
Lesson 12 NETS2150/2850 http//www.ug.cs.usyd.edu.
au/nets2150/
School of Information Technologies
2
Lesson Outcome
  • understand principles behind transport layer
    services
  • multiplexing/demultiplexing
  • reliable data transfer
  • flow control
  • congestion control
  • learn about transport layer protocols in the
    Internet
  • UDP connectionless transport
  • TCP connection-oriented transport

3
Position of transport layer
4
Transport layer duties
5
Transport services and protocols
  • provide logical communication between app
    processes running on different hosts
  • transport protocols run in end systems (not in
    ISs)
  • send side breaks app messages into segments,
    passes to network layer
  • rcv side reassembles segments into messages,
    passes to app. layer

6
Transport vs. Network Layer
  • network layer logical communication between
    hosts
  • transport layer logical communication between
    processes
  • relies on, enhances, network layer services

7
Types of data deliveries
8
TCP UDP
  • Transmission Control Protocol
  • Connection oriented
  • RFC 793
  • User Datagram Protocol (UDP)
  • Connectionless
  • RFC 768
  • Stream Control Transmission Protocol (SCTP) for
    VoIP

Some protocols in the TCP/IP protocol suite
9
IP addresses port numbers
Port Numbers
IP addresses versus port numbers
10
Well-known ports
Port Protocol Description
   7 Echo Echoes a received datagram back to the sender
    9 Discard Discards any datagram that is received
  11 Users Active users
  13 Daytime Returns the date and the time
  17 Quote Returns a quote of the day
  19 Chargen Returns a string of characters
  20 FTP, Data File Transfer Protocol (data connection)
  21 FTP, Control File Transfer Protocol (control connection)
  23 TELNET Terminal Network
  25 SMTP Simple Mail Transfer Protocol
  53 DNS Domain Name Server
  67 BOOTP Bootstrap Protocol
  79 Finger Finger
  80 HTTP Hypertext Transfer Protocol
111 RPC Remote Procedure Call
161 SNMP Simple Network Management Protocol
11
Internet transport-layer protocols
  • reliable, in-order delivery (TCP)
  • congestion control
  • flow control
  • connection setup
  • unreliable, unordered delivery UDP
  • extension of best-effort IP

12
Issues in a Simple Transport Protocol
  • Multiplexing and Addressing
  • Flow Control
  • Connection establishment and termination

13
Socket Address
Process-to-process delivery needs two IDs at each
end - IP address - Port number
14
Multiplexing/Demultiplexing
15
How Demultiplexing Works
  • host receives IP packets
  • each packet has source IP address, destination IP
    address
  • each packet carries 1 transport-layer segment
  • each segment has source, destination port number
  • host uses IP addresses port numbers to direct
    segment to appropriate socket

16
Connectionless demultiplexing
  • UDP socket identified by two-tuple
  • (dest IP address, dest port number)
  • When host receives UDP segment
  • checks destination port number in segment
  • directs UDP segment to socket with that port
    number
  • IP packets with different source IP addresses
    and/or source port numbers directed to same socket

17
Connectionless demux (cont)
Eg. UDP
SP 9157
client IP A
Client IPB
DP 6428
server IP C
SP provides return address
18
Connection-oriented demux
  • TCP socket identified by 4-tuple
  • source IP address
  • source port number
  • dest IP address
  • dest port number
  • recv host uses all four values to direct segment
    to appropriate socket
  • Server host may support many simultaneous TCP
    sockets
  • each socket identified by its own 4-tuple
  • E.g. Web servers have different sockets for each
    connecting client

19
Connection-oriented demux (cont)
Eg. TCP
SP 9157
client IP A
Client IPB
DP 80
server IP C
20
TCP Flow Control
  • receive side of TCP connection has a receive
    buffer
  • speed-matching service matching the send rate to
    the receiving apps drain rate
  • app process may be slow at reading from buffer

J. Kurose and Ross, Computer Networking
21
Connection Establishment and Termination
  • Allow each end to know the other exists
  • Negotiation of optional parameters by mutual
    agreement (3-way handshake)
  • Triggers allocation of transport entity resources
  • Only in TCP

22
UDP User Datagram Protocol RFC 768
  • bare bones Internet transport protocol
  • Best-effort service, UDP segments may be
  • lost
  • delivered out of order to app
  • connectionless
  • no handshaking between UDP sender, receiver
  • each UDP segment handled independently of others
  • Why is there a UDP?
  • fast no connection establishment (which can add
    delay)
  • simple no connection state at sender, receiver
  • small segment header
  • no congestion control UDP can blast away as fast
    as desired

23
UDP (2)
  • often used for streaming multimedia apps
  • loss tolerant
  • other UDP uses
  • DNS (domain name resolution)
  • SNMP (network management)
  • Need to perform application-specific error
    recovery!

32 bits
source port
dest port
Length, in octets, including header
checksum
length
Application data (message)
UDP segment format
24
(No Transcript)
25
TCP Overview RFCs 793, 1122, 1323,
2018, 2581
  • point-to-point
  • one sender, one receiver
  • reliable, in-order
  • send receive buffers
  • full duplex data
  • bi-directional data flow in same connection
  • Specifies maximum segment size (MSS)
  • connection-oriented
  • handshaking (exchange of control msgs) inits
    sender, receiver state before data exchange
  • flow controlled
  • sender will not overwhelm receiver

26
TCP segment structure
URG urgent data (generally not used)
ACK ACK valid
PSH push data now (generally not used)
RST, SYN, FIN connection estab (setup,
teardown commands)
Internet checksum (as in UDP)
J. Kurose and Ross, Computer Networking
27
TCP seq. s and ACKs
  • Seq. s
  • byte stream number of first octet in segments
    data
  • ACKs
  • seq of next octet expected from other side
  • cumulative ACK

28
TCP Connection Management
  • Three way handshake
  • Step 1 client host sends TCP SYN segment to
    server
  • specifies initial seq
  • no data
  • Step 2 server host receives SYN, replies with
    SYNACK segment
  • server allocates buffers
  • specifies server initial seq.
  • Step 3 client receives SYNACK, replies with ACK
    segment, which may contain data
  • Recall TCP sender, receiver establish
    connection before exchanging data segments
  • initialize TCP variables
  • seq. s
  • buffers, flow control info (e.g. RcvWindow)

29
TCP Connection Management (cont.)
  • Closing a connection
  • Step 1 client end system sends TCP FIN control
    segment to server
  • Step 2 server receives FIN, replies with ACK.
    Closes connection, sends FIN.
  • Step 3 client receives FIN, replies with ACK.
  • Step 4 server, receives ACK. Connection closed.

30
TCP Connection Management (cont.)
Could be combined (3-way)
Setup Termination
31
Principles of Congestion Control
  • Congestion
  • informally too many sources sending too much
    data too fast for network to handle
  • different from flow control!!
  • manifestations
  • lost packets (buffer overflow at routers)
  • long delays (queueing in router buffers)
  • a top-10 problem!

32
TCP congestion control
  • There is no explicit feedback from network
  • Congestion inferred from end-system observed
    loss, delay
  • When this happens, TCP reduces its window size
  • Using CWnd and RcvWnd
  • More details in NETS3303/3603!

33
Summary
  • Transport layer establishes the
    process-to-process communication
  • TCP uses reliable, connection oriented approach
  • Used by FTP, HTTP, Telnet apps
  • UDP uses unreliable, connectionless approach
  • Used by DNS, SNMP and streaming apps like
    Realplayer and MS Windows Media Player
  • Stallings 20.1, 20.2 and 204.
Write a Comment
User Comments (0)
About PowerShow.com