throbber
| fap Pde Lpparoete j,
`
`James F. Kurose ® Keith W. Ross”
`
`1
`
`APPLE 1024
`Apple v. Ericsson
`IPR2022-00343
`
`APPLE 1024
`Apple v. Ericsson
`IPR2022-00343
`
`1
`
`

`

`—————
`
`
`
`240
`
`CHAPTER 3.
`
`*
`
`TRANSPORT LAYER
`
`provides error checking, it does not do anything to recover from an error. Some
`implementations of UDP simply discard the damaged segment; others pass the dam-
`aged segment to the application with a warning.
`That wraps up our discussion of UDP. We will soon see that TCP offers reliable
`data transfer to its applications as well as other services that UDP doesn’t offer. Natu-
`rally, TCP is also more complex than UDP. Before discussing TCP, however, it will be
`useful to step back and first discuss the underlying principles of reliable data transfer.
`
`34.4 Principles of Reliable Data Transfer
`
`In this section, we consider the problem ofreliable data transfer in a general con-
`text. This is appropriate since the problem of implementing reliable data transfer
`occurs not onlyat the transport layer, but also at the link layer and the application
`layer as well. The general problem is thus of central importance to networking.
`Indeed, if one had toidentify a “top-ten” list of fundamentally important problems
`in all of networking, this would be a candidate to lead the list. In the next section
`we'll examine TCP and show,in particular, that TCP exploits manyof the principles
`that we are about to describe.
`Figure 3.8 illustrates the framework for our study of reliable data transter. The
`service abstraction provided to the upper-layer entities is that of a reliable channel
`through which data can be transferred. With a reliable channel, no transferred data
`bits are corrupted (flipped from 0 to 1, or vice versa) or lost, and all are delivered in
`the order in which they were sent. This is precisely the service model offered by
`TCPto the Internet applications that invokeit.
`It is the responsibility of a reliable data transfer protocol to implement this
`service abstraction. This task is made difficult by the fact that the layer belowthe
`reliable data transfer protocol may be unreliable. For example, TCP is a reliable data
`transfer protocol that is implemented on top of an unreliable (IP) end-to-endnet-
`work layer. More generally, the layer beneath the two reliably communicating end
`points might consist of a single physical link (as in the case of a link-level data
`transfer protocol) or a global internetwork (as in the case ofa transport-level proto-
`col). For our purposes, however, we can view this lower layer simply as an unreli-
`able point-to-point channel.
`In this section, we will incrementally develop the sender and receiver sides of a
`reliable data transfer protocol, considering increasingly complex models of the under-
`lying channel. Figure 3.8(b) illustrates the interfaces for our data transfer protocol. The
`sending side of the data transfer protocol will be invoked from above bya call to
`rdt_send_( ). It will pass the data to be delivered to the upperlayerat the receiving
`side. (Here rdt standsfor reliable data transfer protocol and _sendindicates thatthe
`sending side of rdt is being called. The first step in developing any protocolis to
`
`choose a good name!) On the receiving side, rdt_rev( ) will be called when a packet
`
`2
`
`

`

`
`
`3.4
`
`*
`
`PRINCIPLES OF RELIABLE DATA TRANSFER
`
`24]
`
`
`
`Application
`layer
`
`Transport
`layer
`
`
`
`Unreliable channel
`
`EE8SLtwine atta0).RomesbteattsotaEsenna MMaoe aes
`
`le
`l=
`
`1
`
`Ss
`
`& ‘
`
`]
`a
`n

`BB7m
`Seke|
`
`ateueke
`
`
`
`
`
`deliverdata
`rdt send)
`
`
`Reliable data
`
`
`transfer protocol
`i-
`Reliable data
`
`
`transfer protocol
`
`
`(sending side)
`ir
`(receiving side}
`
`
`udt_send(})
`a
`rdt_rev()
`
`
`
`n
`Network
`s
`layer
`
`eee ne
`a. Provided service
`b. Service implementation
`
`Key:
`WBbata BRpacket
`Figure 3.8 ¢ Reliable data transfer: Service model and service
`implementation
`
`
`
`amives from the receiving side ofthe channel. When the rdt protocol wants to deliver
`to the upperlayer, it will do so by calling deliverdata( ). Inthe following
`t use the terminology “packet”rather than transport-layer “segment.” Because the
`developed in this section applies to computer networks in general and notjust to
`
`the Internet transport layer, the generic term “packet”is perhaps more appropriate here,
`In this section we consider only the case ofunidirectional data transfer, thatis,
`
`ita transfer from the sending to the receiving side. The case of reliable bidirectional
`is, full-duplex) data transfer is Conceptually no more difficult but considerably
`
`more tedious to explain. Although we consider only unidirectional data transfer, it is
`important to note that the sending and receiving sides of our protocolwill nonetheless
`meu’ to transmit packets in both directions, as indicated in Figure 3.8. We will see
`nortly that, in addition to exchanging packets containing the data to be transferred, the
`seniling and receiving sides ofrdt will also need to exchangecontrol packets back and
`
`
`
`3
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket