【计算机网络】计算机网络复习总结 ----- 计算机网络概述

计算机网络


本文为计算机网络相关考试的书本内容详细总结


之前专栏分享过自顶向下的分析方法,本文采用常规的自底向上的方法从物理层到应用层对计算机网络相关的内容、概念进行系统复习,总结;而计算类型题目本文暂不涉及

本文内容来自cfeng自我理解,可能有误,欢迎指正~

计算机网络概述

在正式介绍网络各层次结构,先对网络进行一个概括性描述:

计算机网络定义

广义理解: 计算机网络就是计算机通信网络: 用通信链路将多个计算机连接起来的计算机系统的集合,以传输信息为主要目的

资源共享理解: 计算机网络就是资源共享系统: 分布在不同的地理位置上的具有自治功能的多台计算机、终端和附属设备在物理设备上相连,按照网络协议通信,以共享资源和协同计算为目标的系统

用户透明理解: 计算机网络是一个分布式系统: 利用网络操作系统为用户提供网络资源管理服务,整个网络像一个计算机系统一样对用户提供透明的服务

可以看到不同的侧重点具有不同的解释,但是网络就是将多台计算机连接到一起

计算机网络、互联网、因特网

计算机网络: 将多台计算机连接到一起 ---- 连接计算机

互联网 internet: 遵循某种网络协议,将不同的计算机网络连接到一起,是网络的网络; ---- 连接网络

因特网 Internet: Internet 国际互联网, 世界上最大的互连网络 ---- 连接所有网络

(互联网为小写i, 因特网为大写I)

从范围上看: 计算机网络 < 互联网 < 因特网

计算机网络产生和发展 (略)

任何一种技术的诞生都具备两个条件: 前期技术积累, 社会需求

计算机网络是计算机技术和通信技术相结合的产物

本部分可参见专栏之前的blog…

计算机网络分类

按照网络作用范围分类:

在这里插入图片描述

WAN = 公网, 外网 , LAN = 内网

  • 局域网 LAN: Local Area Network : 将有限范围内(不固定)的计算机、终端和附属设备互联构成的网络。主流的LAN: 共享以太网、交换以太网、WIAN; 数据传输速率高,误码率、延迟低, 可以提供高质量的数据传输 【一般属于一个团体所有】 局域网是封闭性的 【网络硬件 + 网络软件 + 网络传输介质】

局域网LAN上每一台设备都有一个或者多个局域网IP(私网、内网IP),局域网地址是局域网内部分配的, 不同的LAN互不影响,所以不同的LAN中的IP可以相同

  • 接入网 AN: Access Network : 将局域网接入城域网的网络
  • 城域网 MAN Metropolitan Area Network: 覆盖一个城市地区的网络。 覆盖范围在LAN和WAN之间的高速网络,将一个城市的大量企业、机关、公司、学校等LAN互联,实现大量用户之间的资源共享和通信
  • 广域网 WAN wide Area Network: Internet , 公网,远程网long haul network, 通信子网主要使用分组交换, 因特网为最大的WAN, 广域网由许多交换机(WAN交换机 ---- 一台具有IO和数据收发功能计算机)组成

WAN上每一台设备都有一个或者多个WAN、公网IP地址, IP地址需要到ISP处 缴费才能申请 (不能重复),

广域网(公网)与局域网(内网)电脑交换数据通过路由器或网关 的NAT(网络地址转换)进行, LAN内电脑发起的对外连接请求,路由器或者网关都不会阻拦, 但是外网对LAN的电脑的请求一般都会被网关拦截 【由内向外发起信息不会拦截,由外向内的信息要进行筛选才会转发) ----- 很多内网用户没有“远程”,速度不好

LAN和WAN是相对的概念 : 比如公司里具有一个庞大的局域网LAN, 办公室里面的几台电脑组成一个小LAN , 相对公司大LAN, 小LAN为LAN, 大LAN为 外网WAN; 而大LAN相对整个Internet,又是LAN

内网 通过网关( 连接两个网络的节点 ---- 双重电脑身份,既有内网IP,又有外网IP, 两个IP捆绑在不同的网卡 【所以外网和内网的设备可以有多个IP ,eg : 网关】)的代理访问外部网络

