L.O: STUDENTS WILL BE ABLE TO EXPLAIN
HOW TRANSMISSION CONTROL
PROTOCOL (TCP) GUARANTEES RELIABLE
TRANSMISSION.
20-90 minutes (<1 class period, unless Take It Further is used)
DO NOW: READ
Unit 4 Lab 3: Communication
Protocols, Page 2
When any information is sent over the
internet, it is NOT sent WHOLE and
DIRECTLY to you like in this picture..
When you send a message over the Internet,
your computer divides it into small chunks
called packets that it sends individually, each
on its own path.
A packet can include any kind of
data: text, numbers, lists, etc.
Computers, servers, and routers are fairly
reliable, but every once in a while a packet will
be lost, and devices on the Internet need to
tolerate these faults.
The Transmission Control Protocol (TCP) guarantees
reliable transmission by breaking messages into packets,
keeping track of which packets have been received
successfully, resending any that have been lost, and
specifying the order for reassembling the data on the
other end. This process is what makes the Internet a
packet switching network.
• The computers (including servers) at the two endpoints of a
communication run the Transmission Control Protocol (TCP) that
divides up the packets and guarantees reliable transmission.
• The routers at every connection-point on the Internet run the
Internet Protocol (IP) that transmits packets from one IP address to
another (not caring that sometimes a packet will be lost and not
knowing anything about the purpose or meaning of a packet).
Load this project. It provides a simulation
of unreliable data transmission by
Internet Protocol.
• Click the green flag to initialize the incoming
transmission variables before each experiment.
• Click either character to enter a message for it to
send to the other one.
In this simulation, the complete message
is a string of text that is divided into
packets of one letter each. In reality, the
packet length is not so strictly limited
and messages are usually much longer.
TCP works by including additional information along
with each packet so that the receiving computer can
keep track of how many packets it has received, re-
request any missing packets, and reorder the packets
to reconstruct the original message.
Now let’s Read Blown to Bits pages 306-
309.
Take it further (extension
activities)
A. Build a simple TCP. Resolve the unreliability so
that messages are received reliably despite the
limitations of IP packets. You'll need to change
the definitions of:
Do not change the definition of
That block simulates the unreliable network. You could
"solve" the problem by rewriting this block to simulate a
perfect network instead of an imperfect one, but that misses
the point.
To solve this problem, you'll need a way to keep track of the
order of the data and a way to re-request missing packets:
First, solve the problem of packets arriving out of
order. You can include extra header information in
addition to the packet data in order to help the
receiver reconstruct the message. This will require
cooperation by both sender and receiver (that is,
changes to both grey blocks).
Then, solve the problem of packets not arriving
at all. That is, make the transmission reliable
even though IP is unreliable. This, too, will
require changing both sender and receiver.
Enduring Understandings:
• EU 6.1 The Internet is a network
of autonomous systems.
• EU 6.2 Characteristics of the
Internet influence the systems
built on it.
Learning Objectives:
1. LO 6.1.1 Explain the abstractions in the
Internet and how the Internet functions.
[P3]
2. LO 6.2.1 Explain characteristics of the
Internet and the systems built on it. [P5]
3. LO 6.2.2 Explain how the characteristics of
the Internet influence the systems built on
it. [P4]
Essential Knowledge:
• EK 6.1.1B An end-to-end architectures facilitates
connecting new devices and networks on the
Internet.
• EK 6.1.1C Devices and networks that make up the
Internet are connected and communicate using
addresses and protocols.
• EK 6.1.1D The Internet and the systems built on it
facilitate collaboration.
• EK 6.1.1E Connecting new devices to the Internet is
enabled by assignment of an Internet protocol (IP)
address.
Essential Knowledge:
• EK 6.1.1F The Internet is built on evolving standards,
including those for addresses and names.
• EK 6.1.1H The number of devices that could use an IP
address has grown so fast that a new protocol (IPv6)
has been established to handle routing of many more
devices.
• EK 6.1.1I Standards such as hypertext transfer
protocol (HTTP), IP, and simple mail transfer protocol
(SMTP) are developed and overseen by the Internet
Engineering Task Force (IETF).
• EK 6.2.1A The Internet and the systems built on it are
hierarchical and redundant.
Essential Knowledge:
• EK 6.2.1D Routing on the Internet is fault tolerant
and redundant.
• EK 6.2.2B The redundancy of routing (i.e., more
than one way to route data) between two points
on the Internet increases the reliability of the
Internet and helps it scale to more devices and
more people.
• EK 6.2.2D Interfaces and protocols enable
widespread use of the Internet.
• EK 6.2.2E Open standards fuel the growth of the
Internet.
Essential Knowledge:
• EK 6.2.2F The Internet is a packet-switched
system through which digital data is sent by
breaking the data into blocks of bits called
packets, which contain both the data being
transmitted and control information for
routing the data.
• EK 6.2.2G Standards for packets and routing
include transmission control
protocol/Internet protocol (TCP/IP).
Essential Knowledge:
• EK 6.2.2H Standards for sharing information
and communicating between browsers and
servers on the Web include HTTP and secure
sockets layer/transport layer security
(SSL/TLS).
• EK 6.3.1M Certificate authorities (CAs) issue
digital certificates that validate the
ownership of encrypted keys used in secured
communication and are based on a trust
model.

