软考基础知识之计算机网络

目录

前言

网络架构与协议

网络互联模型

1、OSI/RM 各层的功能

2、TCP/IP 结构模型

常见的网络协议

1、应用层协议

2、传输层协议

3、网络层协议

IPv6


前言

从古代的驿站、 八百里快马, 到近代的电报、 电话, 人类对于通信的追求从未间断, 信息的处理与通信技术的革新一直伴随社会的发展。 而作为 20 世纪人类最伟大、 最卓越的发明——个人计算机的出现与发展, 使得人们获得了以前无法想象的信息处理能力, 为了将这些强大的信息处理设备连接起来, 避免出现信息孤岛现象, 就催生了“计算机网络”, 这一新时代的通信技术。

计算机网络使得其功能得到了大大的加强, 范围得到了很大的扩展。从严谨的定义角度说, 计算机网络是指由通信线路互相连接的许多独立自主工作的计算机构成的资源共享集合体, 它是计算机技术和通信技术相结合的产物。

它的出现推动了信息化的发展, 从局域网到互联网, 都对信息应用产生了深远的影响。 因此这就要求系统架构设计师在设计应用系统时必须了解网络的基础知识与特性, 掌握一些相关的基础应用知识。

网络架构与协议

网络架构是指计算机网络的各层及其协议的集合。 计算机之间要交换数据, 就必须遵守一些事先约定好的规则, 用于规定信息的格式及如何发送和接收信息的一套规则就称为网络协议。

为了减少网络协议设计的复杂性, 网络设计者并不是设计一个单一、 巨大的协议来为所有形式的通信规定完整的细节, 而是将庞大而复杂的通信问题转化为若干个小问题, 然后为每个小问题设计一个单独的协议。计算机网络采用分层设计方法, 按照信息的传输过程将网络的整体功能分解为一个个的功能层, 不同机器上的同等功能层之间采用相同的协议, 同一机器上的相邻功能层之间通过接口进行信息传递。

网络互联模型

1977 年, 国际标准化组织为适应网络标准化发展的需求, 制定了开放系统互联参考模型(Open System Interconnection/Reference Model, OSI/RM), 从而形成了网络架构的国际标准。

OSI/RM 构造了由下到上的七层模型, 分别是物理层、 数据链路层、 网络层、 传输层、会话层、 表示层和应用层。

1、OSI/RM 各层的功能

在数据传输过程中, 每一层都承担不同的功能和任务, 以实现对数据传输过程中的各个阶段的控制。

(1) 物理层。 物理层的主要功能是透明地完成相邻节点之间原始比特流的传输。 其中“透明” 的意思是指物理层并不需要关心比特代表的具体含义, 而要考虑的是如何发送“0”和“1”, 以及接收端如何识别。 物理层在传输介质基础上作为系统和通信介质的接口, 为数据链路层提供服务。

(2) 数据链路层。 数据链路层负责在两个相邻节点之间的线路上无差错地传送以帧为单位的数据, 通过流量控制和差错控制, 将原始不可靠的物理层连接变成无差错的数据通道,并解决多用户竞争问题, 使之对网络层显现一条可靠的链路。

(3) 网络层。 网络层是通信子网的最高层, 其主要任务是在数据链路层服务的基础上,实现整个通信子网内的连接, 并通过网络连接交换网络服务数据单元(packet)。 它主要解决数据传输单元分组在通信子网中的路由选择、 拥塞控制和多个网络互联的问题。 网络层建立网络连接为传输层提供服务。

(4) 传输层。 传输层既是负责数据通信的最高层, 又是面向网络通信的低三层(物理层、 数据链路层和网络层) 和面向信息处理的高三层(会话层、 表示层和应用层) 之间的中间层, 是资源子网和通信子网的桥梁, 其主要任务是为两台计算机的通信提供可靠的端到端的数据传输服务。 传输层反映并扩展了网络层子系统的服务功能, 并通过传输层地址为高层提供传输数据的通信端口, 使系统之间高层资源的共享不必考虑数据通信方面的问题。

(5) 会话层。 会话层利用传输层提供的端到端数据传输服务, 具体实施服务请求者与服务提供者之间的通信、 组织和同步它们的会话 活动, 并管理它们的数据交换过程。 会话层提供服务通常需要经过建立连接、 数据传输和释放连接三个阶段。 会话层是最薄的一层,常被省略。

