关于我对socket的理解,不知道正确与否?

admin 2026-09-24 05:19:14 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文是作者对socket概念的个人理解分享,认为socket是对TCP/IP协议栈的封装与实现,通过API操作实现网络通讯。文章指出socket成对出现是常见组合,也存在1:N组播和1:0本机Ping等关系,并讨论了socket与自身通信的边界情况。内容属于网络基础概念探讨,对理解socket与协议关系有参考价值,但部分表述不够严谨。 综合评分: 65 文章分类: 网络安全,其他


关于我对socket的理解,不知道正确与否?

原创

车小胖谈网络 车小胖谈网络

车小胖谈网络

2026年9月23日 17:29 上海

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

看了很多关于socket的文章,也整合了不同文章的描述,对于它有一个自己的认识,不知道对不对,想请教一下各位。socket是一个对tcp/ip这个网络通讯协议栈的全面封装与实现。就是说协议是一个概念,是一种规范和约定俗成的东西,我想要操作和应用这些协议,那它必须要有一个实现,socket就是这个实现,通过使用socket的一系列api,比如说connect,write,read 它能够依照tcp/ip的规范实现网络通讯。即socket是成对出现的,客户端一个socket,服务端一个socket,通过对它的一系列操作来实现tcp/ip的规范的功能。即socket连接也就是tcp连接的实现。我们在平时开发的过程中,关于网络通讯,其实本质封装的就是socket。因为tcp/ip是协议,协议是概念,具体实现的还是socket。

现代socket的概念来自于BSD socket,即使没有TCP/IP,socket照样可以使用其它的协议通信。socket支持40多种Address Family,IPv4,IPv6仅仅是其中的2员。

Socket成对出现只是一种常见的组合。还有不太常见的组合,比如1个组播源socket在推送电视节目,N个组播接收socket在接收组播packet,这种就是1:N的关系。

在本机上Ping 1.1.1.1, 也使用socket。但只在本机创建了socket实例,被ping的主机1.1.1.1上并没有为这个ping创建任何socket实例,这种就是1:0的关系。

无论使用TCP还是UDP,(destination ip == source ip) && (destination port == source port) 为TRUE的情况,其实就是socket与自己的通信。广义上虽然也是1:1的映射,狭义上这里只有一个socket实例。Data在socket write queue与socket receive queue里搬迁。左口袋进,右口袋出。

究竟socket与TCP/IP是什么关系,进入剧场观看。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。

本文转载自:车小胖谈网络 车小胖谈网络 车小胖谈网络《关于我对socket的理解,不知道正确与否?》

评论:0   参与:  0