一文详细理解计算机网络体系结构(考试和面试必备)

一. 计算机网络概述

1.1 计算机网络的概念

最 简 洁 的 定 义 \color{#0000FF}{最简洁的定义} :计算机网络就是一些互连的,自治的计算机系统的集合。

广 义 观 点 的 定 义 \color{#0000FF}{广义观点的定义} 广:计算机网络是能实现远程信息处理的系统能进一步达到资源共享的系统

资 源 共 享 观 点 的 定 义 \color{#0000FF}{资源共享观点的定义} :计算机网络是以能够相互共享资源的方式互连起来的,自治的计算机系统的集合。

用 户 透 明 性 观 点 的 定 义 \color{#0000FF}{用户透明性观点的定义} :计算机网络是一个能为用户自动管理资源的网络操作系统,他能够调用用户所需要的资源,整个网络像一个大的计算机系统一样对用户透明。

计 算 机 网 络 第 八 版 ( 谢 希 仁 ) 书 中 定 义 \color{#0000FF}{计算机网络第八版(谢希仁)书中定义} :计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。

什么是自治计算机?
答:自治计算机就是能够进行自我管理,配置和维护的计算机。
注意:计算机可以被理解为由自治的计算机互联起来的集合体。

1.2 计算机网络的组成

1.2.1 物理组成

从物理组成上看,计算机网络包括硬件、软件、协议三大部分。

  • 硬件:由主机、通讯处理器(或称为前端处理器)、通信线路(包括有线线路和无线线路等)和交换设备(交换机等连接设备)组成。
  • 软件:主要包括实现资源共享的软件和方便用户使用的各种工具软件(如:QQ)
  • 协议:就是一种规则,如汽车在道路上行驶必须遵守交通规则一样,数据在线路上传输也必须遵守一定的规则。

1.2.2 工作方式组成

从工作方式上来看,计算机网络可以分为边缘部分核心部分

  • 边缘部分:由所有连接在互联网上、供用户直接使用的主机组成,用来进行通讯和资源共享。
  • 核心部分:由大量的网络和连接这些网络的路由器组成,它为边缘部分提供连通性和交换服务。

1.2.3 功能组成

从功能组成上看,计算机网络由通信子网资源子网两部分组成。

  • 通信子网:由各种传输介质、通信设备和相应的网络协议组成,为网络提供数据传输、交换和控制能力,实现联网计算机之间的通信。

    注意:

    1. 通信子网包括物理层、数据链路层和网络层。
    2. 计算机网络的拓扑结构主要取决于它的通信子网
  • 资源子网:由主机、终端以及各种软件资源、信息资源组成,负责全网的数据处理业务,面向网络用户提供各种网络资源与服务。

1.3 计算机网络的功能

数据通信:计算机网络最基本和最重要的功能,包括连接控制、传输控制、差错控制、流量控制、路由选择、多路复用等子功能。

资源共享:包括数据资源、软件资源以及硬件资源。

分布式处理:计算机网络中的某个计算机系统负荷过重时,可以将其处理的任务传送给网络中的其他计算机系统进行处理,利用空闲计算机资源提高整个系统的利用率。

负载均衡:将工作中的任务均衡的分配给计算机网络中的各台计算机。

提高可靠性:计算机网络中的各台计算机可以通过网络互为替代机。

1.4 计算机网络的分类

1.4.1 按分布范围分类

按分布范围分类:广域网、城域网、局域网、个人局域网
1. 广域网(WAN):任务是提供长距离通信,运送主机所发送的数据,其覆盖范围通常为几十千米到几千千米的区域,有时也称为远程网。广域网是因特网的核心部分。广域网的拓扑结构通常采用网状型。

2. 城域网(MAN):覆盖范围可以跨越几个街区甚至整个城市,覆盖范围约为 5~50km。城域网大多采用以太网技术,有时也归入局域网。

3. 局域网(LAN):覆盖范围较小。在计算机配置的数量上没有太多的限制,少的可以只有两台,多的可达几百台。传统上,局域网使用广播技术,而广域网使用交换技术

4. 个人局域网(PAN):将个人的电子设备用无线技术连接起来的网络。

1.4.2 按拓扑结构分类

按拓扑结构分类:星型网络、总线型网络、环形网络、网状型网络

1. 星形网络:每个终端或计算机都以单独的线路与中央设备相连。中央设备早期是计算机,现在一般是交换机或路由器。缺点是成本高,中心节点对故障敏感。

2. 总线型网络:用单根传输线把计算机连接起来。优点是建网容易,增减节点方便,节省线路。缺点是重负载时效率不高,总线任意一处对故障敏感。

3. 环形网络:所有计算机设备连接成一个环。最典型的例子是令牌环局域网,环可以是单环也可以是双环,环中信号时单向传输的。

4. 网状型网络:一般情况下,每个节点至少有两条路径与其他节点相连,多用在广域网中。

1.4.3 按传输技术分类

按传输技术分类:广播式网络、点对点网络

1. 广播式网络:所有联网计算机都共享一个公共通信信道。局域网基本都采用广播式通讯技术,广域网中的无线,卫星通讯网络也采用广播式通信技术。

2. 点对点网络:每条物理线路连接一对计算机。

注意:是否采用分组存储转发路由选择机制是点对点网络与广播式网络的重要区别,广域网基本都属于点对点网络。

1.4.4 按使用者分类

按使用者分类:公用网、专用网

1.4.5 按数据交换技术分类

按数据交换技术分类:电路交换网络、报文交换网络、分组交换网络

1. 电路交换网络:在源节点和目的节点之间建立一条专用的通路用于传送数据,包括建立连接,传输数据和断开连接三个阶段。最典型的电路交换网是:传统电话网络

2. 报文交换网络:也称为存储-转发网络。用户数据加上原地址、目的地址、校验码等信息,然后封装成报文。

3. 分组交换网络:也称为包交换网络,原理是将数据分成较短的固定长度的数据块,在每个数据块中加上目的地址,源地址等辅助信息组成分组(包),以存储-转发方式传输。

1.4.6 按传输介质分类

传输介质可以分为有线和无线两大类,故网络可以分为有线网络无线网络

有线网络 分为双绞线网络、同轴电缆网络等;
无线网络 又分为蓝牙、微波、无线电等类型。

1.5 计算机网络的标准化工作及相关组织

1.5.1 计算机网络的标准化工作

因特网的所有标准都以 RFC(Request For Comments)的形式在英特网上发布,但并非每个RFC都是英特网标准,计算机网络标准化需要经历以下4个步骤:
①互联网草案
②建议标准(RFC文档)
③草案标准
④互联网标准

1.5.2 相关组织

在国际上,负责制定、实施相关网络标准的标准化组织主要由以下几个:

国际标准化组织(ISO):制定的主要标准或规范有OSI参考模型、HDLC等;

国际电信联盟(ITU):前身是国际电话电报咨询委员会.

国际电气电子工程师协会(IEEE):世界上最大的专业技术团体,由计算机和工程学专业人士组成。IEEE在通信领域最著名的研究成果是802标准。

二. 计算机网络体系结构与参考模型

2.1 计算机网络分层结构

1. 计算机网络为什么要采用分层结构?

答:为了降低协议设计和调试过程的复杂性,也为了便于对网络进行研究、实现和维护,促进标准化工作,通常对计算机网络体系结构以分层的方式进行建模。
(就比如公司规模很小时不需要分层,老总和员工可以处于同一个平面,可以直接向老总汇报。但如果公司规模较大时,就需要分层分模块才能更好的 发展)

2. 分层的基本原则?

  • 每层都实现一种相对独立的功能,降低大系统的复杂度;
  • 各层之间界面自然清晰,已与理解,相互交流尽可能少;
  • 各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现;
  • 保持下层对上层的独立性,上层单向使用下层提供的服务;
  • 整个分层结构应能促进标准化工作。

2.2 网络协议、接口、服务的概念

2.2.1 协议

协议是一种规则,并且是控制两个对等实体进行通信的规则,也就是水平的。协议由以下三个部分组成:
语义:对构成协议元素的含义的解释,即 讲 什 么 \color{red}{讲什么} ,规定了所要完成的功能,即需要发出何种控制信息、完成何种动作以及做出何种应答。
语法:数据与控制信息的结构或格式,即 怎 么 讲 \color{red}{怎么讲} ,规定了传输数据的格式。
同步:规定的事件的执行顺序,规定了执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。

一个完整的协议通常应具有线路管理(建立、释放连接)、差错控制、数据转换等功能。

2.2.2 接口

接口是同一节点内相邻两层间交换信息的连接点,是一个系统内部的规定。

接口又称为服务访问点,从物理层开始,每一层都向上层提供服务访问点,即没有接口就不能提供服务

5个不得不知的专业术语:
服务数据单元(SDU):第n层的服务数据单元,记作:n-SDU

协议控制信息(PCI):第n层的协议控制信息,记作:n-PCI

接口控制信息(ICI):第n层的接口控制信息,记作:n-ICI

协议数据单元(PDU):第n层的服务数据单元(SDU)+第n层的协议控制信息(PCI)=第n层的协议数据单元,即:n-SDU + n-PCI = n-PDU ,表示的是同等层对等实体间传送的数据单元。

接口数据单元(SDU):第n层的服务数据单元(SDU)+第n层的接口控制信息(ICI)=第n层的接口数据单元,即:n-SDU + n-ICI = n-IDU ,表示的是在相邻层接口间传送的数据单元。

2.2.3 服务

服务指下层为相邻上层提供的功能调用,协议是水平的而服务是垂直的,即下层通过接口向上层提供服务。服务分为以下三类:

1. 面向连接的服务与无连接的服务

  • 面向连接的服务:如TCP。

    优点:可靠信息流、信息回复确认;
    缺点:占用通信信道。

  • 面向无连接的服务:如IP和UDP。

    优点:不占用通信信道;
    缺点:信息流可能丢失,信息无回复确认。

2. 有应答服务与无应答服务(了解即可)

  • 有应答服务:接收方在收到数据后向发送方给出相应的应答;
  • 无应答服务:接收方收到数据后不自动给出回答。

3. 可靠服务与不可靠服务

  • 可靠服务:网络具有检错、纠错、应答机制,能保证数据正确、可靠地传送到目的地。
  • 不可靠服务:网络不能保证数据正确、可靠地传送到目的地,网络只能尽量正确、可靠,是一种尽力而为的服务

2.3 ISO/OSI参考模型和TCP/IP参考模型

OSI参考模型具有7层结构,而TCP/IP模型仅有4层结构(TCP/IP一定是4层模型),一般教材综合了OSI和TCP/IP的优点,才有了5层模型。具体如下图:
在这里插入图片描述

2.3.1 5层参考模型各层的总结

下面是5层参考模型各层的总结。重点每层结构完成的任务、功能、协议必须要掌握。

1. 应用层(用户对用户):允许访问OSI环境的手段(应用协议数据单元 APDU)

  • 任务:提供系统与用户的接口;
  • 功能:①文件传输;②访问和管理;③电子邮件服务。
  • 协议:FTP、DNS、Telnet、SMTP、POP3、HTTP、WWW、NFS等。

2. 传输层(应用对应用,进程对进程)

  • 任务:负责主机中两个进程之间的通信;
  • 功能:①为端到端的连接提供可靠的传输服务; ②为端到端的连接提供流量控制、差错控制、服务质量等管理服务。即提供端到端的可靠报文传递和错误恢复( 段Segment)
  • 协议:TCP、UDP、ARQ、SPX等。
  • 传输单位:报文段(TCP)或用户数据报(UDP)

3. 网络层(主机对主机):又叫网际层,IP层

  • 任务:①将传输层传下来的报文段封装成分组;②选择适当的路由,使传输层传下来的分组能够交付到目的主机;关键问题是对分组进行路由选择,并实现流量控制,拥塞控制,差错控制和网际互联等功能
  • 功能:①为传输层提供服务;②组包和拆包;③路由选择;④拥塞控制。
  • 协议:ICMP、IGMP、ARP、RARP、OSPF、IP、IPX、RIP、IGRP(路由器)等。
  • 传输单位:数据报
  • 所实现的硬件:路由器

4. 数据链路层(链路层)

  • 任务:将网络层传下来的IP数据报组装成帧;
  • 功能:①链路连接的建立、拆除、分离;②帧定界和帧同步;③差错检测。
  • 协议:PPP、STP、FR、VLAN、HDLC、SDLC、MAC(网桥,交换机)等。
  • 传输单位:帧
  • 所实现的硬件:交换机、网桥
  • 主要信道:点对点信道、广播信道
  • 三个基本问题

    封装成帧:把网络层的 IP 数据报封装成帧,SOH - 数据部分 - EOT
    透明传输:不管数据部分什么
    字符,都能传输出去;可以通过字节填充方法解决(冲突字符前加转义字符)
    差错检测:降低误码率(BER,Bit Error Rate),广泛使用循环冗余检测(CRC,Cyclic Redundancy Check)

5. 物理层

  • 任务:透明的传输比特流;

  • 功能:通过媒介传输比特,确定机械及电气规范(比特 Bit),即为数据端设备提供传输数据通路。

  • 协议:RJ45、CLOCK、IEEE802.3(中继器,集线器)。

  • 传输单位:比特

  • 所实现的硬件:集线器、中继器

  • 通道

    单向通道(单工通道):只有一个方向通信,没有反方向交互,如广播
    双向交替通行(半双工通信):通信双方都可发消息,但不能同时发送或接收
    双向同时通信(全双工通信):通信双方可以同时发送和接收信息

  • 通道复用技术:

    频分复用(FDM,Frequency Division Multiplexing):不同用户在不同频带,所用用户在同样时间占用不同带宽资源
    时分复用(TDM,Time Division Multiplexing):不同用户在同一时间段的不同时间片,所有用户在不同时间占用同样的频带宽度
    波分复用(WDM,Wavelength Division Multiplexing):光的频分复用
    码分复用(CDM,Code Division Multiplexing):不同用户使用不同的码,可以在同样时间使用同样频带通信

补充知识点:

会话层::主要功能是在两个节点间建立、维护和释放面向用户的连接,并对会话进行管理和控制,保证会话数据可靠传送。

  • 作用:建立、管理和终止会话(会话协议数据单元 SPDU)
  • 协议:NFS、SQL、NETBIOS、RPC等。

表示层:数据格式转换,负责处理在两个内部数据表示结构不同的通信系统间交换信息的表示格式,为数据加密和解密以及提高传输效率提供必须的数据压缩及解压等功能。

  • 作用:对数据进行翻译、加密和压缩(表示协议数据单元 PPDU)
  • 协议:JPEG、MPEG、ASII

2.3.2 OSI参考模型和TCP/IP参考模型对比

OSI参考模型:

①三个主要概念:服务、接口、协议;
②协议有很好的隐藏性;
③产生在协议发明之前;
④共有7层;
⑤网络层有连接和无连接;
传输层仅有面向连接

TCP/IP参考模型:

①没有明确区分服务、接口、协议;
②产生在协议发明之后;
③共有4层(不是5层);
⑤网络层仅有无连接;
传输层有面向连接和无连接

注意:
英特网采用的核心技术是:TCP/IP

2.4 计算机网络性能指标

2.4.1. 时延

数据从网络或链路的一端传送到另一端所需要的时间,也称为延迟迟延。网络时延由以下几部分组成:

1. 发送时延(或者称为传输时延):主机或路由器发送数据帧所需要的时间。计算公式为:

发送时延 = 数据帧长度(bit) / 发送速率(bit/s)

2. 传播时延:电磁波在信道中传播一定距离所需要的时间。计算公式为:

传播时延 = 信道长度(m) / 电磁波在信道上的传播速度(m/s)

3. 处理时延:主机或者路由器在接收到分组时进行处理所需要的时间。

4. 排队时延:分组在进入路由器要先在输入队列中排队等待。这样,数据在网络中经历的总时延就是:

总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

一般做题时,排队时延和处理时延都忽略不计(除非题目说明要加)。

2.4.2 时延带宽积

带宽:信号的最高频率与最低频率之差,单位为赫兹(Hz)。
时延带宽积:又称为以比特为单位的链路长度。

时延带宽积 = 传播时延 * 带宽

2.4.3 往返时间

往返时间:从发送方发送时间开始,到发送方收到凯子接收方的确认消息,总共经历的时间。

2.4.4 利用率

包括信道利用率网络利用率两种。

1. 信道利用率:某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道利用率为0。

2. 网络利用率:全网络的信道利用率的加权平均值。

注意:不是信道利用率与网络利用率越高越好,因为利用率越高,会导致数据在路由器中转发时延过长

三. 重要问题

1. 端到端通信和点到点通信有什么区别?

点到点通信:直接相连的节点之间的通信;端到端通信:建立在点到点通信的基础上,是由一段段点到点的通信信道组成的,是比点到点通信更高一级的通信方式,以完成程序(进程)之间的通信。

从本质上来说:由物理层,数据链路层和网络层组成的通信子网为网络环境中的主机提供点到点的服务。而传输层为网络中的主机提供端到端的通信

2. 如何理解传输速率、带宽和传播速率?

1. 传输速率指主机在数字信道上发送数据的速率,也称为数据率比特率,单位是比特/秒。更常用的速率单位是:千比特/秒(kb/s)、兆比特/秒(Mb/s)、吉比特/秒(Gb/s)、太比特/秒(Tb/s)。
带宽:在计算机网络中指数字信道所能传送的最高数据传输速率,常用来表示网络的通信线路传送数据的能力,其单位与传输速率的单位相同。
传播速率:电磁波在信道中传播的速率,单位是米/秒(m/s),更常用的单位是千米/秒(km/s)。电磁波在光纤中的传播速率约为:2 * 1 0 8 10^8 108

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

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

相关文章

敏捷转型谁先动:老总,项目经理or团队

从06年首届敏捷中国开发者大会召开到现在,敏捷方法在国内的应用不断增加,关于敏捷转型的热度只增不减。敏捷转型成功的企业究竟是从老总开始?还是从项目经理开始?还是团队本身具有这种意识?相信还有很多想要转型敏捷的…

人家不卡学历,是自己真的没能力

CSDN 的小伙伴们,大家好,我是二哥呀。 今天继续给大家分享一个二哥编程星球里的主题:人家不卡学历,让我去实习了,但是担心自己能力不足,二哥能给点建议吗? 除了这个问题,这位球友还…

ChatGPT热潮:探索人工智能带来的职业替代与商业变革!

近年来,人工智能(AI)在商业领域逐渐发挥巨大作用。AI技术的不断发展和应用,不仅改变了我们的工作和生活方式,也与产业变革和商业革命密不可分。本文将从职业变革、商业革命两个角度,探讨人工智能的应用和未…

ChatGPT快速兴起,研究指出四成工作时间可由基于语言的人工智能技术提供支持或得到增值 | 美通社头条...

美通社消息:埃森哲的最新研究指出,在现实世界和数字世界越来越密不可分的今天,生成式人工智能等技术的迅速演进正在创造更为广阔的全新商业未来。 埃森哲《技术展望2023》今年的主题为"当原子遇见比特:构建数实融合的新基础&…

猜数字游戏玩玩看,看看你最少能用几次猜出来

猜数字游戏 范围:1-100 程序语言:C语言 作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢! 设计目标 猜数游戏 1-100 1. 电脑随机生成一个区间之间的数字。 2. 玩家猜数字 如果猜对了&…

猜数字游戏实现

目录 1.游戏的整个逻辑 2.提供一个菜单(可以随时玩) 3.当输入1时,并不是为了让它打印“猜函数”。而需写一个函数,完成猜函数的这个逻辑。 第一步:让电脑产生随机数 第二步:让生成随机数的范围是0-100 …

Python实现猜数字

Python实现猜数字 对于这个问题我们需要考虑用户在输入错误后,需再次输入直至输入正确。 而随机数的产生我们交给random来处理。 下面献上我的代码: import random start‘y’ #这里个人感觉多余了,各位可以直接用 while True: wh…

chatgpt赋能python:Python最简单的游戏:猜数字

Python最简单的游戏:猜数字 你是否曾经想过,在学习Python编程语言的过程中,能够写一个小游戏来锻炼自己的编程技能呢?如果是的话,那么你一定会被这个最简单的游戏——猜数字,所吸引。在这篇文章中&#xf…

猜数字游戏详解

今天咱们来一起做一个游戏,可以算上是一个中小型的项目了,大概120多行代码,哈哈哈。来一起加油吧! 当我们面对一个不小的项目的时候,我们先不要着急着手于项目的制作,我们要先学会在脑海中对项目的整体进行…

php猜数字

1.要求:随机写1-10中任意一个数,把猜的数填入文本框,如果猜的数小了,提示“猜小了“,猜大了就提示“猜大了”,如果相等,提示“猜对了”,并重新产生随机数,进行下一次游戏…

关于猜数字游戏的实现

关于简易猜数字游戏的实现 对于今天的三子棋游戏,有以下几个特性: 玩家通过输入数字来选择是否进行游戏或退出游戏,选错时会提示并重新输入通过键盘输入数据后,电脑会提示玩家所猜的数据过大或过小,若猜对则打印恭喜你&#xff…

猜数字游戏代码

for c in range(1,100): aint(input("请输入猜数的数值:1~100")) if (1<a<100) : break else : print("超出范围,请重新输入!") for b in range(1,6): dint(input(&q…

世界顶级五大女程序媛,不仅技术强还都是美女

文章目录 1.计算机程序创始人:勒芙蕾丝伯爵夫人2.首位获得图灵奖的女性:法兰艾伦3.谷歌经典首页守护神:玛丽莎梅耶尔4.COBOL之母:葛丽丝穆雷霍普5.史上最强游戏程序媛-余国荔 说起程序员的话,人们想到的都会是哪些理工…

通过百度API检测人脸特征,获取颜值、年龄、性别--C语言实现

文章目录 通过百度API检测人脸特征,获取颜值、年龄、性别--C语言实现一、创建应用获取AK、SK1.注册登陆后点击:人脸识别云服务2.立即使用3.免费尝鲜领取后、创建应用4.拿到API Key 和Secret Key 二、通过API获取图片的颜值、年龄、性别信息1.获取access_…

这款社交APP,不建议女生下

最近发现,一个叫做Hay的APP霸榜App Store榜首多天。 这是一个专注全球聊天交友的APP,主打即时视频聊天功能。 即使语言不通也完全没有关系,Hay在视频聊天的下方,有app内置的翻译,翻译成双方能看得懂的语言。 想体验这款…

【Python+百度API】实现人脸识别和颜值检测系统(包括人脸数量、年龄、颜值评分、性别、种族、表情检测)(超详细 附源码)

需要源码请点赞关注收藏后评论区留下QQ~~~ 本系统根据已有的模型上改写,添加了在给照片打分的同时可以显示照片,这样显得更加直观和真实 一、百度API文档 如需要请自行前往官网查询文档相关内容 百度API官网 部分内容如下 接口能力 人脸检测&#…

python神经网络:女生颜值打分器(一)

python讨论qq群:996113038 导语: 前几天写了一个批量下载“小姐姐”图片的爬虫,阅读量还挺高的。本来想多写一些这种类型的文章。毕竟学程序的男生比较多,都喜欢看与妹子相关的文章,但想着,这是一个技术类的…

python调用百度人脸识别对美女进行颜值打分

调用百度人脸识别 一、注册百度api 先百度开发者开发平台注册应用https://ai.baidu.com/tech/face/detect 1、创建应用 2、管理应用 APP_ID, API_KEY, SECRET_KEY都会用到 安装使用Python SDK 二、使用Python SDK 1、安装SDK pip install baidu-aip2、新建一个AipFace&a…