1. 网络技术标准与协议
层级 | 名称 | 描述 | 是否有端口 | 端口类型 |
---|---|---|---|---|
7 | 应用层 (Application Layer) | 提供网络应用程序与用户交互的界面,例如 HTTP、FTP、SMTP 等 | 是 | 应用层协议端口,例如: - HTTP: 80 (TCP) - HTTPS: 443 (TCP) - FTP: 20, 21 (TCP) - SMTP: 25 (TCP) - DNS: 53 (UDP/TCP) - TELNET: 23 (TCP) - SSH: 22 (TCP) - IMAP: 143 (TCP) - POP3: 110 (TCP) - 等等… |
6 | 表示层 (Presentation Layer) | 负责数据的表示、加密、压缩和转换,确保应用层能够理解接收到的数据 | 否 | 无 |
5 | 会话层 (Session Layer) | 负责建立、管理和终止会话连接,控制数据交换的顺序 | 否 | 无 |
4 | 传输层 (Transport Layer) | 提供端到端的可靠或不可靠的数据传输服务,例如 TCP 和 UDP | 是 | 传输层协议端口,例如: - TCP 端口:用于标识 TCP 连接的端点 - UDP 端口:用于标识 UDP 连接的端点 - 端口范围:0-65535 |
3 | 网络层 (Network Layer) | 负责数据包从源到目的地的路由选择和转发,例如 IP 协议 | 否 | 无 |
2 | 数据链路层 (Data Link Layer) | 负责在相邻节点之间可靠地传输数据帧,例如以太网、Wi-Fi | 否 | 无 |
1 | 物理层 (Physical Layer) | 负责在物理媒介上传输比特流,例如电缆、光纤、无线电波 | 否 | 无 |
- 端口的概念主要存在于传输层及以上。 应用层协议使用传输层协议(TCP 或 UDP)的端口来标识不同的应用进程。
- 端口号范围: 0 到 65535。其中,0 到 1023 被认为是知名端口(Well-Known Ports),用于常见的服务。
2. OSI/RM七层模型
3. 对称加密算法
4. 常见的非对称加密算法
5. 排序算法比较
6. 海明码公式
设数据位是n位,校验位是k位,则n与k必须满足以下关系:
7. McCabe度量法
McCabe度量法的核心公式为:
V(G)=E−N+2P
其中:
• V(G)是程序的环路复杂度(Cyclomatic Complexity)。
• E是控制流图(CFG)中的边(Edges)数,即从一个基本块(Basic Block)到另一个基本块的路径数。
• N是控制流图中的节点(Nodes)数,即程序中的基本块数,包括开始和结束节点。
• P是程序中的连通分量(Connected Components)数,通常对于单一函数或程序,连通分量 P=1。
8. 二叉树计算
满二叉树(Full Binary Tree)是指一个二叉树中,每个节点要么没有子节点(叶子节点),要么有两个子节点。满二叉树有一些重要的性质和公式,下面是其中一些常见的公式:
- 节点总数公式:
- 如果满二叉树的深度为 ( h ),则节点总数 ( N ) 可以表示为:
[
N = 2^{h+1} - 1
] - 其中,( h ) 是从 0 开始计数的深度(即根节点的深度为 0)。
- 如果满二叉树的深度为 ( h ),则节点总数 ( N ) 可以表示为:
- 叶子节点数公式:
- 满二叉树的叶子节点数 ( L ) 可以表示为:
[
L = 2^h
] - 其中,( h ) 是从 0 开始计数的深度。
- 满二叉树的叶子节点数 ( L ) 可以表示为:
- 非叶子节点数公式:
- 满二叉树的非叶子节点数 ( I ) 可以表示为:
[
I = 2^h - 1
] - 其中,( h ) 是从 0 开始计数的深度。
- 满二叉树的非叶子节点数 ( I ) 可以表示为:
- 高度与节点数的关系:
- 如果满二叉树的节点数为 ( N ),则其高度 ( h ) 可以表示为:
[
h = \log_2(N + 1) - 1
] - 其中,( h ) 是从 0 开始计数的深度。
这些公式可以帮助你计算满二叉树的节点总数、叶子节点数、非叶子节点数以及高度。
- 如果满二叉树的节点数为 ( N ),则其高度 ( h ) 可以表示为: