系统架构设计师—计算机基础篇—计算机网络
文章目录
- 网络互联模型
- 网络协议与标准
- 应用层协议
- 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 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...

华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...

GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...