传输层协议

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上一页 返回
5.7 常用协议及端口
UDP和TCP协议使用端口号为不同的应用保留其各自的数据传输 通道,由于使用这一机制实现了对同一时刻内多项应用同时发送和 接收数据的支持。 数据发送一方(可以是客户端或服务器端)将UDP数据报通过 源端口发送出去,而数据接收一方则通过目标端口接收数据。有的 网络应用只能使用预先为其预留或注册的静态端口;而另外一些网 络应用则可以使用未被注册的动态端口。因为UDP报头使用两个字节 存放端口号,所以端口号的有效范围是从0到65535。一般来说,大 于49151的端口号都代表动态端口。
上一页 下一页 返回
5.6 用户数据报协议 UDP协议
包括视频电话会议系统在内的许多应用都证明了UDP协议的存 在价值。因为相对于可靠性来说,这些应用更加注重实际性能,所 以为了获得更好的使用效果(例如,更高的画面帧刷新速率)往往 可以牺牲一定的可靠性(例如,会面质量)。这就是UDP和TCP两种 协议的权衡之处。根据不同的环境和特点,两种传输协议都将在今 后的网络世界中发挥更加重要的作用
下一页 返回
5.6 用户数据报协议 UDP协议
UDP协议的主要作用是将网络数据流量压缩成数据报的形式。 一个典型的数据报就是一个二进制数据的传输单位。每一个数据报 的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数 据。 UDP报头 UDP报头由4个域组成,其中每个域各占用2个字节,具体如下: 源端口号、目标端口号、数据报长度、校验值。 数据报格式如下 数据报的长度是指包括报头和数据部分在内的总的字节数。
5.3.1TCP的服务
尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提 供与UDP完全不同的服务。 TCP提供一种面向连接的、可靠的字节流服务。 面向连接意味着两个使用TCP的应用(通常是一个客户和一个 服务器)在彼此交换数据之前必须先建立一个TCP连接。这一过程与 打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明 是谁。在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能 用于TCP。
5.3.3TCP连接的建立和拆除
tcp使用滑动窗口协议如何进行流量控制,该协议为何可以加 速数据传输?谢谢!
1 比如发送端能发送5个数据,接收端也能收到5个数据,给个
确认(ACK)给发送端,确认我收到5个数据。
上一页 下一页 返回
5.3 传输控制协议 TCP
如果网络通信出现繁忙或者拥塞的时候,接收端只能收3个数 据,接受端给个确认我只能收3个数据,那么发送端就自动调整发送 的窗口为3,当线路又恢复通畅的时候,接受端又可以受到5个数据, 那它会给确认给发送端,告诉它我的窗口为5,那发送端就把窗口又 调整会5,这样进行流量控制的 2 比如说发送端窗口为3,发送到接收端,接收端的接收窗口为5的 话,接受数据,并且会给发送端一个ACK(确认)告诉发送端我的窗 口为5,发送端收到确认后会把自己的发送端窗口调整为5~~这样就 可以加速数据传输了
下一页 返回
5.3 传输控制协议 TCP
两个应用程序通过TCP连接交换8bit字节构成的字节流。TCP不 在字节流中插入记录标识符。我们将这称为字节流服务 (bytestreamservice)。如果一方的应用程序先传10字节,又传20 字节,再传50字节,连接的另一方将无法了解发方每次发送了多少 字节。收方可以分4次接收这80个字节,每次接收20字节。一端将字 节流放到TCP连接上,同样的字节流将出现在TCP连接的另一端。 另外,TCP对字节流的内容不作任何解释。TCP不知道传输的数 据字节流是二进制数据,还是ASCII字符、EBCDIC字符或者其他类型 数据。对字节流的解释由TCP连接双方的应用层解释。
上一页 下一页 返回
5.2 传输层采用的两大协议TCP、 UDP
当应用程序在收到数据后要做出确认时也要用到TCP。由于TCP 需要时刻跟踪,这需要额外开销,使得TCP的格式有些显得复杂。 A向B发送一个数据包,B收到后向A返回一个回就包,A收到并 确认后就开始向B传输数据。
上一页 返回
5.3 传输控制协议 TCP
发送端窗口大小取决于接收端窗口大小和网络能够传输窗口大
小他们两者中的最小者
上一页 返回
5.4 流量控制
流量控制:可以保证数据的完整性。可以防止发送方将接受方 的缓冲区溢出。当接受方在接到一个很大或速度很快的数据时,它 把来不及处理的数据先放到缓冲区里,然后在处理。缓冲区只能解 决少量的数据,如果数据很多,那么后来的数据将会丢失。使用流 量控制,接受方不是让缓冲区溢出,而是发送一个信息给发送方 “我没有准备好,停止发送”,这时,发送方就会停止发送。当接 受方能再接收数据时,就会再发送一个信息,“我准备好了,请继 续发送”,那么发送方就会继续发送数据。
下一页 返回
5.4 流量控制
面向连接的通信会话做到以下几点: 根据所传送数据段的接受情况,对发送发做出确认 重传没有收到确认的数据段 对数据段进行排序,得到正确的数据 维持可管理的数据流量,避免拥塞、超载和数据丢失
上一页 返回
5.5 拥塞控制
简单描述拥塞控制与流量控制的区别 拥塞控制与流量控制有密切关系,但也有区别: 可以这样理解,拥塞控制是网络能够承受现有的网络负荷,是一个 全局变量;而流量控制往往只是指点对点之间对通信量的控制。
返回
5.6 用户数据报协议 UDP协议
UDP协议是英文UserDatagramProtocol的缩写,即用户数据报 协议,主要用来支持那些需要在计算机之间传输数据的网络应用。 包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都 需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然 其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,UDP 仍然不失为一项非常实用和可行的网络传输层协议。 与我们所熟知的TCP(传输控制协议)协议一样,UDP协议直接 位于IP(网际协议)协议的顶层。根据OSI(开放系统互连)参考模 型,UDP和TCP都属于传输层协议。
下一页 返回
5.2 传输层采用的两大协议TCP、 UDP
IP不停的把报文放到 网络上,而TCP是负责确信报文到达。在 协同IP的操作中TCP负责:握手过程、报文管理、流量控制、错误检 测和处理(控制),可以根据一定的编号顺序对非正常顺序的报文 给予从新排列顺序。关于TCP的RFC文档有RFC793、RFC791、RFC1700。 在TCP会话初期,有所谓的“三握手”:对每次发送的数据量 是怎样跟踪进行协商使数据段的发送和接收同步,根据所接收到的 数据量而确定的数据确认数及数据发送、接收完毕后何时撤消联系, 并建立虚连接。为了提供可靠的传送,TCP在发送新的数据之前,以 特定的顺序将数据包的序号,并需要这些包传送给目标机之后的确 认消息。TCP总是用来发送大批量的数据。
第5章 传输层协议
5.1 传输层的基本功能 5.2 传输层采用的两大协议TCP、UDP 5.3 传输控制协议 TCP 5.4 流量控制 5.5 拥塞控制 5.6 用户数据报协议 UDP协议 5.7 常用协议及端口
5.1 传输层的基本功能
TCP协议主要为了实现在主机间实现高可靠性的包交换传输协 议。TCP协议主要在网络不可靠的时候完成通信,对军方可能特别有 用,但是对于政府和 商用部门也适用。TCP是面向连接的端到端的 可靠协议。它支持多种网络应用程序。TCP对下层服务没有多少要求, 它假定下层只能提供不可靠的数据报服务,它可以在多种硬件构成 的网络上运行。TCP的下层是IP协议,TCP可以根据IP协议提供的服 务传送大小不定的数据,IP协议负责对数据进行分段、重组,在多 种网络中传送。
与TCP不同,UDP协议并不提供数据传送的保证机制。如果在从
发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能
做出任何检测或提示。பைடு நூலகம்此,通常人们把UDP协议称为不可靠的传输
协议。
上一页 下一页 返回
5.6 用户数据报协议 UDP协议
所以此协议常用于小信息量的通信和小文件传输,如QQ软件就 是一例。 相对于TCP协议,UDP协议的另外一个不同之处在于如何接收突 法性的多个数据报。不同于TCP,UDP并不能确保数据的发送和接收 顺序。例如,一个位于客户端的应用程序向服务器发出了以下4个数 据报:D1、D22、D333、D4444;但是UDP有可能按照以下顺序将所接 收的数据提交到服务端的应用:D333、D1、D4444、D22。事实上, UDP协议的这种乱序性基本上很少出现,通常只会在网络非常拥挤的 情况下才有可能发生。
上一页 下一页 返回
5.3 传输控制协议 TCP
这种对字节流的处理方式与Unix操作系统对文件的处理方式很 相似。Unix的内核对一个应用读或写的内容不作任何解释,而是交 给应用程序处理。对Unix的内核来说,它无法区分一个二进制文件 与一个文本文件。
5.3.2TCP握手协议
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握 手建立一个连接。
上一页 下一页 返回
5.6 用户数据报协议 UDP协议
UDP协议的应用 也许有的读者会问,既然UDP是一种不可靠的网络协议,那么 还有什么使用价值或必要呢?其实不然,在有些情况下UDP协议可能 会变得非常有用。因为UDP具有TCP所望尘莫及的速度优势。虽然TCP 协议中植入了各种安全保障功能,但是在实际执行的过程中会占用 大量的系统开销,无疑使速度受到严重的影响。反观UDP由于排除了 信息可靠传递机制,将安全和排序等功能移交给上层应用来完成, 极大降低了执行时间,使速度得到了保证。 关于UDP协议的最早规范是RFC768,1980年发布。尽管时间已 经很长,但是UDP协议仍然继续在主流应用中发挥着作用。
上一页 下一页 返回
5.6 用户数据报协议 UDP协议
因为报头的长度是固定的,所以该域主要被用来计算可变长度 的数据部分(又称为数据负载)。数据报的最大长度根据操作环境 的不同而各异。从理论上说,包含报头在内的数据报的最大长度为 65535字节。不过,一些实际应用往往会限制数据报的大小,有时会 降低到8192字节。 UDP协议使用报头中的校验值来保证数据的安全。校验值首先 在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还 需要再重新计算。如果某个数据报在传输过程中被第三方篡改或者 由于线路噪音等原因受到损坏,发送和接收方的校验计算值将不会 相符,由此UDP协议可以检测是否出错。
上一页 下一页 返回
5.6 用户数据报协议 UDP协议
这与TCP协议是不同的,后者要求必须具有校验值。
UDP和TCP协议的主要区别:
是两者在如何实现信息的可靠传递方面不同。TCP协议中包含 了专门的传递保证机制,当数据接收方收到发送方传来的信息时, 会自动向发送方发出确认消息;发送方只有在接收到该确认消息之 后才继续传送其它信息,否则将一直等待直到收到确认信息为止。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,
并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到
syn包,必须确认客户的SYN(ack=j+1),
上一页 下一页 返回
5.3 传输控制协议 TCP
同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服 务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端 和服务器进入ESTABLISHED状态,完成三次握手。 完成三次握手,客户端与服务器开始传送数据,
返回
5.2 传输层采用的两大协议TCP、 UDP
TCP/IP是很多的不同的协议组成,实际上是一个协议组,TCP 用户数据报表协议(也称作TCP传输控制协议,Transport Control Protocol。可靠的主机到主机层协议。这里要先强调一下,传输控 制协议是OSI网络的第四层的叫法,TCP传输控制协议是TCP/IP传输 的6个基本协议的一种。两个TCP意思非相同。 )。 TCP是一种可靠的面向连接的传送服务。它在传送数据时是分 段进行的,主机交换数据必须建立一个会话。它用比特流通信,即 数据被作为无结构的字节流。 通过每个TCP传输的字段指定顺序号, 以获得可靠性。是在OSI参考模型中的第四层,TCP是使用IP的网间 互联功能而提供可靠的数据传输,
相关文档
最新文档