(6) 表示层。 表示层处理的是用户信息的表示问题。 端用户(应用进程) 之间传送的数据包含语义和语法两个方面。 语义是数据的内容及其含义, 它由应用层负责处理; 语法是与数据表示形式有关的方面, 例如, 数据的格式、 编码和压缩等。 表示层主要用于处理应用实体面向交换的信息的表示方法, 包括用户数据的结构和在传输时的比特流(或字节流) 的表示。 这样, 即使每个应用系统有各自的信息表示法, 但被交换的信息类型和数值仍能用一种共同的方法来描述。

(7) 应用层。 应用层是直接面向用户的一层, 是计算机网络与最终用户之间的界面。 在实际应用中, 通常把会话层和表示层归入到应用层, 使 OSI/RM 成为一个简化的五层模型。

2、TCP/IP 结构模型

虽然 OSI/RM 已成为计算机网络架构的标准模型, 但因为 OSI/RM 的结构过于复杂,实际系统中采用 OSI/RM 的并不多。 目前, 使用最广泛的可互操作的网络架构是 TCP/IP ( Transmission Control Protocol/ Internet Protocol, 传输控制协议/网际协议) 结构模型。 与OSI/RM 结构不同, 不存在一个正式的 TCP/IP 结构模型, 但可根据已开发的协议标准和通信任务将其大致分成四个比较独立的层次, 分别是网络接口层、 网络互联层、 传输层和应用层。

  1. 网络接口层。 网络接口层大致对应于 OSI/RM 的数据链路层和物理层, TCP/IP 协议不包含具体的物理层和数据链路层, 只定义了网络接口层作为物理层的接口规范。 网络接口层处在 TCP/IP 结构模型的最底层, 主要负责管理为物理网络准备数据所需的全部服务程序和功能。
  2. 网络互联层。 网络互联层也称为网络层、 互联网层或网际层, 负责将数据报独立地从信源传送到信宿, 主要解决路由选择、 阻塞控制和网络互联等问题, 在功能上类似于OSI/RM 中的网络层。
  3. 传输层。 传输层负责在信源和信宿之间提供端到端的数据传输服务, 相当于 OSI/RM中的传输层。
  4. 应用层。 应用层直接面向用户应用, 为用户方便地提供对各种网络资源的访问服务, 包含了 OSI/RM 会话层和表示层中的部分功能。

常见的网络协议

计算机网络的各层中存在着许多协议, 它们是定义通过网络进行通信的规则。 接收方与发送方同层的协议必须一致, 否则, 一方将无法识别另一方发出的信息。

1、应用层协议

在应用层中, 定义了很多面向应用的协议, 应用程序通过本层协议利用网络完成数据交互的任务。

这些协议主要有 FTP、 TFTP、 HTTP、 SMTP、 DHCP、 Telnet、 DNS 和 SNMP 等。FTP( File TransportProtocol, 文件传输协议) 是网络上两台计算机传送文件的协议, 运行在 TCP 之上, 是通过 Internet 将文件从一台计算机传输到另一台计算机的一种途径。

FTP 的传输模式包括 Bin( 二进制) 和 ASCII( 文本文件) 两种, 除了文本文件之外, 都应该使用二进制模式传输。 FTP 在客户机和服务器之间需建立两条 TCP 连接, 一条用于传送控制信息( 使用 21 号端口), 另一条用于传送文件内容( 使用 20 号端口)。

TFTP( Trivial FileTransfer Protocol, 简单文件传输协议) 是用来在客户机与服务器之间进行简单文件传输的协议, 提供不复杂、 开销不大的文件传输服务。 TFTP 建立在 UDP( User Datagram Protocol, 用户数据报协议) 之上, 提供不可靠的数据流传输服务, 不提供存取授权与认证机制, 使用超时重传方式来保证数据的到达。

HTTP( Hypertext TransferProtocol, 超文本传输协议) 是用于从 WWW 服务器传输超文本到本地浏览器的传送协议。 它可以使浏览器更加高效, 使网络传输减少。 HTTP 建立在 TCP之上, 它不仅保证计算机正确快速地传输超文本文档, 还确定传输文档中的哪一部分, 以及哪部分内容首先显示等。

