程序代写CS代考 Week 7: Transport Layer Internet Technologies COMP90007 – cscodehelp代写

Week 7: Transport Layer Internet Technologies COMP90007
Lecturer: Semester 2, 2021
© University of Melbourne 2020
1

Introduction to Instructor
Prof
Since June 2021: Melbourne Connect Chair of Digital Innovation for Society
From 2010-2021: Prof at Monash University
(2016-2021 Head of Department of Electrical and Computer Systems Engineering)
2008-2010 Lecturer in Information Engineering at University of Cambridge 2004-2008 PhD at Curtin University (Perth, WA)
1985-1988 BA Mathematics, University of Cambridge
Areas of Interest: Computer Vision, Robotics, Machine Learning
2

Layered Network
Application Layer
Transport Layer
Network Layer
Data Link Layer Physical Layer
Tom
3

Transport Layer Function
n Main function
n provide efficient, reliable & cost-effective data transmission service to the processes in the application layer…independent of physical or data networks
n Recall: To Achieve this
q It calls services provided by the network layer
4

Transport Layer Services
n Transport Layer Services provide interfaces between the Application Layer and the Network Layer
n Transport Entities (the hardware or software which actually does the work) can exist in multiple locations:
n Where and where it should not be (but sometimes is)? q OS kernel
q System library (library package bound into network applications)
n Not so much…
q User process
q Network interface card
5

Services Contd.
n Transport layer adds reliability to the network layer q Offers connectionless (e.g., UDP) in addition to connection-
oriented (e.g, TCP) services to applications
n Relationship between network, transport and application layers:
6

Transport Layer and Network Layer Services Compared
n If Transport and Network layers are so similar, why are there two layers?
n Transport layer code runs entirely on hosts, Network layer code runs almost entirely on routers…..
n Users have no real control over the network layer – Transport layer: we can improve QoS
n Transport layer fixes reliability problems caused by the Network layer (e.g., delayed, lost or duplicated packets)
7

Position of the Transport Layer
n The Transport Layer occupies a key position in
the layer hierarchy because it clearly delineates
q providers of data transmissions services n at the network, data link, and physical layers
q users of reliable data transmission services n at the application layer
n In particular, users commonly access connection-oriented transport services for a reliable service on top of an unreliable network
8

Example:
Your First Network (Pseudo)Code
Socket A_Socket = createSocket(“TCP”); connect(A_Socket, 128.255.16.0, 80); send(A_socket, “My first message!”); disconnect(A_socket);
… there is also a server component for this client that runs on another host…
9

Features of a Simple Transport Layer
n Abstraction and primitives provide a simpler API for application developers independent of network layer
10

Transport Layer Encapsulation
n Abstract representation of messages sent to and from transport entities
q Transport Protocol Data Unit (TPDU)
n Encapsulation of TPDUs transport layer units to network layer units (to frames in data layer units)
Segment
11

Transport Service Primitives/ Segments
n Primitives that applications might call to transport data for a simple connection-oriented service:
q Server executes LISTEN
q Client executes CONNECT
n Sends CONNECTION REQUEST TPDU to Server
n Receives CONNECTION ACCEPTED TPDU to Client
q Data exchanged using SEND and RECEIVE q Either party executes DISCONNECT
Segment
12

Simple Connection Illustrated
n Solid lines (right) show client state sequence
n Dashed lines (left) show server state sequence
n Transitions in italics are due to segment arrivals
13

Elements of Transport Protocols
q Connection establishment q Connection release
q Addressing
14

Connection Establishment in the Real World
n When networks can lose, store and duplicate packets, connection establishment can be complicated
q congested networks may delay acknowledgements
q incurring repeated multiple transmissions q any of which may not arrive at all or out of
sequence – delayed duplicates
q applications degenerate with such congestion (eg. imagine duplication of bank withdrawals)
15

Reliable Connection Establishment
n Key challenge is to ensure reliability even though packets may be lost, corrupted, delayed, and duplicated
q Don’t treat an old or duplicate packet as new q (Use repeat requests and checksums for
loss/corruption) n Approach:
q Don’t reuse sequence numbers within maximum segment lifetime q Use a sequence number space large enough that it will not wrap,
even when sending at full rate
q Three-way handshake for establishing connection..
16

Three Way Handshake
n Three-way handshake
used for initial packet
q Since no state from previous connection
q Both hosts contribute fresh seq. numbers
q CR = Connect Request
17

Three Way Handshake Contd.
n Three-way handshake protects against odd cases:
a)
a) Duplicate CR. Spurious ACK does not connect
b) Duplicate CR and DATA. Same plus DATA will be rejected (wrong ACK).
X
b)
X
X
18

Leave a Reply

Your email address will not be published. Required fields are marked *