外网的设备看不见内网设备, 内网设备想与外网某台设备通信, 都是将目的外网IP告知网关(内网IP), 网关识别后,通过其网卡绑定的外网IP与目的设备通信, 因此,对外网设备来说,它只会认为是和网关在通信, 而不是内网的机器

eg: 网吧组成的LAN, 使用的同一个网关, 网吧内的所有电脑访问ip地址查询,都是同一个IP, 因为对于外网服务器,只会识别网关

内网也可能是外网的一部分,比如公司大LAN,相对办公司的小LAN,大LAN连同外部更大的Internet都是外网, 办公室的小局域网的网关(路由器)连接到外网,进行数据路由

ADSL调制解调器(电话上网)比较特殊,有两种工作方式:

  • 当其modem打开代理功能,modem可以看作一台电脑,是外网的一个节点,同时与your computer组成LAN, 这个modem此时就是网关
  • 通过电脑拨号上网,modem就是一个外部设备,your computer直接通过电话线连接在internet上面,不存在其他的网络(没有经过网关的代理), 所以不区分内外网

cfeng认为区分内外网就是访问Internet是否需要经过网关(或者路由器、交换机), 直接可以被访问就是外网,需要代理就是内网

WAN外网和内网LAN其实除了是否走代理,最主要的还是距离上的划分,WAN任务是通过长距离运送主机发送的数据,MAN城域网将多个LAN互联,LAN的作用范围一般较小

按照拓扑结构分类:

总线型网络: 拓扑结构为总线型

星型网络: 拓扑结构为星型

环型网络: 拓扑结构为环型

网状网络: 拓扑结构为网状

按照交换技术分类

  • 电路交换
  • 报文交换
  • 分组交换( 数据包 + 虚电路)
  • 信元交换

在这里插入图片描述

按照应用模式分类:

计算机通信指的是计算机进程之间的通信

  • 客户/服务器模式: CS
  • 对等方式: P2P peer to peer

按照工作方式分类

  • 接入网 : (边缘网): 主机(端系统)在网络的边缘部分,作用是进行信息的处理
  • 核心网: 大量网络和连接网络的路由器组成核心部分,作用是提供连通性和互换

相关概念 和 术语

结点node

网络中的结点可以是计算机、集线器、交换机、路由器等

链路link

从一个结点到另一个结点的物理线路, 中间没有其他的结点

主机 host

连接在因特网上面的计算机

网络服务提供商 ISP internet Service Provider

因特网服务提供者, 提供商

ISP (Internet Service Provider) Definition

上面提到公网IP需要向ISP申请

网络交换中心 IXP Internet eXchange Point

互联网交换中心IXP的作用就是允许两个网络直接相连并且交换分组,不需要第三个网络来转发分组; 一般由第三方中立运营,提供网络互联、流量资源交换的服务场所, 促进互联网骨干网的网间互联

IXP本身只提供接入平台,不参与成员流量交换(比如移动和电信的流量交换),接入平台的各家运营商一般采用免费对等互联策略(Peering)

IXP Traffic Levels During the Stratos Skydive — RIPE Labs

请求评议 RFC Request For Comments

之前分享过,请求评议包含很多Internet的重要资料,有相关组织管理

个人局域网 PAN personal Area Network

在个人工作的地方将属于个人使用的电子设备使用无限技术连接在一起的网络,(比如使用热点将自己的手机、电脑等设备连接称为局域网)

分组 packet

因特网中传送的数据单元, 由 首部(header) + 数据段 组成,【分组又称为包,首部就是包头】

存储转发 store and forward

路由器收到一个分组, 会首先校验一个分组是否正确,并过滤掉冲突包错误,确定包正确,才会取出目的地址,查找路由表,将分组进行转发

路由器

实现分组交换的关键构建,任务是转发收到的分组( 网络核心的重要部分),分组交换采用存储转发技术 ---- 将一个报文划分为几个分组再进行传送,每一个分组选择独立传输路径,正确交付到分组传输的终点

带宽 bandwitch

跟数据存储有关的就是2^10, 和速率、频率、网速、带宽等有关的就是10^3

表示单位时间从网络的某一点到另外一点的“ 最大数据率”, 表示网络传送数据的能力, 单位就是bit/s , 描述的是设备的最大发送速率 【对应发送时延】

常用的带宽单位: kb/s 10^3 Mb/s 10^6…