SMTP( Simple Mail Transfer Protocol, 简单邮件传输协议) 建立在 TCP 之上, 是一种提供可靠且有效的电子邮件传输的协议。 SMTP 是建模在 FTP 文件传输服务上的一种邮件服务, 主要用于传输系统之间的邮件信息, 并提供与电子邮件有关的通知。

DHCP( Dynamic HostConfiguration Protocol, 动态主机配置协议) 建立在 UDP 之上, 是基于客户机/服务器模型设计的。

所有的 IP 网络设定数据都由 DHCP 服务器集中管理, 并负责处理客户端的 DHCP 要求; 而客户端则会使用从服务器分配下来的 IP 环境数据。DHCP 通过租约( 默认为 8 天) 的概念, 有效且动态地分配客户端的 TCP/IP 设定。 当租约过半时, 客户机需要向 DHCP 服务器申请续租; 当租约超过 87.5%时, 如果仍然没有和当初提供 IP 的 DHCP 服务器联系上, 则开始联系其他的 DHCP 服务器。

DHCP 分配的 IP 地址可以分为三种方式, 分别是固定分配、 动态分配和自动分配。Telnet(远程登录协议) 是登录和仿真程序, 建立在 TCP 之上, 它的基本功能是允许用户登录进入远程计算机系统。 以前, Telnet 是一个将所有用户输入送到远程计算机进行处理的简单的终端程序。

目前, 它的一些较新的版本是在本地执行更多的处理, 可以提供更好的响应, 并且减少了通过链路发送到远程计算机的信息数量。DNS(Domain NameSystem, 域名系统) 在 Internet 上域名与 IP 地址之间是一一对应的, 域名虽然便于人们记忆, 但机器之间只能互相识别 IP 地址, 它们之间的转换工作称为域名解析, 域名解析需要由专门的域名解析服务器来完成, DNS 就是进行域名解析的服务器。 DNS 通过对用户友好的名称查找计算机和服务。 当用户在应用程序中输入 DNS 名称时, DNS 服务可以将此名称解析为与之相关的其他信息, 例如, IP 地址。

SNMP(Simple NetworkManagement Protocol, 简单网络管理协议) 是为了解决 Internet上的路由器管理问题而提出的, 它可以在 IP、 IPX、 AppleTalk 和其他传输协议上使用。

SNMP是指一系列网络管理规范的集合, 包括协议本身、 数据结构的定义和一些相关概念。 目前, SNMP 已成为网络管理领域中事实上的工业标准, 并被广泛支持和应用, 大多数网络管理系统和平台都是基于 SNMP 的。

2、传输层协议

传输层主要有两个传输协议, 分别是 TCP 和 UDP(User Datagram Protocol, 用户数据报协议), 这些协议负责提供流量控制、 错误校验和排序服务。

TCP 是整个 TCP/IP 协议族中最重要的协议之一, 它在 IP 协议提供的不可靠数据服务的基础上, 采用了重发技术, 为应用程序提供了一个可靠的、 面向连接的、 全双工的数据传输服务。TCP 协议一般用于传输数据量比较少, 且对可靠性要求高的场合。

UDP 是一种不可靠的、 无连接的协议, 可以保证应用程序进程间的通信, 与 TCP 相比, UDP 是一种无连接的协议, 它的错误检测功能要弱得多。 可以这样说, TCP 有助于提供可靠性, 而 UDP 则有助于提高传输速率。 UDP 协议一般用于传输数据量大, 对可靠性要求不是很高, 但要求速度快的场合。

3、网络层协议

网络层中的协议主要有 IP、 ICMP(Internet Control Message Protocol, 网际控制报文协议)、 IGMP(Internet Group Management Protocol, 网际组管理协议)、 ARP(Address ResolutionProtocol, 地址解析协议) 和 RARP( Reverse Address Resolution Protocol, 反向地址解析协议)等, 这些协议处理信息的路由和主机地址解析。

IP 所提供的服务通常被认为是无连接的和不可靠的, 它将差错检测和流量控制之类的服务授权给了其他的各层协议, 这正是 TCP/IP 能够高效率工作的一个重要保证。 网络层的功能主要由 IP 来提供, 除了提供端到端的分组分发功能外, IP 还提供很多扩充功能。 例如,为了克服数据链路层对帧大小的限制, 网络层提供了数据分块和重组功能, 这使得很大的 IP数据包能以较小的分组在网络上传输。

