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

计算机网络 第1章

计算机网络概念

计算机网络(Computer networking)是一个分散的自治的计算机系统,通过通信设备线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。

计算机网络(简称网络):由若干结点(node)和连接这些结点的链路(link)组成。

  • 结点可以是计算机、集线器、交换机、路由器等
  • 链路可以是有线链路、无线链路
  • 集线器(Hub):
    • 可以把多个结点连接起来,组成一个计算机网络
    • 普通民用领域已很少用集线器
  • 交换机(Switch)
    • 可以把多个结点连接起来,组成一个计算机网络
    • 家庭、公司、学校通常用交换机组建内部网络
  • 路由器(router)
    • 可以把两个或多个计算机网络互相连接起来,形成规模更大的计算机网络,也可称“互连网”
    • 路由器工作在网络层

计算机网络课程中的“路由器”和“家用路由器”有一些区别。

家用路由器=路由器+交换机+其他功能

交换机的作用是组建一个计算机网络,路由器的作作用是连接两个或多个计算机网络。

互联网(因特网,Internet)

ISP:Internet Service Provider,即互联网服务提供商,如中国电信/移动/联通

互联网(因特网,Internet):由各大ISP和国际机构组建的,覆盖全球范围的互连网(internet)

  • 互联网必须使用TCP/IP协议通信
  • 互连网可使用任意协议通信

计算机网络的组成

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

计算机网络的功能

在这里插入图片描述

三种数据交换技术

  • 电路交换(用于电话网络)
  • 报文交换(用于电报网络)
  • 分组交换(用于现代计算机网络)
电路交换(Circuit Switching)

通过物理线路的连接、动态地分配传输线路资源

电路交换过程:

  1. 建立连接(尝试占用通信资源)
  2. 通信(一直占用通信资源)
  3. 释放连接(归还通信资源)

电路交换的优点:

  • 数据直达,传输速率高。通信前从主叫端到被叫端建立一条专用的物理通路,在通信的全部时间内,两个用户始终占用端到端的线路资源。

电路交换的缺点:

  • 建立/释放;连接,需要额外的时间开销
  • 线路被通信双方独占,利用率低
  • 线路分配的灵活性差
  • 交换节点不支持“差错控制”(无法发现传输过程中发生的数据错误)

电路交换更适用于:低频次、大量传输数据

计算机之间数据往往是“突发式”传输,即往往会高频词、少量地传输数据。

报文交换(message)

报文交换的优点:

  • 通信前无需建立连接
  • 数据以“报文”为单位被交换节点间“存储转发”,通信线路可以灵活分配
  • 在通信时间内,两个用户无需独占一整条物理线路。相比于电路交换,线路利用率高
  • 交换节点支持“差错控制”(通过校验技术)

报文交换缺点:

  • 报文不定长,不方便存储转发管理
  • 长报文的存储转发时间开销大、缓存开销大
  • 长报文容易出错、重传代价高
分组交换

报文(不定长)的控制信息包含源地址、目的地址等

分组(定长)的控制信息包含源地址、目的地址:分组号等。

分组交换的优点:

  • 分组前无需建立连接
  • 数据以“分组”为单位被交换节点间“存储转发”,通信线路可以灵活分配
  • 在通信时间内,两个用户无需独占一整条物理线路。相比于电路交换,线路利用率高
  • 交换节点支持“差错控制”(通过校验技术)

相比于报文交换,分组交换改进了如下问题:

  • 分组定长,方便存储转发管理
  • 分组的存储转发时间开销小、缓存开销小
  • 分组不易出错,重传代价高

分组交换的缺点:

  • 相比于报文交换,控制信息占比增加
  • 相比于电路交换,依然存在存储转发时延
  • 报文被拆分为多个分组,传输过程中可能出现失序、丢失等问题,增加处理 的复杂度。

虚电路交换技术(基于分组交换)

虚电路交换的过程

  1. 建立连接(虚拟电路)
  2. 通信(分组按序、按已建立好的既定线路发送,通信双方不独占线路)
  3. 释放连接

三种交换方式性能对比

在这里插入图片描述
在这里插入图片描述

计算机网络的分类

按分布范围分类

  • 广域网(WAN)
  • 城域网(MAN):与局域网类似
  • 局域网(LAN):交换机
  • 个域网(PAN):蓝牙、zigbee
    在这里插入图片描述

