第5章 传输层协议UDP与TCP
- 格式:ppt
- 大小:1.13 MB
- 文档页数:62
传输层的协议传输层协议是计算机网络中的一个重要组成部分,它负责在网络中不同主机之间提供可靠的数据传输服务。
在传输层的主要协议有TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)两种。
TCP是一种面向连接的传输层协议,它能够为应用程序提供高可靠性的数据传输。
TCP使用三次握手的过程建立连接,并通过序列号、确认机制和重传机制保证数据的可靠性。
当数据包到达目的主机时,TCP会发送确认信息给发送方,以确保数据的成功接收。
如果某个数据包丢失或损坏,TCP会自动重传丢失的数据包,保证数据的完整性。
此外,TCP还实现了流量控制和拥塞控制的机制,能够动态调整传输速率,确保网络的稳定性。
UDP是一种无连接的传输层协议,它提供了一种简单的数据传输服务。
与TCP不同,UDP不需要建立连接,发送方直接将数据包发送给目的主机,接收方也无需发送确认信息。
由于没有连接建立和确认机制的开销,UDP传输效率较高。
但是UDP不保证数据的可靠性,一旦数据包丢失或损坏,UDP不会进行重传,可能会导致部分丢失的数据。
因此,UDP更适用于一些对传输效率要求较高,但数据完整性要求较低的应用,如实时视频和音频传输。
除了TCP和UDP这两种主要的传输层协议之外,还有一些其他的传输层协议,如SCTP(Stream Control Transmission Protocol)和DCCP(Datagram Congestion Control Protocol)等。
SCTP是一种面向连接的协议,类似于TCP,但它支持多路复用和多个数据流的传输,适用于一些对并发连接和高可靠性要求较高的应用。
DCCP是一种基于UDP的传输层协议,它为应用程序提供了可靠性控制和拥塞控制的机制,适用于实时流媒体等对传输延迟要求较高的应用。
总之,传输层协议在计算机网络中起到了至关重要的作用。
TCP和UDP是最常用的传输层协议,它们分别提供了可靠性的数据传输和高效率的数据传输。
1、基于TCP/IP的因特网服务中,IP协议提供主机之间的哪种分组传输服务?A.可靠的面向连接的B.不可靠的无连接的C.可靠的无连接的D.不可靠的面向连接的2、关于传输层端口,下列说法中哪个是错误的?A.端口是传输层和网络层通信的服务访问点B.利用传输端口可以识别通信的进程C.端口地址用16比特的端口号来标识D.TCP/IP将端口分为保留端口和自由端口两类3、UDP提供面向什么的传输服务?A.端口B.地址C.连接D.无连接4、下列关于UDP的叙述中,正确的是哪一个?A.给出数据的按序投递B.不允许多路复用C.运行主机的流控机制D.是面向无连接的5、关于UDP协议下列说法正确的是哪一个?A.UDP是面向连接的B.UDP使用尽最大努力交付,不保证可靠交付C.UDP使用拥塞控制,不适合多媒体通信D.UDP首部开销较大6、关于TCP协议下列说法错误的是哪一个?A.TC P是面向连接的B.TCP使用尽最大努力交付,不保证可靠交付C.TC P使用拥塞控制,不适合多媒体通信D.TC P首部开销较大7、以下哪项不是UDP协议的特性A.提供可靠服务B.提供无连接服务C.提供端到端服务D.提供全双工服务8、连续ARQ方式中,当传输中出现差错时,需要做什么?A.从0号帧开始全部重发B.仅重发出错的帧C.发端等待出错帧超时重发D.从出错的帧开始全部重发9、流量控制功能实质上是由下列哪一方控制执行的?A.发送方B.接收方C.发送方和接收方D.发送方和接收方间的中间节点10、TCP协议进行流量控制的是下列哪一种方法?A.检错码B.纠错码C.滑动窗口D.字符填充11、滑动窗口协议用于下列哪一种管理控制协议?A.差错控制B.流量控制C.拥塞控制D.链路管理12、TCP报文段中序号字段指的是下面什么?A.数据部分第一个字节B.数据部分最后一个字节C.报文首部第一个字节D.报文最后一个字节13、TCP报文中,确认号指的是什么?A.已收到的最后一个数据序号B.期望收到的第一个字节序号C.出现错误的数据序号D.请求重传的数据序号14、TCP报文中,确认号为1000表示为什么?A.已收到999字节B.已收到1000字节C.报文段999已收到D.报文段1000已收到15、TCP通常采用下列哪种机制来保证连接的可靠建立?A.三次握手法B.窗口控制机制C.自动重发机制D.端口机制16、“三次握手”机制是用于解决哪一问题的?A.网络中出现重复请求报文B.网络中无请求报文C.网络中出现重复确认报文D.网络中无确认报文17、TCP连接报文中,当SYN=1,ACK=0时,表示该报文是什么报文?A.释放连接B.接受连接C.连接请求D.持续连接18、TCP连接建立时,发起连接一方序号为x,则接收方确认的序号为什么?A.y B.x C.x+1D.x-119、TCP释放连接有下列哪一方发起?A.收发任何一方均可B.服务器端vvC.客户端D.连接建立一方20、TCP释放连接时,需要将下面哪一个比特置1?A.SYN B.END C.FIN D.STOP1、TCP/IP运输层中的两个协议分别是【UDP】和TCP。
竭诚为您提供优质文档/双击可除udp,协议和tcp,协议头部的共同字段有篇一:20xx年h3cne题库官网最新完整版第5篇传输层协议原理(附答案详解)第5篇传输层协议原理第23章tcp基本原理1.在如图所示的tcp连接的建立过程中,syn中的z部分应该填入________。
a.ab.bc.a+1d.b+1answer:d*tcp的三次握手中,ack(确认)总是在seq(序列号)的基础上加1。
2.以下哪个选项描述的参数可以唯一确定一条tcp连接?a.源端口号,源ip地址b.目的端口号,目的ip地址c.源端口号,目的端口号d.源mac地址,目的mac地址e.以上都不对answer:e*tcp是传输层的协议,它是建立可靠地端到端的连接,它的确定通常情况下是没法确定的,因为应用层会发送什么数据,tcp就会根据其运行的协议来建立连接而还没有确定到某一个参数可以看出它是一条tcp连接。
因此选e。
3.tcp协议通过______来区分不同的连接。
a.端口号b.端口号和ip地址c.端口号和mac地址d.ip 地址和mac地址answer:b*tcp协议是通过端口号和ip地址来区分不同的连接的,你应用层发什么数据,tcp来检查你运行的是什么协议,根据协议的端口号和ip地址来区分,最后发送出去。
4.udp协议和tcp协议头部的共同字段有______。
a.源ip地址b.流量控制c.校验和d.序列号e.目的端口F.源端口answer:ceFtcp和udp共有字段是校验和、源端口、目的端口。
5.udp协议和tcp协议头部的共同字段有______。
a.源端口b.目的端口c.流量控制d.源ip地址e.校验和F.序列号answer:abetcp和udp共有字段是校验和、源端口、目的端口。
6.在如图所示的tcp连接的建立过程中,syn中的x部分应该填入________。
a.ab.bc.a+1d.b+1answer:cack=seq+1.7.在如图所示的tcp连接的建立过程中,syn中的y部分应该填入________。
传输层协议包括传输层协议是计算机网络体系结构中的一个重要组成部分,它负责在网络中的不同主机之间提供端到端的数据传输服务。
传输层协议包括TCP(传输控制协议)和UDP(用户数据报协议)两种主要协议,它们在网络通信中起着至关重要的作用。
TCP是一种面向连接的可靠的传输协议,它通过数据包的重传、校验和等机制来保证数据的可靠传输。
TCP还负责对数据包进行排序和流量控制,以确保数据的顺利传输。
由于TCP的可靠性和稳定性,它被广泛应用在对数据传输要求较高的场景,如文件传输、网页浏览等。
与TCP不同,UDP是一种无连接的传输协议,它不保证数据的可靠传输。
UDP的优势在于传输效率高,适用于对实时性要求较高的场景,如视频会议、在线游戏等。
由于UDP不需要维护连接状态,因此在网络负载较高时,UDP表现更加灵活。
除了TCP和UDP之外,传输层协议还包括一些其他的协议,如SCTP(流控制传输协议)、DCCP(数据报拥塞控制协议)等。
这些协议在特定的网络环境和应用场景中发挥着重要作用。
传输层协议的选择取决于具体的应用需求。
在对数据传输的可靠性要求较高时,可以选择使用TCP协议;而在对传输效率和实时性要求较高时,可以选择使用UDP协议。
此外,还可以根据具体的应用场景选择其他的传输层协议,以满足不同的需求。
总的来说,传输层协议在计算机网络中起着至关重要的作用,它们为不同类型的应用提供了灵活的数据传输解决方案。
在实际应用中,我们需要根据具体的需求选择合适的传输层协议,以确保数据的安全、稳定和高效传输。
传输层协议的不断发展和完善也将进一步推动网络通信技术的进步,为人们的生活和工作带来更多便利和可能性。
TCP与UDP的区别及其应用TCP(传输控制协议)和UDP(用户数据报协议)是两种不同的传输协议,它们在网络通信中起着非常重要的作用。
虽然它们都是在网络通信中传输数据的协议,但是它们有很大的区别。
在本文中,我将分别介绍TCP和UDP的特点、区别及其在各种应用中的使用。
一、TCP的特点及应用1. TCP的特点TCP是一种面向连接的协议,它在传输数据之前需要先建立连接,然后传输数据,传输结束后再断开连接。
它提供可靠的、按序传输的数据传输服务,能够保证数据的完整性和可靠性。
TCP使用三次握手来建立连接,四次挥手来断开连接,在传输数据时会进行数据校验和确认。
因此,它非常适合对数据传输的要求比较高的应用场景。
2. TCP的应用TCP广泛应用于各种需要可靠传输的应用场景,包括但不限于以下几个方面:(1)网络浏览:当用户访问网页时,浏览器会使用TCP协议与服务器建立连接,传输页面内容。
(2)文件传输:在文件传输过程中,TCP可以保证文件的完整性和可靠性,确保文件在传输过程中不会丢失或损坏。
(3)电子邮件:电子邮件的发送和接收过程中需要使用TCP协议来保证数据传输的可靠性。
(4)远程登录:如Telnet、SSH等远程登录方式都使用TCP协议来传输数据。
(5)数据库访问:数据库访问时需要使用TCP协议来传输数据。
二、UDP的特点及应用1. UDP的特点UDP是一种无连接的协议,它不需要在传输数据之前建立连接,也不保证数据的完整性和可靠性。
UDP是一种简单的数据传输协议,它仅提供数据传输的功能,不对数据传输进行确认和校验。
因此,UDP的传输效率比TCP高,但可靠性较差。
由于UDP不需要建立连接,所以它的开销比较小,适合对实时性要求较高的应用场景。
2. UDP的应用UDP主要用于那些对实时性要求较高的应用场景,包括但不限于以下几个方面:(1)实时视频、音频传输:视频会议、实时语音通话等应用中使用UDP来传输数据,因为在这些应用中,实时性比可靠性更为重要。
计算机网络协议汇总计算机网络协议是在计算机网络通信中起到重要作用的规则和约定,它们定义了计算机和设备之间的通信方式和数据交换的规则。
网络协议是计算机网络的基础,为网络通信提供了可靠性、稳定性和安全性。
本文将对一些常见的计算机网络协议进行汇总,并简要介绍它们的功能和作用。
一、传输层协议1. TCP(传输控制协议)TCP是一种面向连接、可靠的传输层协议,主要功能是提供数据的可靠传输和流量控制。
TCP将数据分割成小的数据包,在接收端重新组装。
它还实现了拥塞控制机制,用于控制网络流量。
2. UDP(用户数据报协议)UDP也是传输层的一种协议,与TCP相比,它是无连接的、不可靠的。
UDP将数据以数据报的方式发送,不保证数据的可靠性和顺序性。
UDP适用于传输实时的、对数据完整性要求不高的应用,如在线游戏和音频/视频流。
二、网络层协议1. IP(Internet协议)IP是一种网络层协议,负责在不同的网络之间进行数据的路由和转发。
IP协议通过IP地址唯一标识网络中的设备,实现了数据的分组传输和寻址功能。
IPv4和IPv6是目前广泛使用的两个版本。
2. ICMP(Internet控制消息协议)ICMP是IP协议的一部分,用于在网络设备之间传递控制和错误信息。
它常用于网络诊断和错误报告,如ping命令就是利用ICMP实现的。
三、应用层协议1. HTTP(超文本传输协议)HTTP是一种用于传输超文本的协议,是万维网的核心协议。
它建立在TCP协议之上,用于客户端和服务器之间的通信。
HTTP规定了客户端如何发起请求,服务器如何响应请求,并包含了一些常用的请求方法和状态码。
2. SMTP(简单邮件传输协议)SMTP是用于电子邮件的传输协议,它定义了电子邮件的发送方式和邮件服务器之间的通信规则。
SMTP将电子邮件从发送端传递到接收端,通过POP或IMAP协议用户可以收取和管理邮件。
3. FTP(文件传输协议)FTP是用于文件传输的协议,它定义了客户端和服务器之间的文件传输方式。
《⽹络协议从⼊门到底层原理》笔记(五)传输层(UDP、TCP、流量控制、拥塞控制、建⽴连接。
⽹络层是为主机之间提供逻辑通信;传输层为应⽤进程之间提供端到端的逻辑通信。
逻辑通信”的意思是“好像是这样通信,但事实上并⾮真的这样通信”。
从IP层来说,通信的两端是两台主机。
但“两台主机之间的通信”这种说法还不够清楚。
严格地讲,两台主机进⾏通信就是两台主机中的应⽤进程互相通信。
从运输层的⾓度看,通信的真正端点并不是主机⽽是主机中的进程。
也就是说,端到端的通信是应⽤进程之间的通信。
即“主机 A 的某个进程和主机 B 上的另⼀个进程进⾏通信”。
简称为“计算机之间通信”。
传输层有两个主要协议:TCP(Transmission Control Protocol),传输控制协议UDP(User Datagram Protocol),⽤户数据报协议TCP 传送的数据单位协议是 TCP 报⽂段(segment)。
UDP 传送的数据单位协议是 UDP 报⽂或⽤户数据报。
第⼀章 UDP协议UDP 只在 IP 的数据报服务之上增加了很少⼀点的功能:复⽤和分⽤的功能差错检测的功能1.1 UDP特点UDP 是⽆连接的,发送数据之前不需要建⽴连接,因此减少了开销和发送数据之前的时延。
UDP 使⽤尽最⼤努⼒交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
UDP 是⾯向报⽂的。
UDP 对应⽤层交下来的报⽂,既不合并,也不拆分,⽽是保留这些报⽂的边界。
UDP ⼀次交付⼀个完整的报⽂。
UDP 没有拥塞控制,因此⽹络出现的拥塞不会使源主机的发送速率降低。
这对某些实时应⽤是很重要的。
很适合多媒体通信的要求。
UDP ⽀持⼀对⼀、⼀对多、多对⼀和多对多的交互通信。
UDP 的⾸部开销⼩,只有 8 个字节,⽐ TCP 的 20 个字节的⾸部要短。
1.2 UDP数据格式UDP长度(Length)占16位:⾸部的长度 + 数据的长度UDP检验和(Checksum)检验和的计算内容:伪⾸部 + ⾸部 + 数据伪⾸部:仅在计算检验和时起作⽤,并不会传递给⽹络层UDP端⼝(Port)UDP⾸部中端⼝是占⽤2字节可以推测出端⼝号的取值范围是:0~65535客户端的源端⼝是临时开启的随机端⼝防⽕墙可以设置开启\关闭某些端⼝来提⾼安全性常⽤命令:netstat –an:查看被占⽤的端⼝netstat –anb:查看被占⽤的端⼝、占⽤端⼝的应⽤程序telnet 主机端⼝:查看是否可以访问主机的某个端⼝安装telnet:控制⾯板 – 程序 – 启⽤或关闭Windows功能 – 勾选“Telnet Client” – 确定第⼆章 TCP协议TCP 是⾯向连接的运输层协议,在⽆连接的、不可靠的 IP ⽹络服务基础之上提供可靠交付的服务。
TCP和UDP协议简介⼀、TCPTCP(Transmission Control Protocol),传输控制协议,对“传输、发送、通信”进⾏“控制”的协议,它充分地实现了数据传输时的各种控制功能,可以进⾏丢包时的重发控制,还可以对次序乱掉的分包进⾏顺序控制。
此外,TCP 是⾯向有连接的协议,只有在确认通信端存在时才会发送数据。
TCP 是⼀个传输层协议,提供 Host-To-Host 数据的可靠传输,⽀持全双⼯,是⼀个连接导向的协议。
TCP 复杂控制连接的建⽴、断开、保持等管理⼯作,保证了在 IP 这种⽆连接的⽹络上也能够实现⾼可靠性的通信。
TCP 使⽤场景:远程控制(SSH)File Transfer Protocol(FTP)邮件(SMTP、IMAP)等点对点⽂件传出(微信等)1. 数据发送TCP 协议有这样⼏个基本操作:⼀个 Host 主动向另⼀个 Host 发起连接,称为 SYN(Synchronization),请求同步;⼀个 Host 主动断开请求,称为 FIN(Finish),请求完成;⼀个 Host 给另⼀个 Host 发送数据,称为 PSH(Push),数据推送;在 TCP 中,当发送端的数据到达接收主机时,接收端主机会返回⼀个已收到消息的通知,这个消息叫做确认应答(ACK)。
如果在⼀定时间内没有收到 ACK,发送端就可以认为数据已经丢失,并进⾏重发。
在 TCP 中,会在发送数据的每⼀个字节都标上序号,接收端查询接收数据 TCP ⾸部中的序列号和数据的长度,将⾃⼰下⼀步应该接收的序号作为ACK 返送回去。
序列号机制使发送端可以根据序列号分批次发送,使接收端可以处理消息乱序和重复问题。
重发超时时间。
当然,最初的数据包还不知在 TCP 中,会在每次发包时计算往返时间及其偏差(⽅差),将这个往返时间和偏差(⽅差)相加就是重发超时时间道往返时间,其重发超时⼀般设置为 6 秒左右。
若数据被重发之后还是收不到 ACK,则进⾏再次发送,此时,重发超时时间会以 2 倍、4 倍的指数函数延长。
第五章传输层5—01试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有什么重要区别?为什么运输层是必不可少的?答:运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层提供服务运输层为应用进程之间提供端到端的逻辑通信,但网络层是为主机之间提供逻辑通信(面向主机,承担路由功能,即主机寻址及有效的分组交换)。
各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由运输层以复用和分用的形式加载到网络层。
5—02网络层提供数据报或虚电路服务对上面的运输层有何影响?答:网络层提供数据报或虚电路服务不影响上面的运输层的运行机制。
但提供不同的服务质量。
5—03当应用程序使用面向连接的TCP和无连接的IP时,这种传输是面向连接的还是面向无连接的?答:都是。
这要在不同层次来看,在运输层是面向连接的,在网络层则是无连接的。
5—04试用画图解释运输层的复用。
画图说明许多个运输用户复用到一条运输连接上,而这条运输连接有复用到IP数据报上。
5—05试举例说明有些应用程序愿意采用不可靠的UDP,而不用采用可靠的TCP。
答:VOIP:由于语音信息具有一定的冗余度,人耳对VOIP数据报损失由一定的承受度,但对传输时延的变化较敏感。
有差错的UDP数据报在接收端被直接抛弃,TCP数据报出错则会引起重传,可能带来较大的时延扰动。
因此VOIP宁可采用不可靠的UDP,而不愿意采用可靠的TCP。
5—06接收方收到有差错的UDP用户数据报时应如何处理?答:丢弃5—07如果应用程序愿意使用UDP来完成可靠的传输,这可能吗?请说明理由答:可能,但应用程序中必须额外提供与TCP相同的功能。
5—08为什么说UDP是面向报文的,而TCP是面向字节流的?答:发送方UDP 对应用程序交下来的报文,在添加首部后就向下交付IP 层。
UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。
接收方UDP 对IP 层交上来的UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。
(答案仅供参考如有不对请自己加以思考)第五章传输层一、习题1.在TCP协议中,采用()来区分不同的应用进程。
A.端口号B.IP地址C.协议类型D.MAC地址2.下面信息中()包含在TCP首部中而不包含在UDP首部中。
A.目标端口号B.序号C.源端口号 D.校验号3.在TCP/IP模型中,传输层的主要作用是在互联网络的源主机和目的主机对等实体之间建立用于会话的()。
A.点到点连接B.操作链接C.端到端连接D.控制连接4.在TCP/IP网络中,为各种公共服务保留的端口号范围是()。
A.1-255 B.0-1023C.1-1024D.1-655355.假设某应用程序每秒产生一个60B的数据块,每个数据块被封装在一个TCP报文中,然后在封装到一个IP数据报中。
那么最后每个数据报所含有的应用数据所占的百分比是()(注意:TCP报文和IP数据报的首部没有附加字段。
)A.20%B.40%C.60%D.80%6.如果用户程序使用UDP协议进行数据传输,那么()层协议必须承担可靠性方面的全部工作。
A.数据链路层B.网际层C.传输层D.应用层7.有一条TCP连接,它的最大报文段长度2KB,TCP拥塞窗口为24KB,这时候发生了超时事件,那么该拥塞窗口变成了()。
A.1KBB.2KBC.5KBD.7KB8.TCP协议是面向连接的协议,提供连接的功能是(1)______的;采用(2)_______技术来实现可靠数据流的传送。
为了提高效率,又引入了滑动窗口协议,协议规定重传(3)_______的报文段,这种报文段的数量最多可以(4)________;TCP采用滑动窗口协议可以实现(5)_______。
(1)A.全双工 B.单工C.半双工D.单方向(2)A.超时重传 B.肯定确认C.超时重传和肯定确认D.丢失重传和否定性确认(3) A.未被确认及至窗口首端的所有报文段B.在计时器到时前未被确认的所有报文段C.未被确认及至退回N值的所有报文段D.未被确认的报文段(4)A.是任意的 B.1个C.大于发送窗口的大小D.等于发送窗口的大小(5)A.端到端的流量控制B.整个网络的拥塞控制C.端到端的流量控制和网络的拥塞控制D.整个网络的差错控制9.OSI 7层模型中,提供端到端的透明数据传输服务、差错控制和流量控制的层是()。
网络协议知识:UDP协议和TCP协议的应用场景和优缺点UDP协议和TCP协议是互联网中常用的两种传输协议。
这两种协议各有优缺点,在不同的应用场景下使用它们可以更好地满足不同的需求。
UDP协议UDP协议是用户数据报协议,它是一个简单的无连接协议。
在数据传输过程中,UDP不和对方建立连接,只负责数据包的传输,而不保证数据的完整性。
UDP协议简单高效,适用于一些对数据完整性要求相对不高的场景,比如实时游戏、视频流传输等。
UDP协议小巧快速,没有建立连接和挥手的过程,因此延迟很低,网络负载较小,适合用在网络带宽较小的环境下。
UDP协议还支持广播和多播,可以用于组播。
UDP协议具有以下优点:快速传输,没有建立连接和挥手的过程。
不保证数据完整性。
延迟低,适用于实时应用场景,比如在线游戏。
适用于小数据包、高频次传输的场景。
UDP协议具有以下缺点:不保障数据传输的可靠性,容易出现数据丢失和重复。
无法控制网络拥塞,容易造成网络拥塞。
不支持流量控制和拥塞控制。
不支持数据重传,对于需要高可靠性传输的数据不太适用。
TCP协议TCP协议是传输控制协议,它是一个面向连接的协议,它负责连接的建立与断开,并保证数据传输的可靠性。
TCP协议采用三次握手建立连接,连接建立后进行数据传输。
TCP协议的可靠传输机制能够确保数据的完整性,适用于对数据传输完整性要求较高的场景。
TCP协议发送数据前会进行拥塞控制,防止网络拥塞。
TCP协议还支持双向通信,可以在一个连接上同时传输数据。
TCP协议具有以下优点:可靠传输。
TCP协议保证数据传输的完整性,能够检测出并重传丢失的数据包,同时保证数据的顺序传输。
支持流量控制和拥塞控制。
通过拥塞窗口、滑动窗口等机制,TCP 协议可以控制数据传输的速度,防止网络拥塞。
双向通信。
TCP协议支持双向通信,可以在一个连接上同时传输数据。
TCP协议具有以下缺点:连接建立和断开较慢,消耗带宽。
较慢的消息传递速度。
TCP协议确保数据安全传输,但是因为它的可靠性和拥塞控制机制,使得传输速度较慢。
计算机网络(第五版)谢希仁课后答案第五章第五章传输层5—01 试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有什么重要区别?为什么运输层是必不可少的?答:运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层提供服务运输层为应用进程之间提供端到端的逻辑通信,但网络层是为主机之间提供逻辑通信(面向主机,承担路由功能,即主机寻址及有效的分组交换)。
各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由运输层以复用和分用的形式加载到网络层。
5—02 网络层提供数据报或虚电路服务对上面的运输层有何影响?答:网络层提供数据报或虚电路服务不影响上面的运输层的运行机制。
但提供不同的服务质量。
5—03 当应用程序使用面向连接的TCP和无连接的IP时,这种传输是面向连接的还是面向无连接的?答:都是。
这要在不同层次来看,在运输层是面向连接的,在网络层则是无连接的。
5—04 试用画图解释运输层的复用。
画图说明许多个运输用户复用到一条运输连接上,而这条运输连接有复用到IP数据报上。
5—05 试举例说明有些应用程序愿意采用不可靠的UDP,而不用采用可靠的TCP。
答:VOIP:由于语音信息具有一定的冗余度,人耳对VOIP数据报损失由一定的承受度,但对传输时延的变化较敏感。
有差错的UDP数据报在接收端被直接抛弃,TCP数据报出错则会引起重传,可能带来较大的时延扰动。
因此VOIP宁可采用不可靠的UDP,而不愿意采用可靠的TCP。
5—06 接收方收到有差错的UDP用户数据报时应如何处理?答:丢弃5—07 如果应用程序愿意使用UDP来完成可靠的传输,这可能吗?请说明理由答:可能,但应用程序中必须额外提供与TCP相同的功能。
5—08 为什么说UDP是面向报文的,而TCP是面向字节流的?答:发送方UDP 对应用程序交下来的报文,在添加首部后就向下交付IP 层。
UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。
UDP协议与TCP协议的比较UDP协议是无面向连接的、不可靠的、无序的、无流量控制的传输层协议,UDP发送的每个数据报是记录型的数据报,所谓的记录型数据报就是接收进程可以识别接收到的数据报的记录边界。
TCP协议是面向连接的、可靠的、有序的、拥有流量控制的传输层协议,它是字节流的协议,无记录边界。
1.记录与字节流UDP协议:发送进程在发送每个数据报的时候并不等待多个数据报集中在一起以一个较大数据报发送出去,而是立即发送出去,它是记录型的协议。
并且接收进程每次通过read或recv……获得的数据报必定是发送进程所发送的那个数据报不可能是多个数据报,接收进程可以识别到发送进程所发送的每个数据报的记录边界。
TCP协议:发送进程在发送每个数据报的时候在内核处理过程中有可能并不立即发送出去,而是会将多个数据报集中在一起以一个较大的数据报来发送,它是字节流的协议。
而接收进程每次通过read来读取发送进程发送过来的数据报并不一定是发送进程原先发送数据报,接收进程无法识别每个数据报的记录边界,所以TCP协议就是字节流的、无记录边界的协议。
例如:QQ聊天所用到的协议就应该是有记录边界的,聊天过程中是以“消息”为单位,消息可以看成一个记录,所以QQ聊天协议采取UDP协议而不是TCP 协议。
2.有序与无序UDP协议:发送进程所发送的每个数据报并不按照原先发送的顺序到达接收进程,有可能早发送的数据报较后到达接收进程。
因为数据报在经过中间路径的传送时会因为各个数据报传送的路径不同或者其它原因而造成这些数据报到达的顺序不同,UDP协议是无序的传输协议。
所以为了使基于UDP协议的应用程序有序,必须在应用程序中设置序号、确认机制来使其有序。
TCP协议:有序协议,有超时、序号、重传、确认机制。
例如:FTP协议是用于传送文件的协议,为了确保在传送文件内容的时候,传送的每个数据报协议有序接收,所以FTP协议是基于TCP协议。
那为什么TFTP协议是基于UDP协议?因为为了保证有序,TFTP协议中引入了确认、序号字段。