ARP 用于动态地完成 IP 地址向物理地址的转换。 物理地址通常是指计算机的网卡地址,也称为 MAC( Media Access Control, 媒体访问控制) 地址, 每块网卡都有唯一的地址; RARP用于动态完成物理地址向 IP 地址的转换。

ICMP 是一个专门用于发送差错报文的协议, 由于 IP 协议是一种尽力传送的通信协议,即传送的数据可能丢失、 重复、 延迟或乱序传递, 所以需要一种尽量避免差错并能在发生差错时报告的机制, 这就是 ICMP 的功能。

IGMP 允许 Internet 中的计算机参加多播, 是计算机用作向相邻多目路由器报告多目组成员的协议。 多目路由器是支持组播的路由器, 它向本地网络发送 IGMP 查询, 计算机通过发送 IGMP 报告来应答查询。 多目路由器负责将组播包转发到网络中所有组播成员。

IPv6

互联网络能发展到当前的规模, IPv4 协议的建立功不可没。 但同时它的缺点也已经充分显现出来, 如地址空间耗尽、 路由表急剧膨胀、 缺乏对 QoS 的支持、 本身并不提供任何安全机制、 移动性差等问题。 尽管采用了许多新的机制来缓解这些问题, 如 DHCP 技术、 NAT技术、 CIDR 技术等, 但都不可避免地要引入其他新的问题, 问题没有得到根本解决。 于是IETF 从 90 年代起就开始积极探讨下一代 IP 网络, 经过几年努力, 在广泛听取业界和专家意见的基础上, 终于在 1995 年 12 月推出了下一代网络的 RFC 文档——IPv6 协议, 该协议最早叫做下一代 IP(IP Next Generation, IPng)。 现在它的全称是“ 互联网协议第 6 版”,即下一代的网际协议。

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/52219.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

心觉:你为什么没有更多的钱

很多人希望自己可以赚更多的钱 但是他的内心又很讨厌钱,他自己并不知道 一边希望自己赚更多钱,一边在骨子里觉得“金钱是万恶之源” 这是一种神经质的错乱 这种现象在什么情况下会表现得比较明显呢? 某位高官因为贪污受贿落马了&#xf…

风控系统之指标回溯,历史数据重跑

个人博客:无奈何杨(wnhyang) 个人语雀:wnhyang 共享语雀:在线知识共享 Github:wnhyang - Overview 回顾 默认你已经看过之前那篇风控系统指标计算/特征提取分析与实现01,Redis、Zset、模版方…

精通Java微服务

