目录
一.Socket通信的基本概述
1.基本概念
都知道进程间实现数据传输的方式有很多,比如管道、信号、消息队列、信号量集、共享内存等,这些方案可以实现同一台主机中的多个不同进程间的数据传输。
注意:如果有两台主机之间需要实现数据传输,以上的方法都无法实现该效果.
以上的数据传输方式都只能在同一台主机中运行.如果想要在两台主机之间实现则需要使用网络传输,“套接字”
因为同一台主机中的实现进程间通信的方式都是需要使用系统资源的,而两台不同的主机的系统资源是不共享的。
2.socket详解
socket的中文翻译具有“插座/插孔”的含义,而插座需要选择合适的线才可以正常连通,如果把插座理解为互联网中的主机,则合适的线指的是网络协议。
注释:socket接口,相当于给两台设备提供一个相同型号的接口,接口类型就是网络协议,就像数据线的两端必须接入可以适配的接口。
3.socket结构
socket接口一般采用的是
C/S架构,C指的是
客户端(client),S指的是
服务器(server)。利用该接口可以实现支持多个客户端对同一个服务器进行并发访问,也可以实现一对一通信。
注释:就是说一个客户端socket接口只能接入一个服务器接口,但是服务器接口可以接多个客户端接口,就像手机上只有一个数据传输接口,但是一般电脑上会配置多个usb接口.
二.IP地址
1.IP地址解析
IP协议中规定IP地址的格式为:高阶位、网络编号、本地地址组成。
其中
网络编号是用于标识互联网中的不同网络,而
本地地址是用于标识处于该网络的唯一主机。
注释:网络编号用来区分网络,本地地址用来区分主机,高阶位一般与网络编号一起,所以也有说法直接把IP地址分为网络编号和本地地址.
2.网络模型
IP地址中用网络编号来标识全世界不同网络的原因是因为
互联网采用的是分布式模型,该模型可以避免由于战争等因素导致网络瘫痪。
注释:如果是其他两种网络模型,当关键结点受到破坏,会造成与其相关的主机网络瘫痪.
协议标准
互联网中除了IP协议之外还存在很多网络协议,这些网络协议的标准可以通过RFC官网进行下载,官网地址:
» RFC Editor
https://www.rfc-editor.org/ ,下载协议标准的操作流程如下所示:


