有两种类型的互联网协议(IP, Internet Protocol),一种是TCP(Transmission Control Protocol, 传输控制协议),一种是UDP(User Datagram Protocol, 用户数据传输协议)。
TCP是面向连接的,一旦建立连接,数据可以双向发送;
UDP是一种更简单,无连接的互联网协议,多个消息使用UDP作为数据包以块的形式发送。
TCP | UDP | |
全名称 | 传输控制协议 | 用户数据报协议(或通用数据报协议) |
连接 | 面向连接的协议 | 无连接协议 |
适用场景 | 适用于需要高可靠性的应用,传输时间相对不那么关键 | 适用于需要快速,高效传输应用,如游戏. |
被其他协议使用 | HTTP, HTTPS, FTP, FMTP, Telnet | DNS, DHCP, TFTP, SNMP, RIP, VOIP |
数据包排序 | TCP重新排序的数据按照指定序列分组 | UDP没有固定的顺序,因为所有分组是彼此独立的。如果需要排序,它必须由应用程序层管理。 |
传输速度 | TCP速度比UDP慢 | UDP更快,因为不尝试错误恢复,它是一个"尽力而为"的协议 |
可靠性 | 绝对保证所传输的数据保持完整,并按照发送数据的相同顺序到达 | 不能保证发送的消息或分组能到达 |
报头大小 | TCP报头大小为20字节 | UDP报头大小为8字节 |
数据流 | 数据被读取为字节流,没有区别的指示被发送到信号消息(段)边界 | 数据包单独发送,只有到达时才会检查其完整性。分组具有明确的边界,在接收时被认可,这意味着在接收器插座处的读取操作将产生整个消息,因为它最初被发送。 |
数据流控制 | TCP执行流控制。TCP需要三个数据包来建立一个套接字连接,在任何用户数据可以发送之前。TCP处理可靠性和拥塞控制。 | UDP没有流控制选项 |
错误检查 | TCP执行错误检查和错误恢复。错误的数据包从源重新传输到目标。 | UDP执行错误检查,但简单地丢弃错误的数据包。不尝试错误恢复。 |
确认 | 确认段 | 无确认 |
握手 | SYN, SYN-ACK, ACK | 无握手(无连接协议) |
时间: 2024-10-27 11:03:24