三握,四挥,滑动窗口会了吗?图解带你20分钟搞定TCP传输层
发布日期:2021-05-07 13:03:32 浏览次数:24 分类:精选文章

本文共 1008 字,大约阅读时间需要 3 分钟。

图解带你20分钟搞定TCP/IP协议

第二章 网络之TCP/IP协议

一、传输层

1. 端口号的作用

在TCP/IP协议中,端口号用于标识主机上进行通信的不同应用程序。通过五元组(源IP、源端口号、目的IP、目的端口号、协议号)来标识通信会话。例如,HTTP默认使用80端口,FTP默认使用21端口。

端口号分为知名端口号和动态端口号。知名端口号用于常用协议,如22(SSH)、80(HTTP)、443(HTTPS)等。开发自定义协议时应避开这些知名端口号。

两个常见问题:一个进程是否可以绑定多个端口?一个端口号是否可以被多个进程绑定?答案是可以的。操作系统允许多个进程绑定同一端口号。

2. UDP协议

UDP协议的特点包括:

- 没有连接建立,直接通过IP地址和端口号进行通信。- 不可靠,没有确认机制,可能导致丢包。- 面向数据报,无法控制数据传输的次数和大小。- UDP传输速度快,适合实时通信。

3. TCP协议

TCP协议是面向连接的协议,提供可靠性和流量控制。其特点包括:

- 可靠性:通过序列号、确认应答、超时重发和重传机制确保数据可靠传输。- 窗口机制:根据接收端缓冲区大小动态调整发送速度。- 拥塞控制:通过慢启动机制适应网络拥堵状态。- 三次握手和四次挥手:建立和终止连接的机制。

三、TCP协议的深入探讨

1. TCP数据格式

TCP协议头部包含以下字段:源端口、目的端口、序号、确认号、窗口大小、紧急指针、校验和、选项字段等。窗口大小用于流量控制,紧急指针用于标识紧急数据的位置。

2. TCP的可靠性机制

TCP的核心可靠性机制包括:

- 序列号:确保数据按顺序传输。- 校验和:验证数据完整性。- 确认应答:接收端返回ACK报文确认接收。- 超时重发:若无确认,重发数据包。

3. TCP的优化机制

TCP通过以下机制优化性能:

- 滑动窗口:无需等待确认即可继续发送数据。- 快速重传:避免重传过多次。- 延迟应答:通过控制ACK延迟来优化吞吐量。- 捎带应答:将ACK报文与数据报携带在一起发送。

四、TCP与UDP的对比

TCP和UDP各有优劣,使用时需根据需求选择:

- TCP适用于可靠性和流量控制要求高的场景,如文件传输和状态更新。- UDP适用于实时性要求高、对连接无需建立的场景,如视频会议和广播通信。

通过理解TCP和UDP的特点,可以更好地选择合适的协议进行开发。

上一篇:笔试面试手写代码常见题目,赶快学习!
下一篇:数据库的基本sql语句你会了吗? 进来补习

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年04月10日 07时57分04秒