在这里插入图片描述

在计算机网络中,KB = 2^10 , 1024, 不是1000, 从上图可以看出,数字信号中,信号的宽度随着带宽的增大而变窄

时延 delay (latency)‘

因为分组交换的关系,A计算机到B的数据延迟 不一定等于 B计算机到A的延迟

在这里插入图片描述

在数据传输过程中,因为需要存储转发,时延产生的地方一共三种:

发送时延

因为发送速率(max就是带宽)限制,将数据块 (一个bit一个bit打出)从结点进入传输媒体需要的时间

从发送数据帧的第一个bit算起,到该帧的最后一个bit发送完毕所需要的时间

发送速率: 网络设备向信道发送数据的速率, 和带宽不同,带宽针对的是网络中的数据传输,这里针对的是从网络设备发送到信道

信道带宽: 单位时间信道允许发送的最大速率 ;

发送时延 = 数据块长度bit / 发送速率 bit/s

传播时延

电磁波在信道中传播一定的距离花费的时间, 数据发送速率和传播速率完全不同

电磁波自由空间传播速率: 3 * 10^5 Km/S , 铜线中为2.3,光纤中为2.0, 需要对2 * 10^5 KM/S有映像 【也就是电磁波真空速度 和光速 相同; 相速度可以大于光速】

传播时延 = 信道长度 m / 信号在信道的传播速率 m/s

处理时延

分组交换,中间结点收到数据后需要在结点中进行校验处理,并且需要等待队列前方的数据分组发送完成,整个时间就是处理时延

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

一般发送时延占据较多,高速网络链路, 只是数据的发送速率(带宽)高,描述的是带宽、接口特性, 不是数据在链路上的传播速率 — 传播速率是电磁波等载体的传送的速率

100MB数据,带宽1M b/S,线路长1000KM,计算发送、传播delay
【唯一需要注意的就是单位转换,B为Byte, 1Byte = 8 bit 100MB = 100 * 2^20 * 8   这里的带宽 却是 1M b/s, 不是Byte,就是bit   这里数据块长度为存储,使用2^幂, 而带宽为速率单位和时间S有关,为10^幂】

发送时延 = 100 * 2^20 * 8 / 1 * 10^3 =  819.2 s

【题目中没有显式给出传播速率,但是光纤链路,电磁波的传播速率2 * 10^5 KM/S

传播时延 = 1000 * 10^3 / 2 * 10^8 = 0.005s = 5ms

因为光纤传播速度快,所以传播时延很小


例2: 键盘上一个字符,在1 M b/s光纤传播,1000KM
[C语言和一般情况Char占用1字节, 而java中采用Unicode编码,为存储更多的字符,采用2字节]

发送时延 = 1* 8 / 1 * 10 ^6 = 8us

传播时延 = 1000 * 10^3 / 2 * 10^8 = 5ms

数据太少,传播时延反而占据较多

时延带宽积

在这里插入图片描述

时延带宽积表示一条数字链路上的数字数据bit个数,带宽* 传播时延 【每s进入链路带宽个bit, 一共要传播时延s才能传输完成,这期间的bit都滞留在链路上

以比特为单位的链路长度

信道传播延迟20ms,带宽 10M b/s

时延带宽积 = 20 * 10^ -3 * 10 * 10^6 = 2 * 10^5 bit

在第一个bit到达终点时,链路上还有

往返时延RTT

往返时延 Round Trip Time: 表示从发送端发送数据开始,到发送端接收到来自接收端的确认(ACK,接收端收到后立刻返回ACK),总共经历的时延(不只是传播时延)

利用率

线路利用率: 线路被占用时间比率 ---- 某线路有% 多少的时间被利用(有数据通过)

信道利用率 = 有数据通过时间 / (有 + 无) 数据通过时间

完全空闲的线路的利用率为0, 网络利用率 为 网络中所有线路的加权或者平均线路利用率

D0表示网络空闲时时延, D表示当前时延,U 为网络利用率, 简单可以表示:

D = D0/ 1 - U 当网络利用率增大时,引起的网络时延迅速增加; 因为需要排队

吞吐量 throughput

单位时间内某个网络(信道,接口)的数据量,表示对于现实世界的网络的一种测量,吞吐量受网络带宽或者速率限制

