计算机网络讨论课TCP可靠传输实现
计算机网络基础PPT课件

数据通信、资源共享、分布式处理、提高计算机的可靠性。
计算机网络的拓扑结构
总线型、星型、环型、网状型。
计算机网络发展历程
第一阶段
第二阶段
面向终端的计算机网络,20世纪50年代初 ,美国建立半自动地面防空系统,将不同 地点的计算机通过通信线路连接起来。
计算机-计算机网络,20世纪60年代中期, 美国国防部ARPANET实验,标志计算机网 络的兴起。
数据传输过程
总结词
数据传输过程是计算机网络中数据从一个节点传送到另一个节点的过程。
详细描述
数据传输过程通常包括以下几个步骤:数据源将数据封装在一个数据包中,然后通过网络发送出去。数据包在网 络中经过一系列的路由器和交换机等网络设备的转发,最终到达目的地。在传输过程中,数据包可能会经过多次 封装和解封装的过程,以确保数据的完整性和可靠性。
第三阶段
第四阶段
国际标准化的计算机网络,20世纪70年代 末至80年代初,出现了一系列标准化的网 络体系结构。
高速计算机网络,20世纪90年代初至今, 网络技术向高速、宽带、智能化发展。
计算机网络分类
按覆盖范围分类:局 域网、城域网、广域 网。
按拓扑结构分类:总 线型、星型、环型、 网状型。
按传输介质分类:有 线网、无线网。
TCP/IP模型
总结词
TCP/IP(Transmission Control Protocol/Internet Protocol)模型是互联网协议的核心,它定义了数 据如何在网络中传输。
详细描述
TCP/IP模型将网络系统划分为四个层次,分别是应用层、传输层、网络层和链路层。其中,应用层对 应于OSI参考模型的应用层和表示层,传输层对应于OSI的传输层,网络层对应于OSI的网络层,而链 路层对应于OSI的数据链路层和物理层。
计算机网络基础ppt课件

• 应用层:向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远 程登录等。远程登录TELNET使用TELNET协议提供在网络其它主机上注册的 接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP 协议来提供网络内机器间的文件拷贝功能。
• 网络层:网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时 ,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在 TCP/IP体系中,由于网络层使用IP协议,因此分组也叫IP数据报 ,或简称为 数据报。网络层的另一个任务就是要选择合适的路由,使源主机运输层所传下 来的分组能够交付到目的主机。
TCP/IP四层模型
• 网络接口层:负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧 ,抽出IP数据报,交给IP层。
• 互联网层:负责相邻计算机之间的通信。其功能包括三方面。一、处理来自传 输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去 往信宿机的路径,然后将数据报发往适当的网络接口。二、处理输入数据报: 首先检查其合法性,然后进行寻径--假如该数据报已到达信宿机,则去掉报头 ,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数 据报。三、处理路径、流控、拥塞等问题。Байду номын сангаас
PPP协议(Point-to-Point Protocol):用于点对点链路 的数据链路层协议,提供多协 议封装、链路配置、身份认证
等功能。
HDLC协议(High-Level Data Link Control):面向比特的同 步数据链路控制协议,具有帧 同步、差错控制、流量控制等 功能。
计算机网络课后习题答案(第五章)

答:可能,但应用程序中必须额外提供与TCP相同的功能。
5—08为什么说UDP是面向报文的,而TCP是面向字节流的?答:发送方UDP 对应用程序交下来的报文,在添加首部后就向下交付IP 层。
UDP 对应用层交下来的报文,既不合并,也不拆分,而是保存这些报文的边界。
接收方UDP 对IP 层交上来的UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。
发送方TCP对应用程序交下来的报文数据块,视为无结构的字节流〔无边界约束,课分拆/合并〕,但维持各字节5—09端口的作用是什么?为什么端口要划分为三种?答:端口的作用是对TCP/IP体系的应用进程进行统一的标志,使运行不同操作系统的计算机的应用进程能够互相通信。
熟知端口,数值一般为0~1023.标记常规的效劳进程;1024~491515—10试说明运输层中伪首部的作用。
答:用于计算运输层数据报校验和。
5—11某个应用进程使用运输层的用户数据报UDP,然而继续向下交给IP层后,又封装成IP 数据报。
既然都是数据报,可否跳过UDP而直接交给IP层?哪些功能UDP提供了但IP没提提供?答:不可跳过UDP而直接交给IP层IP数据报IP报承当主机寻址,提供报头检错;只能找到目的主机而无法找到目的进程。
UDP提供对应用进程的复用和分用功能,以及提供对数据差分的过失检验。
5—12一个应用程序用UDP,到IP层把数据报在划分为4个数据报片发送出去,结果前两个数据报片丧失,后两个到达目的站。
过了一段时间应用程序重传UDP,而IP层仍然划分为4个数据报片来传送。
结果这次前两个到达目的站而后两个丧失。
试问:在目的站能否将这两次传输的4个数据报片组装成完整的数据报?假定目的站第一次收到的后两个数据报片仍然保存在目的站的缓存中。
答:不行重传时,IP数据报的标识字段会有另一个标识符。
仅当标识符相同的IP数据报片才能组装成一个IP数据报。
前两个IP数据报片的标识符与后两个IP数据报片的标识符不同,因此不能组装成一个IP数据报。
计算机网络技术全套ppt课件

