系统架构设计师—计算机基础篇—计算机网络
文章目录
- 网络互联模型
- 网络协议与标准
- 应用层协议
- FTP协议
- TFTP协议
- HTTP协议
- HTTPS协议
- DHCP动态主机配置协议
- DNS协议
- 迭代查询
- 递归查询
- 传输层协议
- 网络层协议
- IPV4协议
- IPV6协议
- IPV6数据报的目的地址
- IPV4到IPV6的过渡技术
- 网络设计
- 分层设计
- 接入层
- 汇聚层
- 核心层
- 网络布线
- 综合布线系统
- 工作区子系统
- 水平子系统
- 管理子系统
- 垂直(干线)子系统
- 设备间子系统
- 建筑群子系统
网络互联模型
| 名称 | 功能 | 相关实现 |
|---|---|---|
| 应用层 | 处理网络应用 | HTTP、Tenlent、FTP、SMTP、NFS |
| 表示层 | 数据表示 | JPEG、ASCII、GIF、DES、MPEG |
| 会话层 | 互联主机通信 | RPC、SQL |
| 传输层 | 端到端连接 | TCP、UDP、SPX |
| 网络层 | 分组传输和路由选择 | IP、IPX |
| 数据链路层 | 传输以帧为单位的信息 | IEEE802.3/2、HDLC、PPP、ATM |
| 物理层 | 二进制传输 | RS232、V.35、RJ-45 |
网络协议与标准
应用层协议
FTP协议
File Transport Protocol,文件传输协议。
是网络上两台计算机传送文件的协议,运行在TCP之上,是通过Internet将文件从一台计算机传输到另一台计算机的一种途径。
FTP在客户机和服务器之间需建立两条TCP连接:
- 用于传送控制信息,端口号21。
- 用于传送文件内容,端口号20。
TFTP协议
Trivial File Transfer Protocol,简单文件传输协议。
是用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。
TFTP建立在UDP之上,端口号69。
HTTP协议
Hypertext Transfer Protocol,超文本传输协议。
用于从WWW服务器传输超文本到本地浏览器的传送协议。
HTTP建立在TCP之上,端口号80。
HTTPS协议
Hypertext Transfer Protocol Secure,超文本加密传输协议。
以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证传输过程的安全性。
HTTPS是在HTTP的基础上加入SSL,端口号443。
DHCP动态主机配置协议
Dynamic Host Configuration Protocol,动态主机配置协议。
通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、网关地址、DNS服务器地址等信息,并能够提升地址的使用率。
在网络范围内可能存在多个DHCP服务器,各自负责不同的网段。也可能由同一个DHCP服务器,负责多个不同网段的地址分配。
DNS协议
Domain Name System,域名系统。
把主机域名解析为IP地址的系统。
PTR(Pointer Recored)负责将IP地址映射到域名。
迭代查询
查询得到的是其他服务器的引用,本地服务器就要访问被引用的服务器,做进一步的查询。
递归查询
查询方式要求服务器彻底进行域名解析,并返回最后的结果。
传输层协议
| TCP | UDP |
|---|---|
| 可靠的、面向连接的、字节流服务。 | 不可靠的、无连接的、面向报文。 |
| 首部开销20个字节。 | 首部开销8个字节。 |
| 具有差错校验和重传、流量控制、拥塞控制等功能。 | |
| 适用于数据量比较少,且对可靠性要求高的场合。 | 数据量大,对可靠性要求不是很高,但要求速度快的场合。 |
网络层协议
IPV4协议
| 版本 | IP协议版本,版本号为4. |
|---|---|
| 首部长度 | 可表示的最大数值是15个单位,60字节。 |
| 区分服务 | 不同优先级服务质量不同,只有在使用区分服务时有效。 |
| 总长度 | 首部与数据之和的长度,最大长度为2^16-1=65535字节。 |
| 标识 | 唯一标识数据报的标识位。 |
| 标志 | DF-不分片位,MF-片未完位。 |
| 片偏移 | 指明该段处于原来数据报中的位置。 |
| 生存时间 | 记为TTL(Time To Live),指示数据报在网络中可通过的路由器的最大值。 |
| 协议 | 数据报携带的协议(TCP、UDP、IGMP等)。 |
| 首部检验和 | 只检验首部,不检验数据。采用16位二进制反码求和算法。 |
| 可选字段 | 可记录时间戳、通过路径、安全信息等。 |
| 填充 | 填充为4的倍数。 |
IPV6协议
| 版本 | IP协议的版本,版本号为6. |
|---|---|
| 流量分类 | 通信类型,相当于IPV4服务类型字段。 |
| 流标签 | 从源点到终点的一系列数据报,同一个流上的数据报标签相同,保证服务质量。 |
| 有效负载长度 | 除基本首部以外的字节数(所有扩展首部都算在有效负载内),最大值为64KB。 |
| 下一头部 | 相当于IPV4的协议字段或可选字段。 |
| 跳数限制 | 用于检测路由循环,路由器在转发数据报时对这个字段减1,变成0时,丢弃该数据报。 |
IPV6数据报的目的地址
- 单播(unicast):点对点通信。
- 多播/组播(multicast):一点对多点通信。
- 任播(anycast):新增类型,一对最近。
IPV4到IPV6的过渡技术
| 技术 | 说明 |
|---|---|
| 双协议栈技术 | 两种技术共存 |
| 隧道技术 | 在IPV4网络中部署隧道 |
| NAT-PT技术 | NAT-PT网管实现两种协议的转换翻译和地址的映射。 |
网络设计
分层设计
接入层
- 通常将网络中直接面向用户连接或访问网络的部分称为接入层,目的是允许终端用户连接到网络。
- 主要解决相邻用户之间的互访需求,并且为这些访问提供足够的带宽。
- 接入层还应当适当负责一些用户管理功能(如地址认证、用户认证、计费管理等),以及一些用户信息收集工作(如用户的IP地址、MAC地址、访问日志等)。
汇聚层
- 核心层和接入层的分界面,完成网络访问策略控制、数据包处理、过滤、寻址,以及其他数据处理的任务。
- 汇聚层交换机与接入层交互及比较,需要更高的性能、更少的接口和更高的交互速率。
核心层
- 网络主干部分称为核心层。
- 主要目的在于通过高速转发通信,提供优化、可靠的骨干传输结构。
- 核心层交换机应拥有更高的可靠性、性能和吞吐量。
- 核心层的设备采用双机冗余热备份是非常必要的,也可以使用负载均衡功能来改善网络性能。
网络布线
综合布线系统
一个用于传输语音、数据、影响和其他信息的标准结构化布线系统,是建筑物或建筑群的传输网络,它使语言和数据通信设备、交换设备和其他信息管理系统彼此相连接。
综合布线系统结构由6个独立的子系统。
工作区子系统
工作区内终端设备连接到信息插座之间的设备组成。
水平子系统
布置在同一楼层上,一端接在信息插座,另一端接在配线间的跳线架上。
它的功能是将干线子系统线路眼神到用户工作区,将用户工作区引至管理子系统。并为用户提供一个符合国际标准,满足语音及高速数据传输要求的信息点出口。
管理子系统
安装有线路管理器件及各种公用设备,实现整个系统集中管理。
它是干线子系统和水平子系统的桥梁,同时又可为同层组网提供条件。
垂直(干线)子系统
通常是由主设备间至各层管理间,特别是在位于中央店的公共系统设备处提供多个线路设施。
目的是实现计算机设备、程控交换机(PBX)、控制中心与各管理子系统间的链接,是建筑物干线电缆的路由。
设备间子系统
由设备间中的电缆、链接跳线架及相关支撑硬件、防雷电保护装置等构成。
建筑群子系统
将多个建筑物的数据通信信号连接成一体的布线系统。
相关文章:
系统架构设计师—计算机基础篇—计算机网络
文章目录 网络互联模型网络协议与标准应用层协议FTP协议TFTP协议 HTTP协议HTTPS协议 DHCP动态主机配置协议DNS协议迭代查询递归查询 传输层协议网络层协议IPV4协议IPV6协议IPV6数据报的目的地址IPV4到IPV6的过渡技术 网络设计分层设计接入层汇聚层核心层 网络布线综合布线系统工…...
VScode在windows10上使用clang-format
用途:自动调整代码格式,如缩进等。 clang-format官方文档:ClangFormat — Clang 21.0.0git documentation 前提:有一个.clang-format文件 下载LLVM:https://github.com/llvm/llvm-project/releases,将可…...
word转换为pdf后图片失真解决办法、高质量PDF转换方法
1、安装Adobe Acrobat Pro DC 自行安装 2、配置Acrobat PDFMaker (1)点击word选项卡上的Acrobat插件,(2)点击“首选项”按钮,(3)点击“高级配置”按钮(4)点…...
CSS3 圆角:实现与优化指南
CSS3 圆角:实现与优化指南 随着网页设计的发展,CSS3 圆角已经成为了现代网页设计中不可或缺的元素之一。本文将详细讲解 CSS3 圆角的基本用法、实现方式以及优化技巧,帮助您在网页设计中更好地运用这一功能。 一、CSS3 圆角基本用法 1.1 基…...
蓝桥杯 灯笼大乱斗【算法赛】
问题描述 元宵佳节,一场别开生面的灯笼大赛热闹非凡。NN 位技艺精湛的灯笼师依次落座,每位师傅都有相应的资历值,其中第 ii 位师傅的资历值为 AiAi。从左到右,师傅们的资历值逐级递增(即 A1<A2<⋯<ANA1&l…...
【零基础C语言】第四节 数组
【零基础C语言系列】 【零基础C语言】第一节 C语言概述【数制进制码制】-CSDN博客 【零基础C语言】第二节 数据类型、运算符、表达式-CSDN博客 【零基础C语言】第三节 控制结构-CSDN博客 一、一维数组...
【多模态大模型学习】位置编码的学习记录
【多模态大模型学习】位置编码的学习记录 0.前言1. sinusoidal编码1.0 数学知识——复数1.0.1 复数乘法、共轭复数1.0.2 复数的指数表示 1.1 sinusoidal编码来历1.2 代码实现 2. Rotary Positional Embedding (RoPE) ——旋转位置编码2.1 RoPE来历2.2 代码实现2.2.1 GPT-J风格的…...
vector 面试点总结
ps:部分内容使用“AI”查询 一、入门 1、什么是vector 动态数组容器,支持自动扩容、随机访问和连续内存存储。 2、怎么创建-初始化vector std::vector<int> v; // 创建空vectorstd::vector<int> v {1, 2, 3}; // 直接初始化std::vec…...
正式页面开发-登录注册页面
整体路由设计: 登录和注册的切换是切换组件或者是切换内容(v-if和 v-else),因为点击两个之间路径是没有变化的。也就是登录和注册共用同一个路由。登录是独立的一级路由。登录之后进到首页,有三个大模块:文章分类&…...
Spring项目-抽奖系统(实操项目-用户管理接口)(END)
^__^ (oo)\______ (__)\ )\/\ ||----w | || || 一:前言: 活动创建及展示博客链接:Spring项目-抽奖系统(实操项目-用户管理接口)(THREE)-CSDN博客 上一次完成了活动的创建和活动的展示,接下来就是重头戏—…...
Kafka面试题及原理
1. 消息可靠性(不丢失) 使用Kafka在消息的收发过程都会出现消息丢失,Kafka分别给出了解决方案 生产者发送消息到Brocker丢失消息在Brocker中存储丢失消费者从Brocker 幂等方案:【分布式锁、数据库锁(悲观锁、乐观锁…...
Jenkinsfile流水线构建教程
前言 Jenkins 是目前使用非常广泛的自动化流程的执行工具, 我们目前的一些自动化编译, 自动化测试都允许在 Jenkins 上面. 在 Jenkins 的术语里面, 一些自动化工作联合起来称之为流水线, 比如拉取代码, 编译, 运行自动化测试等. 本文的主要目的是引导你快速熟悉 Jenkinsfile …...
CSS—text文本、font字体、列表list、表格table、表单input、下拉菜单select
目录 1.文本 2.字体 3.列表list a.无序列表 b.有序列表 c.定义列表 4.表格table a.内容 b.合并单元格 3.表单input a.input标签 b.单选框 c.上传文件 4.下拉菜单 1.文本 属性描述color设置文本颜色。direction指定文本的方向 / 书写方向。letter-spacing设置字符…...
API接口:企业名称、注册号、统一社会信用代码、企业类型、成立日期和法定代表人等数据 API 接口使用指南
API接口:企业名称、注册号、统一社会信用代码、企业类型、成立日期和法定代表人等数据 API 接口使用指南 本文详细介绍一种基于 Web 搜索方式实现的企业信息查询接口,适用于数据补全、企业资质验证、信息查询等场景。文章内容涵盖接口功能、请求参数、返…...
在.net中,async/await的理解
一、什么是同步?什么是异步? 在.net中,async 和 await 是两个关键字,async 关键字用于声明一个方法是异步方法,该方法可以包含一个或多个 await 表达式。await 关键字是用于在异步方法中等待一个任务(Task…...
水果识别系统 | BP神经网络水果识别系统,含GUI界面(Matlab)
使用说明 代码下载:BP神经网络水果识别系统,含GUI界面(Matlab) BP神经网络水果识别系统 一、引言 1.1、研究背景及意义 在当今科技迅速发展的背景下,人工智能技术尤其是在图像识别领域的应用日益广泛。水果识别作为…...
40岁开始学Java:Java中单例模式(Singleton Pattern),适用场景有哪些?
在Java中,单例模式(Singleton Pattern)用于确保一个类只有一个实例,并提供全局访问点。以下是详细的实现方式、适用场景及注意事项: 一、单例模式的实现方式 1. 饿汉式(Eager Initialization) …...
李宏毅机器学习课程学习笔记04 | 浅谈机器学习-宝可梦、数码宝贝分类器
文章目录 案例:宝可梦、数码宝贝分类器第一步:需要定义一个含有未知数的function第二步:loss of a function如何Sample Training Examples > 如何抽样可以得到一个较好的结果如何权衡模型的复杂程度 Tradeoff of Model Complexity todo 这…...
C++11中的右值引用和完美转发
C11中的右值引用和完美转发 右值引用 右值引用是 C11 引入的一种新的引用类型,用 && 表示。它主要用于区分左值和右值,并且可以实现移动语义,避免不必要的深拷贝,提高程序的性能。左值通常是可以取地址的表达式…...
Redis详解(实战 + 面试)
目录 Redis 是单线程的!为什么 Redis-Key(操作redis的key命令) String 扩展字符串操作命令 数字增长命令 字符串范围range命令 设置过期时间命令 批量设置值 string设置对象,但最好使用hash来存储对象 组合命令getset,先get然后在set Hash hash命令: h…...
ISP CIE-XYZ色彩空间
1. 颜色匹配实验 1931年,CIE综合了前人实验数据,统一采用700nm(红)、546.1nm(绿)、435.8nm(蓝)作为标准三原色波长,绘制了色彩匹配函数,如下图。选定这些波…...
【强化学习笔记1】从强化学习的基本概念到近端策略优化(PPO)
好久没有更新了。最近想学习一下强化学习,本系列是李宏毅老师强化学习的课程笔记。 1. Policy-based Model 1.1 Actor 在policy-based model中,主要的目的就是训练一个actor。 对于一个episode(例如,玩一局游戏)&…...
Deepseek对ChatGPT的冲击?
从测试工程师的视角来看,DeepSeek对ChatGPT的冲击主要体现在**测试场景的垂直化需求与通用模型局限性之间的博弈**。以下从技术适配性、效率优化、风险控制及未来趋势四个维度展开分析: --- ### **一、技术适配性:垂直领域能力决定工具选择…...
STM32中的ADC
目录 一:什么是ADC 二:ADC的用途 三:STM32F103ZET6的ADC 3.1ADC对应的引脚 3.2ADC时钟 3.3ADC的工作模式 编辑3.4ADC校准 3.5ADC转换结构和实际电压的换算 四:ADC配置步骤 五:两个重要的函数 一:…...
开启AI短剧新纪元!SkyReels-V1/A1双剑合璧!昆仑万维开源首个面向AI短剧的视频生成模型
论文链接:https://arxiv.org/abs/2502.10841 项目链接:https://skyworkai.github.io/skyreels-a1.github.io/ Demo链接:https://www.skyreels.ai/ 开源地址:https://github.com/SkyworkAI/SkyReels-A1 https://github.com/Skywork…...
【uniapp】在UniApp中实现持久化存储:安卓--生成写入数据为jsontxt
在移动应用开发中,数据存储是一个至关重要的环节。对于使用UniApp开发的Android应用来说,缓存(Cache)是一种常见的数据存储方式,它能够提高应用的性能和用户体验。然而,缓存数据在用户清除缓存或清除应用数…...
大白话React第十一章React 相关的高级特性以及在实际项目中的应用优化
假设我们已经对 React 前端框架的性能和可扩展性评估有了一定了解,接下来的阶段可以深入学习 React 相关的高级特性以及在实际项目中的应用优化,以下是详细介绍及代码示例: 1. React 高级特性的深入学习 1.1 React 并发模式(Con…...
java容器 LIst、set、Map
Java容器中的List、Set、Map是核心数据结构,各自适用于不同的场景 一、List(有序、可重复) List接口代表有序集合,允许元素重复和通过索引访问,主要实现类包括: ArrayList 底层结构:动态数组…...
使用IDEA如何隐藏文件或文件夹
选择file -> settings 选择Editor -> File Types ->Ignored Files and Folders (忽略文件和目录) 点击号就可以指定想要隐藏的文件或文件夹...
DOM HTML:深入理解与高效运用
DOM HTML:深入理解与高效运用 引言 随着互联网的飞速发展,前端技术逐渐成为软件开发中的关键部分。DOM(文档对象模型)和HTML(超文本标记语言)是前端开发中的基石。本文将深入探讨DOM和HTML的概念、特性以及在实际开发中的应用,帮助读者更好地理解和使用这两项技术。 …...
