概述
网络由若干节点和连接结点的链路组成
多个网络还可以通过路由器互联起来,构成一个更大范围的网络,即互联网
internet互联网是通用名词,指多个计算机网络互连而成的网络,在网络之间的通信协议可以是任意的
Internet因特网是专用名词,指全球最大的开放的由众多网络相互连接而成的特定计算机网络,采用TCP/IP协议族作为通信的规则,前身是美国的ARPANET
互联网发展三阶段
1,单个网络ARPANET向互联网发展
2,逐步建成三级结构的因特网
3,逐步形成了多层次ISP结构的因特网
因特网服务提供者ISP三层结构
第一层主干网,覆盖国际性区域,有高速链路和交换设备,ISP直接互联
第二层区域性或国家性覆盖规模,与少数第一层ISP连接
第三层本地范围,一般的校园网或企业网,以及住宅用户和无线移动用户
因特网的组成
边缘部分由所有链接在因特网的主机组成,用户直接使用
核心部分由大量网络和连接的路由器组成,为边缘提供服务
交换方式
电路交换
电话交换机接通电话线的方式为电路交换
从通信资源的分配角度来看,交换就是按照某种方式动态分配传输线路的资源
电路交换三步骤:
1,建立连接(分配通信资源)
2,通话(占用通信资源)
3,释放连接(归还通信资源)
优点:通信时延小,有序传输,无冲突,适用范围广,控制简单
缺点:建立连接时间长,线路独占,使用效率低,灵活性差,难以规格化
报文交换
优点:无需建立连接,动态分配线路,提高线路可靠性(线路故障可以自动更换),提高线路利用率(通信双方不是固定占用一条通信线路,而是在不同时间分段部分占用物理线路),提供多目标服务(一个报文可以同时发送给多个目的地址),
缺点:引起了转发时延,需要较大缓存空间,需要传输额外信息量(因为增加了目标地址和源地址)
分组交换
把长报文分组添加报头发送
发送方构造分组,发送分组
路由器缓存转发分组
接收方接收还原分组
优点:无需建立连接,线路利用率高,简化了存储管理(分组和缓冲区大小固定),加速传输(分组和转发操作可以同时进行),减少出错概率和重发数据量(分组大小减小,出错概率小,出错仅需重传出错部分)
缺点:引起了转发时延,需要传输额外信息量,对于数据报服务,存在失序,丢失或重复分组问题,对于虚电路服务,存在呼叫建立,数据传输和虚电路释放三个过程
计算机网络
计算机网络是一些互连(计算机之间可以有线或无线数据通信),自治(独立的计算机,有自己的硬软件,可以单独运行使用)的计算机的集合(至少需要两台计算机)
计算机网络分类
按交换技术分类:
电路交换网络,报文交换网络,分组交换网络
按使用者分类:
公用网,专用网
按传输介质分类:
有线网络,无线网络
按覆盖范围分类:
广域网WAN,城域网MAN,局域网LAN,个域网PAN
按拓扑结构分类:
总线型网络(建网容易,但通信效率不高,容易瘫痪),
星形网络(都与中央设备相连,早期是计算机,后来是集线器,现在一般是交换机或路由器,便于集中控制和管理,但成本高且中央设备对故障敏感 ),
环形网络(将所有网络接口连成环,可以是单环或双环,环内数据双向传输),
网状型网络(每个节点至少有两条路径与其他节点相连,多用于广域网,可靠性高,但控制复杂,线路成本高)
计算机网络性能指标
速率,连接在计算机网络上的主机在数字信道上传送比特的速率,也称为比特率或数据率,bit/s
带宽,信号包含的各种不同频率成分所占据的频率范围,Hz。表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的最高数据率
吞吐量,在单位时间内通过某个网络,信道,接口的数据量。受网络带宽或额定速率影响。电磁波在自由空间传播速率3*10^8,铜线2.3*10^8,光纤2*10^8,单位m/s
时延,发送时延,传播时延,处理时延
时延带宽积,传播时延x带宽,也叫以比特为单位的链路长度
往返时间RTT,双向交互一次所需时间
利用率,信道利用率(信道时间被利用的比例),信道利用率增大时,该信道引起的时延也会增加,网络当前时延D=网络空闲时延D0/1-利用率U,当利用率50%时,时延加倍,当利用率大于50%时时延迅速增加,所以通常控制利用率不超过50%;网络利用率(全网络信道利用率的加权平均)
丢包率,一定时间范围内,丢失的分组数量与总分组的数量比率。有接口丢包率,结点丢包率,链路丢包率,路径丢包率,网络丢包率等。可能是传输过程中误码丢弃,可能是到达满队列分组交换机时被丢弃。丢包率反应网络拥塞情况。无拥塞丢包率为0,轻度拥塞丢包率1-4%,严重拥塞丢包率5-15%。
计算机网络体系结构
结构层次
(法律标准)开放系统互联参考模型OSI:从下往上依次为物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
(实际标准)TCP/IP体系结构:网络接口层,网际层,运输层,应用层
(用于教学)原理体系结构:物理层,数据链路层,网络层,传输层,应用层
OSI协议失败原因,没有商业驱动力,实现起来过于复杂且运行效率低,定制周期太长导致设备无法及时进入市场,层次划分不合理有些功能在多个层次反复出现
TCP/IP协议合并了物理层和数据链路层,去掉了会话层和表示层
路由器一般只包含网络接口层和网际层(数据链路层和物理层)
网络接口层并没有规定实际内容,目的是可以互联全世界各种不同的网络接口,所以本质上TCP/IP体系结构只有上面三层
IP协议是网际层核心协议,TCP和UDP是运输层的两个重要协议,应用层包含了大量的应用层协议
IP协议可以将不同的网络接口进行互连,并向其上的TCP和UDP协议提供网络互连服务
TCP协议在享受IP协议提供的网络互连服务基础上可向应用层相应协议提供可靠传输服务
UDP协议则是提供不可靠传输服务
IP协议一方面互连不同的网络接口,另一方面为各种网络应用提供服务
分层的意义
物理层解决用何种信号来传输比特的问题
数据链路层解决分组在一个网络或一段链路上传输的问题
网络层解决分组在多个网络上传输路由的问题
运输层解决进程之间基于网络的通信问题
会话层解决进程间进行会话的问题
表示层解决通信双方交换信息的表示问题,包括数据字符集转换,数据格式化,文本压缩,数据加密解密等工作。
应用层解决通过应用进程的交互来实现特定网络应用的问题
分层传输过程
应用层构建一个HTTP报文(message);
运输层添加一个TCP首部,成为TCP报文段(segment)或UDP用户数据报(datagram),为了区分应用进程以及实现可靠传输;
网络层添加一个IP首部,成为IP数据报或分组(packet),使其可以在互联网上传播,被路由器转发;
数据链路层添加一个首位部,成为帧(frame),首部为了使帧能在链路或网络上传输,尾部为了检查是否有误码;
物理层在前面添加前导码,成为比特流(bit stream),为了让主机做好接收帧的准备
路由器接收后去掉首位部和前导码,再添加回去转发
实体
实体是指任何可发送或接收信息的硬件或软件进程
对等实体是指收发双方相同层次中的实体
协议
控制两个实体进行逻辑通信的规则的集合
协议的三要素:语法(定义通信双方交换信息的格式,有哪些字段以及何种顺序组成),语义(定义收发双方要完成的操作),同步(定义收发双方的时序关系)
服务
在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务
要实现本层协议,需要下面一层提供的服务
协议是水平的,服务是垂直的
实体看得见相邻下层提供的服务,但并不知道实现该服务的具体协议,下面的协议对上面的实体是透明的。
服务访问点:同一系统中相邻两层实体交换信息的逻辑窗口,用于区分不同的服务类型
数据链路层的服务访问点为帧的类型字段,网络层的服务访问点为IP数据报首部中的“协议字段”,运输层的服务访问点为“端口号”
服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语
协议数据单元PDU:对等层次之间传送的数据包称为该层的协议数据单元,报文等等。
服务数据单元SDU:同一系统内,层与层之间交换的数据包
多个SDU可以合并成一个PDU,一个SDU也可以划分为几个PDU
1.物理层
物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流;为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑具体的传输媒体是什么
前导码前七个字节为前同步码,用于时钟同步,第八个字节为帧开始定界符。
帧间间隔为96比特时间
物理层协议的主要任务:
机械特性,指明接口所用接线器的形状和尺寸,引脚数目和排列,固定和锁定尺寸
电气特性,指明在接口电缆的各条线上出现的电压的范围
功能特性,指明某条线上出现的某一电平的电压表示何种意义
过程特性,指明对于不同功能的各种可能事件的出现顺序
传输媒体
传输媒体分为导引型传输媒体(双绞线,同轴电缆,光纤,电力线),非导引型传输媒体(无线电波,微波,红外线,可见光)
同轴电缆价格贵,布线不够灵活,集线器出现后采用双绞线。
双绞线,绞合是为了抵御部分来自外界的电磁波干扰和减少相邻导线的电磁干扰。
光纤优点:通信容量大,传输损耗小,抗雷电和电磁干扰性能好,无串音干扰,保密性好,不易窃听,体积小。缺点:需要专用设备切割,光电接口价格较贵。
多模光纤同时传播多条光线,在介质内不断全反射,传输一定距离后会脉冲展宽信号失真,只适合近距离传输,收发器要求不高
单模光纤一直向前传播不发生全反射,适合长距离传输,但制造成本高,收发器要求高
传输方式
串行传输
并行传输
同步传输,需要时钟同步,外同步添加一条单独的时钟信号线;内同步将同步信号编码到发送数据中一起传输(曼彻斯特编码)
异步传输,在字节前后加上起始位和结束位。字节之间异步,但是比特仍然同步
单向通信(单工)
双向交替通信(半双工)
双向同时通信(全双工)
编码与调制
编码方法
消息转换成二进制数据,数据是运送消息的实体;计算机将二进制数据转化成电信号发送到网线,信号是数据的电磁表现;信号源发出的原始电信号为基带信号,分为模拟基带信号和数字基带信号;信号在相应的信道中传输
码元:在使用时间域的波形表示数字信号时,代表不同离散数值的基本波形,比如0和1在信号调制中分别是两个码元。
不归零编码NRZ:通过正负电平表示0和1。需要额外传输线做时钟同步,效率低,一般不采用这种方式。
反向不归零编码NRZI:不会出现零电平,电平反转表示0,不反转表示1
归零编码RZ:通过正负电平表示0和1。但是只有一半时间在正负部分,后一半时间为零电平。也叫自同步信号。但是一半的时间都用来归零,浪费了带宽。
曼彻斯特编码:在每个码元中间时刻跳变,负跳变为0,正跳变为1,跳变既表示时钟又表示数据
差分曼彻斯特编码:跳变仅表示时钟,码元开始处电平是否变化表示数据。适合较高的传输速率。
调制方法
数字基带信号通过AM调幅,FM调频,PM调相调制为模拟信号
频率与相位相关,一次二者只能调制一个。
相位与振幅一起调制,为正交振幅调制QAM
QAM16包含12种相位,每个相位有一或两种振幅可选,每个码元代表四个比特,应该使用格雷码,每两个相邻码元只有一个比特不同,减少误码率
信道极限容量
失真因素:码元传输速率,信号传输距离,噪声干扰,传输媒体质量
奈氏准则:在理想条件下,为了避免码间串扰,码元传输速率是有上限的
理想低通信道的最高码元传输速率:2W Baud = 2W码元/秒
理想带通信道的最高码元传输速率:W Baud = W码元/秒
W为信道带宽,Baud为波特,即码元/秒
码元传输速率又称波特率、调制速率、波形速率或符号速率。
当一个码元只携带一比特的信息量时,波特率与比热率在数值上相等。
当一个码元携带n比特的信息量时,波特率=比热率乘以n。
要提高比特率,需要使一个码元能携带更多比特的信息量,采用多元制。
香农公式:带宽受限且有高斯白噪声干扰的信道的极限信息传输速率
c=W*log2(1+S/N),c为信道极限信息传输速率,W为信道带宽,S为信号平均功率,N为高斯噪声功率,信噪比dB=10*log10(S/N)
要提高信息传输速率要采用多元制,提高信道中的信噪比
2.数据链路层
链路指一个结点到相邻节点的一段物理线路,中间没有任何其他交换结点
数据链路指把实现通信协议的硬件和软件加到链路上,构成数据链路。
数据链路层以帧为单位传输和处理数据。
封装成帧
增加帧头和帧尾
帧头和帧尾有重要控制信息,可以用于帧定界
透明传输指数据链路层对上层交付的传输数据没有任何限制,好像数据链路层不存在一样
面向字节的物理链路使用字节填充(或字符填充)的方法实现透明传输
面相比特的方法使用比特填充的方法实现透明传输
可以采用零比特填充法,在每五个连续的1后面插入一个比特0,在接收时剔除0即可
为了提高帧的传输效率,应当使帧的数据部分长度尽可能大,也就是帧头帧尾占比例更小
帧部分数据长度上限为最大传送单元MTU
差错检测
发送帧之前,基于发送的数据和检错算法计算出检错码,封装在帧尾
通信链路中,比特位1可能变成0,反之亦然,这称为比特差错
在一段时间内,传输错误的比特占所传输比特总数的比率为误码率BER
使用差错检测码检测数据传输过程中是否产生了比特差错,不能定位纠正错误,如果需要纠正差错,需要冗余信息更多的纠错码进行前向纠错,但是开销大,很少使用
通常通过检错重传方式来纠正传输中的差错,或仅仅丢弃检测到差错的帧,取决于使用的是否是可靠传输服务。
奇偶校验:
在待发送的数据后加一位奇偶校验位,是整个数据中1的个数为奇数(奇校验)或偶数(偶校验)
如果有奇数个位发生误码,则奇偶性发生变化,可以检查出误码
如果有偶数个位发生误码,则奇偶性不发生变化,不能检查出误码(漏检)
循环冗余校验CRC
收发双方约定好一个生成多项式G(x);
发送方基于待发送的数据和生成多项式计算出差错检测码(冗余码),将其添加到待传输数据后面一起传输;
接收方通过生成多项式计算收到的数据是否产生了误码;
具体操作:
待传输数据后面加上生成多项式最高次项个0,除以生成多项式各项系数构成的比特串(异或运算),得到的余数为冗余码加在待发送数据后,商仅作为标记,防止计算过程中对错位。
接收方将接收到的数据除以生成多项式各项系数构成的比特串(异或运算),若能整除则无误码,否则有误码
算法要求生成多项式必须包含常数项1
余数位数与生成多项式最高次数相同,不足则在前面补0
CRC漏检率很低,易于硬件实现,广泛应用与数据链路层
可靠传输
发送方发送什么,接收方就能接受到什么。
一般情况下,有线链路不要求数据链路层提供可靠传输服务,由上层处理误码
无线链路易受干扰,要求数据链路层必须提供可靠传输服务
传输差错包括比特差错,分组丢失,分组失序以及分组重复,后三种一般出现在上层
可靠传输服务不仅限于数据链路层
可靠传输服务开销较大,是否使用取决于应用需求
实现机制:
停止等待协议SW
自动请求重传协议ARQ
接收端接收到误码时只需要丢弃并等待重传即可,对与误码率高的点对点重传,为了尽早收到,可以给发送方发送NAK分组
为了接收方判断收到的数据分组是否重复,需要给数据分组编号,对于停止等待协议,只需要一个比特编号即可
为了让发送方能够判断收到的ACK分组是否重复,需要给ACK分组编号,所用比特量与数据分组一样,数据链路层一般不会出现ACK迟到的现象,因此可以不需要编号
超时重传器的重传时间一般设为略大于发送方到接收方的平均往返时间即可
信道利用率U=TD/TD+RTT+TA,TD为数据发送时间,RTT为往返时间,TA为确认信号发送时间
当往返时延RTT远大于数据传输时间TD时,信道利用率非常低,若出现重传,则信道利用率还要降低
回退N帧协议GBN
连续ARQ协议,也是滑动窗口协议
发送方发送窗口尺寸WT的取值范围是1<WT<2^n -1,其中n是构成分组序号的比特数量
当WT=1时则为停止等待协议,当WT大于上限时会导致接收方无法分辨新旧分组
发送方可在未接收到确认分组的情况下,将发送窗口内所有数据分组全部发送出去
发送方只有收到对已发送的数据分组的确认时,滑动窗口才能向前滑动
发送方在收到多个重复确认时,可在重传计时器超时前尽早重传,由具体实现决定
发送方发送窗口内某个已发送的数据分组超时重传时,后续在发送窗口内且已发送的数据分组也必须全部重传,这就是回退N帧协议的由来
接收方接收窗口尺寸WR取值范围是WR=1,只能按序接收数据分组
接收方只接受序号落在接收窗口内的无误码数据分组,并向前滑动一个位置,同时发送确认分组,为了减小开销,不一定每收到一个按序到达且无误码的数据分组就发送一个确认分组。
可以连续收到多个后针对最后一个发送确认分组,称为累计确认
或者在自己有数据分组要发送时才对之前的数据分组进行捎带确认
收到未按序到达的数据分组,除了丢弃外还要对最近按序接收的数据分组进行确认
当通信线路质量不好时,信道利用率并不比停止等待协议高
选择重传协议SR
发送窗口的取值范围与回退N帧协议一致
发送方发送机制与回退N帧协议一致,不过会对为按序到达的数据分组进行记录,防止超时重发,但窗口不能向前滑动
接收窗口尺寸范围为1<WR<WT
WR=1则为回退N帧协议,WR>WT无意义
接收方可接收未按序到达但没有误码并且序号落在接收窗口内的数据分组,为了使发送方仅重传差错分组,接收方不能使用累计确认,需要逐一确认
接收方在按序接收数据分组后才能向前滑动
点对点协议PPP
PPP协议为点对点链路各种协议数据报提供了一个标准方法,由三部分构成:
封装成帧,链路控制LCP(用于建立、配置以及测试数据链路的连接),一套网络控制协议NCPs(其中的每个协议支持不同的网络层协议)
透明传输:面向字节的异步链路
发送方将出现的每个7E字节转变为2字节序列7D,5E
将每个7D字节转变为7D,5D
出现的每个ASCII码控制字符(数值小于0x20的字符),在前面插入转义字符7D,同时将该字符编码加上0x20(十六进制的20)
接收方只需要反变换即可恢复数据部分
面向比特的同步链路
只要有5个连续的1,立即填充一个比特0,接收反反变换即可
差错检测:接收方每收到一个帧,就进行CRC检验,若检验正确则接受帧,否则丢弃,使用PPP的数据链路层向上提供不可靠传输服务
工作状态:
媒体接入控制
共享信道需要协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制MAC
媒体接入控制分为静态划分信道(预先固定分配好信道,不灵活,通常在物理层使用)和动态接入控制
静态划分信道分为:频分多址,时分多址,码分多址
动态接入控制分为:受控接入(集中控制(有一个主站以循环方式轮询每个站点有无数据发送,只有被轮询到的站点才能发送数据,最大缺点是存在单点故障问题),分散控制(各站点平等,连接成一个环形网络,令牌(一个特殊控制帧)沿环逐站传递,接收到令牌的站点才有权发送数据,在发送完后传递给下一个站点))和随机接入(所有站点通过竞争,随机在信道上发送数据,当产生碰撞时则都发送失败)
信道复用
通过一条物理线路同时传输多路用户的信号
频分复用FDM:不同用户占用不同频带资源并行通信
时分复用TDM:将带宽资源按时隙分配给不同的用户
波分复用WDM:不同用户使用不同波长的光传输
码分复用CDM:可以在同一时间使用同一频带通信,各用户使用特殊挑选的不同码型,因此不会相互干扰。每个站的码片序列为伪随机码片序列,码片序列相互正交,规格化内积为0(0为-1,1为正1,做内积为0)
要发送1则发送自己的码片序列,发送0则发送自己码片序列的反码,接收端收到后分别于每个发射器自身的码片序列相乘,结果为1则是1,为-1则是0,为0则是未发送数据
随机接入
总线型局域网的载波监听/多址接入/碰撞检测 CSMA/CD协议
现在的以太网使用交换机和全双工连接,没必要使用该协议
称为截断二进制指数退避算法
多址接入MA:多个站连接在一条总线上,竞争使用总线
载波监听CS:每个站在发送帧前检测一下总线上是否有其他站点在发送帧,若总线空闲96比特时间(帧间最小间隔)则发送帧,否则继续等待
碰撞检测CD:边发送边碰撞检测,出现碰撞则停止发送退避随机事件再发送
强化碰撞:在检测到碰撞后继续发送32或68比特的干扰信号,以便所有站点检测出碰撞
以太网单程端到端传播时延τ,主机最多经历2τ时间即可检测到是否碰撞,2τ为争用期或碰撞窗口,争用期未检测到碰撞才能肯定本次不会发生碰撞
最小帧长=争用期x数据传输速率
以太网规定最小帧长64字节,512比特时间为争用期,如果帧过短则填充字节,接收到的帧不足64字节则表明发生了碰撞丢弃该帧,mac地址不同也丢弃该帧,出现误码也丢弃该帧
最小帧长保证在帧发送完成之前即可检测到是否发生了碰撞
最大帧长:数据载荷最大长度为1500字节,最小为46字节
退避时间=基本退避时间2τ x 随机数r(从整数集合0到2^k -1,k为min(重传次数,10))
动态退避时间可使重传推迟的平均时间逐渐增大,减小碰撞概率
若重传16次仍未成功,则丢弃该帧并向高层汇报
极限信道利用率SMax=发送一帧时间T0/T0+τ = 1/1+a,a为τ/T0,提高信道利用率需要a尽量小,则τ尽量小,意味着端到端距离不应太长,T0尽量大
无线局域网的载波监听/多址接入/碰撞避免 CSMA/CA协议
无线局域网中不能使用碰撞检测CD,信道状态特殊,信号强度动态范围非常大,接收到的信号强度往往远小于发送信号强度,要实现碰撞监测对硬件要求非常高,即便能实现碰撞检测,由于存在隐蔽站问题,碰撞检测意义不大
802.11mac层标准定义了两种不同的媒体接入控制方式:
分布式协调功能DCF,没有中心控制站点,每个站点争用信道(默认方式)
点协调功能PCF,使用集中控制的接入算法(较少使用)
802.11规定每个站点必须在持续检测到信道空闲一段指定时间后才能发送帧,这段时间为帧间间隔IFS,高优先级帧等待时间短,可优先发送
常用两种帧间间隔:短帧间间隔SIFS,28微秒,用来分隔一次对话的各帧,站点能够在这段时间由发送态切换到接收态。
DCF帧间间隔DIFS,在DCF方式中用来发送数据帧和管理帧
退避算法:
设置随机退避时间,计时器归零发送数据,未到零时信道又忙则冻结计时器,等待信道空闲并继续等待DIFS时间再启动计时器
第i次退避时间范围在0到2^2+i -1,乘以基本退避时间(一个时隙长度),可以得到随机退避时间,时隙编号最大为255
信道预约
为了减少碰撞概率降低碰撞影响,802.11标准允许发送数据的站点提前预约信道
发送端在发送数据之前先发送一个短的控制帧,请求发送RTS,包含源目的地地址以及通信持续时间
目的站正确收到RTS帧且媒体空闲,则发送响应控制帧,允许发送CTS,也包括这次通信持续时间
其他站收到CTS帧后推迟接入无线局域网
RTS若未收到CTS帧则退避重传RTS
因为RTS和CTS很短,碰撞概率小,比数据帧碰撞损耗更小,所以值得
可以使用或不使用预约信道,或数据帧长度达到一定值再使用
虚拟载波监听机制
数据帧也能携带通信持续时间
站点只需要监听到RTS,CTS,数据帧之一,就能知道信道占用持续时间,减少隐蔽站碰撞问题
MAC地址
多个主机连接在同一个广播信道上,要实现两个主机间的通信,则每个主机必须有一个唯一的标识,主机在发送的帧中必须携带标识发送和接收主机的地址,这被称为MAC地址
MAC一般被固化在网卡中,也被称为硬件地址,有时也被称为物理地址
主机一般包含两个适配器,有线局域网适配器(有线网卡)和无线局域网适配器(无线网卡),网络适配器MAC地址唯一,路由器和交换机有多个MAC地址,因为MAC地址对应的是网络接口而不是设备。
MAC地址格式
IEEE 802的地址格式是前三个字节为组织唯一标识符OUI,后三个字节为网络接口标识符,由厂商自行随意分配。合起来被称为扩展的唯一标识符EUI
mac地址表示方法:每四个比特为一组,写成十六进制字符,每两个字符为一组,共六组,每组间用短线连接,也可以用冒号连接;或者四个字符为一组,每组间用点连接
mac地址的b0位取0表示单播,取1表示多播
b1位取0表示全球管理,取1表示本地管理
MAC地址发送顺序:从第一字节到第六字节,从b0比特到b7比特
单播检查目的地址是否与自己匹配,匹配则接收;
广播目的地址为全F,则所有人都接收
多播第一个十六进制位不能整除二,每个设备有自己的多播地址组,若符合自己的多播地址组则接收
还可以使用随机mac地址
IP地址与MAC地址变化情况
IP地址是因特网上主机与路由器使用的地址,用于标识网络编号与主机编号
前三个编号为网络编号,同一网络中编号相同,第四个编号为主机编号,标识不同主机
地址解析协议ARP
每个主机有自己的ARP高速缓存表,需要发送时查找表,若未找到则:
需要获取目的地MAC地址的主机发送ARP请求报文广播包含自己的IP和MAC地址以及需要获取的MAC地址的主机IP,目标收到后将请求者的IP与MAC地址记录到ARP高速缓存表中,给其发送ARP响应,告知自己的IP地址与MAC地址,请求方收到后将其存入ARP高速缓存表中
ARP高速缓存表中数据分为动态(自动获取,生命周期两分钟)和静态(手工配置,不同操作系统下生命周期不同,系统重启后可能存在或不存在)
ARP协议只能在一段链路或一个网络上使用
以太网交换机
集线器与交换机区别
使用集线器的以太网在逻辑上仍是总线型网络,各站共享总线资源,使用CSMA/CD协议
集线器工作在物理层,只转发比特,不碰撞检测
集线器有少量的容错能力和网络管理功能,若某个网卡出现了故障可以在内部断开连线
集线器HUB能在物理层扩展以太网
以太网交换机有多个接口,全双工方式工作,有多种速率接口
以太网交换机并行工作,能同时连通多对接口,无碰撞,不使用CSMA/CD协议
交换机工作在数据链路层,也包括物理层,收到帧后查找帧交换表,找帧目的地MAC地址对应的接口号然后转发该帧
使用一个或多个以太网交换机互连的站点属于同一个广播域
交换机即插即用,内部的帧交换表通过自学习算法自动建立
交换机使用存储转发或直接转发(基于硬件的交叉矩阵,交换延迟小但不检查是否出错)的方式
交换机自学习和转发帧流程
交换机会记录到达的帧的源结点的接口和MAC地址,然后查表转发,若未找到则会对其他所有接口转发
每天记录会到期删除,因为MAC地址与交换机接口对应关系不是永久性的
交换机生成树协议STP
添加冗余链路可以提高以太网可靠性,但是会形成网络环路
网络环路会导致广播风暴(广播消息在交换机之间反复转发),主机收到重复广播帧,交换机帧交换表震荡(无法确认广播消息来自哪个接口)
使用路由器可以隔离广播域防止广播风暴,但是路由器成本较高
生成树协议STP用于避免网络环路问题,不管交换机如何连接,都能构建出逻辑上无环网络(树形结构),且确保连通整个网络
当首次连接交换机或物理拓扑发生变化时,重新进行生成树计算
虚拟局域网VLAN
虚拟局域网是一种将局域网内的设备划分成物理位置无关的逻辑组的技术,这些逻辑组有某些共同需求
同一个VLAN之间可以通信,不同VLAN之间不能通信
实现机制
IEEE 802.1Q帧(Dot One Q帧)对以太网的MAC帧格式进行了扩展,插入了4字节的VLAN标记
VLAN标记的最后12个比特为VLAN标识符VID,唯一的标志了以太网帧属于哪个VLAN
VID取值范围为0-2^12 -1,但0和4095都不用来表示VLAN
该帧由交换机处理,而不是用户主机
交换机收到普通以太网帧时会插入VLAN标记,等于发送端的PVID,打标签
转发时可能会去掉VLAN标记,去标签
交换机的端口类型
在思科交换机中默认VLAN ID为Native VLAN,本征VLAN
在华为交换机中默认VLAN ID为Port VLAN ID,端口VLAN,PVID
交换机每个端口有且只有一个PVID
Access端口一般用于连接用户计算机,只属于一个VLAN,PVID值与端口所属的VLAN相同(默认1)。一般只接受无标签MAC帧,根据接收的帧打标签
Trunk端口一般用于交换机之间或交换机与路由器之间的互连,可以属于多个VLAN,用户可以设置PVID的值,默认为1。
发送时:对VID = PVID的帧,去标签再转发;对于不等于的帧则直接转发
接收时:接收未打标签的帧,根据接收帧的端口PVID给帧打标签VID等于发送端的PVID;接收有标签的帧则直接接收然后继续处理
Hybrid端口同Trunk端口,唯一不同是发送时查看帧VID是否在端口的去标签列表中,在的话就去标签转发,否则直接转发
3.网络层
实现网络互连,实现数据包在各网络之间的传输
网络层提供的服务
面向连接的虚电路服务
可靠通信由网络保证
必须建立网络层的连接——虚电路VC
通信双方沿着已建立的虚电路发送分组
目的主机地址仅在建立连接阶段使用,之后每个分组首部只需携带一条虚电路的编号
通信结束后释放之前建立的虚电路
无连接的数据报服务
可靠通信由用户主机保证
不需要建立网络层连接
每个分组可走不同的路径,且首部必须携带完整的目的主机地址
传送的分组可能误码丢失等。
网络本身不提供端到端可靠传输,路由器可以相对简单,价格低廉
好处是可以将复杂的网络处理功能放置于网络边缘,用户主机及其内部运输层,将分组交付功能置于核心
IPv4地址
是给因特网每一台主机或路由器的每个接口分配一个唯一的32比特标识符
该地址采用点分十进制表示方法方便用户使用
分类编址
A类地址:
最小网络号0,保留不指派,0.0.0.0只能作为源地址,不能作为目的地址
第一个可指派的网络号1,网络地址为1.0.0.0
最大网络号127,作为本地环回测试地址,不指派,可以作为源和目的地址
最小本地环回测试地址127.0.0.1
最大的本地环回测试地址127.255.255.254
最后一个可指派的网络号为126,网络地址为126.0.0.0
B类地址:
最小网络号也是第一个可指派的网络号128.0,网络地址为128.0.0.0
最大网络号也是最后一个可指派的网络号191.255,网络地址为191.255.0.0
C类地址:
最小网络号也是第一个可指派的网络号192.0.0,网络地址为192.0.0.0
最大网络号也是最后一个可指派的网络号223.255.255,网络地址为223.255.255.0
255.255.255.255只能作为目的地址,不能作为源地址,表示在本网络上广播
子网划分
32比特子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号
子网掩码使用连续的1来对应网络号和子网号,连续的0对应主机号
将划分子网的IPv4地址与其相应的子网掩码进行逻辑与运算就可以得到IPv
首先判断是哪种网络,子网掩码剩余的部分表示主机号从左到右连续取1,得到的二进制数,有几位就是借用了几位作为子网号
默认子网掩码主机号部分全0
无分类编址的IPv4地址
CIDR使用斜线记法,在地址后加斜线后面写上前缀借用比特数量
前缀相同的连续IP地址组成CIDR地址块
路由聚合(构造超网)
路由器隔一段时间将自己接入的主机的IP地址告知相邻路由器
将相邻路由器的IP地址提取公共前缀,用斜线记法存于相邻路由器路由表中
网络前缀越长,地址块越小,路由越具体
路由器转发分组时发现有多条路由可选,则选择网络前缀最长的一条,叫做最长前缀匹配
应用规划
定长子网掩码FLSM
使用同一个子网掩码划分子网
每个子网IP地址相同,容易造成浪费
变长子网掩码VLSM
使用不同子网掩码划分子网
减少IP地址的浪费
分配的地址必须是2的次方数,由大到小分配
IP数据包的发送和转发
发送端将目的地IP地址与子网掩码做与操作,如果与本网络内的IP地址相同则在本网络内直接交付
如果不同则寻找默认网关(路由器对应的接口IP地址)进行转发
路由器收到后会首先检查IP数据报首部是否出错,出错则丢弃
之后路由器将目的地址与子网掩码做与操作,将结果查表,找到相应的接口转发
IP数据报的格式
版本号4比特,表示IP协议版本,IPv4则版本号为4
首部长度占4比特,取值以4字节为单位,最小十进制为5,表示首部有20字节固定部分;最大十进制15,表示还有40字节可变部分,可选字段用来支持排错,测量和安全措施。填充字段用于确保首部长度为4字节的整数倍,使用全0填充
区分服务,8比特,用于提供不同等级的服务质量,一般不使用
总长度,16比特,表示IP数据报的总长度,最大为十进制的65535,以字节为单位,总长度=数据载荷长度+首部长度
标识,16比特,属于同一个数据报的各分片数据报具有相同的标识,IP软件维持一个计数器,将其赋给标识字段
标志,3比特,DF位为1则表示不允许分片,MF位为1表示后面还有分片,保留位必须为0
片偏移,占13比特,指出分片数据报数据载荷部分偏移在原数据报的位置有多少单位,以8字节为单位,计算时用前面已经传送过的字节数除以8即为片偏移
生存时间TTL,8比特
协议,8比特,指明数据部分是哪种协议数据单元
首部检验和,16比特,用来检测首部传输过程中是否出错,称为因特网检验和,每个路由器都要重新检测,IPv6中不再检验
源,目的地IP地址,各32比特
路由器相关
静态路由配置
静态路由配置是指用户或网络管理员使用路由器的相关命令给路由器人工配置路由表
配置简单,开销小,但不能及时适应网络状态的变化,一般只在小规模网络中采用
对于需要转发到互联网,有大量接口的情况时,可以使用默认路由0.0.0.0/0
对于需要转发到特定主机上时,使用长前缀设置,遵循最长前缀原则选择路由
静态路由配置导致路由环路错误可能因为:配置错误,聚合了不存在的网络,网络故障
为了防止路由表错误导致IP数据报永久兜圈,在IP数据报首部设置生存时间TTL,在进入路由器后,TTL-1,若TTL不等于0则转发,否则丢弃
为了防止聚合了不存在的网络导致走默认路由兜圈,可以在路由器中添加黑洞路由,对于这些IP地址不予转发
网络故障会导致路由表删除路由条目,走默认路由兜圈,可以添加对于故障路由的黑洞路由
动态路由选择
路由器自动获取路由信息
比较复杂,开销大,但能较好适应网络状态的变化。适用于大规模网络
特点:自适应,分布式(路由器之间交换路由信息),分层次(将整个因特网划分成许多较小的自治系统AS)
自治系统内使用域内路由选择(内部网关协议IGP),设法使分组在一个自治系统中尽可能有效地从源网络传输到目的网络,无需考虑自治系统外部其他方面的策略
自治系统外使用域间路由选择(外部网关协议EGP)
各自治系统使用的协议可以不同
路由器基本结构
路由器是具有多个输入端口和输出端口的专用计算机,任务是转发分组
路由器结构可分为两部分:路由选择部分,核心是路由选择处理机,根据使用的路由选择协议周期性的与其他路由器进行路由信息交互,更新路由表
分组转发部分,具有输入端口,输出端口和交换结构。如果收到的是传输的数据则进行转发;如果是交换路由信息的路由报文则送交路由选择处理机更新路由表。
路由表仅包含从目的网络到下一跳的映射,需要对网络拓扑变化的计算最优化,转发表是从路由表得出的,转发表结构也要使查找过程最优化
交换结构还具有输入和输出缓冲区用于缓存还未来得及处理的分组
内部网关协议IGP
路由信息协议RIP
是内部网关协议IGP中最先得到广泛使用的协议之一,封装在UDP协议中
该协议要求自治系统内每个路由器都要维护从自己到AS内每个网络的距离记录,称为距离向量D-V
RIP使用跳数来衡量到达目的网络的距离:路由器到直连网络距离为1,到非直连网络距离为经过的路由器数+1,允许一条路径只能包含15个路由器,距离为16时相当于不可达,因此RIP只适用于小型互联网
RIP认为好的路由就是经过路由器数量最少的路由,当有多条路由距离相等时可以进行等价负载均衡
RIP规定:和谁交换信息(相邻路由器),交换什么信息(自己的路由表),何时交换信息(周期性交换)
RIP工作过程:初始时路由器仅知道与直连网络距离为1;
路由器与相邻路由器周期性交换更新路由信息;
若干次交换更新后,每个路由器都知道到达本AS内各网络的最短距离和下一跳地址(收敛)
路由器收到相邻路由器的路由表后,将下一跳全部改为c,距离全部加一,然后与已有路由表取最小值,如果相等也进行记录,进行等价负载均衡
坏消息传的慢(路由环路或距离无穷计数问题):故障路径为16,路由表传播后一直大于原有路由表距离,无法更新路由表。这是距离向量算法的固有问题,可以通过限制最大路径距离15,仍由16表示不可达,当路由表变化时立即发送更新报文,触发更新。或让路由器记录收到某特定路由信息的接口,不再反向传递路由信息(水平分割)
开放最短路径OSPF(封装在IP协议中)
基于链路状态而不是距离向量,使用迪杰斯特拉最短路算法,算法上保证了不会出现路由环路,不限制网络规模,更新效率高,收敛速度快
链路状态指本路由器都与哪些路由器相邻,以及相应链路的代价cost
思科路由器计算代价方法为100Mbps/链路带宽,不足1的为1,其余取整数部分
OSPF相邻路由器间通过交互问候分组,建立和维护邻居关系
问候分组分装在IP数据报中,发往组播地址224.0.0.5
发送周期十秒,超过四十秒未收到则认为该邻居路由器不可达
邻居表存储了邻居ID,接口以及邻居死亡倒计时
每个路由器都会产生链路状态通告LSA,包含直连网络的链路状态信息,邻居路由器的链路状态信息
LSA封装在链路状态更新分组LSU中,采用洪泛法发送
每个路由器有一个链路状态数据库LSDB,用于存储LSA,基于该数据库进行最短路径优先SPF计算
选举制定路由器DR和备用的指定路由器BDR,所有的非DR/BDR只与DR/BDR建立邻居关系,并通过其交换信息
OSPF把一个自治系统划分为若干更小的区域area,主干区域标识符必须为0.0.0.0,其他区域标识符不为0且互不相同
路由器分为区域内路由器IR和区域边界路由器ABR,主干区域内路由器BBR,自治系统边界路由器ASBR
边界网关协议BGP(封装在TCP协议中)
不同自治系统使用的代价不同,没有一个统一的度量无法寻找最佳路由,必须考虑相关策略(政治,经济,安全等),只能力求寻找一条能够到达目的网络且比较好的路由,而并非寻找最佳路由
BGP适用于多级结构的因特网
网际控制报文协议ICMP
为了有效转发IP数据报和提高交付成功机会,主机或路由器使用ICMP发送差错报文和询问报文,该报文被封装在IP数据报中发送。
差错报文分类:
终点不可达,路由器或主机无法交付数据报时,向源点发送,具体可细分多种。
源点抑制,路由器或主机由于拥塞丢弃数据报,源点降低发送速率。
时间超过,数据报超过生存时间,或规定时间内无法收到一个数据报的所有分片。
参数问题,出现误码
改变路由(重定向),让主机知道下次应发送数据报给另外的路由器
以下情况不发送ICMP差错报文:
对差错报文不发送差错报文,对第一个分片的所有后续数据报片都不发送差错报文,对多播地址数据报不发送差错报文,对特殊地址,如0.0.0.0数据报不发送差错报文
ICMP应用:分组间探测PING,测试主机路由器间连通性,应用层直接使用网际层ICMP,使用ICMP回送请求和回答报文
跟踪路由,用来测试主机到目的主机需要经过哪些路由器,不断发送生存时间从1递增的IP数据报,通过返回的时间超过ICMP获知路由路径
虚拟专用网VPN
利用公用因特网作为机构各专用网之间的通信载体,各主机分配的IP地址为本机构可自由分配的专用地址
通过互联网传播的信息通过路由器加密,添加首部字段,源地址为发送路由器的全球地址,目的地址为接收路由器的全球地址
同一机构的内部网络构成内联网VPN,外部机构参与进来叫外联网VPN
在外地远程与公司主机建立VPN隧道为远程接入VPN
网络地址转换NAT
能使大量使用内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机和资源
内部主机要与因特网上主机建立连接,首先通过NAT路由器将源IP地址替换为全球IP地址发送,并记录对应关系,收到回复后将全球IP地址换回目的地址转发
可以利用端口号和IP地址一起转换,则可以用一个IP地址使多个本地地址主机同时与外部通信,这叫做网络地址与端口号转换NAPT
4.运输层
运输层解决不同主机中进程的通信问题,也叫端到端协议
运输层端口号举例
用户,DNS服务器与Web服务器连接在一个网络内,DNS服务器中记录有Web服务器域名对应IP地址。
PC中使用网页浏览器访问Web服务器内容,输入域名,用户PC中DNS客户端进程发送一个DNS查询请求报文,请求获取域名对应的IP地址,使用运输层UDP协议,封装成UDP用户数据报,源端口字段为短暂端口号表示DNS进程,目的端口为DNS服务器端进程熟知端口号53。
封装后发送给DNS服务器,根据目的端口号交付给DNS服务器端进程,解析内容并查找对应IP地址,发送响应报文,源端口为53,目的端口为之前查询请求报文的短暂端口号
获取到目的IP地址后封装为HTTP请求报文,使用TCP协议,挑选短暂端口号为源端口,TCP熟知端口号80为目的端口号发送给Web服务器,Web服务器收到后同样的方式返回
UDP与TCP区别
用户数据报协议UDP(无连接),双方可以同时发送数据;支持单播多播和广播;对应用报文不合并拆分(面向应用报文);无连接不可靠,适用于实时应用;首部只有八个字节,记录源目的端口,长度和检验和
传输控制协议TCP(面向连接),需要用三报文握手建立连接,传输结束后使用四报文挥手释放连接;仅支持单播;将字节流提取一部分构架TCP报文段发送(面向字节流);有连接可靠,适用于需要可靠传输的应用;首部最小长度20字节,最大长度60字节
TCP流量控制
控制发送方发送速率,让接收方来得及接收
收到零窗口通知报文段的一方启动持续计时器,计时器超时则发送一个一字节的零窗口探测报文段
即使接收窗口为0也必须接受零窗口探测报文段,确认报文段以及带有紧急数据的报文段
TCP拥塞控制
对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就会变坏(拥塞)
拥塞而不控制则负载越大吞吐量越小
拥塞控制算法
假设数据单向传递,接收方有足够大缓存,发送方窗口根据拥塞程度决定,以最大报文段MSS个数为单位讨论
发送方维护拥塞窗口cwnd的状态变量,取决于网络拥塞程度并动态变化。没拥塞就增大,拥塞了就减小。判断依据:没有按时收到确认报文(超时重传),发送窗口=拥塞窗口。发送方还要维护一个慢开始门限ssthresh。
cwnd<ssthresh时,使用慢开始算法,cwnd每次翻倍
cwnd>ssthresh时,使用拥塞避免算法,cwnd每次加一,一旦发生拥塞则将ssthresh变为拥塞时cwnd的一半,然后将cwnd变为1,重新开始慢开始算法
cwnd=ssthresh时,使用两种算法均可
慢开始指最开始注入报文段少,而不是增长速度慢
拥塞避免指控制窗口线性增长,使网络比较不容易拥塞
快重传
快恢复
TCP超时重传时间RTO
RTO应略大于往返时间RTT
只要重传了就不采用其往返时间RTT样本,但这样会导致时延增大时频繁重传,但是无法更新超时重传时间,所以要每次重传把RTO变为原来二倍
TCP可靠传输的实现
同一时刻发送窗口并不总是与接收窗口等大,因为传送窗口值有滞后性,发送方还可能根据拥塞情况自行减小窗口尺寸。
对于不按序到达的数据TCP无明确规定,若丢弃则便于管理,但不利于资源利用,通常先存放在接收窗口中,待缺少字节补全后按序交付上层应用进程。
接收方要有累计确认和捎带确认机制,不能推迟发送确认,防止重传
TCP通信时全双工通信
TCP连接
建立连接
同步位SYN,确认位ACK,序号seq
TCP规定SYN被设置为1的报文段不能携带数据,但要消耗1个序号
普通的ACK确认报文段可以携带数据,若不携带数据则不消耗序号
三次握手而不是两次是为了防止失效的连接请求突然传到服务器导致服务器错误建立连接,浪费网络资源
释放连接
终止位FIN,确认位ACK,序号seq,接收号ack
TCP规定FIN被设置为1的报文段不能携带数据,但要消耗1个序号
seq为客户进程之前传送过的数据的最后一个字节的序号+1
ack为客户进程之前接收到的数据的最后一个字节的序号+1
若不等待2MSL,则若最后一次挥手若丢失,会导致服务器一直在最后确认状态,一直重发第三次挥手
为了防止客户端故障无法发送消息且无法断开连接,TCP服务器每次受到客户端进程就重新设置启动保活计时器2小时,保活器到时间后向客户发送一个探测报文段,每隔75秒发送一次,若十次未收到回复则关闭连接。
TCP报文段首部格式
源端口16比特
目的端口16比特
序号32比特,用于指出TCP报文的数据载荷第一个字节序号
确认号32比特,指出希望收到的下一个TCP报文段数据载荷的第一个字节的序号,也是对之前所有数据的确认
确认标志位ACK为1时确认号才有效,连接建立后,所有TCP报文段ACK位都为1
数据偏移4比特,以4比特为单位,指出TCP报文段数据载荷起始位置距离TCP报文段起始处有多远,实际上为TCP报文段首部长度
保留位6比特,保留以后使用
窗口字段16比特,以字节为单位,指出发送本报文段一方的接收窗口,用于接收方控制发送方发送窗口
校验和字段16比特,检查范围包括TCP报文段首部和数据载荷部分,计算时要在前面加上12字节伪首部
同步标志位SYN,在TCP连接建立时同步序号
终止标志位FIN,用来释放TCP连接
复位标志位RST,用来复位TCP连接,RST为1时需要释放连接重新建立,还可以用来拒绝非法报文段或拒绝打开一个TCP连接
推送标志位PSH:接收方收到该标志位为1则应尽快上交应用进程,不必等到缓存填满再交付
紧急标志位URG为1时紧急指针字段有效
紧急指针字段16比特,指明紧急数据长度。紧急数据会放在发送缓存最前面,立刻封装在一个TCP报文段内发送,根据紧急指针取出紧急数据
可变长度字段:
填充:为了保证首部长度能被四整除
5.应用层
通信方式分为客户/服务器模式(C/S方式)
客户请求服务器提供服务
服务器总是处于运行状态,并等待客户的服务请求。服务器有固定运输层端口号,运行服务器的主机也有固定IP地址
通常是服务集中型应用服务
会出现服务器计算机跟不上客户机请求的情况,所以常用计算机群集构建一个强大的虚拟服务器
P2P方式
动态主机配置协议DHCP
分配地址时使用ARP防止所选IP地址被其他主机占用
客户在使用IP地址时也会用ARP监测是否被其他主机使用
若网络内没有DHCP服务器,广播会被路由器隔离,需要给路由器配置DHCP服务器使其成为中继代理,将广播单播转发给DHCP服务器
域名系统DNS
递归查询和迭代查询
高速缓存存放了最近查询过的域名以及从何处获得域名映射信息的记录,为每项内容设置了计时器,删除超过合理时间的项。用户主机中和本地服务器中都会进行高速缓存
文件传送协议FTP
FTP服务器与客户建立连接分为主动模式和被动模式,建立一条连接发送控制传输命令(熟知端口号21),一条连接用来传送数据(熟知端口号20),数据通道传送完就关,控制通道会话全程开
主动模式为客户有需要传输的数据时通知服务器主动与自己某个端口建立连接,被动模式为客户有需要传输的数据时通知服务器开放临时端口(随机选择端口号)等待连接
电子邮件
邮件传送协议
SMPT只能传送ASCII码文本数据,不能传送可执行文件或其他二进制对象
提出了多用途因特网邮件扩展MIME,通过MIME对非ASCII码进行转换
增加了5个新的邮件首部字段;定义了许多邮件内容格式;定义了传送编码
邮件读取协议
万维网WWW
万维网并非特殊的计算机网络,而是大规模的联机式的信息储藏所,运行在因特网上的一个分布式应用,利用网页之间的超链接将不同网站网页链接成一张逻辑上的信息网
单位换算
8比特bit=1字节Byte(B)
KB=2^10B
MB=2^20B
GB=2^30B
TB=2^40B