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

五、计算机网络

(一)OSI/RM 七层模型

七层模型是计算机网络的基石,整个计算机网络是构建与七层模型之上的。

在数据链路层,数据开始以帧为单位,网卡的 MAC 地址就是数据帧的地址,数据的传输开始有地址了。

局域网是工作在物理层、数据链路层,局域网的典型设备是交换机。局域网内部有广播,局域网内的某个设备发布广播后,局域网内的其它设备都能收到广播。网络层不属于局域网。

IPV4 的地址长度是 32 位(232=4,294,967,296,即 42.9 亿多个公网 IP 地址),IPV6 的地址长度是 128 位(2128,可以看成是无穷个公网 IP 地址),IPV4 和 IPV6 都是 IP 地址,所以 IP 地址的长度是 32 位或 128 位。MAC 的地址长度是 48 位(248=281,474,976,710,656,所以 MAC 地址的数量相当多)。IP 地址提供了网络层的寻址功能,工作在网络层。MAC 地址提供了数据链路层的寻址,工作在数据链路层。IP 地址的分配是基于网络拓扑的逻辑规划设计,而 MAC 地址的分配是基于设备厂商,每个制造商都拥有一定数量的 MAC 地址。MAC 地址是全球唯一的,但 IP 地址不是唯一的,例如 IPV4 有三个段是局域网专用地址,各个局域网可以复用这些 IP,在需要联网时再通过 NAT 技术转换到广域网或互联网 IP。(2022 年下半年选择题)

包过滤型防火墙是在网络层对数据包进行分析、选择,选择的依据是系统内设置的过滤规则(访问控制表)。通过检查每个数据包的源地址、目的地址、端口和协议状态等因素,确定是否允许该数据包通过。(2021 年下半年上午题)

image

在下图的练习题中,对于选项 A, 计算机 P 和计算机 Q 之间是通过网桥连接的,网桥是数据链路层的设备,所以两者在同一局域网内,可以相互接收广播;对于选项 B,计算机 P 和计算机 S 之间是通过路由器连接的,路由器是网络层的设备,说明两者不在同一个局域网,所以无法相互接收广播;对于选项 C,计算机 Q 和计算器 R 之间是通过集线器连接的,集线器是物理层的设备,所以两者在同一个局域网内,可以相互接收广播;对于选项 D,计算机 S 和计算机 T 之间是通过交换机连接的,交换机是数据链路层的设备,所以两者属于同一个局域网,可以相互接收广播。

image

(二)网络技术标准与协议

在计算机网络协议中,TCP/IP 协议是一个应用很广泛的协议,因为其与 Internet 进行了深度的绑定,该协议效率其实并不高。

在七层模型的网络层中(也就是 TCP/IP 协议的 Internet 层)中有 IP、ICMP、IGMP、ARP、RARP 协议,其中 ICMP 是 Internet 控制协议,平常用 ping 命令来检测网络是否通畅就是用的 ICMP 中的协议;ARP 是地址解析,是将 IP 地址解析成 MAC 地址;RARP 是反向地址解析,是将 MAC 地址解析成 IP 地址。

在传输层中,TCP 是可靠的协议,在通信的时候会建立连接,可靠的原因是因为 TCP 有验证机制;而 UDP 是不可靠的协议,在通信的时候不会建立连接,UDP 只是简单地将数据包从源地址发送到目的地地址。

POP3、FTP、HTTP、Telnet、SMTP 都是基于 TCP 的协议,所以都是可靠的协议。HTTP 是超文本传输协议,用来传输网页数据;FTP 是文件传输协议;Telnet 用于远程登录,使用 TCP 端口 23 号,但是未经加密,所以是不安全的;POP3(接收邮件)、SMTP(发送邮件) 用于邮件传输。

DHCP、TFTP、SNMP、DNS 都是基于 UDP 的协议。DHCP 用于在局域网内进行动态的 IP 地址分配工作;TFTP 是小文件传输协议,是不可靠的,而 FTP 是可靠的文件传输协议;SNMP 是简单网络管理协议;DNS 是域名解析。