Lesson4.9 c u4l3 tcp (transmission control protocol)

  • 1.
    L.O: STUDENTS WILLBE ABLE TO EXPLAIN HOW TRANSMISSION CONTROL PROTOCOL (TCP) GUARANTEES RELIABLE TRANSMISSION. 20-90 minutes (<1 class period, unless Take It Further is used) DO NOW: READ Unit 4 Lab 3: Communication Protocols, Page 2
  • 2.
    When any informationis sent over the internet, it is NOT sent WHOLE and DIRECTLY to you like in this picture.. When you send a message over the Internet, your computer divides it into small chunks called packets that it sends individually, each on its own path. A packet can include any kind of data: text, numbers, lists, etc. Computers, servers, and routers are fairly reliable, but every once in a while a packet will be lost, and devices on the Internet need to tolerate these faults.
  • 3.
    The Transmission ControlProtocol (TCP) guarantees reliable transmission by breaking messages into packets, keeping track of which packets have been received successfully, resending any that have been lost, and specifying the order for reassembling the data on the other end. This process is what makes the Internet a packet switching network. • The computers (including servers) at the two endpoints of a communication run the Transmission Control Protocol (TCP) that divides up the packets and guarantees reliable transmission. • The routers at every connection-point on the Internet run the Internet Protocol (IP) that transmits packets from one IP address to another (not caring that sometimes a packet will be lost and not knowing anything about the purpose or meaning of a packet).
  • 5.
    Load this project.It provides a simulation of unreliable data transmission by Internet Protocol. • Click the green flag to initialize the incoming transmission variables before each experiment. • Click either character to enter a message for it to send to the other one. In this simulation, the complete message is a string of text that is divided into packets of one letter each. In reality, the packet length is not so strictly limited and messages are usually much longer.
  • 6.
    TCP works byincluding additional information along with each packet so that the receiving computer can keep track of how many packets it has received, re- request any missing packets, and reorder the packets to reconstruct the original message.
  • 7.
    Now let’s ReadBlown to Bits pages 306- 309.
  • 8.
    Take it further(extension activities) A. Build a simple TCP. Resolve the unreliability so that messages are received reliably despite the limitations of IP packets. You'll need to change the definitions of:
  • 9.
    Do not changethe definition of That block simulates the unreliable network. You could "solve" the problem by rewriting this block to simulate a perfect network instead of an imperfect one, but that misses the point. To solve this problem, you'll need a way to keep track of the order of the data and a way to re-request missing packets: First, solve the problem of packets arriving out of order. You can include extra header information in addition to the packet data in order to help the receiver reconstruct the message. This will require cooperation by both sender and receiver (that is, changes to both grey blocks). Then, solve the problem of packets not arriving at all. That is, make the transmission reliable even though IP is unreliable. This, too, will require changing both sender and receiver.
  • 10.
    Enduring Understandings: • EU6.1 The Internet is a network of autonomous systems. • EU 6.2 Characteristics of the Internet influence the systems built on it.
  • 11.
    Learning Objectives: 1. LO6.1.1 Explain the abstractions in the Internet and how the Internet functions. [P3] 2. LO 6.2.1 Explain characteristics of the Internet and the systems built on it. [P5] 3. LO 6.2.2 Explain how the characteristics of the Internet influence the systems built on it. [P4]
  • 12.
    Essential Knowledge: • EK6.1.1B An end-to-end architectures facilitates connecting new devices and networks on the Internet. • EK 6.1.1C Devices and networks that make up the Internet are connected and communicate using addresses and protocols. • EK 6.1.1D The Internet and the systems built on it facilitate collaboration. • EK 6.1.1E Connecting new devices to the Internet is enabled by assignment of an Internet protocol (IP) address.
  • 13.
    Essential Knowledge: • EK6.1.1F The Internet is built on evolving standards, including those for addresses and names. • EK 6.1.1H The number of devices that could use an IP address has grown so fast that a new protocol (IPv6) has been established to handle routing of many more devices. • EK 6.1.1I Standards such as hypertext transfer protocol (HTTP), IP, and simple mail transfer protocol (SMTP) are developed and overseen by the Internet Engineering Task Force (IETF). • EK 6.2.1A The Internet and the systems built on it are hierarchical and redundant.
  • 14.
    Essential Knowledge: • EK6.2.1D Routing on the Internet is fault tolerant and redundant. • EK 6.2.2B The redundancy of routing (i.e., more than one way to route data) between two points on the Internet increases the reliability of the Internet and helps it scale to more devices and more people. • EK 6.2.2D Interfaces and protocols enable widespread use of the Internet. • EK 6.2.2E Open standards fuel the growth of the Internet.
  • 15.
    Essential Knowledge: • EK6.2.2F The Internet is a packet-switched system through which digital data is sent by breaking the data into blocks of bits called packets, which contain both the data being transmitted and control information for routing the data. • EK 6.2.2G Standards for packets and routing include transmission control protocol/Internet protocol (TCP/IP).
  • 16.
    Essential Knowledge: • EK6.2.2H Standards for sharing information and communicating between browsers and servers on the Web include HTTP and secure sockets layer/transport layer security (SSL/TLS). • EK 6.3.1M Certificate authorities (CAs) issue digital certificates that validate the ownership of encrypted keys used in secured communication and are based on a trust model.

