01 概述
第一章 概述¶
统计信息:字数 16885 阅读34分钟
1.1 计算机网络在信息时代的作用¶
计算机网络是重要的信息服务基础设置,使用互联网的人数和时间增加;移动端覆盖率越来越高。
1.2 因特网概述¶
网络三个名词的区别¶
-
网络:由若干节点和连接这些节点的链路组成(Node + Link)
-
互联网(internet 小写):多个网络通过路由器连接起来,构成互联网
-
因特网(Internet 大写,专有名词):世界上最大的互联网,TCP/IP 规则
因特网的组成¶
互联网由边缘部分+核心部分组成
-
边缘部分:所有连接在因特网上的主机组成,用户直接使用(进行通信和资源共享,包括服务器,PC,智能设备)
-
核心部分:大量网络和链接这些网络的路由器组成,为边缘部分提供服务(联通性+信息交互)
因特网的三个阶段(了解):阿帕网-三级结构因特网-多层ISP结构的因特网。ISP:Internet server provider 因特网服务提供者(国内中国电信,国际ISP,国家ISP,企业ISP)
因特网的标准化(了解):ISOC组织,类似于 ECMA 组织,制定各种标准和草案
1.3 三种交换方式:电路交换、分组交换和报文交换¶
使用场景:电路交换是固定电话,报文交换是电报,分组交换是互联网,下面详述
交换:按照某种方式,动态分配传输线路的资源
电路交换(Circuit Switching)¶
传统有线电话,通过直接连接,或者电话交换机进行电路交换。
步骤
- 建立连接(分配通信资源)
- 通话(报文传输,一直占用通信资源,不管有没有实际的语音)
- 释放连接(归还通信资源)
为什么计算机网络不适用电路交换:计算机数据是突发式的传输在线路上,可能短时间下载大量数据,也可能长时间不下载数据,所以使用电路交换传输计算机数据,传输效率较低。所以计算机网络使用分组交换
优点:通信时延小;有序传输,没有冲突,适用范围广,实时性强,控制简单;比特流直达重点,不需要中间存储转换
缺点:建立连接时间长;线路独占,使用效率低;灵活差,难以规格化
报文交换(Message Switching)¶
电报通过报文交换,了解
不需要建立连接,直接发送报文。报文的长度没有限制,所以需要中间交换机有足够的存储空间
优点:无需建立连接;动态分配线路;提高线路可靠性;提高线路利用率;提供多目标服务
缺点:引起了转发时延;需要较大存储缓存;需要传输额外的信息量(目标地址和原地址等)
分组交换(Packet Switching)重要¶
通常把信息的全部数据称为一个报文。先把较长的报文分成很小的长度相等的数据段,在头部加上必要的控制信息(发到什么地方,包的序号),就构成一个分组(包)
实际发送时,从源站到达目的站走不同的路径(不同的路由器),分组到达目的站的顺序不一定与原始顺序相同。实际还可能发生分组丢失(丢包),误码,重复等问题。接收方接收分组后,还原原始报文。
- 发送方:构造分组,发送分组
- 路由器:缓存分组,转发分组
- 接收方:接收分组,还原报文
优点:无需建立连接;线路利用率高;简化了存储管理;加速传输;减少出错率和重发数据量;避免过长的报文长时间占用链路,有利于进行差错控制。
缺点:引起了转发时延;需要传输额外的信息量;对于数据报服务,存在失序、丢失或者重复分组的问题;对于虚电路服务,存在呼叫建立、数据传输和虚电路释放三个过程。
1.4 计算机网络的定义和分类-了解¶
定义:计算机网络没有通用的精确的定义。
简单定义:互连的自治的计算机集合
广义网络:由可编程的硬件(手机)互连,可以传送不同的数据,或者更广泛的应用(云计算,不仅仅传数据)
计算机网络分类
- 按照交换技术:电路交换网络;报文交换网络;分组交换网络
- 使用者分类:公共网;专用网(校园网或者企业网)
- 传输介质:有线网;无线网
- 覆盖范围(WAN LAN 主要)
- 广域网(WAN):国家范围的网络,因特网的核心部分,互连MAN和LAN
- 城域网(MAN):城市内部网络,互连大量企业校园LAN
- 局域网(LAN):企业校园网:微机或者工作站互连
-
个域网(PAN):个人笔记本手机耳机网络
-
拓扑结构分类:总线型;星型;环形;网状型
1.5 计算机网络的性能指标(1)-重点¶
需要计算,考研会出题
计算机网络8个性能指标:
- 速率
- 带宽
- 吞吐量
- 时延
- 时延带宽积
- 往返时间
- 利用率
- 丢包率
比特-计算机数据量单位¶
最小的是比特,bit(缩写是小b),1Byte = 8bit,大写的B是 Byte,字节
在计算机中,KB 表示 2 的10次方 B
在硬盘优盘生产厂家中,给出的硬盘容量 250G,表示 250 * 10 的9次方,这两个计算不一样
除了计算机内部的数据量是2进制,其他的厂家,速率带宽计算都是10次方,需要注意。
250 * (10 ^ 9) / (2 ^ 30) === 232.8 GB 硬盘在操作系统中显示 232.8GB
速率¶
速率是计算机网络上主机在数字信道上传送比特的速率,也成为比特率或者数据率。
自己理解:就是发送比特的速率
单位: bit/s, kb/s Mb/s 注意这里的b是小写的,是一个bit
例题:数据的大小是 100MB,网卡的发送速率是 100 Mb/s,求网卡发送的时间
-
精确计算:100MB / 100Mb/s = MB / Mb/s = 2 ^20 * 8b / 10 ^ 6 b/s == 8.388 s
-
估算:可以抵消M B/b/s == 8s
带宽¶
在模拟信号中(电话)中,通信的区段是 300Hz——3400Hz,那么带宽就是 3.1KHz(了解)
在计算机网络中,表示整个通信线路传输数据的能力。在单位时间内从网络的某一点到另一点能通过的最高数据率,单位和速率一样 b/s。带宽是最高数据率(理论上可以达到的最高速率)
吞吐量¶
吞吐量:单位时间内通过某个网络(信道,接口)的数据量。受网络的贷款或额定速率的限制。经常用于显示世界中网络的一种测量(实际到底多少数据能通过网络)。可能1Gb/s 的带宽,实际吞吐量在 700Mb/s
时延¶
发送时延:计算机中数据从网卡中发送的时延,等于分组长度(b)/发送速率(b/s)。主机发送速率 = Min(网卡发送速率,信道带宽,接口速率)
传播时延:计算机网络中,数据从一个节点传播到另一个节点的时延,等于信道长度(公里)/电磁波的传输速度(电磁波在光纤中是 2* 10 ^ 8,在铜线中是 2.3,在真空中是 3)。计算传播时延,先确定使用什么传输介质。
处理时延:路由器集线器中等待时间+转发时间,和路由器的软硬件性能有关,影响因素比较多,一般不计算。各级路由器的繁忙程度也是动态变化的。
问题:发送时延和传播时延哪个更多?
-
传播时延和数据量大小无关。发送时间和数据量大小有关。
-
如果数据块 100MB,信道带宽1Mb/s,发送时延约 800s
-
如果数据块 1B,信道带宽 1Mb/s,发送时延只有 8 * 10 ^ -6 s
1.5 计算机网络的性能指标(2)¶
时延带宽积¶
时延带宽积= 传播时延 x 带宽
如果发送段连续发送数据,在第一个发送的比特即将到达终点时,发送段已经发送的比特,就是时延带宽积。链路的时延带宽积又称为以比特为单位的链路长度。
往返时间¶
RTT 双向交互一次所需的时间。在各种链路中(有线网,无线网等),卫星链路耗时较多。
利用率¶
信道利用率:用来表示某信道有百分之几的时间是被利用的(有数据通过)。
网络利用率:全网络的信道利用率的加权平均。
利用率并不是越高越好,如果利用率增大时,时延也会迅速增加。时延计算公式:D = Do/(1 - U)。当网络利用率达到50%时,时延加倍。当利用率超过50%时,实际时延会显著增大。
利用率并不是越低越好,这样会浪费通信资源。应该根据情况动态调整输入到网络中的通信量,使得网络利用率保持在合理的范围内。
丢包率¶
丢包率:一定时间范围内,传输过程中丢失的分组数量和全部分组数量的比例。主要是运维负责,客户通常不会意识到丢包。
分组丢失(丢包)的原因:1、分组过程中出现误码,被节点丢弃;2、当通信量较大,网络拥堵,某个分组交换机已经满了,后续到达的分组可能被丢弃。主要是第二个原因。
丢包率反映了网络拥堵的情况:无拥堵0%,轻度拥堵1%-4%,重度拥堵5%-15%。
1.6 计算机网络体系结构(1)—常见的计算机网络体系结构¶
- OSI 体系结构(开放系统互连参考模型)-法律上的国际标准,七层
- TCP/IP体系结构-产业界国际标准,四层(OSI 的制定专家缺乏实际经验,OSI实现起来过分复杂,并且运行效率很低;OSI标准制定的周期太长,OSI层次划分不太合理)。分别是:网络接口层(物理层+数据链路层)、网际层(IP)、运输层(TCP)、应用层(HTTP)
实际学习中,学习的是 TCP/IP 的四层结构。第一层网络接口层分成 物理层 + 数据链路层讲。
每一层都是不同的协议(通信标准)构成的。一个计算机上的应用,和另一个计算机上的应用之间通信,需要先从高级到低级逐步编码,然后经过计算机网络(路由器交换机),到达目标计算机,然后再自下而上的解码,实现了不同应用之间的通信。
计算机通常是四层全部都有,路由器只有网络接口层和网际层(只需要分组转发,不需要上层解析数据,所以不需要上层的协议)
最下层网络接口层(物理层和数据链路层)通常已经铺设好,不需要我们去直接考虑,所以 TCP/IP 体系结构主要考虑上面的三层(网际层,运输层,应用层)
网际层:IP 协议
运输层:TCP/UDP 协议
应用层:HTTP SMTP DNS RTP 协议
IP 协议对底层的网络接口层,可以将不同的网络接口进行互连,同时可以为上层的网络应用提供服务。所以 IP over everything, everything over IP。
这一系列协议称为 TCP/IP 协议族
1.6 计算机网络体系结构(2)—分层的必要性¶
分层类似于功能组件化,可以把复杂的功能拆成独立的小的功能,不同层对应独立的功能,便于分开权限和后期维护。计算机网络是非常复杂的系统,所以更需要分层。
主要面临的问题
物理层¶
物理层解决使用何种信号传输比特的问题
- 使用不同的传播媒体(网线,无线网,卫星信号)
- 使用不同的物理接口
- 使用不同的电信号表示比特
数据链路层¶
解决一个分组在一个网络或一段链路上传输的问题
- 如何标识网络中的不同主机(主机编码,MAC 地址)发送数据需要加上目标地址和自身地址
- 如何从信号中区分地址和数据(分组的格式封装)
- 如何处理数据碰撞(两个计算机同时发送数据,但是网线是单向的)
- 协调各主机争用网线(同一个电脑上有多个 APP,都会使用网络,需要协调主机占用总线)
网际层¶
解决分组在多个网络上传输(路由)的问题
- 如何标识各网络和各主机(网络和主机共用编址问题,例如IP地址);
- 路由器如何转发分组的问题,如何进行路由选择(网络中有多个线路,一个数据包可以发送给两个路由器,那么选择发送给哪个?)
运输层¶
解决进程之间给予网络的通信问题
- 如何解决进程之间的网络通信问题
- 如何处理传输错误
应用层¶
通过应用进程间的交互,完成特定的网络应用的问题
1.6 计算机网络体系结构(3)—分层思想举例¶
浏览器发送请求在计算机网络中的实际过程
1、应用层构建 HTTP GET 请求(请求头+请求体),交给下面运输层
2、运输层在数据前面增加一个 TCP 报文段,交给下面网际层
3、网际层增加一个 IP 数据报,交给下面的数据链路层
4、数据链路层增加 ETH 表示数据的开始和结束,交给下层物理层
5、物理层加一个前导码,转换成比特流电信号发出,经过网线到达路由器
6、路由器接收后,读取 IP 数据报,转发到对应的网络中
7、对应的计算机接收到数据包,从下到上依次解码,最终获取到 HTTP GET 请求报文
1.6 计算机网络体系结构(4)—专用术语¶
实体¶
实体:任何可发送或接收信息的硬件或者软件进程
对等实体:收发双方相同层次中的实体
协议¶
控制两个对等实体进行逻辑通信的规则的集合(不同层使用不同的协议规则)
协议三要素:语法(定义所交换信息的格式,信息由哪些字段以及什么顺序构成)、语义(定义双方要完成的操作)、同步(收发双方的时序关系,例如HTTP三次握手四次挥手等)
在协议的控制下,两个对等实体件的逻辑通信使得本层能够向上层提供服务。实现本层协议,需要使用下面一层所提供的服务(下层给上层提供服务)。
协议是水平的,服务是垂直的。实体可以看得到香菱下层所提供的服务,但是不知道该服务的具体协议。下面的具体细节对上层是透明的。
服务¶
服务访问点:同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型(上下两层协议交换信息的逻辑接口,TCP 和 HTTP 的逻辑接口)。
服务原语:上层使用下层所提供的服务,必须通过与下层交换一些命令,这些命令是服务原语。
协议数据单元 PDU:对曾层次之间传送的数据包(该层的协议数据单元)
服务数据单元 SDU:同一系统内,层与层之间交换的数据包称为服务数据单元
多个 SDU 可以合成一个 PDU,一个 SDU 可以划分成多个 PDU。
1.7 第1章 概述 章节小结¶
重点:计算机网络的体系结构;分组交换;时延计算;网络基本概念
1.8 第1章 概述 习题课(1)— 体系结构相关习题¶
硬件的最高层级¶
-
集线器 HUB 只有1层 物理层
-
交换机 Switch 有12层 物理层+数据链路层
-
路由器 Router 有123层 物理层 数据链路层 网络层
OSI 七层模型,每一层的原理,对应的协议等等
7、应用层:解决通过应用进程之间的交互,来实现特定网络应用的问题
6、表示层:解决通信双方交换信息的表示问题(字符集的转换,数据格式转换)
5、会话层:解决进程之间进行会话问题(会话管理)
4、运输层:解决进程之间基于网络的通信问题(可靠数据传输,端到端的服务)
3、网络层:解决分组在多个网络之间传输(路由)的问题(路由选择)
2、数据链路层:解决分组在一个网络(链路)上传输的问题(可靠数据传输)
1、物理层:解决使用何种信号来传输比特0或1的问题
网络体系结构中不包括协议的内部实现细节
1.8 第1章 概述 习题课(2)— 时延相关习题¶
时延 = 发送时延+传播时延+处理时延
例题1¶
当分组等长,链路等长,带宽相同,忽略路由器处理时延,n个分组,m段链路,总时延?
总时延 = N个分组发送时延 + 1个分组发送时延 * (m - 1)+ 一段链路的传播时延 * M。因为是M段链路,那么应该有m-1个路由器,所以路由器存储转发是 1个分组发送时延 * (m - 1),m-1实际就是转发次数。
例题2¶
比较电路交换和分组交换
报文X,带宽是B。电路建立时间是S。分组中每一个数据段长度是 p。一共有K个链路,传播时延D
电路交换 = 建立电路连接时间 s + 发送时延(x/b)+ 传播时延 (kd)= s + x/b + kd
分组交换 = 发送时延 + 路由器转发时延+ 传播时延 (就是例题1中的公式)
= p/b * x/p + p/b * (k - 1) + kd
这样可以比较分组交换和电路交换的时间了,建立不等式即可求解,求导可以求最值