一、TCP和UDP的不同
1、TCP协议是面向链接的协议,UDP协议是无连接的协议;
2、TCP协议传输是可靠的,UDP协议传输“尽力而为”;
3、TCP可以实现流控,UDP不行;
4、TCP可以进行数据分段,UDP不行;
5,TCP消耗资源较大,传输速度较慢;UDP消耗资源较小,传输速度快;
二、1、TCP传输可靠性–--确认,重传,排序,流控---滑动窗口机制
(1)确认 --- 首先TCP是一种面向有链接的协议,首先经过三次握手建立连接,只有在确认通信对端存在时才会发送数据。
(2)排序 --- TCP首先会按照顺序给发送的数据标上号码。
(3)重传 --- TCP每发送一个数据报,都会期待一个接收端ACK的回复,我们就知道接收端已经收到消息了。如果短时间内没有收到ACK,那么TCP就会对消息进行自动重发。
(4)流控---滑动窗口机制
发送方连续发送5个TCP段,窗口大小为5,中途若有 ACK 丢失,可以通过「下一个确认应答进行确认」。比如ACK 4应答报文丢失,发送方会从第4个TCP段开始,连续再发5个TCP段。只要发送方收到了 ACK 9 确认应答,就意味着 9 之前的所有数据接收方都收到了。
窗口大小:是接收方告诉发送方自己一次最多可以接收多少个TCP段数据(这个过程是发送方通过不断发送试出来的),于是发送方就可以根据这个接收方的处理能力来发送数据,而不会导致接收端处理不
通常窗口的大小是由接收方的决定的
发送方发送的数据大小不能超过接收方的窗口大小,否则接收方就无法正常接收到数据
过来。
TTL ---生存时间---数据包每经过一个路由器的转发,这个TTL值将减1,当这个TTL值为0时,则路由器将不再转发这个数据包,而是直接丢弃。
协议---指上层使用的协议类型--- 6 -- TCP;17 --- UDP;1 ---ICMP
ICMP---它属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。
ICMP就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况﹐也能确保连线的准确性。当路由器在处理一个数据包的过程中发生了意外,可以通过ICMP向数据包的源端报告有关事件。