RFC(Request for Comments)指的是征求意见稿,是由互联网工程任务组(简称IETF,是世界上唯一的国际性、非政府、开放性的互联网技术开发和标准制定组织)发布的一系列备忘录和草案,其中包含关于互联网的重要文字资料。
注释:该官网地址只能用来查询网络协议,TTL等电平协议无法查询.
IP地址分类
IP地址根据网络ID的不同分为
A、B、C、D、E五类,具体划分如下:
A类地址
- 地址范围:1.0.0.1∼126.255.255.254
- 子网掩码:255.0.0.0
- 结构:首位为0,网络号占7位,主机号占24位(约1677万主机)
- 用途:分配给超大规模网络(如国家级网络、大型企业)
B类地址
- 地址范围:128.0.0.1∼191.255.255.254
- 子网掩码:255.255.0.0
- 结构:前两位为10,网络号占14位,主机号占16位(约6.5万主机)
- 用途:适用于中型网络(如企业分支机构)
C类地址
- 地址范围:192.0.0.1∼223.255.255.254
- 子网掩码:255.255.255.0
- 结构:前三位为110,网络号占21位,主机号占8位(254主机)
- 用途:小型网络(如家庭、校园局域网)
D类地址
- 地址范围:224.0.0.0∼239.255.255.255
- 结构:前四位为1110,无网络/主机划分,用于组播(Multicast)
E类地址
- 地址范围:240.0.0.0∼255.255.255.255
- 结构:前四位为1111,保留用于实验或未来扩展
特殊地址与私有地址
- 私有地址(无需申请,内部使用):
- A类:10.0.0.0∼10.255.255.255
- B类:172.16.0.0∼172.31.255.255
- C类:192.168.0.0∼192.168.255.255
- 特殊地址:
- 127.0.0.1:本地回环测试
- 0.0.0.0:当前主机占位符
- 255.255.255.255:受限广播地址
注释总结
- ABC类用于常规网络,D类支持组播,E类保留
- 一般用户用c类网络即可
- 网络号(A)和主机号(B)的关系是,有A数量的网络号,每个网络的网络都能支持B数量的主机连接,假设网络编号的数量是5,主机号的数量是10,哪每个网络号都能连接10台主机.
- 一般网络里面的0号主机地址和255号主机地址有特殊意义,不能分配给主机,0号地址(网络地址)用来标识网络,255号地址(广播地址)是用来选中该网段中所有主机的.
通过标准可以知道,IP协议提供的IP地址是32bit的,并且把32bit分为4个段,每个段由8bit组成,每个段的值指定为十进制数(也就是范围是0~255),并且每个段使用英文句号分隔,一般把这种表示方式称为“点分十进制”。
表示形式:后期为了简化IP地址,提出了无分类地址CIDR,表现形式为 A.B.C.D/x
例如192.168.5.120/24其中的24就是表示该IP地址的网络编号有24位,主主机编号为8位,以此类推
注意:这里说32位指的是IPV4标准下,在IPV6标准下,IP地址可以达到128位
子网掩码
作用:用来判断双方主机是否处于同一网段,如果双方主机网络编号相同,就可以说明双方主机处于同一网段.
使用方式:使用子网掩码和IP地址进行“位与”操作即可与掉主机号,只余下网络编号,用网络编号直接对比,若相同,则可以说明两台主机处于同一个网络下.
注意:由于ABC类的网络编号位数不同,所以这三类地址的子网掩码也不同.
A类为 255.0.0.0.
B类为 255.255.0.0
C类为 255.255.255.0
OSI网络模型简述
OSI七层模型是国际标准化组织(ISO)提出的网络通信理论框架,将复杂的数据传输过程分解为七个层次,每层独立完成特定功能,协同实现端到端通信。
以下是各层核心功能与示例:
1. 物理层(Physical Layer)
- 功能:传输原始比特流(电信号、光信号等),定义物理接口标准(如RJ45网口、光纤)。
- 协议/设备:以太网、Wi-Fi(IEEE 802.11)、集线器(HUB)。
2. 数据链路层(Data Link Layer)
- 功能:通过帧传输实现相邻节点的可靠通信,包含MAC子层(MAC地址寻址)和LLC子层(流量控制、差错检测)。
- 协议/设备:以太网(Ethernet)、交换机(Switch)。
- 关键机制:封装成帧、CRC校验、MAC地址映射(ARP协议)。
3. 网络层(Network Layer)
- 功能:通过IP地址实现跨网络的路由选择与数据转发,核心协议为IP协议(IPv4/IPv6)。
- 协议/设备:IP、ICMP(如
ping
命令)、路由器(Router)。 - 关键机制:逻辑寻址、路由表维护(如OSPF、BGP)。
4. 传输层(Transport Layer)
- 功能:提供端到端的可靠或高效传输,核心协议包括:
- TCP:面向连接,保证数据可靠(如HTTP、FTP)。
- UDP:无连接,低延迟(如DNS、视频流)。
- 关键机制:三次握手(TCP)、端口号映射、流量控制。
5. 会话层(Session Layer)
- 功能:建立、维护和终止会话(逻辑连接),支持断点续传和全双工通信。
- 协议示例:RPC(远程过程调用)、SQL会话管理。
6. 表示层(Presentation Layer)
- 功能:数据格式转换(如ASCII与二进制)、加密解密(TLS/SSL)、压缩解压缩。
- 典型场景:HTTPS加密网页、JPEG图像压缩传输。
7. 应用层(Application Layer)
- 功能:直接面向用户,提供网络服务接口。
- 协议示例:
- HTTP/HTTPS:网页浏览
- FTP:文件传输
- SMTP:邮件发送
- DNS:域名解析
TCP/IP网络模型简述
TCP/IP网络模型是互联网通信的核心框架,采用四层结构,每层负责特定功能并协同工作
1. 应用层(Application Layer)
- 功能:直接面向用户,提供网络服务接口(如网页浏览、文件传输),定义数据格式与协议规则。
- 协议示例:
- HTTP/HTTPS:网页传输(端口80/443)
- FTP:文件传输(端口21)
- DNS:域名解析(UDP端口53)
- SMTP:邮件发送(端口25)。
2. 传输层(Transport Layer)
- 功能:管理端到端通信,确保数据可靠或高效传输。
- 核心协议:
- TCP:面向连接,通过三次握手建立可靠通道,支持流量控制与重传(如HTTP、FTP)。
- UDP:无连接,低延迟但不可靠(如DNS查询、视频流)。
- 端口号:标识不同应用进程(如HTTP用80端口)。
3. 网络层(Internet Layer)
- 功能:通过IP地址实现跨网络路由,负责数据包的分段、重组与转发。
- 核心协议:
- IP协议:定义IPv4/IPv6地址格式,支持无连接的数据包传输。
- ICMP:网络诊断(如
ping
命令)。 - ARP:将IP地址解析为MAC地址。
4. 网络接口层(Network Interface Layer)
- 功能:处理物理介质的数据帧传输,包括MAC地址寻址与差错检测。
- 协议/机制:
- 以太网:定义帧结构(源/目标MAC地址、CRC校验)。
- PPP/HDLC:广域网链路协议。
注释:OSI网络模型为理论模型,并未能成实践,但是在他诞生之前TCP/IP网络模型已经获得了市场,完成了实践.这俩个模型是互相印证的
OSI的物理层和数据链路层对应着TCP/IP的网络接口层
OSI的网络层对应着TCP/IP的网络层
OSI的传输层对应着TCP/IP的传输层
OSI的应用层和表示层以及会话层对应着TCP/IP的应用层