上述的带宽、速率、吞吐量、时延、往返时延、信道利用率都是计算机网络常用的性能指标

协议 protocol

网络协议 ,就是为进行网络数据交换建立的规则, 计算机网络各层以及其协议集合,称为网络的体系结构

五层体系结构: 物理层、数据链路层、网络层、传输层、应用层; 7层 就是再传输层上面加了表示层和会话层; 网络层的最重要协议IP协议, 传输层最重要的协议TCP/ UDP协议, 应用层常见的HTTP协议、WS协议

网络设计需要考虑的: 编址机制addressing、错误控制 error control、 流控制 flow control 、 路由选择routing 、 信号传输: 数字传输、编码、调制、 多路复用multiplexing

协议分层的好处: 问题简单化、灵活性好,促进标准化工作 【层数太少协议还是复杂,层数过多集成复杂,功能重复】

计算机网络体系结构

计算机网络各层以及其协议集合, 是一个抽象的概念

  • 实体 entity : 具有发送和接收数据的硬件或软件进程, 计算机网络各层都可以看作一个实体; 同层的实体就是对等实体

五层体系结构: 物理层、数据链路层、网络层、传输层、应用层; 7层 就是再传输层上面加了表示层和会话层; 网络层的最重要协议IP协议, 传输层最重要的协议TCP/ UDP协议, 应用层常见的HTTP协议、WS协议

  • 应用层: 最上层的各种应用都处于该层 PDU
  • 表示层: 完成用户应用层传递数据格式和特殊功能 ---- 格式化数据、数据压缩/解压缩, 数据加密/解密 ---- 就是将应用层数据进行"表示"
  • 会话层: 建立,维护和管理会话; 通信协商: 存在性,身份验证; 会话同步: 利用同步点解决大文件传输 【管理通过传输层建立的通信会话】, 数据单元SPDU, 常见协议为Windows共享文件夹的SMP协议
  • 传输层: 不同主机进程之间的通信; 提供可靠/不可靠的端到端通信; TCP保证数据按需、可靠传输(差错控制、流量控制、拥塞控制)
  • 网络层: 不同主机之间通信 ; 建立路由表,选择路由, 拥塞控制,网络互联 【ip数据包报、分组】
  • 数据链路层: 将不可靠的物理链路 转为 可靠的数据链路, 进行介质访问,链路管理

在这里插入图片描述

  • 物理层: 比特流(电信号)传播,物理方式

在这里插入图片描述

数据链路层和物理层都是点到点之间的通信 – 相邻结点的通信

网络层以及其上的为端到端系统提供服务

TCP/IP 四层协议的表示方法:

主机A: 应用层、传输层、网络层、数据链路层
  |
 路由器: 网络层、 网络接口层MAC  
  |
  主机B : 应用层、传输层、网络层、数据传输层
  
 可以看到不具备通用性,只能描述TCP/IP模型,没有区分服务,接口,缺乏完整性

网络之间通信,是从最高层将数据逐层封装到底层,通过物理层bit流放松,接收方从下往上逐步解析 【所以设计RPC也需要如此功能明确】

在这里插入图片描述

可以看到应用程序数据不断加上应用层 —> 链路层的首部, 在链路层还需要加上尾部

接收方物理层收到bit流后,交给数据链路层,数据链路层剥去帧首部和帧尾部,向上提交给网络层, 上面各层依次剥离首部,之后应用数据交给程序进程

网络拓扑结构

上面提到网络可以按照就拓扑结构进行分类, 拓扑结构就是网络中各个结点互联的几何构型和特性,也就是各个结点的连接方式 【结点分为端结点和交换结点, 线 分为有线传输介质和无线传输介质】

在这里插入图片描述

总线型

总线型简单理解就是一根传输线作为传输介质,所有的结点都通过硬件接口直接连接到这根传输线上 , 地位平等

  • 总线一般使用的同轴电缆, 以基带信号串行传输 【就扩散、广播时】
  • CSMA/CD: 介质访问控制协议: 一次只允许一个结点发送,其余所有的结点处于接收状态
  • 故障排查困难(没有控制中心), 同时总线一旦故障,整个网络瘫痪
  • 适合小规模网络
星型

