首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >套接字连接和TCP连接有什么区别?

套接字连接和TCP连接有什么区别?
EN

Network Engineering用户
提问于 2022-04-11 12:06:27
回答 1查看 931关注 0票数 1

我们知道TCP套接字是端口号和IP地址。TCP套接字连接是三路握手吗: SYN数据包、SYN数据包和ACK数据包?

TCP套接字连接是否遵循TCP堆栈?

TCP连接是否遵循TCP协议栈进行数据传输?

我的问题是TCP堆栈、TCP连接和TCP套接字连接是如何相互关联的?我们怎么能区分他们呢?而套接字连接以后使用IP地址,那是由OS负责的吗?

EN

回答 1

Network Engineering用户

回答已采纳

发布于 2022-04-11 12:31:16

TCP连接由一对套接字(本地和远程)标识。连接到远程TCP和握手可以为您提供双向连接。它就像主机之间的一对管道(每个方向一个),而管道一端的任何东西都会从另一端流出。

RFC 793,传输控制协议解释说(请参阅亮点,但RFC要详细得多):

多路复用:为了允许单个主机中的许多进程同时使用TCP通信设施,TCP在每个主机内提供一组地址或端口。从因特网通信层与网络和主机地址连接,形成套接字。一对套接字唯一地标识每个连接。也就是说,可以在多个连接中同时使用套接字。端口到进程的绑定由每个主机独立处理。但是,将经常使用的进程(例如“记录器”或分时服务)附加到向公众公开的固定套接字上是有用的。然后可以通过已知地址访问这些服务。建立和学习其他进程的端口地址可能需要更动态的机制。连接:上面描述的可靠性和流控制机制要求TCPs初始化和维护每个数据流的某些状态信息。此信息(包括套接字、序列号和窗口大小)的组合称为连接。每个连接都由标识其两侧的一对套接字唯一指定。当两个进程希望进行通信时,它们的TCP必须首先建立连接(初始化双方的状态信息)。当它们的通信完成后,连接将被终止或关闭,以释放资源用于其他用途。由于必须在不可靠的主机和不可靠的internet通信系统之间建立连接,因此采用了一种基于时钟序列号的握手机制,以避免连接的错误初始化。

票数 2
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/78519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档