不懂TCP,面试两行泪

本文深入解析TCP协议的特点,包括其面向连接、点对点通信、可靠有序交付、全双工通信及面向字节流的特性。文章还介绍了TCP连接的端点概念——套接字,并详细解释了TCP报文段的组成及TCP连接的建立与释放过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TCP与UDP一样,都属于运输层协议,下面我们来研究一下TCP协议。
一、TCP协议的特点:
1、面向连接
2、每条TCP连接只有两个端点,即点对点的;
3、提供可靠有序的交付服务;
4、提供全双工通信(即通信双方既是发送方也是接收方)。TCP两端都设有发送缓存和接受缓存;
5、面向字节流。TCP中的流指得是流入到进程或从进程流出的字节序列,“面向字节流”的含义是:虽然应用程序和TCP的交互是一次一个数据块(大小不等),但TCP把应用程序交下来的数据仅仅看成是一连串的无结构的字节流。TCP不保证接受方与发送方的数据块具有对应大小(如:发送方应用程序交给发送方TCP共10个数据块,但接收方的TCP可能只用了4个数据块就把收到的字节流交付给上层应用程序)。当然,发送方发出的字节流和接收方收到字节流必须一样。
二、每条TCP连接都有两个端点,那么这个端点是什么?
不是主机,也不是IP地址,也不是端口号,是套接字(Socket)。套接字即:IP地址:端口号。若主机的IP地址为192.3.4.5,端口号为80,那么得到的套接字就是(192.3.4.5:80)。每条TCP连接唯一地被通信两端的两个端点(即两个套接字)所确定。
三、一个TCP报文段分为首部和数据两部分。
TCP报文段首部格式:
在这里插入图片描述
四、TCP运输连接管理
1、建立连接——三次握手
在这里插入图片描述
这里有个问题——为什么TCP采用三次握手,而不是一次、两次、四次…,个人觉得下面这篇博客讲的还不错,
https://blog.youkuaiyun.com/voidreturn/article/details/78736800
2、释放连接——四次挥手
在这里插入图片描述

你懂了吗??????

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z_L_JUN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值