系统架构设计师—计算机基础篇—计算机网络
文章目录
- 网络互联模型
- 网络协议与标准
- 应用层协议
- 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的过渡技术 网络设计分层设计接入层汇聚层核心层 网络布线综合布线系统工…...
MATLAB中asManyOfPattern函数用法
目录 语法 说明 示例 匹配尽可能多的模式实例 指定要匹配的最小模式数 指定要匹配的最小和最大模式数 asManyOfPattern函数的功能是模式匹配次数尽可能多。 语法 newpat asManyOfPattern(pat) newpat asManyOfPattern(pat,minPattern) newpat asManyOfPattern(pat,m…...
Kafka面试题及原理
1. 消息可靠性(不丢失) 使用Kafka在消息的收发过程都会出现消息丢失,Kafka分别给出了解决方案 生产者发送消息到Brocker丢失消息在Brocker中存储丢失消费者从Brocker 幂等方案:【分布式锁、数据库锁(悲观锁、乐观锁…...
Grok 3 AI 角色扮演提示词 化身顶级设计师
Grok 3:设计下一个大型软件项目的终极工具 🔥 Grok 3 是一个革命性的工具,能够在短短 一小时 内,帮助你完成软件项目设计中最关键的步骤。无论是创建用户画像、设计网站地图,还是编写用户故事及验收标准,G…...
从零开始设计一个完整的网站:HTML、CSS、PHP、MySQL 和 JavaScript 实战教程
前言 本文将从实战角度出发,带你一步步设计一个完整的网站。我们将从 静态网页 开始,然后加入 动态功能(使用 PHP),连接 数据库,最后加入 JavaScript 实现交互功能。通过这个教程,你将掌握一个…...
CSS 对齐:深入理解与技巧实践
CSS 对齐:深入理解与技巧实践 引言 在网页设计中,元素的对齐是至关重要的。一个页面中元素的对齐方式直接影响到页面的美观度和用户体验。CSS 提供了丰富的对齐属性,使得开发者可以轻松实现各种对齐效果。本文将深入探讨 CSS 对齐的原理、方法和技巧,帮助开发者更好地掌握…...
oracle游标为什么没有共享,统计一下原因
-- Script Code为什么没共享 define sql_id bs391f0yq5tpw;set serveroutput onDECLAREv_count number;v_sql varchar2(500);v_sql_id varchar2(30) : &sql_id; BEGINv_sql_id : lower(v_sql_id);dbms_output.put_line(chr(13)||chr(10));dbms_output.put_line(sql_id: ||…...
IDEA中.gitignore未忽略指定文件的问题排查与解决
IDEA 中.gitignore 未忽略.env 文件的问题排查与解决 在使用 IntelliJ IDEA 进行项目开发时,合理利用.gitignore文件来管理版本控制是非常重要的。它能帮助我们排除一些不需要纳入版本管理的文件,比如包含敏感信息的.env文件。然而,有时我们会遇到一种情况:明明已经将.env…...
通往 AI 之路:Python 机器学习入门-语法基础
第一章 Python 语法基础 Python 是一种简单易学的编程语言,广泛用于数据分析、机器学习和人工智能领域。在学习机器学习之前,我们需要先掌握 Python 的基本语法。本章将介绍 Python 的变量与数据类型、条件语句、循环、函数以及文件操作,帮助…...
形象生动讲解Linux 虚拟化 I/O
用现实生活的比喻和简单例子来解释 Linux 虚拟化 I/O,就像给朋友讲故事一样。 虚拟化 I/O 要解决什么问题? 想象你有一栋大房子(物理服务器),想把它分割成多个小公寓(虚拟机)出租。每个租客&…...
6. Nginx 动静分离配置案例(附有详细说明+配图)
6. Nginx 动静分离配置案例(附有详细说明配图) 文章目录 6. Nginx 动静分离配置案例(附有详细说明配图)1. 动静分离概述说明2. 先使用传统方式实现,不使用 Nginx3. 使用上 Nginx 实现动静分离优化步骤4. 最后: 1. 动静分离概述说明 什么是动静分离&…...
数据集笔记:新加坡停车费
data.gov.sg 该数据集包含 新加坡各停车场的停车费,具体信息包括: 停车场名称(Carpark):如 Toa Payoh Lorong 8、Ang Mo Kio Hub、Bras Basah Complex 等。停车区域类别(Category):…...
SQL经典题型
查询不在表里的数据,一张学生表,一张学生的选课表,要求查出没有选课的学生? select students.student_name from students left join course_selection on students.student_idcourse_selection.student_id where course_selecti…...
最新Java面试题,常见面试题及答案汇总
Java最新常见面试题 答案汇总 原文地址:https://blog.csdn.net/sufu1065/article/details/88051083 1、面试题模块汇总 面试题包括以下十九个模块: Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC…...
学习第九天-栈
栈的定义:栈是一种线性表数据结构,仅允许在表的一端(栈顶)进行插入(入栈)和删除(出栈)操作。没有数据元素时为「空栈」,遵循「后进先出(LIFO)」原…...
Java基础关键_016_System 类
目 录 一、常用属性 1.static final PrintStream err 2.static final InputStream in 3.static final PrintStream out 二、常用方法 1.arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 2.currentTimeMillis() 3.nanoTime() 4. exit(int st…...
计算机毕设JAVA——某高校宿舍管理系统(基于SpringBoot+Vue前后端分离的项目)
文章目录 概要项目演示图片系统架构技术运行环境系统功能简介 概要 网络上许多计算机毕设项目开发前端界面设计复杂、不美观,而且功能结构十分单一,存在很多雷同的项目:不同的项目基本上就是套用固定模板,换个颜色、改个文字&…...
【 实战案例篇三】【某金融信息系统项目管理案例分析】
大家好,今天咱们来聊聊金融行业的信息系统项目管理。这个话题听起来可能有点专业,但别担心,我会尽量用大白话给大家讲清楚。金融行业的信息系统项目管理,说白了就是如何高效地管理那些复杂的IT项目,确保它们按时、按预算、按质量完成。咱们今天不仅会聊到一些理论,还会通…...
vivado 避免本地时钟、创建输出时钟
避免本地时钟 本地时钟是使用常规结构资源而不是专用全局时钟资源进行布线的时钟网络。在大多数情况下, Vivado 综合和 Vivado 逻辑优化工具在架构要求的时钟缓存或具有超过 30 个时钟负载的时钟网络中插入时钟缓存。本地时钟通常发生在: • 全局时…...
二十三种设计模式
2 工厂方法模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...
Spring Boot + MyBatis 集成支付宝支付流程
Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例(电脑网站支付) 1. 添加依赖 <!…...
