Download - TCP
![Page 1: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/1.jpg)
TCP
![Page 2: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/2.jpg)
Today’s topics
TCP Functions provided by TCP TCP’s error recovery TCP’s congestion control TCP performance analysis
Application Layer DNS FTP, Telnet, WWW browsing, email
Intranet Extranet
![Page 3: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/3.jpg)
TCP is a connection for the two end hosts
A B
TCP TCPFull duplex connection
Connectionless IP network (not aware of TCP connection)
![Page 4: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/4.jpg)
Functions provided by TCP
• Clocks• Buffer status• Sequencing packets• Duplication reminder• ACK generate• Retransmit lost packets
(reliable service)• Adapt transmission
speed (congestion control)
Sender Receiver
Data
ACK
![Page 5: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/5.jpg)
Connection established
![Page 6: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/6.jpg)
TCP Sliding window
Sender side (in bytes)……17 18 19 20 21 22 23 24 25 26 27 ……
![Page 7: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/7.jpg)
TCP header
Source Port # Destination P #
Sequence #
ACK #
Option
HL RES Flags Window Size
Checksum URG Pointer
DATA
Flags:
URG
ACK
PSH
RST
SYN
FIN
![Page 8: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/8.jpg)
UDP Header
Data
Length Checksum
Source Port Destination Port
![Page 9: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/9.jpg)
TCP Tunnel
If the sender launcher a new packet every time it receives an ACK, then it will deliver data at exactly the same rate of the bottleneck link.
![Page 10: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/10.jpg)
TCP bandwidth as a function of Window Size and RTT
TCP BW= WS/RTT
![Page 11: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/11.jpg)
Delayed ACK
Suppose that “delayed ACK” is set. When does the receiver send ACK upon receiving a packet? There is a data packet to send 200ms expires Receiver buffer increased by 2
segments (Thus one ACK is send for every other packet received)
Out of order packet received
![Page 12: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/12.jpg)
“Slow start” through the use of congestion window
Sender wants to be conservative, I.e. not to send a whole window-worth data: At the beginning of a new connection After a packet loss
This is called “slow start”, it uses a advertised window and congestion window.
![Page 13: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/13.jpg)
TCP throughput
TP = win/RTT, win=min (adv_win, cwnd)RTT includes propagation and queueing delaysBandwidth-Delay product: link_rate *2*propgation
![Page 14: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/14.jpg)
![Page 15: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/15.jpg)
传输层
传输层是计算机网络体系结构中承上启下的一层 , 起着屏蔽通信子网细节 , 向上提供通用的进程通信服务的作用。传输层的作用是向信源机与信宿机提供端到端的数据传输,而传输层以下各层只提供相邻机器的点到点的传输。传输层面临的主要问题是可靠性。面向连接的传输协议为此做了大量的工作,包括:传输层连接的管理、流控、崩溃恢复等。
![Page 16: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/16.jpg)
传输层连接的管理: TCP 端口TCP 层与 IP 层在功能上的区别 :TCP 提供进程间通信的能力 , 而 IP 层不能。协议端口:在进程通信的意义上,网络通信的最终地址就不仅仅是主机地址,还包括了可以描述进程的某种标识符。为了标识通信的进程, TCP/UDP 提出了协议端口的概念。TCP/IP 的端口分配方案:将端口分为两部分,一部分是保留端口,一部分是自由端口。其中保留端口之占很小的数目(小于 256 的端口号),以全局方式分配。也就是说,不同机器上同样的服务器,其端口号相同。自由端口占去全部端口的绝大部分,以本地方式分配。进程标识:在 Internet 中,一个完整的进程需要一个五元组:
协议,本地地址,本地端口号,远地地址,远地端口号
![Page 17: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/17.jpg)
传输层连接的管理:连接的建立、撤除
建立连接时,客户发送一个请求报文,服务器若愿意接受请求,则发送一个响应报文。超时重传机制解决报文丢失。对于确认与超时重传机制造成的延迟重复,传输层采用报文生存时间和三次握手机制。
CR( 初始序号 =X) 第一次
第二次
第三次
CR( 初始序号 =X)
CC( 初始序号 =Y 确认 X)CC( 初始序号 =Y 确认 X)
DATA( 序号 =X 确认Y)
DATA( 序号 =X 确认Y)
CR: 连接请求
CC: 连接确认
DATA: 数据
![Page 18: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/18.jpg)
传输层协议: TCP 与 UDP
TCP(Transport Control Protocol)有连接的流传输;用于一次传输要交换大量报文的情形;协议复杂,提供高可靠性服务。
UDP(User Datagram Protocol) ;无连接的报文交换;用于一次交换少量报文的情形;相对简单,提供高效的服务;
两个协议共存于 Internet 中
![Page 19: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/19.jpg)
TCP 协议
TCP 提供面向连接的流传输。流:无报文丢失、重复、和失序的正确的数据序列。
TCP 的可靠性技术1.确认与超时重传: TCP 确认针对流中的字节。一般情况下,接
收方确认已经正确收到的、最长的、连续的流前部,每个确认指出下一个希望接收的字节。
0123456789101112131415TCP 流
流前部 确认
![Page 20: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/20.jpg)
TCP 可靠性技术2. 流量控制: TCP 采用可变窗口进行流控。一旦窗口前
部报文得到确认,则窗口向前滑动。
3. 拥塞控制:基于滑动窗口协议,通过限制发送端向往罗注入报文的速率来达到控制拥塞的目的。
1 2 3 4 5 6 7 8 9 10 11
窗口当前位置
下一个可发送报文
滑动窗口
![Page 21: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/21.jpg)
TCP/IP 协议簇及其依赖关系
硬件
硬件协议(链路控制和介质访问协议)
ARP RARP
IP
TCP UDP
CMOT
SMTP Rloginrsh
FTP
TELNET DNS
SNMPCMOT
ASN.1 TFTP BOOTP RPC
XDR
NFS
ASN.1
用户
应用程序
![Page 22: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/22.jpg)
下周的主题
TCP/IP :拥塞控制等布置规划作业
![Page 23: TCP](https://reader035.vdocuments.us/reader035/viewer/2022062222/56814e99550346895dbc433d/html5/thumbnails/23.jpg)
TCP/IP 发展的新动向
TCP/IP 的发展动力来自四个方面:Internet负载和规模的增长,导致的问题包括寻径、管理和用户查询、服务查询等。
新应用的需求新技术的出现:高速、低误码率通信技术的出现。
新的管理策略的出现: Internet 的安全性、自动配置等问题。