按传输技术分类

  • 广播式网络:当一台计算机发送数据分组时,广播范围内所有计算机都会收到该分组,并通过检查分组的目的地址决定是否接收该分组。(所有无线网络都是广播式)
  • 点对点网络:数据只会从发送方“点对点”发到接受法,精准送达。(路由器转发的数据分组)

按拓扑结构分类

  • 总线形结构:数据“广播式”传送,存在“总线争用”问题(典型代表:集线器连接的设备)
  • 环形结构:数据“广播式”传输,通过“令牌”解决总线争用问题,令牌顺环形依次传递,拿到令牌者可使用总线(典型代表:令牌环网流行语2000年以前的局域网技术)
  • 星形结构:由中央设备实现数据的“点对点”传输,不存在”总线争用“问题(典型代表:以太网交换机连接的设备)
  • 网状结构:数据通过各中间节点逐一存储转发,属于“点到点”传输(典型代表:由众多路由器构建的广域网)

按使用者分类

  • 公用网——向公众开放的网络。如:办宽带、交手机话费即可使用的互联网
  • 专用网——仅供某个组织内部使用的网络。如:政府、军队、电力、银行的内部网络。

按传输介质分类

  • 有线网络——如:网线、光纤
  • 无线网络——如:5G、WIFI、卫星

计算机网络的性能指标

  • 速率、带宽、吞吐量
  • 时延、时延带宽积、往返时延
  • 信道利用率

信道(Channel):表示向某一方向传送信息的通道(信道≠通信线路)一条通信线路在逻辑上旺旺对应一条发送信道和一条接收信道。

性能指标1:速率

速率(Speed):指连接到网络上的节点在信道上传输数据的速率。也称数据率比特率数据传输速率

速率单位:bit/s或b/s或bps
在这里插入图片描述

性能指标2:带宽

带宽(bandwidth):某信道所能传送的最高数据率。

上行信道、下行信道

节点间通信实际能达到的最高速率,由带宽、节点性能共同限制。

带宽在《通信原理》中表示某信道允许通过的信号频带范围。单位Hz。

带宽在《计算机网络》中表示某信道所能通过的最高数据率。单位bps。

本质一样:信道带宽越大,传输数据的能力越强。

性能指标3:吞吐量

吞吐量(Throughput):指单位时间内通过某个网络(或信道、接口)的实际数据量。

吞吐量收带宽限制、受复杂的网络负载情况影响。

性能指标4:时延

时延(Delay):指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所粗的时间。有时也称为延迟迟延

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

  • 发送时延又名传输时延,节点将数据推向信道所花的时间

    数据长度(bit) / 发送速率(bit/s)

  • 传播时延电磁波在信道中传播一定的距离所花的时间

    信道长度(m)/电磁波在信道中的传播速度(m/s)

  • 处理时延被路由器处理所花的时间(分析首部、查找存储转发表)

  • 排队时延数据排队进入、排队发出路由器所花的时间

    处理时延和排队时延受网络负载、路由器性能等诸多因素影响。考试中一般不用考虑。

在这里插入图片描述

性能指标5:时延带宽积

时延带宽积:一条链路中,已从发送端发出但尚未到达接收端的最大比特数。

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

理解:传播时延相当于水管长度,带宽相当于水管横截面,时延带宽积就是水管所能容纳的最大水量。

性能指标6:往返时延

游戏延迟,反映的就是“手机——服务器”之间的往返时延RTT

往返时间RTT(Round-Trip Time):表示从发送方发送完数据,到发送方收到来自接收方的确认总共经历的时间。

不包括发送方发送数据的发送时延

性能指标7:信道利用率

信道利用率:某个信道有百分之多少的时间是有数据通过的。

信道利用率不能太低,浪费资源

信道利用率也不能太高,容易导致网络拥塞

在这里插入图片描述
在这里插入图片描述

计算机网络分层结构

  • 将复杂的计算机网络在逻辑上划分为多个层次,并将各种“功能”安排在合适的层次中。
  • 不同类型的节点,实现的功能层次可能不一样