Samba、CIFS、NFS 都是文件共享协议,其中 Samba 可以跨平台。这三者既可以用 TCP 协议实现,也可以用 UDP 协议实现。

IGMP(Internet 组管理协议)负责进行 IPV4 组播成员间的信息交互。(2021 年下半年上午题)

image

Telnet 是远程登录的一种协议,是 ARPANET 最早的应用之一,这个协议提供了访问远程主机的功能,使本地用户可以通过 TCP 连接登录到远程主机上,像使用本地主机一样使用远程主机的资源。当本地终端与远程主机具有异构性时,也不影响它们之间的相互操作。Telnet 协议使用 TCP 端口 23 号,但是未经过加密,因此是不安全的。(2022 年下半年选择题)

image

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是 RFC 1541(已被 RFC 2131 取代)定义的标准协议,该协议允许服务器向客户端动态分配 IP 地址和配置信息。DHCP 采用 UDP 作为传输协议,客户端发送消息到 DHCP 服务器的的 67 号端口,服务器返回消息给客户端的 68 号端口。DHCP 协议支持 C/S(客户端/服务器)结构,主要分为两部分:

  • DHCP 客户端:通常为网络中的 PC、打印机等终端设备,使用从 DHCP 服务器分配下来的IP信息,包括 IP 地址、DNS 等。

  • DHCP 服务器:所有的 IP 网络设定信息都由 DHCP 服务器集中管理,并处理客户端的 DHCP 请求。

当客户端的 IP 地址为169.254.X.X(Windows 系统)、0.0.0.0(Linux 系统)时,说明没有与 DHCP 服务器联系上,从而没有正确获取到 DHCP 服务器分配的 IP 地址。原因有两种:局域网内的 DHCP 服务器出现故障、客户端主机出现故障没有与 DHCP 服务器联系上。

image

DNS 协议( Domain Name System,域名系统)是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 端口 53。当前,对于每一级域名长度的限制是 63 个字符,域名总长度则不能超过 253 个字符。DNS 协议是用来将域名转换为 IP 地址(也可以将 IP 地址转换为相应的域名地址)。

DNS 是一种可以将域名和 IP 地址相互映射的以层次结构分布的数据库系统。DNS 系统采用递归查询请求的方式来响应用户的查询,为互联网的运行提供关键性的基础服务。目前绝大多数的防火墙和网络都会开放 DNS 服务,DNS 数据包不会被拦截,因此可以基于 DNS 协议建立隐蔽信道,从而顺利穿过防火墙,在客户端和服务器之间传输数据。

递归查询:刨根究底,一直找到域名。

迭代查询:自己不知道域名时,提供线索。

image

image

image

(三)拓扑结构

计算机网络按照拓扑结构可以分为:

  • 总线型:通过一条总线将各个终端联系起来,通过总线来传输信息。各终端都往总线上面发送信息,也都从总线上面获取信息。

  • 星型:中间会有一个中心节点,中心节点连接各个其他节点,一旦中心节点被破坏,就会导致整个网络出现瘫痪,所以星型结构有一个很大的问题,就是单点故障问题。

  • 环型:比星型结构可靠,不会出现单点故障,因为任何一个节点出现故障时,可以绕过故障节点与其它正常节点连接。

办公室的局域网的拓扑结构是星型,其中心节点为交换机。因为办公室的电脑是通过连接交换机才能在一个局域网中,所以一旦交换机出现故障,就会导致整个局域网瘫痪。

image

(四)网络规划与设计

image

image

image

分层设计考察的较多,底层(接入层)和顶层(核心层)比较简单,中间层(汇聚层)则较复杂且可以有多层。在分层设计时,要采用自下而上的方式。

image

(五)IP 地址与子网划分

1.IP 地址

