TCP和UDP 应用请列举两个应用适合用TCP,和两个应用适合用UDP的.为什么?谢谢~~救命的啊~~

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 07:41:45
TCP和UDP 应用请列举两个应用适合用TCP,和两个应用适合用UDP的.为什么?谢谢~~救命的啊~~

TCP和UDP 应用请列举两个应用适合用TCP,和两个应用适合用UDP的.为什么?谢谢~~救命的啊~~
TCP和UDP 应用
请列举两个应用适合用TCP,和两个应用适合用UDP的.为什么?
谢谢~~
救命的啊~~

TCP和UDP 应用请列举两个应用适合用TCP,和两个应用适合用UDP的.为什么?谢谢~~救命的啊~~
尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务.
TCP提供一种面向连接的、可靠的字节流服务.
面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接.这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁.在第18章我们将看到一个TCP连接是如何建立的,以及当一方通信结束后如何断开连接.
在一个TCP连接中,仅有两方进行彼此通信.广播和多播不能用于TCP.
TCP通过下列方式来提供可靠性:
•应用数据被分割成TCP认为最适合发送的数据块.这和UDP完全不同,应用程序产生的数据报长度将保持不变.由TCP传递给IP的信息单位称为报文段或段(segment)TCP如何确定报文段的长度.
•当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段.如果不能及时收到一个确认,将重发这个报文段.在第21章我们将了解TCP协议中自适应的超时及重传策略.
•当TCP收到发自TCP连接另一端的数据,它将发送一个确认.这个确认不是立即发送,通常将推迟几分之一秒
•TCP将保持它首部和数据的检验和.这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化.如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段(希望发端超时并重发).
•既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序.如果必要,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层.
•既然IP数据报会发生重复,TCP的接收端必须丢弃重复的数据.
•TCP还能提供流量控制.TCP连接的每一方都有固定大小的缓冲空间.TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据.这将防止较快主机致使较慢主机的缓冲区溢出.
两个应用程序通过TCP连接交换8bit字节构成的字节流.TCP不在字节流中插入记录标识符.我们将这称为字节流服务(bytestreamservice).如果一方的应用程序先传10字节,又传20字节,再传50字节,连接的另一方将无法了解发方每次发送了多少字节.收方可以分4次接收这80个字节,每次接收20字节.一端将字节流放到TCP连接上,同样的字节流将出现在TCP连接的另一端.
另外,TCP对字节流的内容不作任何解释.TCP不知道传输的数据字节流是二进制数据,还是ASCII字符、EBCDIC字符或者其他类型数据.对字节流的解释由TCP连接双方的应用层解释.
这种对字节流的处理方式与Unix操作系统对文件的处理方式很相似.Unix的内核对一个应用读或写的内容不作任何解释,而是交给应用程序处理.对Unix的内核来说,它无法区分一个二进制文件与一个文本文件.
TCP是因特网中的传输层协议,使用三次握手协议建立连接.当主动方发出SYN连接请求后,等待对方回答SYN,ACK.这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议.第一次握手:建立连接时,客户端发送SYN包(SEQ=x)到服务器,并进入SYN_SEND状态,等待服务器确认.第二次握手:服务器收到SYN包,必须确认客户的SYN(ACK=x+1),同时自己也送一个SYN包(SEQ=y),即SYN+ACK包,此时服务器进入SYN_RECV状态.第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ACK=y+1),此包发送完毕,客户端和服务器时入Established状态,完成三次握手.
由于大多数网络应用程序都在同一台机器上运行,计算机上必须能够确保目的地机器上的软件程序能从源地址机器处获得数据包,以及源计算机能收到正确的回复.这是通过使用 UDP 的“端口号”完成的.例如,如果一个工作站希望在工作站 128.1.123.1 上使用域名服务系统,它就会给数据包一个目的地址 128.1.123.1 ,并在 UDP 头插入目标端口号 53 .源端口号标识了请求域名服务的本地机的应用程序,同时需要将所有由目的站生成的响应包都指定到源主机的这个端口上. UDP 端口的详细介绍可以参照相关文章.
与 TCP 不同, UDP 并不提供对 IP 协议的可靠机制、流控制以及错误恢复功能等.由于 UDP 比较简单, UDP 头包含很少的字节,比 TCP 负载消耗少.
UDP 适用于不需要 TCP 可靠机制的情形,比如,当高层协议或应用程序提供错误和流控制功能的时候. UDP 是传输层协议,服务于很多知名应用层协议,包括网络文件系统(NFS)、简单网络管理协议(SNMP)、域名系统(DNS)以及简单文件传输系统(TFTP).
UDP的特点:
UDP协议使用IP层提供的服务把从应用层得到的数据从一台主机的某个应用程序传给网络上另一台主机上的某一个应用程序.
UDP协议有如下的特点:
1、UDP传送数据前并不与对方建立连接,即UDP是无连接的,在传输数据前,发送方和接收方相互交换信息使双方同步.
2、UDP不对收到的数据进行排序,在UDP报文的首部中并没有关于数据顺序的信息(如TCP所采用的序号),而且报文不一定按顺序到达的,所以接收端无从排起.
3、UDP对接收到的数据报不发送确认信号,发送端不知道数据是否被正确接收,也不会重发数据.
4、UDP传送数据较TCP快速,系统开销也少.
从以上特点可知,UDP提供的是无连接的、不可靠的数据传送方式,是一种尽力而为的数据交付服务.

网页浏览和下载都是tcp,qq聊天和QQ视频都是udp。前者要保证数据的完整性,后者则不用。你有没有试过和别人视频聊天会很清晰的?