在这里插入图片描述

  • 网络的体系结构是计算机网络的各层及其协议的集合,就是这个计算机网络及其构件所应完成的功能的精确定义(不涉及实现)。

  • 实现是遵循这种体系结构的前提下,用何种硬件或软件完成这些功能的问题。

    体系结构是抽象的,而实现则是具体的

实体:在计算机网络的分层结构中,第n层中的活动元素(软件+硬件)通常称为第n层实体。不同机器上的同一层称为对等层,同一层的实体称为对等实体。

协议:即 网络协议,是控制对等实体之间进行通信的规则的集合,是水平的。

接口:即同一节点内相邻两层的实体交换信息的逻辑接口,又称为服务访问点(Service Access Point, SAP)。

服务:服务是指下层为紧邻的上层提供的功能调用,它是垂直的。

上一层实体通过接口,请求相邻下层的服务

PDU、SDU、PCI的概念

  • 协议数据单元(PDU):对等层次之间传送的数据单位。第n层的PDU记为n-PDU。
  • 服务数据单元(SDU):为完成上一层实体所要求的功能而传送的数据。第n层的SDU记为n-SDU。
  • 协议控制信息(PCI):控制协议操作的信息。第n层的PCI记为n-PCI。

三者之间的关系:n-SDU + n-PCI =n-PDU = (n-1)-SDU

协议三要素

协议:即 网络协议,是控制对等实体之间进行通信的规则的集合,是水平的。

协议由语法、语义和同步(或时序)三部分组成。

  1. 语法,数据与控制信息的格式。例如,协议控制信息(首部)部分占几个字节、每个字节是什么含义;协议的数据部分最多由多少字节。
  2. 语义,即需要发出何种控制信息、完成何种动作及做出何种应答。例如,协议中需要明确规定:发送方完数据后,接收方是否需要“应答”,以及应答的种类有哪些(如:传输成功、传输失败)
  3. 同步(或时序),执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。例如,发送方发完数据后,接收方需要立即应答。如果发送方在10秒内未收到“传输成功”应答,则发送方会再次发送数据。

在这里插入图片描述

OSI参考模型

记住各层的名称和顺序(物联网叔会使用)
在这里插入图片描述
在这里插入图片描述

TCP/IP模型

记住各层的名称和顺序
在这里插入图片描述
TCP/IP模型各层功能
在这里插入图片描述
TCP/IP模型和OSI模型的区别
在这里插入图片描述
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • AI升降梯人数智能监测摄像头
  • VLM 系列——phi3.5-Vision——论文解读
  • Python Excel 操作全面总结
  • 气膜体育馆:学校体育设施的全新选择—轻空间
  • mac/windows 软件推荐
  • win11+vscode+Flutter 开发环境配置
  • Python OpenCV 入门指南
  • 八月二十九日(day 39)docker6
  • 个人笔记总结
  • ClickHousez中如何定时清理过期数据库?
  • Akka-集群
  • H264编码
  • 深度学习速通系列:贝叶思和SVM
  • 通过自定义注解、反射和AOP在Spring Boot中动态修改请求参数
  • Android运行时权限详解
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 【EOS】Cleos基础
  • 【附node操作实例】redis简明入门系列—字符串类型
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • Angular2开发踩坑系列-生产环境编译
  • Apache Zeppelin在Apache Trafodion上的可视化
  • CSS相对定位
  • input的行数自动增减
  • js中的正则表达式入门
  • leetcode讲解--894. All Possible Full Binary Trees
  • MySQL用户中的%到底包不包括localhost?
  • Terraform入门 - 3. 变更基础设施
  • 高性能JavaScript阅读简记(三)
  • 理清楚Vue的结构
  • 通过git安装npm私有模块
  • 微信小程序设置上一页数据
  • 阿里云ACE认证之理解CDN技术
  • 积累各种好的链接
  • ​​​​​​​开发面试“八股文”:助力还是阻力?
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • # 数论-逆元
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • #include
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #数据结构 笔记一
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (定时器/计数器)中断系统(详解与使用)
  • (二)学习JVM —— 垃圾回收机制
  • (翻译)terry crowley: 写给程序员
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (限时免费)震惊!流落人间的haproxy宝典被找到了!一切玄妙尽在此处!
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • ***通过什么方式***网吧
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
  • .net core Swagger 过滤部分Api
  • .NET Reactor简单使用教程
  • .netcore如何运行环境安装到Linux服务器