## 计算机网络基础知识
一、计算机网络体系结构
- TCP/IP四层模型和OSI七层模型
-
IOS七层模型:
-
物理层:(physicial layer)主要负责物理介质上的比特流传输,比如电信号、光信号、无线电波。例如:网线 光纤 网卡的物理接口 集线器
-
数据链路层:(data link layer)主要负责同一局域网内的设备通信,通过MAC地址识别设备。例如:交换机(Switch) ARP协议 以太网(Ethernet)
-
网络层:主要负责跨网络的数据包路由,通过IP地址寻找目标网络。例如:路由器 IP协议(IPV4/IPV6) ICMP协议
-
传输层:主要负责端到端的可靠数据传输,在源主机和目标主机的应用程序之间建立连接。例如:TCP(HTTP FTP用它) UDP(视频通话 直播)
-
会话层:主要负责建立、管理和终止表示层实体之间的通信会话,比如断点续传。例如:RPC(远程过程调用) NetBIOS
-
表示层:主要负责数据的格式转换和加密解密,让接收方能正确理解发送方的数据。例如JPEG MP4 SSL/TLS 加密 ASCII编码
-
应用层:主要负责直接和用户的应用程序交互,提供网络服务接口。例如:HTTP/HTTPS(网页) SMTP/POP3(邮件) DNSA(域名解析) FTP(文件传输)
-
-
TCP/IP四层模型
-
网络接口层(Network Access Layer):对应OSI的物理层+数据链路层,负责硬件层面的比特流和帧传输。例如:以太网、Wi-Fi、PPP(拨号上网)
-
网络层(Internet Layer):和OSI的网络层完全对应,负责跨网络的IP包路由。核心协议:IP、ICMP、ARP
-
传输层(Transport Layer): 和OSI的传输层完全对应,负责端到端的TCP/UDP传输。核心协议:TCP、UDP
-
应用层(Application Layer):对应OSI的会话层+表示层+ 应用层,直接为应用程序提供网络服务。核心协议:HTTP、HTTPS、SMTP、FTP
-
-
TCP/IP四层模型与OSI七层模型的对应关系:
-
TCP/IP的应用层 = OSI的应用层 +表示层 + 会话层
-
TCP/IP的网络接口层 = OSI的数据链路层 + 物理层
-
- 数据封装与解封装
-
发送端(封装): 数据从上往下传递,每一层都会加上自己的首部(Header),在数据表链路层还会加上尾部(Trailer)。
-
接收端(解封装): 数据从下往上传递,每一层剥掉对应的首部,交给上层处理。
-
PDU(协议数据单元):
-
应用层: Message
-
传输层:Segment(TCP)/Datagram(UDP)
-
网络层:Packet(IP包)
-
数据链路层:Frame(帧)
-
物理层:Bit(比特流)
-
二、网络接口层(数据链路层 + 物理层)
- 核心功能
- 物理层:负责光/电信号的传输,定义电压、接口标准(如RJ45)。
- 数据链路层:负责相邻节点之间的可靠传输,封装成帧,进行MAC寻址。
- 关键协议与概念
- MAC地址:网卡的物理地址,全球唯一
- 以太网:最常用的局域网技术。
- ARP协议(地址解析协议):
- 作用:一直IP地址,求MAC地址。
- 过程:广播发送ARP请求,单播回复ARP响应。
- PPP协议:点对点协议,常用于拨号上网。
三、网际层(网络层) ——核心中的核心
- 核心功能
- 逻辑寻址:给主机分配IP地址。
- 路由选择:决定数据播报从源主机到目的主机的最佳路径(通过路由器)。
- 拥塞控制:防止网络过载。
- IP协议
- IP地址:网络层的逻辑地址(IPv4为32位,点分十进制表示)。
- IP地址分类:
- A 类:1.0.0.0 - 126.255.255.255 (默认子网掩码 255.0.0.0)
- B 类:128.0.0.0 - 191.255.255.255 (默认子网掩码 255.255.0.0)
- C 类:192.0.0.0 - 223.255.255.255 (默认子网掩码 255.255.255.0)
- D 类:多播地址。
- E 类:保留。
- 特殊地址:
- 127.0.0.1: 本地环回地址(自己访问自己)
- 0.0.0.0:任意地址(通常用于服务器绑定所有网卡)
- 255.255.255.255:广播地址。
- ICMP协议
- 作用:网络层的差错报告与诊断。
- 应用:ping命令(测试连通性)、traceroute(追踪路由路径)
- 子网掩码与CIDR
- 子网掩码:用于区分网络号和主机号(如255.255.255.0)
- CIDR(无类别域间路由):
192.168.1.1/24表示前 24 位是网络号。
四、传输层——端到端的通信
- 核心功能
- 端口寻址:区分同一台主机上的不同应用程序
- 分段与重组:将应用层的数据表分成适合网络传输的小块。
- 流量控制:放置发送方发送的太快,接收方处理不过来。
- 拥塞控制:放置过多数据注入网络。
- TCP协议(传输控制协议)——重点
- 特点:面向连接、可靠传输、面向字节流、全双工。
- 端口:知名端口(0~1023)如HTTP(80), HTTPS(443)
- 三次握手(建立连接):
- 客户端发送SYN(seq = x)- > 服务端
- 服务端发送SYN +ACK (seq = y,ack = x + 1)-> 客户端
- 客户端发送ACK(ack = y +1)->服务端
- 三次握手的原因:为了放置失效的请求突然到达,建立错误的连接。
- 四次挥手(断开连接):
- 客户端发送FIN -> 服务端(客户端无数据发送,但能接收)
- 服务端发送ACK -> 客户端(连接处于半关闭状态)
- 服务端发送FIN -> 客户端(服务端也无数据发送)
- 客户端发送ACK -> 服务端
- 四次挥手的原因:因为TCP是券商工的,每个方向的关闭都需要单独确认。
- 可靠传输机制:
- 序列号与确认号:保证数据有序且不丢失。
- 超时重传:发送后没收到ACK就重发。
- 流量控制:滑动窗口协议(Window Size)
- 拥塞控制:慢开始、拥塞避免、快重传、快恢复。
- UDP协议(用户数据报协议)
- 特点:无连接、不可靠、面向报文、首部开销小,仅占8字节、速度快。
- 适用场景:对实时性要求高蛋可容忍少量丢包场景(如视频直播、语音通话、DNS查询、TFTP)。
五、应用层
- 核心功能
为应用程序提供网络服务接口。
- 常见协议:
- HTTP/HTTPS:
- HTTP:超文本传输协议,明文,端口 80。
- HTTPS:HTTP +SSL/TLS,加密传输,端口 443。
- 状态码:
- 1xx:信息响应
- 2xx:成功(200 OK)
- 3xx:重定向(301永久重定向,302临时重定向,304Not Modified)
- 4xx:客户端错误(404 Not Found,403 Forbidden,401 Unauthorized)
- 5xx:服务器错误(500 Internall Server Error,502 Bad Gateway)
- 无状态:HTTP协议本身不保存用户状态,通过Cookie/Session/JWT 维持状态。
- DNS:域名系统,将域名(www.baidu.com)解析为IP地址。
- FTP:文件传输协议。
- SMTP/POP3/IMAP:邮件发送和接收协议。
- WebSocket:在单个TCP连接上进行全双工通信,解决HTTP长轮询效率低的问题(用于即时通讯)。
六、网络安全与攻击
- 常见攻击
- SYN Flood:利用 TCP 三次握手,发送大量 SYN 包但不回复 ACK,耗尽服务器资源(DOS 攻击)。
- ARP 欺骗:伪造 MAC 地址,导致数据被劫持。
- DNS 劫持:篡改 DNS 解析结果,将用户导向恶意网站。
- 中间人攻击 (MITM):攻击者截获并篡改通信双方的数据。
- SQL 注入:在输入框中输入 SQL 语句,非法操作数据库。
- XSS (跨站脚本攻击):注入恶意 JavaScript 代码。
- CSRF (跨站请求伪造):利用用户的登录状态发起恶意请求。
- 安全机制
- 加密:对称加密(AES)、非对称加密(RSA)、哈希算法(MD5, SHA-256)。
- 数字签名:防篡改、防抵赖。
- 防火墙:过滤进出网络的数据包。
更多推荐



所有评论(0)