传输层协议
主要包括TCP和UDP两种 协议,分别提供面向连接 和无连接的数据传输服务 。
传输层端口
用于标识不同的应用程序 进程,实现多路复用和分 用功能。
TCP协议详解
TCP协议的特点
面向连接、可靠传输、基于字节流、支持全 双工通信等。
TCP的数据传输
采用滑动窗口机制进行流量控制和拥塞控制 ,确保数据的可靠传输。
计算机网络的功能与应用
功能
计算机网络具有数据通信、资源共享、分布式处理、负载均衡等功能,可以大 大提高计算机的效率和便利性。
应用
计算机网络已经渗透到社会的各个领域,如电子商务、在线教育、远程医疗、 智能制造等,为人们的生活和工作带来了极大的便利。
02
网络体系结构
OSI参考模型
物理层
负责传输比特流,提供为建立、 维护和拆除物理链路所需要的机 械的、电气的、功能的和规程的
NAT(Network Address Translation,网络地址转换) 技术是一种解决IPv4地址短缺 问题的技术,通过将私有IP地 址转换为公网IP地址,实现内 网主机访问外网资源。
06
传输层技术
传输层的基本概念
传输层的作用
为运行在不同主机上的应 用程序提供逻辑通信功能 ,实现端到端的数据传输 服务。
03
物理层技术
物理层的基本概念
01
02
03
物理层的定义
物理层是计算机网络体系 结构中的最底层,负责传 输比特流。
物理层的功能
提供物理连接、传输比特 流、提供数据链路层的数 据传输服务。
物理层的协议
EIA/TIA-232、EIA/TIA499、V.35、RJ-45等。
数据通信基础知识
义务教育版(2024)七年级全一册信息科技 第5课网络协议分层设 教案

七年级信息科技教学设计5.1 网络协议在互联网中,网页、电子邮件、视频、聊天信息等,都会转化为 1 和0 组成的二进制数进行传输(图 5.1)。
二进制数具体代表什么,需要通信双方事先进行约定。
这类约定可以理解为网络协议。
互联网通信的根本目的是传输信息。
信息以具体的数据来承载,数据要转换成各种信号后才能通过介质进行传输。
也就是说,通信实际上是利用传输介质传输信号,从而传输数据,最终实现信息传输的过程。
学习活动1通过游戏感受网络协议在网络通信中的作用1. 一位同学扮演发送者,选择第二项或全部两项进行编码。
(1)把字符转成十进制数(2)把十进制数转成二进制数2.其他人拿到二进制数后,选择第一项或全部两项进行解码。
(1)把二进制数转成十进制数(2)把十进制数转成字符3.询问发送者的意图,大家按同一规则解码,看看能否得到相同结果。
使用《编码解码辅助工具》软件,可以完成编码转换操作。
教师可以使用配套资源中的工具软件辅助完成活动,不宜针对二进制展开讲解。
在网络协议中,分层思想是指构建互联网体系时,把复杂的通信问题分到不同层中,每层解决相对简单的问题,层层相叠,从而解决复杂的网络通信问题。
网络协议展现出来的分层结构,正是这一思想的典型产物。
“如何对数据进行编码”“如何分包传输”等,只是网络协议要解决的一小部分问题。
实际上,不仅是分包传输策略和编码解码规则,互联网中的计算机该如何标识、网络资源该如何定位等,都要由网络协议来规定。
5.2 分层在网络协议中,分层思想是指构建互联网体系时,把复杂的通信问题分到不同层中,每层解决相对简单的问题,层层相叠,从而解决复杂的网络通信问题。
网络协议展现出来的分层结构,正是这一思想的典型产物。
分析网络购物的配送过程,从分层的角度,了解不同层的任务,以及要涉及的信息,体会分层的优势。
学习活动2分析网络购物的配送过程(图5.2),从分层的角度,了解不同层的任务,以及要涉及的信息,体会分层的优势。
计算机网络概述

