发布网友 发布时间:2022-03-25 18:42
共2个回答
懂视网 时间:2022-03-25 23:04
ip协议是不可靠的,因为IP属于网络层,在IP层发送数据时,由于网络延时,链路不稳定等因素造成数据包丢失,因此IP协议实现了不可靠传输。
为此提出了TCP协议,TCP协议采用确认机制,每次发送一个数据包,都等待对方回复确认,接收到对方回复的确认之后,才认为这个数据包已经到达了,并发送下一个。如果在规定的时间内接收不到对方的确认,那么就认为这个数据包丢失了,发送方就再次发送这个数据包,直到接收到对方的确认为止,因此每个数据包必然会到达对方那里,从而实现了可靠传输。
IP是Internet Protocol(网际互连协议)的缩写,是TCPIP体系中的网络层协议。设计IP的目的是提高网络的可扩展性:一是解决互联网问题,实现大规模、异构网络的互联互通;二是分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的发展。根据端到端的设计原则,IP只为主机提供一种无连接、不可靠的、尽力而为的数据报传输服务。
热心网友 时间:2022-03-25 20:12
TCP:传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,流量控制等功能,保证能从一端传到另一端。
当应用层向TCP层发送用于网间传输的、用字节表示的数据流,TCP则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)*。之后TCP把数据包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。
TCP为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。
在数据正确性与合法性上,TCP用一个校验和函数来检验数据是否有错误,在发送和接收时都要计算校验和;同时可以使用md5认证对数据进行加密。
在保证可靠性上,采用超时重传和捎带确认机制。
在流量控制上,采用滑动窗口协议,协议中规定,对于窗口内未经确认的分组需要重传。
UDP:用户数据协议,是一个简单的面向数据的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报削不用在客户和服务器之间建立一个连接,且没有超时重发机制,故而传输速度很快。
TCP提供一种面向连接的、可靠的字节流服务。面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据包之前必须先建立一个TCP连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁。在一个TCP连接中,仅有两方进行彼此通信。广播和多播不能用于TCP。