星型结构主要就是有一个中间的网络交换结点,其余都连接到该结点,发散状,任何两个结点的通行需要经过中心结点

  • 集中式访问控制,中间结点时网络交换设备和集中控制器 【数据存储转发,控制】
  • 故障隔离: 如果某个端结点到中心结点的线路故障,不影响其他的结点的正常通信, 但是过分依赖中心结点, 中心结点负载过重
  • 大部分分组交换局域网LAN都采用该结构 【就像生活中的路由器,多个端设备连接到路由器】
环型

多个MAU通过点到点的链路首位相连组成一个闭合的环,早期的网络多采用

  • 数据在环路上沿着一方向个节点传送数据,广播式, 接收方从环路上取下数据,各MAU对于环路的使用权也是平等的
  • 和总线一样,容易单点故障,诊断复杂,令牌维护算法复杂
树型

星型拓扑演变 ---- 倒置的树,最上方为根结点, 分层管理和控制系统, 容易扩展,但是管理困难

数据从根结点向下发送到叶子结点,比较依赖根结点,如果根故障,那么全网都会故障,就和星型是一样的

分布式(全互连)

网络中任意两点都直接相连, 任何两站点之间的通信冗余高(可用性高), 但是组件费用高,硬件成本高,适合高可用场景

数据转发技术

网络交换设备(同通信子网中的各个结点)按照某种动态方式分配线路资源和数据转发方式

在这里插入图片描述

电路交换

通信双方在数据传输前要建立一条物理线路【可以复用信道】,该物理线路一直保持到通信双方结束才会释放

公共电话交换网络为典型的电路交换【电路建立(电话拨号成功建立一条链路)、 数据传输(通话)、电路拆除(通话结束挂机,物理线路自动拆除)】

建立物理线路时间长,但是建立之后的延迟小(主要就是传播延迟,没有处理延迟和排队延迟,发送延迟也小)

但是每条线路独占,线路利用率低,不会发生数据冲突,不会乱序 , 因此没有纠错机制, 数据只需要电路号,不需要目的地址

存储转发交换

发送报文(目的地址,源地址),控制信息按照规则组成数据单元,进入通信子网, 通信子网的交换设备完成数据单元的接收,校验,排队,选路(路由)、转发

  • 存储转发方式可以存储报文,因此多个发送方的报文可以共享信道,线路利用率高,
  • 交换设备具有路由功能,可以动态选择最佳的路径,避免拥塞
  • 差错检测和校验纠错,提高效率

按照数据封装方式,分为报文交换和分组交换; 报文交换不管数据大小,全部封装一个报文,而分组交换会将长的数据划分为多个分组,接收结点会组装

报文交换

在发送数据的时候,不论数据的大小,都会作为一个发送的数据单元DU,在发送数据前加上首部(目的地址等控制信息)组成一个报文

报文交换作为存储转发交换,线路利用率高,不需要建立拆除物理线路,不需要同步工作, 网络延时波动大(因为长的报文可能长时间占用链路,管理复杂)

不适合实时通信和交互式通信

分组交换

将长的数据分为多个分组进行发送,接收结点将多个分组按照顺序组装一个完整的长数据, 分组交换的传输单位为分组,共享传输线路,使用存储转发机制

一个分组的数据长度有限制,长度超过之后会划分为若干分组,一次发送一个分组,每一个分组的前面都会加首部, 目的结点接收到分组去掉首部,重新拼装为完整的报文

因为交换结点具有路由功能,所以就算部分的线路坏掉也没有关系

分组交换又分为数据报方式和 虚电路方式

  • 数据报交换: 和报文交换类似,不需要建立电路,但是因为是分组交换,长的报文会划分为小的分组, 一个传输单位为分组,一个为报文 【每一个分组独立路由,所以到达时的顺序可能不一样,目的地会重新排序】

  • 虚电路交换: 和电路交换类似, 数据传输面向连接, 在数据传输前需要建立虚拟电路, 电路交换是物理线路,最后需要删除虚拟链路 【建立虚电路, 数据传输, 拆除虚电路】

    它也属于存储转发交换,也属于分组交换,所以它的虚电路上面的结点也是具有缓存功能和纠错功能的, 只是相对于数据报,不需要进行路由,只需要按照虚电路传输即可, 各个结点可以和任何结点建立多条虚电路

关于modem等信息可以看专栏之前blog~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值