第1章 微服务是在面向服务架构SOA的基础上进一步发展而来的,它比SOA做得更加彻底,其单体服务被更加彻底地划分,最大限度地实现了服务的单一职责。 1.1.2互联网 即计算机网络,连接了世界上数以万计的计算机设备(可联…

15、Django Admin添加自定义字段功能

修改模型类HeroAdmin admin.register(Hero) class HeroAdmin(admin.ModelAdmin):change_list_template "entities/heroes_changelist.html"... # 此处原代码不动,只增加此前后代码def get_urls(self):urls super().get_urls()my_urls [path(immort…

最新版 | SpringBoot3如何自定义starter(面试常考)

文章目录 一、自定义starter介绍二、自定义Starter的好处及优势三、自定义starter应用场景四、自定义starter1、创建autoconfigure的maven工程2、创建starter的maven工程3、在autoconfigure的pom文件中引入MyBatis的所需依赖4、编写自动配置类MyBatisAutoConfiguration5、编写i…

pdf文件编辑器有哪些?分享适合新手用的5个PDF编辑器(解锁教程)

pdf是一种通用文件格式,也是一种夸操作系统平台的文件格式。 好用的PDF文件编辑器可以让您更改和添加文本、编辑图像、添加图形、签署签名、填写表单数据等。下面整理了关于pdf文件编辑方法介绍,以及一些好用的pdf编辑器,有需要的可以了解下…

C# 通过拖控件移动窗体

目录 引言一、通过控件事件移动窗体1、创建窗体界面2、添加控件事件3、添加代码 二、通过windowsAPI移动窗体1、 构建窗体和添加事件2、代码展示 引言 在C#Form窗体设计中,如果我们不需要使用默认边框设计自己个性化的窗体(FromBorderStylenone时&#…

LEAN 类型理论之注解(Annotations of LEAN Type Theory)-- 商类型(Quotient Type)

商类型(Quotient Type),也称划分类型,通过给定义一个定义在某一类型 α 上的关系R:α → α→ ℙ,将类型α 中,满足关系R的元素摘出来,组成该商类型(Quotient&#xff09…

2024国赛数学建模C题完整论文:农作物的种植策略

农作物种植策略优化的数学建模研究(完整论文,持续更新,大家持续关注,更新见文末名片 ) 摘要 在本文中,建立了基于整数规划、动态规划、马尔科夫决策过程、不确定性建模、多目标优化、相关性分析、蒙特卡洛…

20:HAL--RNG

一:RNG 伪随机数就是rand函数产生的数。 F1系列的没有RNG,使用本次说的都是F407的,我使用的是STM32F407VET6 B:框架 C:寄存器 /*RNG_SR寄存器的DRDY位*/ while ((__HAL_RNG_GET_FLAG(&rng_handle, RNG_FLAG_DRDY) RESET) …

Opencv中的直方图(1)计算反向投影直方图函数calcBackProject()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算直方图的反向投影。 cv::calcBackProject 函数计算直方图的反向投影。也就是说,类似于 calcHist,在每个位置 (x, y)…

PostgreSQL的repmgr工具介绍

PostgreSQL的repmgr工具介绍 repmgr(Replication Manager)是一个专为 PostgreSQL 设计的开源工具,用于管理和监控 PostgreSQL 的流复制及实现高可用性。它提供了一组工具和实用程序,简化了 PostgreSQL 复制集群的配置、维护和故障…

CSS解析:定位和层叠上下文

许多开发人员对定位的理解很粗略,如果不完全了解定位,就很容易给自己挖坑。有时候可能会把错误的元素放在其他元素前面,要解决这个问题却没有那么简单。 一般的布局方法是用各种操作来控制文档流的行为。定位则不同:它将元素彻底…

虚幻地形高度图生成及测试

虚幻地形高度图生成及测试 虚幻引擎地形系统将高度数据存储在高度图中,这是一个灰阶图像,使用黑白色值来存储地貌高程。在高度图中,纯黑色值表示最低点,纯白色值表示最高点。支持16位灰阶PNG、8位灰阶r8及16位灰阶r16格式。 本文…

硬刚苹果还得是华为

文|琥珀食酒社 作者 | 璇子 牛皮啊 华为发三折叠不意外 意外的是 这各种翻转简直颠覆想象 市面上没见过这么能“翻转”的? 要不怎么说硬刚苹果 还得看华为 就跟你同天怎么了? 拼创新、拼技术、拼热度 你就说哪比你差吧&#xff1f…

基于VUE的校园二手物品交易管理系统的设计与实现 (含源码+sql+视频导入教程)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于VUE的校园二手物品交易管理系统8拥有两种角色 管理员:闲置物品管理、订单管理、用户管理 用户:登录注册、购物车、发布闲置物品、评论、发货、收货地址管理等…

电力设计院10大排行榜!这个大院屠榜!

今天晚上阅读了中国电力规划设计协会《2022年度电力勘测设计行业统计分析报告》,这本报告是依据协会会员企业统计报表数据进行编制分析的。报告共收集了167家勘测设计企业上报的数据信息,统计的企业数量较2021 年166家企业增加1 家。 按业务板块划分为&…

element ui form 表单出现英文提示的解决方案

场景再现: 在使用 form 表单的时候,一般都需要对表单元素进行验证,错误就出现在了这里,除了配置的错误信息,还会出现一个 英文校验提示,如下图: 解决方案 出现的原因是在el-form-item中使用…

Tensorflow2 如何扩展现有数据集(缩放、随机旋转、水平翻转、平移等),从而提高模型的准确率 -- Tensorflow自学笔记14

实际生活中的数据集,往往不是标准的数据,而是有倾斜角度、有旋转、有偏移的数据,为了提高数据集的真实性,提高模型预测的准确率,可以用ImageDataGenerator函数来扩展数据集 import tensorflow as tffrom tensorflow.k…

(二)ASP.NET Core WebAPI项目的启动地址设置

上一篇介绍了ASP.NET Core WebAPI项目创建,可参考: 1.webAPI的访问地址 1) 启动时,选择CoreWebAPI(项目名称)运行项目 可以看到打开浏览器后的地址是:applicationUrl"\"launchUrl 2) 启动时,选择IIS Expre…