这里所讲的 IP 地址通常是指 IPV4 地址,通常分为 A、B、C、D、E 五类,其中 A、B、C 是常用的类型。对于 A 类地址,规定其前一段是网络号后三段是主机号,其地址数量为 224 - 2 个,-2 是因为有 0.0.0.0 和 1.1.1.1 这 2 个地址。对于 B 类地址,规定其前两段是网络号后两段是主机号,其地址数量为 216 - 2 个。对于 C 类地址,其前三段是网络地址,后一段是主机地址,其地址数量为 28 - 2 = 254 个。

image

2.子网划分

子网掩码(Subnet Mask)又叫网络掩码、地址掩码、子网络遮罩,它用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在广域网上。

子网掩码是用来区分一个 IP 地址中哪些部位是网络号,哪些部位是主机号。子网掩码当中为 1(二进制) 的部分对应的是网络号,为 0(二进制) 的部分对应的是主机号。

image

image

下图的例 2 中,要求每个子网内有主机 700 台,设 k 为主机位,即 2k - 2 >= 700,由于 29 = 512,210 = 1024,所以取 k = 10,即主机位是 10 位。原本主机位有 16 位,所以将前 6 位作为网络号,则得出二进制子网掩码为:1111 1111 1111 1111 1111 1100 0000 0000,转换成十进制为:255.255.252.0。

image

3.无分类编址

image

image

(六)特殊含义的 IP 地址

image

(七)HTML

HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。

image

(八)无线网

image

(九)网络接入技术

PSTN 是比较老的技术,目前仅在 POS 刷卡机、传真中使用到 PSTN。

ISDN 允许在语音通话的同时上网。

ADSL 广泛应用于老旧小区,传输介质是电话线,非堆成指的是上行、下行速率不一样,一般下行是 8M,上行是 512K。对于新的小区,现在普遍采用光纤作为介质,光纤的上下行可以相同,所以是对称的。

HFC 在家庭有线电视中使用很广泛。

3G 标准有 WCDMA、CDMA2000、TD-SCDMA(中国主导),4G 标准有 TDD(来源于 TD-SCDMA)、FDD(来源于 WCDMA)。

image

(十)IPV6

一些旧的网络协议在提出来的时候是没有考虑到安全性的,所以后来又提出了很多安全协议。IPV6 在一开始提出来时,就已经考虑到安全性了,所以身份认证、隐私权是 IPV6 的关键特性,IPV6 提高了安全性。

image

(十一)信息系统安全属性

image

(十二)对称加密和非对称加密

1.对称加密技术

对称加密技术非常适合加密大规模、大信息量的内容。对称加密算法主要有:DES、AES、IDEA、RC4(2021 年上半年上午题)。

image

2.非对称加密技术

非对称加密技术适合加密小规模、小信息量的内容。非对称加密算法主要有:RSA、ECC(2021 年上半年上午题)。

image

(十三)信息摘要

信息摘要表示一段信息的特征值。信息摘要采用的是单向散列函数(单向 Hash 函数),是不能将信息摘要还原为明文的,因为信息摘要是一种破坏性的手段。消息摘要算法主要包括:MD5、SHA(2021 年上半年上午题)。

image

(十四)数字签名

数字签名没有保密性可言,数字签名只用于识别身份。先对正文产生信息摘要,然后对信息摘要产生数字签名。

image

(十五)数字证书与 PGP

数字证书是指在互联网通讯中标志通讯各方身份信息的一个数字认证,人们可以在网上用它来识别对方的身份。因此数字证书又称为数字标识。数字证书对网络用户在计算机网络交流中的信息和数据等以加密或解密的形式保证了信息和数据的完整性和安全性。

image

(十六)练习题-设计邮件加密系统

邮件最大附件内容可达 500MB,说明是大数据量内容,要用到对称加密技术。

image

(十七)网络安全

1.各个网络层次的安全保障

image

2.网络危险与攻击

image

image

3.防火墙

应用级防火墙的安全性比网络级防火墙要高,但是效率要低。DMZ 中一般有对外服务的一些文件服务器、邮件服务器。

