当前位置: 首页 > news >正文

系统架构设计师—计算机基础篇—计算机网络

文章目录

  • 网络互联模型
  • 网络协议与标准
    • 应用层协议
      • 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连接:

  1. 用于传送控制信息,端口号21。
  2. 用于传送文件内容,端口号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地址映射到域名。

迭代查询

查询得到的是其他服务器的引用,本地服务器就要访问被引用的服务器,做进一步的查询。

递归查询

查询方式要求服务器彻底进行域名解析,并返回最后的结果。

传输层协议

TCPUDP
可靠的、面向连接的、字节流服务。不可靠的、无连接的、面向报文。
首部开销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数据报的目的地址
  1. 单播(unicast):点对点通信。
  2. 多播/组播(multicast):一点对多点通信。
  3. 任播(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)&#xff1a…...

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 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通…...

线程同步:确保多线程程序的安全与高效!

全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...

【JVM】- 内存结构

引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

微信小程序云开发平台MySQL的连接方式

注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...

安卓基础(aar)

重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 ​…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...