Editor's Notes

  • #2 Page 2: Reliable Transmission on Unreliable Networks: TCP. Understand that TCP provides reliability of communication through counting, labeling, and ordering packets and implementing verification. Page 2: Reliable Transmission on Unreliable Networks: TCP. Discussion: This lab page includes a simulation of unreliable data transmission by Internet Protocol. After students have had a chance to explore the simulation, ask them to share their ideas for how to change the project to transmit data reliably. TCP sends header data along with each packet so that the receiving computer can reorder the packets and identify if there are any missing. How might this be accomplished in Snap!? Students can try this for themselves in the "Take It Further" section. Discussion Questions: What is redundancy? How does it make the Internet more reliable? What is a packet-switched network? What does a packet contain? How does a packet-switched system work? (This is addressed in the code.org video and also on page 302 of Blown to Bits.)
  • #3 Page 2: Reliable Transmission on Unreliable Networks: TCP. Understand that TCP provides reliability of communication through counting, labeling, and ordering packets and implementing verification. Page 2: Reliable Transmission on Unreliable Networks: TCP. Discussion: This lab page includes a simulation of unreliable data transmission by Internet Protocol. After students have had a chance to explore the simulation, ask them to share their ideas for how to change the project to transmit data reliably. TCP sends header data along with each packet so that the receiving computer can reorder the packets and identify if there are any missing. How might this be accomplished in Snap!? Students can try this for themselves in the "Take It Further" section. Discussion Questions: What is redundancy? How does it make the Internet more reliable? What is a packet-switched network? What does a packet contain? How does a packet-switched system work? (This is addressed in the code.org video and also on page 302 of Blown to Bits.)
  • #4 Page 2: Reliable Transmission on Unreliable Networks: TCP. The project included in this page simulates unreliable packet transmission using IP for students to consider how they might address the unreliability. More advanced students can attempt to develop their own version of TCP in the Take It Further section at the bottom of the page. That's a challenging programming project, but even students who are not completely successful at it will gain a deeper appreciation of the importance of TCP. In the TCP project, students are asked to solve two problems: Packets may arrive out of order. (Solution: serial numbers in the packet headers.) Some packets may not arrive at all. (Solution: a protocol by which the sender knows that a packet needs to be resent if not acknowledged.) They are not asked to solve other problems that the real TCP confronts: Packets may arrive, but with incorrect contents. (Solution: redundant data in the header is computed from the correct contents so that if the data are corrupted, the receiver will recompute the header information and detect a mismatch.) A naive implementation of TCP is likely to cause network congestion as packets fly back and forth between the two computers involved. The real TCP includes congestion control algorithms to mitigate this problem. IP knows how to send a packet to another computer, but that isn't generally good enough; the remote computer will typically have several programs waiting for communication over the net, and so TCP implements the idea of a socket that belongs to a specific program running on the remote computer. Consider discussing those issues with interested students.
  • #5 Page 2: Reliable Transmission on Unreliable Networks: TCP. The project included in this page simulates unreliable packet transmission using IP for students to consider how they might address the unreliability. More advanced students can attempt to develop their own version of TCP in the Take It Further section at the bottom of the page. That's a challenging programming project, but even students who are not completely successful at it will gain a deeper appreciation of the importance of TCP. In the TCP project, students are asked to solve two problems: Packets may arrive out of order. (Solution: serial numbers in the packet headers.) Some packets may not arrive at all. (Solution: a protocol by which the sender knows that a packet needs to be resent if not acknowledged.) They are not asked to solve other problems that the real TCP confronts: Packets may arrive, but with incorrect contents. (Solution: redundant data in the header is computed from the correct contents so that if the data are corrupted, the receiver will recompute the header information and detect a mismatch.) A naive implementation of TCP is likely to cause network congestion as packets fly back and forth between the two computers involved. The real TCP includes congestion control algorithms to mitigate this problem. IP knows how to send a packet to another computer, but that isn't generally good enough; the remote computer will typically have several programs waiting for communication over the net, and so TCP implements the idea of a socket that belongs to a specific program running on the remote computer. Consider discussing those issues with interested students.
  • #7 Page 2: Reliable Transmission on Unreliable Networks: TCP. The project included in this page simulates unreliable packet transmission using IP for students to consider how they might address the unreliability. More advanced students can attempt to develop their own version of TCP in the Take It Further section at the bottom of the page. That's a challenging programming project, but even students who are not completely successful at it will gain a deeper appreciation of the importance of TCP. In the TCP project, students are asked to solve two problems: Packets may arrive out of order. (Solution: serial numbers in the packet headers.) Some packets may not arrive at all. (Solution: a protocol by which the sender knows that a packet needs to be resent if not acknowledged.) They are not asked to solve other problems that the real TCP confronts: Packets may arrive, but with incorrect contents. (Solution: redundant data in the header is computed from the correct contents so that if the data are corrupted, the receiver will recompute the header information and detect a mismatch.) A naive implementation of TCP is likely to cause network congestion as packets fly back and forth between the two computers involved. The real TCP includes congestion control algorithms to mitigate this problem. IP knows how to send a packet to another computer, but that isn't generally good enough; the remote computer will typically have several programs waiting for communication over the net, and so TCP implements the idea of a socket that belongs to a specific program running on the remote computer. Consider discussing those issues with interested students.