物理层 → 数据链路层 → 网络层 → 传输层 → 会话层 → 表示层 → 应用层
计算机科学与软件工程中的核心概念速记口诀,整理如下并简要说明:
OSI七层模型(从下到上):
物理层 → 数据链路层 → 网络层 → 传输层 → 会话层 → 表示层 → 应用层
口诀“物数网传会表应”准确对应各层首字。网络协议三要素:
语法(数据格式与编码规则)、语义(控制信息含义与操作意图)、时序(事件发生的顺序与同步机制)。进程三态模型:
就绪态 ⇄ 运行态 → 阻塞态(运行态可主动进入阻塞;调度可使就绪→运行;中断/时间片完可使运行→就绪;阻塞事件完成可使阻塞→就绪)。SOLID + 2 设计原则:
- SOLID:单一职责、开闭原则、里氏替换、接口隔离、依赖倒置;
- 加二:迪米特法则(最少知道原则)、合成复用原则(优先组合/聚合而非继承)。
CMM(能力成熟度模型)五级:
初始级 → 可重复级 → 已定义级 → 已管理级 → 优化级
口诀“初乱管跟定标量数优改”中“初乱”指初始级(混乱),“管跟”指已管理级,“定标量数”对应已定义→量化管理→优化改进的演进逻辑(注:标准缩写为“初、可重、已定义、已管理、优化”,口诀属助记变体)。ISO/IEC 9126 软件质量模型六大特性:
功能性、可靠性、易用性、效率、可维护性、可移植性 —— 口诀“功可易效可移”略去“靠”(可靠性),实为“功、靠、易、效、可(维)、可(移)”,属常见谐音压缩。事务隔离级别(由低到高):
读未提交(Read Uncommitted)→ 读已提交(Read Committed)→ 可重复读(Repeatable Read)→ 串行化(Serializable),逐级解决脏读、不可重复读、幻读问题。
# 示例:Python中用contextlib实现简易事务上下文(示意隔离思想)fromcontextlibimportcontextmanager@contextmanagerdefdb_transaction(isolation_level="READ COMMITTED"):conn=get_db_connection()try:conn.set_isolation_level(isolation_level)yieldconn conn.commit()exceptException:conn.rollback()raisefinally:conn.close()OSI七层模型中,传输层(第4层)负责端到端的可靠传输(如TCP提供的连接管理、差错控制、流量控制、拥塞控制和可靠数据传送),同时也支持不可靠但高效的传输(如UDP)。
✅TCP 和 UDP 都工作在 OSI 模型的「传输层」(Transport Layer)。
⚠️ 注意:虽然OSI是理论参考模型,而TCP/IP是实际协议栈,但TCP/IP的“传输层”与OSI传输层功能严格对应。TCP和UDP是典型的传输层协议,它们直接为上层(会话层/应用层)提供进程到进程的通信服务,不关心路由(网络层)、帧封装(数据链路层)或物理介质(物理层)。
补充说明:
- TCP 实现面向连接、可靠、有序、全双工字节流传输;
- UDP 实现无连接、不可靠(尽力而为)、低开销的数据报传输;
- 二者均使用端口号标识上层应用进程,是端到端通信的关键抽象。
# 示例:Python socket 编程体现传输层协议选择importsocket# TCP(SOCK_STREAM → 传输层可靠流)tcp_sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)tcp_sock.connect(("example.com",80))# UDP(SOCK_DGRAM → 传输层不可靠数据报)udp_sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)udp_sock.sendto(b"Hello",("example.com",53))