image

相关文章:

五、计算机网络

(一)OSI/RM 七层模型 七层模型是计算机网络的基石,整个计算机网络是构建与七层模型之上的。 在数据链路层,数据开始以帧为单位,网卡的 MAC 地址就是数据帧的地址,数据的传输开始有地址了。 局域网是工作…...

使用Grafana与MySQL监控监控网络延迟

文章目录 前言python程序使用Grafana步骤1:安装和配置 Grafana步骤2:配置 Grafana 数据源步骤3:创建 Grafana 仪表盘步骤4:将 Grafana 仪表盘嵌入到博客中 前言 在网络应用中,网络延迟是一个重要的指标,它…...

互联网常见职称

1、管理层 CEO – Chief Executive Officer 首席执行官 VP – Vice President 副总裁 HRD – Humen Resource Director 人力资源总监 OD – Operations Director 运营总监 MD – Marketing Director 市场总监 GM – General Manager 总经理 PM – Production Manager 产品…...

UI设计软件有哪些好用和免费的吗?

在我们分享五个有用的原型工具之前,完成原型,将优化界面,这次是UI设计师的任务,UI设计软件对设计师非常重要,UI设计工具是否使用直接影响最终结果,然后有人会问:UI界面设计使用什么软件&#xf…...

Linux开发工具之编译器gcc/g++

文章目录 1.查看版本2.程序的翻译3.gcc指令3.1gcc hello.c -o hello3.2gcc -E hello.c -o hello.i3.3gcc -S hello.c -o hello.s3.4gcc -c hello.c -o hello.o3.5gcc hello.o -o hello 4.动静态库[详讲链接阶段]4.1初步认识4.2动态链接4.3静态链接 1.查看版本 gcc -v. 2.程序…...

【Kurbernetes资源管理】陈述式资源管理方式

