传输控制协议(TCP).ppt
《传输控制协议(TCP).ppt》由会员分享,可在线阅读,更多相关《传输控制协议(TCP).ppt(68页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第九章第九章 传输控制协议传输控制协议(TCP)(TCP)19-1 引言引言TCPTCPn n Transmission Control ProtocolTransmission Control Protocoln n TCP TCP叫做叫做叫做叫做面向连接的面向连接的面向连接的面向连接的、可靠的可靠的可靠的可靠的传输协议。传输协议。传输协议。传输协议。n n 它给服务增加了面向连接和可靠性的特点。它给服务增加了面向连接和可靠性的特点。它给服务增加了面向连接和可靠性的特点。它给服务增加了面向连接和可靠性的特点。TCPTCPUDPUDPTransport Transport layerlayer
2、Application layerApplication layerNetwork layerNetwork layer2进程到进程的通信进程到进程的通信InternetInternet进程进程进程进程 (运行的应用程序运行的应用程序运行的应用程序运行的应用程序)进程进程进程进程 (运行的应用程序运行的应用程序运行的应用程序运行的应用程序)IP IP 协议的作用范围协议的作用范围协议的作用范围协议的作用范围TCPTCP协议的作用范围协议的作用范围协议的作用范围协议的作用范围3端口号端口号TCPTCP6429564295TELNET TELNET 客户客户客户客户TCPTCP2323TELNET
3、 TELNET 服务器服务器服务器服务器与与UDP一样,一样,TCP也是服务器使用也是服务器使用熟知端口号熟知端口号,客户程序使,客户程序使用用短暂端口号短暂端口号。4端口、端点、连接端口、端点、连接202.115.12.6202.115.12.68080Port:Port:8080Endpoint:Endpoint:(202.115.12.6,80)(202.115.12.6,80)202.115.12.34202.115.12.341625016250Connection:Connection:(202.115.12.6,80)and(202.115.12.34,16250)(202.11
4、5.12.6,80)and(202.115.12.34,16250)5TCP使用的熟知端口号使用的熟知端口号PortProtocolDescription7Echo将收到的数据报回送到发送器将收到的数据报回送到发送器9Discard丢弃任何收到的数据报丢弃任何收到的数据报11Users活跃的用户活跃的用户13Daytime返回日期和时间返回日期和时间17Quote返回日期的引用返回日期的引用19Chargen返回字符串返回字符串20FTP,Data文件传送协议(数据连接)文件传送协议(数据连接)21 FTP,Control文件传送协议(控制连接)文件传送协议(控制连接)23TELNET终端网络
5、终端网络25SMTP简单邮件传送协议简单邮件传送协议53DNS域名服务器域名服务器67BOOTP引导程序协议引导程序协议79FingerFinger80HTTP超文本传送协议超文本传送协议111RPC远程过程调用远程过程调用6Socket 地址地址200.23.56.8200.23.56.8IP IP 地址地址地址地址6969端口号端口号端口号端口号200.23.56.8200.23.56.8Socket Socket 地址地址地址地址6969 TCP TCP 需要两个标识符:需要两个标识符:需要两个标识符:需要两个标识符:IPIP地址地址地址地址和和和和端口号端口号端口号端口号。它们各用在一
6、。它们各用在一。它们各用在一。它们各用在一端以建立一条连接。端以建立一条连接。端以建立一条连接。端以建立一条连接。要使用要使用要使用要使用TCPTCP的服务,我们的服务,我们的服务,我们的服务,我们需要需要需要需要一对一对一对一对SocketSocket地址:客户地址:客户地址:客户地址:客户SocketSocket地址和服务器地址和服务器地址和服务器地址和服务器SocketSocket地址。地址。地址。地址。一个一个一个一个IPIP地址与一个端口号地址与一个端口号地址与一个端口号地址与一个端口号合起来就叫做合起来就叫做合起来就叫做合起来就叫做SocketSocket地址。地址。地址。地址。7
7、9-2 TCP的服务的服务TCP TCP 服务服务服务服务流式数据服务流式数据服务流式数据服务流式数据服务全双工服务全双工服务全双工服务全双工服务可靠服务可靠服务可靠服务可靠服务8流式数据服务流式数据服务流式服务流式服务流式服务流式服务:l l发送发送发送发送TCPTCP从发送应用程序从发送应用程序从发送应用程序从发送应用程序接收到字符流,从这个流接收到字符流,从这个流接收到字符流,从这个流接收到字符流,从这个流中提取适当的长度创建为中提取适当的长度创建为中提取适当的长度创建为中提取适当的长度创建为叫做报文段的分组,然后叫做报文段的分组,然后叫做报文段的分组,然后叫做报文段的分组,然后将它们发
8、送到网络上。将它们发送到网络上。将它们发送到网络上。将它们发送到网络上。l l接收接收接收接收TCPTCP则接收报文段,则接收报文段,则接收报文段,则接收报文段,从中提取数据,若它们没从中提取数据,若它们没从中提取数据,若它们没从中提取数据,若它们没有按序到达还要将它们排有按序到达还要将它们排有按序到达还要将它们排有按序到达还要将它们排序,并将它们作为字符流序,并将它们作为字符流序,并将它们作为字符流序,并将它们作为字符流交付给接收应用程序。交付给接收应用程序。交付给接收应用程序。交付给接收应用程序。9全双工服务全双工服务数据可在同一数据可在同一数据可在同一数据可在同一时间双向流动时间双向流动
9、时间双向流动时间双向流动数据数据数据数据确认确认确认确认捎带捎带捎带捎带:确认可随:确认可随:确认可随:确认可随数据一起发送数据一起发送数据一起发送数据一起发送109-3 TCP报文段报文段2060 bytes2060 bytes11对各字段的说明:对各字段的说明:n n 源端口地址源端口地址源端口地址源端口地址:是一个:是一个:是一个:是一个1616位字段。定义了在主机中发送位字段。定义了在主机中发送位字段。定义了在主机中发送位字段。定义了在主机中发送该报文段的应用程序的端口号。该报文段的应用程序的端口号。该报文段的应用程序的端口号。该报文段的应用程序的端口号。n n 目的端口地址目的端口地
10、址目的端口地址目的端口地址:是一个:是一个:是一个:是一个1616位字段。定义了在主机中接位字段。定义了在主机中接位字段。定义了在主机中接位字段。定义了在主机中接收该报文段的应用程序的端口号。收该报文段的应用程序的端口号。收该报文段的应用程序的端口号。收该报文段的应用程序的端口号。n n 序号序号序号序号:是一个:是一个:是一个:是一个3232位字段。它定义了一个数,指派给本位字段。它定义了一个数,指派给本位字段。它定义了一个数,指派给本位字段。它定义了一个数,指派给本报文段数据的第一个字节。为了保证连通性,要发送的每报文段数据的第一个字节。为了保证连通性,要发送的每报文段数据的第一个字节。为
11、了保证连通性,要发送的每报文段数据的第一个字节。为了保证连通性,要发送的每一个字节都要编上号。序号告诉目的地,这个序列中的哪一个字节都要编上号。序号告诉目的地,这个序列中的哪一个字节都要编上号。序号告诉目的地,这个序列中的哪一个字节都要编上号。序号告诉目的地,这个序列中的哪一个字节是报文段中的第一个字节。一个字节是报文段中的第一个字节。一个字节是报文段中的第一个字节。一个字节是报文段中的第一个字节。n n 确认号确认号确认号确认号:是一个是一个是一个是一个3232位字段。定义了源进程期望从对方位字段。定义了源进程期望从对方位字段。定义了源进程期望从对方位字段。定义了源进程期望从对方接收的报文段
12、的序号。确认可捎带和数据一起发送。接收的报文段的序号。确认可捎带和数据一起发送。接收的报文段的序号。确认可捎带和数据一起发送。接收的报文段的序号。确认可捎带和数据一起发送。n n 首部长度首部长度首部长度首部长度:是一个:是一个:是一个:是一个4 4位字段。指出位字段。指出位字段。指出位字段。指出TCPTCP首部共有多少首部共有多少首部共有多少首部共有多少个个个个4 4字节字。字节字。字节字。字节字。n n 保留保留保留保留:是一个:是一个:是一个:是一个6 6位字段。保留为今后使用。位字段。保留为今后使用。位字段。保留为今后使用。位字段。保留为今后使用。12qq 控制控制控制控制:是一个:是
13、一个:是一个:是一个6 6位字段。定义了位字段。定义了位字段。定义了位字段。定义了6 6种不同的控制位或标志。种不同的控制位或标志。种不同的控制位或标志。种不同的控制位或标志。URGURGACKACKPSHPSHRSTRSTSYNSYNFINFINURG:URG:紧急指针(紧急指针(urgent pointer)有效有效 ACK:ACK:确认序号有效。确认序号有效。PSH:PSH:接收方应该尽快将这个报文段交给应用层。接收方应该尽快将这个报文段交给应用层。RST:RST:重建连接。重建连接。SYN:SYN:同步序号用来发起一个连接。同步序号用来发起一个连接。FIN:FIN:发端完成发端完成发送
14、任务。发送任务。这些比特用在这些比特用在这些比特用在这些比特用在TCPTCP的流控制、连接建立和的流控制、连接建立和的流控制、连接建立和的流控制、连接建立和中止以及数据传送的方式等方面。中止以及数据传送的方式等方面。中止以及数据传送的方式等方面。中止以及数据传送的方式等方面。13对各字段的说明(续):对各字段的说明(续):n n 窗口大小窗口大小窗口大小窗口大小:是一个:是一个:是一个:是一个1616位字段。定义对方必须维持的窗位字段。定义对方必须维持的窗位字段。定义对方必须维持的窗位字段。定义对方必须维持的窗口大小(以字节为单位)。最大长度为口大小(以字节为单位)。最大长度为口大小(以字节为
15、单位)。最大长度为口大小(以字节为单位)。最大长度为6553565535字节。字节。字节。字节。n n 检验和检验和检验和检验和:是一个:是一个:是一个:是一个1616位字段。位字段。位字段。位字段。n n 紧急指针紧急指针紧急指针紧急指针:是一个:是一个:是一个:是一个1616位字段。只有当紧急标志置位时,位字段。只有当紧急标志置位时,位字段。只有当紧急标志置位时,位字段。只有当紧急标志置位时,这个字段才有效。这时的报文段包括紧急数据。这个字段才有效。这时的报文段包括紧急数据。这个字段才有效。这时的报文段包括紧急数据。这个字段才有效。这时的报文段包括紧急数据。n n 选项选项选项选项:在:在
16、:在:在TCPTCP首部中可以有多达首部中可以有多达首部中可以有多达首部中可以有多达4040字节的可选信息。字节的可选信息。字节的可选信息。字节的可选信息。14流、分组和序号:流、分组和序号:IncisingSegmentData streamSendingRecoveringSending bufferReceiving bufferReceiving分组的序号是这样一个数,它指派给本报文段数据的分组的序号是这样一个数,它指派给本报文段数据的分组的序号是这样一个数,它指派给本报文段数据的分组的序号是这样一个数,它指派给本报文段数据的第一个字节。第一个字节。第一个字节。第一个字节。159-4
17、选项选项TCP首部可以有多达首部可以有多达40个字节的可选信息。它们用来将附加个字节的可选信息。它们用来将附加信息传递给目的站,或用来将其他选项对齐。信息传递给目的站,或用来将其他选项对齐。选选 项项 单字节单字节 多字节多字节 无操作无操作 选项结束选项结束最大报文段长度最大报文段长度 窗口扩大因子窗口扩大因子 时间戳时间戳16选项说明:选项说明:n n 无操作无操作无操作无操作:是一个一字节选项。用作选项之间的填充。:是一个一字节选项。用作选项之间的填充。:是一个一字节选项。用作选项之间的填充。:是一个一字节选项。用作选项之间的填充。n n 选项结束选项结束选项结束选项结束:也是一个也是一
18、个1字节选项,用于选项字段结束时字节选项,用于选项字段结束时的填充。但它只能用作最后一个选项。在此选项之后,接的填充。但它只能用作最后一个选项。在此选项之后,接收器就寻找有效载荷数据。收器就寻找有效载荷数据。选项选项数据数据选项结束选项结束17选项说明(续):选项说明(续):n n 最大报文段长度最大报文段长度最大报文段长度最大报文段长度:这个选项定义可以被目的站接收的:这个选项定义可以被目的站接收的:这个选项定义可以被目的站接收的:这个选项定义可以被目的站接收的TCPTCP报文段的最长数据块(即数据的最大长度)。报文段的最长数据块(即数据的最大长度)。报文段的最长数据块(即数据的最大长度)。
19、报文段的最长数据块(即数据的最大长度)。vv 最大数据长度是在最大数据长度是在最大数据长度是在最大数据长度是在连接建立阶段连接建立阶段连接建立阶段连接建立阶段确立的,这个大小是确立的,这个大小是确立的,这个大小是确立的,这个大小是由报文段的目的站而不是源站确定的。由报文段的目的站而不是源站确定的。由报文段的目的站而不是源站确定的。由报文段的目的站而不是源站确定的。vv 这个选项这个选项这个选项这个选项仅仅仅仅在进行连接的报文段中使用。它不能用于在进行连接的报文段中使用。它不能用于在进行连接的报文段中使用。它不能用于在进行连接的报文段中使用。它不能用于数据传送中的报文段。数据传送中的报文段。数据
20、传送中的报文段。数据传送中的报文段。vv 下图为这个选项的格式:下图为这个选项的格式:下图为这个选项的格式:下图为这个选项的格式:代码:代码:2长度:长度:4最大报文段长度最大报文段长度1字节字节1字节字节2字节字节18选项说明(续):选项说明(续):n n 窗口扩大因子窗口扩大因子窗口扩大因子窗口扩大因子:这个选项定义了滑动窗口的大小。为了增:这个选项定义了滑动窗口的大小。为了增:这个选项定义了滑动窗口的大小。为了增:这个选项定义了滑动窗口的大小。为了增大窗口大小,就要使用窗口扩大因子。大窗口大小,就要使用窗口扩大因子。大窗口大小,就要使用窗口扩大因子。大窗口大小,就要使用窗口扩大因子。vv
21、 新的窗口大小可以这样求出,即先计算新的窗口大小可以这样求出,即先计算新的窗口大小可以这样求出,即先计算新的窗口大小可以这样求出,即先计算2 2的的的的n n次方,这里次方,这里次方,这里次方,这里n n是窗口扩大因子,再将得出的结果乘以首部中的窗口大小:是窗口扩大因子,再将得出的结果乘以首部中的窗口大小:是窗口扩大因子,再将得出的结果乘以首部中的窗口大小:是窗口扩大因子,再将得出的结果乘以首部中的窗口大小:新的窗口大小新的窗口大小新的窗口大小新的窗口大小=首部中定义的窗口大小首部中定义的窗口大小首部中定义的窗口大小首部中定义的窗口大小22窗口扩大因子窗口扩大因子窗口扩大因子窗口扩大因子vv
22、窗口扩大因子窗口扩大因子窗口扩大因子窗口扩大因子只能只能只能只能在连接建立阶段确定。在数据传送阶段,在连接建立阶段确定。在数据传送阶段,在连接建立阶段确定。在数据传送阶段,在连接建立阶段确定。在数据传送阶段,窗口大小可以改变,但它必须乘以同样的扩大因子。窗口大小可以改变,但它必须乘以同样的扩大因子。窗口大小可以改变,但它必须乘以同样的扩大因子。窗口大小可以改变,但它必须乘以同样的扩大因子。vv 下图为这个选项的格式:下图为这个选项的格式:下图为这个选项的格式:下图为这个选项的格式:代码:代码:3长度:长度:3扩大因子扩大因子1字节字节1字节字节1字节字节19选项说明(续):选项说明(续):n
23、n 时间戳时间戳时间戳时间戳:这是一个:这是一个:这是一个:这是一个1010字节字段。该字段由报文段离开字节字段。该字段由报文段离开字节字段。该字段由报文段离开字节字段。该字段由报文段离开的源站填入。目的站接收报文段并存储该时间戳。的源站填入。目的站接收报文段并存储该时间戳。的源站填入。目的站接收报文段并存储该时间戳。的源站填入。目的站接收报文段并存储该时间戳。vv 当目的站发送对该报文段的字节的确认时,就输入前当目的站发送对该报文段的字节的确认时,就输入前当目的站发送对该报文段的字节的确认时,就输入前当目的站发送对该报文段的字节的确认时,就输入前面在回送回答字段中存储的值。面在回送回答字段中
24、存储的值。面在回送回答字段中存储的值。面在回送回答字段中存储的值。vv 当源站收到确认时,就将当前时间与该数值进行检查,当源站收到确认时,就将当前时间与该数值进行检查,当源站收到确认时,就将当前时间与该数值进行检查,当源站收到确认时,就将当前时间与该数值进行检查,差值就是差值就是差值就是差值就是往返时间往返时间往返时间往返时间。vv 下图为这个选项的格式:下图为这个选项的格式:下图为这个选项的格式:下图为这个选项的格式:代码:代码:8 长度长度:10时间戳值时间戳值时间戳回送回答时间戳回送回答209-5 检验和检验和全全全全0 0协议协议协议协议(6)(6)3232位源位源位源位源IPIP地址
25、地址地址地址3232位目的位目的位目的位目的IPIP地址地址地址地址总长度总长度总长度总长度源端口地址源端口地址源端口地址源端口地址目的端口地址目的端口地址目的端口地址目的端口地址紧急指针紧急指针紧急指针紧急指针检验和检验和检验和检验和数据和选项数据和选项数据和选项数据和选项 (必须进行填充使数据是(必须进行填充使数据是(必须进行填充使数据是(必须进行填充使数据是1616位的倍数)位的倍数)位的倍数)位的倍数)伪伪首首部部首首 部部 窗口大小窗口大小窗口大小窗口大小序号序号序号序号确认序号确认序号确认序号确认序号首部长度首部长度首部长度首部长度保留保留保留保留控制控制控制控制21TCP需要解决
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传输 控制 协议 TCP
限制150内