课程教学要求课程的性质:《TCP/IP网络基础》课程是计算机网络技术、计算机网络管理、计算机信息管理、计算机软件技术专业必修的一门专业基础课程。
课程任务和教学目标是:本课程全面系统地介绍TCP/IP 的体系结构和主要应用程序,使学生系统全面地了解TCP/IP网络各层通信协议的工作原理及应用,并学习使用网络工具进行网络协议分析和故障排除。
课程基本要求:通过本课程要求学生系统全面地了解互联网的工作原理,掌握各协议原理及功能,掌握互联网上典型应用的原理和使用。
并学会使用网络工具进行网络协议分析和故障排除。
教学方法:课堂讲授,启发式教学,课堂讨论,研究性教学,当堂测试,提问式教学,师生互动。
教学手段:传统讲授为主,辅以多媒体教学。
能力培养:提高学生分析问题、解决问题的能力,培养学生的表达能力。
考核方式:闭卷考试。
成绩评定:本课程采用作业、笔试和实验三种考核方式,分别计分,作业占10%,笔试根据教学大纲命题(占 60%),实验要求能够完成课程中规定的实验部分(占30%)。
其它要求:严格考勤,注重学生课堂表现及课堂参与情况,当堂测试,课下完成作业。
1. 1 计算机网络的定义和发展1.1.1 计算机网络的发展计算机网络的发展经历了从简单到复杂、从单机到多机、从终端与计算机之间的通信到计算机与计算机之间的直接通信的演变过程。
计算机网络的发展可以大致分为三个阶段:(1) 面向终端的计算机网络阶段(2) 多机系统的互连阶段(3) 网络互连和高速网络阶段1.1.2 计算机网络的定义一、定义 :把分布在不同地理位置上具有独立功能的计算机系统,通过通信设备和通信线路连接起来,由网络操作系统和协议软件进行管理,实现数据通信及网络资源共享的系统。
二、计算机网络的基本特征:① 具有共享能力② 各计算机自治(计算机自成系统)③ 网络协议支持(管理、控制和通信)④ 具有通信功能1.1.3计算机网络的功能①数据交换和通信②资源共享③信息传输④提高系统可靠性及可用性⑤分布式网络处理⑥综合服务和应用⑦提高系统性价比,易于扩充维护1.2 计算机网络的组成1.2.1 从系统功能角度看由:资源子网和通信子网组成(1)资源子网(用户子网)是由各计算机系统、终端控制器和终端设备、软件和可供共享的数据库等组成。
高级计算机网络ppt课件
以太网技术原理及应用
以太网技术原理
以太网采用载波监听多路访问/ 冲突检测(CSMA/CD)机制, 通过网络接口卡(NIC)实现数
据传输。
以太网应用
以太网广泛应用于企事业单位、 学校、家庭等场所,支持多种传
输介质,如双绞线、光纤等。
以太网发展趋势
随着技术的发展,以太网不断升 级,从最初的10Mbps发展到现 在的10Gbps、40Gbps甚至更高。
服务器
提供网络服务的计算机或设备,如 Web服务器、邮件服务器等。
03 局域网技术
局域网概述及特点
局域网定义
局域网(Local Area Network, LAN)是指在某一区域内(一般 是方圆几千米以内)由多台计算
机互联成的计算机组。
局域网特点
传输速度快、可靠性高、成本低、 组网方便灵活等。
常见局域网类型
FTP
文件传输协议,用于在网络上进行文件传输 的标准协议。
DNS
域名系统,用于将域名解析为IP地址的分布 式数据库系统。
网络设备简介
路由器
连接不同网络,并选择最佳路径进行 数据传输的网络设备。
交换机
用于在同一网络内部进行数据传输的 网络设备,根据MAC地址表进行数 据转发。
防火墙
用于保护网络免受未经授权的访问和 攻击的安全设备。
局域网安全与管理
01
局域网安全
局域网面临着各种安全威胁,如黑客攻击、病毒传播等。为了保障网络
安全,需要采取一系列安全措施,如防火墙、入侵检测等。
02
局域网管理
局域网管理包括网络设备管理、网络性能管理、网络配置管理等方面。
通过网络管理可以实现对网络的全面监控和维护,确保网络正常运行。
计算机网络(第二版)课后习题答案
计算机网络(第二版)课后习题答案计算机网络(第二版)课后习题答案一、绪论计算机网络是指在多个计算机之间传输数据和共享资源的系统。
随着互联网的普及和发展,计算机网络已经成为现代社会中不可或缺的组成部分。
本文将回答《计算机网络(第二版)》课后习题,并提供详细的解答。
二、物理层1. 什么是物理层?物理层的任务是什么?物理层是计算机网络模型中的第一层,主要负责传输比特流。
其任务包括确定物理传输媒介的规范、数据的编码认证、物理连接的建立和维护等。
2. 传输媒介可分为哪几种类型?各有什么特点?传输媒介可分为有线传输媒介和无线传输媒介两种类型。
有线传输媒介包括双绞线、同轴电缆和光纤等,其特点是传输速度快、传输距离较长、抗干扰能力强。
无线传输媒介包括无线电波和红外线等,其特点是灵活性高、易于扩展和部署,但传输速度和距离受到限制。
3. 什么是调制和解调?其作用是什么?调制是将数字信号转换为模拟信号的过程,解调是将模拟信号转换为数字信号的过程。
调制和解调的作用是在发送端将数字数据转换为适合在传输媒介上传输的模拟信号,然后在接收端将模拟信号转换为可被计算机理解的数字数据。
4. 什么是信道复用?常见的信道复用技术有哪些?信道复用是指通过合理地利用通信线路,将不同用户的数据流合并在一起传输的技术。
常见的信道复用技术包括频分复用(FDM)、时分复用(TDM)和码分复用(CDM)等。
三、数据链路层1. 数据链路层有哪些基本的功能?数据链路层的基本功能包括封装成帧、物理寻址、错误检测和流量控制等。
封装成帧将网络层交付的数据分成适当的数据帧进行传输;物理寻址通过物理地址标识源和目的设备;错误检测使用帧检验序列等方法检测传输中的错误;流量控制通过控制数据的发送速率来保证接收端能够正确接收数据。
2. 什么是差错控制?常见的差错检测技术有哪些?差错控制是指在数据传输过程中采取一定的机制来检测和纠正传输中发生的差错。
常见的差错检测技术有纵向奇偶校验、循环冗余检验(CRC)和海明码等。
计算机网络谢希仁第七版课后答案完整版
计算机网络第七版答案第一章概述1-01 计算机网络向用户可以提供那些服务?答:连通性和共享1-02 简述分组交换的要点。
答:(1)报文分组,加首部(2)经路由器储存转发(3)在目的地合并1-03 试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。
答:(1)电路交换:端对端通信质量因约定了通信资源获得可靠保障,对连续传送大量数据效率高。
(2)报文交换:无须预约传输带宽,动态逐段利用传输带宽对突发式数据通信效率高,通信迅速。
(3)分组交换:具有报文交换之高效、迅速的要点,且各分组小,路由灵活,网络生存性能好。
1-04 为什么说因特网是自印刷术以来人类通信方面最大的变革?答:融合其他通信网络,在信息化过程中起核心作用,提供最好的连通性和信息共享,第一次提供了各种媒体形式的实时交互能力。
1-05 因特网的发展大致分为哪几个阶段?请指出这几个阶段的主要特点。
答:从单个网络APPANET向互联网发展;TCP/IP协议的初步成型建成三级结构的Internet;分为主干网、地区网和校园网;形成多层次ISP 结构的Internet;ISP首次出现。
1-06 简述因特网标准制定的几个阶段?答:(1)因特网草案(Internet Draft) ——在这个阶段还不是RFC 文档。
(2)建议标准(Proposed Standard) ——从这个阶段开始就成为RFC 文档。
(3)草案标准(Draft Standard)(4)因特网标准(Internet Standard)1-07小写和大写开头的英文名internet 和Internet在意思上有何重要区别?答:(1)internet(互联网或互连网):通用名词,它泛指由多个计算机网络互连而成的网络。
;协议无特指(2)Internet(因特网):专用名词,特指采用TCP/IP 协议的互联网络。
区别:后者实际上是前者的双向应用1-08 计算机网络都有哪些类别?各种类别的网络都有哪些特点?答:按范围:(1)广域网WAN:远程、高速、是Internet的核心网。
TCB实验
计算机网络实验报告实验目的一、熟悉并掌握软件Ethereal的下载与安装二、学会利用Ethereal分析协议三、通过对协议的分析,理解其工作过程实验预备知识一、掌握Ethereal软件的基本用法二、了解TCP可靠传输协议的基本原理和相关机制实验内容一、打开文件application分析TCP的三次握手过程。
(描述)二、根据握手的三个报文回答下面问题:1、客户端的端口号是多少?2、客户端和服务器的窗口值是多少?它们根据窗口值来设置自己什么窗口?3、客户端和服务器协商的最大报文段长度是多少?4、三次握手过程中前两个报文的首部长度是多少?包含了哪些选项字段?5、双方是否允许选择性确认?如果允许请说明原因?(哪个字段体现的?)三、根据后续的TCP报文回答下面问题:1、在通信过程中,客户端和服务器端的接收窗口是否发生了变化?2、在这些报文中有没有体现流量控制机制?如果有请截图说明体现的位置及怎样体现的。
3、当客户端的接收窗口为952时,服务器端为什么没有发送数据?4、TCP窗口更新报文的作用是什么?5、通信过程中是否采用了累积确认?和TCP可靠传输的实现是否相同?请加以说明。
(提示:按序收到报文,TCP接收端的动作)四、打开文件FIN分析TCP释放连接的四次握手。
实验要求一、在描述协议工作过程及字段含义时要求结合捕获报文的截图进行说明二、对于课程中没有讲解的报文字段不作要求(建议根据自己的理解进行分析)三、要求描述语言简洁易懂,截图清晰。
四、实验报告的WORD文档以学号+姓名的方式命名实验过程描述一、打开文件application分析TCP的三次握手过程。
(描述)常规三次握手方式1)服务器应用启动,建立相应的TCB,进入LISTEN状态;2)客户端向服务器端发送一个TCP段,该段设置SYN标识,请求根服务器端应用同步,之后进入SYN-SENT状态,等待服务器的响应。
3)服务器端应用收到客户端的SYN段之后,发送一个TPC段响应客户端,该段设置SYN和ACK标识,告知客户端自己接受他的同步请求,同时请求跟客户端同步。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机网络第四次讨论课 题目:TCP可靠传输的实现
学生所在班级:通信四班第四组 小组组长:张瞾(查阅资料、PPT制作,贡献率为21%) 组员:郑岚方(查阅资料、PPT制作,贡献率为21%) 蒲琼(查阅资料、论文撰写,贡献率为20%) 邱悦(查阅资料、论文撰写,贡献率为19%) 陈春(查阅资料、论文撰写,贡献率为19%)
教务处 2017年4月8日
一、以字节为单位的滑动窗口 1.1 TCP使用滑动窗口机制的原因 (1)当网络连接的两端速度不匹配时,发送端的发送速度快于接收端的处理能力时,便会出现快速的发送端将慢速的接收端淹没的现象,导致数据丢失。 (2)为了防止由于发送端与接收端之间的不匹配而引起数据丢失,TCP采用滑动窗口进行流量控制。 (3)发送数据一方可以在一定条件下连续发送若干个分组,而不必每次发送都要在前一个分组的确认信息收到后进行。 1.2滑动窗口与固定窗口的比较
当滑动窗口为1时,即为停止等待协议。
图1.1(a)停止等待协议传输机制 图1.1(b)连续ARQ协议传输机制 1.2发送方滑动窗口
假定A收到了B发来的确认报文段,其中窗口值是20字节,而确认号是31。根据这两个数据,A就可以构造出自己的发送窗口。示例如下所示:
图1.2发送方A的发送窗口 发送方A的发送窗口确切含义是:在没有收到B确认的情况下,A可以把窗口内的数据都发送出去。凡是已经发送过的数据,在未收到确认之前都必须暂时保留,以便在超时传送中使用。 发送窗口里面的序号表示允许发送的序号。窗口越大,发送方就可以在收到对方确认之前连续发送更多的数据,但接收方必须来得及处理这些收到的数据。 发送窗口后沿左侧的数据表示已发送且已收到了确认的数据部分,这些数据不需要再保留。而发送窗口前沿右侧的数据表示不允许发送部分数据,因为接收方没有为这部分数据保留可存放的缓存空间。 发送窗口的位置由窗口前沿和后沿的位置共同确定。发送窗口后沿的变化情况有两种可能: 即不动(没有收到新的确认)和前移(收到了新的确认)。发送窗口后沿不可能向后移动,因为不能撤销掉已收到的确认。发送窗口前沿通常是不断向前移动,但也有可能不动。这对应于两种情况:一是没有收到新的确认,对方通知的窗口大小也不便;二是收到了新的确认但对方通知的窗口缩小了,使得发送窗口前沿正好不动。 1.4指明窗口状态的指针
要描述一个发送窗口的状态需要三个指针P1,P2和P3,,指针都指向字节的序列号。示意图如下所示:
图1.3指明窗口状态的各指针示意图 这三个指针指向的几个部分的意义如下: 小于P1的是已发送并已收到确认的部分,大于P3的是不允许发送的部分。 P3-P1=A的发送窗口 P2-P1=已发送但尚未收到确认的字节数 P3-P2=允许发送但尚未发送的字节数 当窗口A收到确认信息后,发送窗口向前滑动,示意图如下所示:
图1.4发送窗口向前滑动示意图 1.5接收方B的接收窗口
图1.5 接收窗口B示意图 B的接收窗口大小是20。在接收窗口外面,到33号为止的数据是已经发送过确认,并且已经交付给主机了。因此B可以不再保留这些数据。接收窗口内的序号是允许接收的。 现在假定B收到了序号为31的数据,并把31到33的数据交付给主机,然后B删除这些数据。接着把接收窗口向前移动3个序号,同时给A发送确认。A收到B的确认后,就可以把发送窗口向前滑动3个序号,但指针P2不动。 A在继续发送完后面的数据后,指针P2向前移动和P3重合,发送窗口内的序号都已用完,但还没有再收到确认。由于A的发送窗口已满,可用窗口减小到零,因此必须停止发送。示意图如下所示:
图1.6 发送窗口已满示意图 若发送窗口内所有数据都已正确到达B,B也早已发出了确认,但这些确认滞留在网络中。为了保证可靠传输,A只能认为B还没收到这些数据。于是,A在经过一段时间后就重传这部分数据,直到收到B的确认位置。如果A收到的确认号落在发送窗口内,A就可以是发送窗口继续向前滑动,并发送新的数据。 1.6发送缓存 示意图如下所示:
图1.7发送缓存示意图 发送缓存用来暂时存放: 发送应用程序传送给发送方 TCP 准备发送的数据; TCP 已发送出但尚未收到确认的数据。
1.7接收缓存 示意图如下所示:
图1.8接收缓存示意图 1.8注意要点
A 的发送窗口并不总是和 B 的接收窗口一样大(因为有一定的时间滞后)。 TCP 对不按序到达的数据应的处理,通常是先临时存放在接收窗口中,等到字节流中所缺少的字节收到后,再按序交付上层的应用进程。 TCP 要求接收方必须有累积确认的功能,这样可以减小传输开销。
二、超时重传时间的选择 2.1TCP 保留了 RTT 的一个加权平均往返时间 RTTS 第一次测量到 RTT 样本时,RTTS 值就取为所测量到的 RTT 样本值。以后每测量到一个新的 RTT 样本,就按下式重新计算一次 RTTS:新的 RTTS = (1 - α ) * (旧的 RTTS) +α*(新的 RTT 样本) 式中 0≤α≤1
2.2超市重传时间ROT 超时计时器设置的超时传送时间RTO应略大于上面所得出的加权平均往返时间RTTS。RFC2988建议使用下式计算TRO: RTO=RTTS+4×RTTD RTTD是RTT的偏差的加权平均,它与RTTS和新的RTT样本之差有关。RFC2988建议当第一次测量时RTTD值取为测量到的RTT样本值的一半。在以后的测量中,则使用下式计算加权平均的RTTD: 新的RTTD=(1-β)×(旧的RTTD)+β×∣RTTS—新的RTT样本∣ 这里β是一个小于1的系数,推荐值是0.25。
2.3往返时间的测量相当复杂 TCP 报文段 1 没有收到确认。重传(即报文段 2)后,收到了确认报文段 ACK。如何判定此确认报文段是对原来的报文段 1 的确认,还是对重传的报文段 2 的确认?
图2.1往返时间示意图 2.4 Karn 算法 在计算平均往返时间 RTT 时,只要报文段重传了,就不采用其往返时间样本。 这样得出的加权平均平均往返时间 RTTS 和超时重传时间 RTO 就较准确。
三、选择确认SACK 若收到的报文无差错,只是未按照序号,中间还缺少一些序号的数据,而只传送缺少的数据而不重传已经确认到达接收方的数据的方法之一就是选择确认。 现举例说明选择确认的工作原理。TCP的接收方在接受对方发送过来的数据字节流的序号不连续,结果就形成了一些不连续的字节块。比如,接收方收到了前面的的字节流不连续的字节流不连续的两个字节块(如图3.1)。如果这些字节的序号都在接收窗口之内,那么接收方就先收下这些数据,但要把这些信息准确告诉发送方,使发送方不要再重复发送这些已收到的数据。我们知道,TCP的首部没有那个字段能够提供字块的信息边界信息。RFC2018规定,如果要选择确认,那么在建立TCP连接时,就要在TCP首部的现象中加上“允许SACK”的选项,而双方必须都事先商定好。如果使用选择确认,那么原来首部中的“确认号字段”的用法不便。只是以后再TCP报文段的首部中都增加了SACK选项,以便报告收到的不连续的字节块的边界。 然而,SACK文档并没有指明发送方应当怎样相应SACK。因此大多数的实现还是重传所有未被确认的数据块。
图3.1不连续接收情况示意图 默认情况下TCP采取的是累积确认机制,这时如果发生了报文乱序到达,接收方只会重复确认最后一个按序到达的报文段,为此发送方的处理只能是重复按序到达接收方的报文段之后的那个报文段,因而它无法准确知道哪些报文段到达了,哪些没有到达。 考虑以下情景,发送方的窗口状态如下(图3.2):
图3.2发送窗口示意图 如上图所示,主机A通过TCP发送10个长度都为100字节的报文段给主机B,其序号分别为0,100,200,300,400,500,600,00,800,900(图中以字0-9代替)。主机B收到了序号为0和序号为100的报文段,但是序号为200,300,400的丢失了。之后主机B又收到了报文段500,600,700,800,900。当收到后续这些分组时,主机B只能对报文段100继续进行确认,即发送确认号为200的ACK。主机A收到这样的确认时,能重传的唯一报文段就是报文段200,在报文段200的确认被收到之前发送窗口是无法移动的,这时状况就会很糟糕,发送方每重传一个丢失的报文段,接收方就确认一个(由于是累积确认的,所以情况可能更糟,接收方每次都在等待一段时间后才发送确认),然后发送窗口向前移动一个,这个过程一直持续到报文段200,300,400都被接收方到。显然这种工作方式效率很低,降低了吞吐量。 SACK是TCP选项,它使得接收方能告诉发送方哪些报文段丢失,哪些报文段重传了,哪些报文段已经提前收到等信息。根据这些信息TCP就可以只重传哪些真正丢失的报文段。 需要注意的是只有收到失序的分组时才会可能会发送SACK,TCP的ACK还是建立在累积确认的基础上的。也就是说如果收到的报文段与期望收到的报文段的序号相同就会发送累积的ACK,SACK只是针对失序到达的报文段的。 SACK包括了两个TCP选项,一个选项用于标识是否支持SACK,是在TCP连接建立时时发送;另一种选项则包含了具体的SACK信息。
四、参考文献 [1]谢希仁.计算机网络(第6版) [M].北京:电子工业出版社.2012 [2]谢希仁.计算机网络释疑与习题解答[M].北京:电子工业出版社.2012