陈述式 一、 理论部分1.1 管理K8s资源的基本方法1.1.1 陈述式资源管理方式1.1.2声明式资源管理方式1.1.3 GUI式资源管理方法 1.2 陈述式资源管理方式1.2.1 Kubelet工具简介1.2.2 kubectl 的基本语法1.2.3 Kubectl工具的自动补全功能 1.3 Kubernetes Service1.4 Service 的类型(…...

flink测试map转换函数和process函数

背景 在flink中,我们需要对我们写的map转换函数,process处理函数进行单元测试,测试的内容包括查看函数的输出结果是否符合以及函数内的状态是否正确更新,本文就记录几个测试过程中的要点 flink中测试函数 首先我们根据我们要测…...

【跟小嘉学习JavaWeb开发】第一章 开发环境搭建

系列文章目录 【跟小嘉学习JavaWeb开发】第一章 开发环境搭建 文章目录 系列文章目录[TOC](文章目录) 前言一、JDK的下载与安装1.1、关于JDK的版本问题 二、环境变量配置2.1、配置 JAVA_HOME、CLASSPATH2.2、配置path2.3、启动 cmd 三、编写代码、编译并执行3.1、编写代码&…...

CSS语法、选择器、属性

1.css语法 * 格式:选择器 {属性名1:属性值1;属性名2:属性值2;...}* 选择器:筛选具有相似特征的元素* 注意:* 每一对属性需要使用;隔开,最后一对属性可以不加 2.选择器:筛选具有相似特征的元素 * 分类:1. 基…...

深度学习读取txt训练数据绘制参数曲线图的方法

有一些深度学习模型是并不像yolo系列那样最终输出相应的参数图,有很多训练形成了一个训练log文件,于是需要读取log文件中的内容并绘制成曲线图。 如下实例,有一个log文件的部分截图,需要将其读取出来并绘制曲线图 废话不多说&…...

VB.NET—DataGridView控件教程详解

目录 前言: 过程: 第一步: 第二步: 第三步: 第四步: 第五步: 番外篇: 总结: 前言: DataGridView是.NET FormK中的一个Windows窗体控件,它提供了一个可视化的表格控件,允许用户以表格形式显示和编辑数据。它通常用于显示和编辑数据库…...

MCU测试科普|如何进行MCU芯片测试,具体流程是什么?

MCU芯片测试系统是一种专门用于检测MCU芯片性能和质量的综合性设备。它通常由硬件和软件两部分组成,硬件包括测试仪器、适配器、测试夹具等,用于连接被测MCU芯片和测试机,实现高效高精度的测试。软件部分通常包括测试程序、测试管理软件等&am…...

单向循环代码实现cpp

// 单向循环链表 class CircleLink { public:CircleLink(){head_ new Node();tail_ head_;head_->next_ head_;}~CircleLink(){Node* p head_->next_;while (p ! head_){head_->next_ p->next_;delete p;p head_->next_;}delete head_;}public:// 尾插法 …...

【原创】java+jsp+servlet简单图书管理系统设计与实现

摘要: 图书管理系统是一个专门针对图书馆管理而设计的系统,它可以帮助图书管理员有效的对图书进行管理,在图书管理系统的设计中,首先要考虑的是系统的需求分析,该系统的设计与实现涉及多个方面,包括数据库…...

JVM之jinfo虚拟机配置信息工具

jinfo虚拟机配置信息工具 1、jinfo jinfo(Configuration Info for Java)的作用是实时地查看和调整虚拟机的各项参数。 使用jps -v 可以查看虚拟机启动时显示指定的参数列表,但是如果想知道未被显示指定的参数的系统默认值,除 …...

软件测试|PO设计模式在 UI 自动化中的实践

PO的思想最早是2013年由IT大佬Martin Flower提出的:https://martinfowler.com/bliki/PageObject.html 没错,就是他 — 没错,就是他 — 在他的文章里有这样一张经典样图,图片中展示了测试代码中直接操作HTML元素和使用PO模式将page对象封装成…...

如何上传自己的Jar到Maven中央仓库

在项目开发过程中,我们常常会使用 Maven 从仓库拉取开源的第三方 Jar 包。本文将带领大家将自己写好的代码或开源项目发布到 Maven中央仓库中,让其他人可以直接依赖你的 Jar 包,而不需要先下载你的代码后 install 到本地。 注册帐号 点击以…...

智能井盖传感器功能,万宾科技产品介绍

在国家治理方面,对社会的治理是一个重要的领域,一定要在推进社会治理现代化过程中提高市政府的管理和工作能力,推动社会拥有稳定有序的发展。在管理过程中对全市井盖进行统一化管理,可能是市政府比较头疼的难题,如果想…...

洛谷P4185 离线+并查集

好题&#xff0c;发现没有强制在线&#xff0c;可以离线操作 排序之后带集合点数的并查集就好了 #include<bits/stdc.h> using namespace std; const int N 1e510; int n,m; int p[N],sz[N];int find(int x){if(x!p[x])p[x] find(p[x]);return p[x]; } struct Node{in…...

遇到java.security.AccessControlException:access denied怎么办?

今天工作中遇到了如下报错&#xff0c;记录一下解决方案。 目录 问题 分析 结论 问题 这个问题出现在openjdk8启动网页端Java应用。 Java Exception:java.security.AccessControlException:access denied("java.net.SocketPermission""22.188.130.11:9000…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...

MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释

以Module Federation 插件详为例&#xff0c;Webpack.config.js它可能的配置和含义如下&#xff1a; 前言 Module Federation 的Webpack.config.js核心配置包括&#xff1a; name filename&#xff08;定义应用标识&#xff09; remotes&#xff08;引用远程模块&#xff0…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理

在城市的某个角落&#xff0c;一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延&#xff0c;滚滚浓烟弥漫开来&#xff0c;周围群众的生命财产安全受到严重威胁。就在这千钧一发之际&#xff0c;消防救援队伍迅速行动&#xff0c;而豪越科技消防一体化安全管控平台构建的消防“…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能

指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...