当前位置:   article > 正文

计算机网络知识点整理_流程控制、消息传输、消息处理、数据存储

流程控制、消息传输、消息处理、数据存储

目录

Ch1 网络概论

CH2 物理层

CH3 数据链路层

CH4 网络层

1. 网络层的功能

2. 路由算法

3. IPv4

5. IP地址

 7. 无分类域间路由选择CIDR(Classless Inter-Domain Routing)

8. 将IP地址映射成MAC地址

9. 动态主机配置协议DHCP

10. 网际控制报文协议ICMP(差错报告、网络探寻)

Internet Control Message Protocal

11. IPv6 

12. 路由协议

13. IP组播

14. 移动IP

15. 网络层设备——路由器

16. 补充

CH5 传输层

1. 传输层的功能““可(可靠传输)差流用(复用分用),绝不认输”

2.传输层寻址与端口

3. 无连接服务与面向连接服务

4. UDP协议

5. TCP协议

CH6 应用层

1. 网络应用模型

2. 域名系统DNS

3. 文件传输协议FTP

4. 电子邮件

5. 万维网WWW


Ch1 网络概论

1. 计算机网络的定义:把不同地理范围内,用若干台具有独立处理能力的计算机,用传输介质连接在一起,并配备以完备的网络操作系统,使之能够数据传输,设备共享

计算机网络的简单定义是一些相互连接自治计算机的集合

互联:通过通信链路互联;自治:无主从关系

2. 从网络的作用范围进行分类,计算机网络可以分为:LAN(局域网)、WAN(广域网)和MAN(城域网)等。

(1)广域网(WAN):提供长距离通信;也称远程网;广域网是因特网的核心部分;连接广域网的各结点交换机的链路一般是高速链路;采用交换技术

(2)局域网(LAN):一般用微机或工作站通过高速线路互联;在计算机数量的配置上没有太多的限制;传统上使用广播技术

(3)城域网(MAN):大多采用以太网技术,因此有时也并入局域网的范围讨论。

3. 把网络按数据交换方式进行分类可分为:电路交换网、报文交换网、分组交换网。电路交换方法在实时性方面优于其它交换方式

(1)电路交换(Circuit Exchanging):源结点和目的结点之间建立一条专用的通路,包括建立连接、传输数据和断开连接三个阶段,比如传统电话网络。传输特点是整个报文的比特流从源直达(不存在存储转发过程)终点,好像在一条管道上传输。

工作原理:先建立一条专用(双方独占)的物理通信路径(由通信双方之间的交换设备(局域网:交换机,广域网:路由器)和链路逐段连接而成),该路径可能经过许多中间结点,在整个传输过程中路径被独占。包括建立连接(呼叫)、传输数据和断开连接(拆除)三个阶段,是全双工模式。电路交换的关键点是,数据传输过程中,用户始终占用端到端的固定传输宽带(独占资源)。

优点:是数据直达,通讯时延小;有序传输,不存在失序问题不会出现物理信道争用;适用范围广,既可以传输模拟信号,又可以传输数字信号实时性强,适用于远程批处理或实时性要求高的大量数据,适用于交互式会话类通信;交换设备较为简单

缺点:建立连接时间长线路利用率低,不能充分利用线路容量;不便于差错控制无数据存储能力灵活性差,任何通路一点出现故障,要重新建立连接,不适合紧急通信;不同类型、规格、速率的终端很难进行通信

(2)报文交换:传输格式是用户数据加上源地址、目的地址、校验码等信息封装成的报文。整个报文传送到相邻结点后,先整个存储,再单独地选择下一个结点,直到目的结点。也称“存储-转发”网络

优点:充分利用链路资源、可以实现不同链路之间的数据转换,实现格式转换、实现一对多多对一的传输,可以差错控制。

缺点:增大了资源开销(头部控制文件)、增加了缓冲时延、且缓冲区难以管理(在接收之前不知道数据有多大)、需要控制机制保证报文不会乱序。

(3)分组交换(Packet Exchanging):也称包交换网络。将数据分成固定长度的数据块,在每个数据块加上辅助信息组成分组(包),以存储转发的方式传输;它是单个分组(报文的一部分)在相邻结点存储后转发。分组交换采用存储转发基本思想,即先把收到的分组存储起来、处理后再转发出去。

工作原理:采用存储转发的方式,但解决了报文交换中大报文传输的问题,分组交换限制了每次传送的数据块大小的上限(一般是128B),把大的分组划分为合理的小数据块,再加上必要的控制信息,构成分组(Package)。到交换结点进行接收,存储(在内存而不是磁盘),差错检验、路由选择后进行排队传输,根据路由表选择下一个结点,当后一个结点的差错检验都正常的话会向前一个结点发送相关信息,使前一个结点删除之前存储的信息,接收结点根据编号将接收的分组组织成报文。

优点:具有报文分组所具有的优点,不存在建立时延;线路利用率高;由于分组规定了数据块的存储大上限,因此其缓冲区更容易管理,包的平均时延更小,更易于标准化和应用;因为包比较小,可以减少出错概率和重发概率,提高了可靠性减少了传输时延;适合突发式数据通讯。现在的主流网络基本上都是分组交换网络。

缺点:相对于电路交换存在较大的传输时延;无法确保端到端所需要的宽带;需要传输额外的信息量,一定程度上降低了通信效率,增加了处理的时间,使控制复杂;可能会出现失序、丢失或重复分组等问题,需要增加额外的管理和控制机制。

(4)区别:电路交换在传输时会一直占用资源,而报文交换和分组交换不会;报文交换和分组交换的区别在于数据交换的主题。

4. 计算机网络由负责信息传递通信子网负责信息处理资源子网组成。通信子网包括物理层、数据链路层和网络层。(OSI“物联网淑惠试用”的下三层是通信子网-点对点,上四层是资源子网-端到端

5. 网中结点(路由器、主机等)与通信线路(网线)之间的几何关系,叫做网络的拓扑结构,主要指通信子网常见的拓扑结构有层次(树)型、总线型、环型、星型和网型。

(1)【树形拓扑】树形拓扑结构是最古老的拓扑结构,目前还没有淘汰

缺点瓶颈问题(信息传递会频繁经过最顶层,导致此计算机压力过大)
优点:特殊部门需要这种特殊结果非常符合企业的组织架构和人的思维管理模式,路线非常简单,没有技术含量。易于拓展,易于隔离故障
(2)【总线用单根传输线把计算机连接起来,以太网常用。
优点:连接比较简单,不用设计路线布线简单,建网容易),增删结点方便,节省线路
缺点:单点故障共享链路上),全网瘫痪,故障排查难重负载时效率不高
(3)【星每个终端或计算机都以单独的线路与中央设备(交换机或路由器)相连,现在比较常用确定中心节点是谁,布线简单但需要技术含量注意n个主机就会有n条线路,n个设备(如果算上中间的集线器)就会有n-1条线路
优点:单点故障不会造成全网瘫痪便于集中控制和管理(端用户之间必须经过中央设备)
缺点:中心节点故障全网瘫痪,有瓶颈(提升中心结点的能力)成本高
(4)【环形】比如令牌局域网,环中信号是单向传输的,主要应用于中大型局域网的主干网,大大提升网络实施工程的进度
缺点:单点故障,全网瘫痪->双环,不便扩充
(5)【网状】多用于广域网
优点:稳定性可靠性最高
缺点:成本高控制复杂

6. 用同轴电缆连接LAN经常采用总线拓扑结构,而采用双绞线连接LAN时经常采用星型拓扑结构

随着电信和信息技术的发展,国际上出现了所谓“三网合一”的趋势,三网指:电信网、有线电视网络、计算机网络。

7. 在网络边缘的端系统中运行的程序之间的通信方式通常可划分为两大类: C/S模式 和 P2P模式。

在P2P模式中,通信时并不区分哪一个是服务请求方哪一个是服务提供方

在C/S模式中,客户是服务请求方,服务器是服务提供方

8. 带宽:本来表示通信线路允许通过的信号频带范围,在计网中表示传送数据的能力。“最高数据传输速率”,(物理极限,一般达不到)单位b/s。

9. 时延:是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。也可称为延迟或迟延。它由4部分构成:

(1)发送时延:也叫传输时延,是结点将分组的所有比特推向(传输)链路所需的时间,即从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需的时间(发生在主机内部),对于高速链路,提高的仅是数据发送速率而非传播速率(与传播方式和介质有关)公式为:发送时延=分组长度/信道宽度(发送速率)

(2)传播时延:一个比特从链路的一端传播到另一端所需的时间。发生在信道上(机器外)

计算公式为:传播时延=信道长度/电磁波在信道上的传播速率

(3)处理时延和排队时延。处理时延例如分析分组的首部、提取数据、差错检验、查找路由表等;排队时延是分组在进入路由器后要先在输入队列中排队等待处理,在输出队列中等待转发。这两种时延都发生在路由器上

10. 时延带宽积:指发送端发送的第一个比特即将到达终点时,发送端已经发送了多少个比特,可以表示管道可以容纳的比特数量。时延带宽积=传播时延*信道带宽。单位bit。

11. 往返时延RTT:包括往返传播时延、末端处理时间,RTT越大,在收到确认之前可以发送的数据越多。

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

13. 信道利用率:信道利用率=有数据通过的时间/(有+无数据通过的时间),利用率增大时,时延急剧增大。网络利用率则是全网络的信道利用率的加权平均值

14. 每个报文都分成两部分:一个是数据部分SDU(服务数据单元),二是控制信息部分PCI(协议控制信息),他们共同组成PDU(协议数据单元),对等层次之间传送的数据单位称为该层的PDU,物理层-比特;数据链路层-帧;网络层-分组;传输层-报文段..

15. 两台主机通信时,对等层在逻辑上有一条直接信道,表现为不经过下层就把信息传送到对方

16. 网络体系结构中服务与协议的关系

1)在计算机网络体系结构中,对等实体之间的规则叫协议,是水平的,而上下层通过(层间)接口(使用服务原语)传递数据

2)网络协议是为网络中的数据交换而建立的规则、标准或约定。由语法传输数据的格式..)、语义所要完成的功能,发出何种信息..)、同步(操作的条件、时序)三个要素构成。

3)在计算机网络的分层体系结构中,n层是n-1层的用户,又是n+1的服务提供者。

4) 服务是指下层为紧邻的上层提供的功能调用,是垂直的、单向的,同一结点的相邻两层实体之间通过SAP服务访问点进行交互,这是一个逻辑接口。对等实体在协议的控制下,使得本层能为上一层提供服务,但要实现本层协议还需要使用下一层所提供的服务

(5)协议与服务在概念上的区别:首先,只有本层协议的实现才能保证向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议,即下面的协议对上层的服务用户是透明的。其次,协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,即服务是由下层通过层接口向上层提供的。另外,并非在一层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才称为服务

17.计算机网络提供的服务按以下三种方式分类:

(1)面向连接服务和无连接服务

通信前双方必须先建立连接,分配相应的资源(如缓冲区)。可分为三个阶段:连接建立、数据传输、连接释放,比如TCP;而无连接服务不需要先建立连接,是不可靠的服务,被称为“尽最大努力交付”,如IP、UDP

(2)可靠和不可靠服务

可靠服务指网络具有纠错、检错、应答机制,保证数据正确、可靠地传送

(3)有应答和无应答服务

有应答服务是指接收方在收到数据后向发送方给出相应的应答,由传输系统内部自动实现,不是由用户实现的,例如文件传输服务;无应答服务不自动给出应答,若要实现需要高层来实现,比如WWW服务

18. 7层OSI参考模型(法定标准)“物联网淑惠试用”

是ISO提出的网络体系结构模型,称为开放系统互连参考模型。支持异构网络系统的互联互通。低三层是通信子网,是为了联网而附加的通信设备,完成数据的传输功能;高三层是资源子网,传输层承上启下。上4层端到端通信,下三层点到点通信,中继系统最多3层;

OSI中,网络层与传输层才有拥塞控制的功能,流量控制功能在2,3,4层

(1)物理层:(傻瓜层)

  • 物理层要解决信号(码元)同步的问题。物理层的传输单位是比特任务是透明(指不管以怎样的组合,都应该当能在链路上传播)传输比特流。
  • 物理层主要研究:

①规定接口特性:有机械特性(引线数量、形状尺寸等)、电气特性(电压范围、传输速率等)、功能特性(电平表示的意义、接口的用途等)、规程特性(过程特性,定义物理线路的工作规程和时序关系)

②定义传输模式:单工、双工(打电话)、半双工(对讲机)

定义传输速率

④比特同步

  • *物理媒体不属于物理层,可以称作第0层;物理层协议有Rj45等

(2)数据链路层:

将网络层传来的IP数据报组装成帧,(无差错)传输以为单位的数据;在每一帧中带有同步地址,差错检测以及流量控制等控制信息。数据链路层的功能包括成帧、差错控制、流量控制、传输管理、物理寻址、数据重发、访问接入控制(对于广播式网络,介质访问层)等。PPP,HDLC,PPP,STP.

(3)网络层:

网络层的传输单位是数据报或分组,它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和网际互联等功能。因特网是一个很大的互联网,它由大量异构网络通过路由器(Router)相互连接起来。因特网的主要网络层协议是无连接的网际协议(Internet Protocol,IP)和许多路由选择协议,因此因特网的网络层也称网际层或IP层。网络层的协议有IP、IPX、ICMP、IGMP、ARP、RARP 和 OSPF等。

(4)传输层:

传输层也称运输层,传输单位是报文段(TCP)或用户数据报(UDP),传输层负责主机中两个进程之间的通信,功能是为端到端(从下往上第一个面向端到端的)连接提供可靠的传输服务,为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务。

记忆:“可(可靠传输)差流用(复用分用),绝不认输”

  • 点到点:主机到主机;端到端:进程之间的通信;复用:多个应用进程可同时使用下面传输层的服务;分用:传输层把收到的信息分别交付给上面应用层中相应的进程。

传输控制协议TCP:提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)。

用户数据报协议UDP:提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。

(5)会话层:

会话层处于运输层提供的服务之上,为表示层提供服务,会话层的主要功能是会话管理和同步:负责管理主机间的会话进程,包括建立、管理及终止进程间的会话;可以使用校验点使通信会话在通信失效时从校验点继续恢复通信,实现数据同步。

(6)表示层:

表示层主要用于处理两个通信系统间信息交换的表示方式语法、语义)。它包括数据格式变换翻译官)、数据加密与解密、数据压缩与恢复等功能。

(7)应用层:

应用层的任务是通过应用进程之间的交互来完成特定网络应用是用户与网络的界面)。应用层协议定义的是应用进程间通信和交互的规则。所有能和用户交互产生网络流量的程序,有用于文件传输的FTP,电子邮件SMTP,万维网HTTP等。

19. TCP/IP体系结构-4层(事实标准)

(1)网络接口层(对应OSI的物理层和数据链路层):IP分组。网络接口层的作用是从主机或结点接收IP分组,并把它们发送到指定的物理网络上。以太网、令牌环网、X.25网

(2)网际层(主机-主机):分组。和OSI网络层在功能上非常相似。网际层将分组发往任何网络,并为之独立地选择合适的路由,但它不保证各个分组有序地到达,各个分组的有序交付由高层负责。网际层定义了标准的分组格式和协议,即 IP,比如IPv4 IPv6。ICMP、IGMP、ARP、RARP、OSPF等

(3)传输层(应用-应用或进程-进程):数据报或报文段。功能同样和OSI中的传输层类似,即使得发送端和目的端主机上的对等实体进行会话。

(4)应用层(用户-用户):报文,包含所有的高层协议(FTP, DNS, SMTP, HTTP)。对应于OSI的会话、表示、应用层。

20. TCP/IP与OSI

相似之处:都采取分层的体系结构、基于独立的协议栈、可以解决异构网的互联

不同之处:①OSI比TCP/IP更精准的定义服务、接口、协议的概念,符合面向对象程序设计的思想;②OSI通用性比较好,但层次划分不合理;③TCP/IP更好地考虑到了异构网互联的问题,把网际协议作为一个重要的层次;④OSI在传输层只有面向连接的传输方式,在网络层有面向连接和无连接的方式,TCP/IP在传输层两个都有,而在网际层仅有无连接的通信方式,它认为可靠传输是端到端的问题

21. OSI失败原因:

(1)OSI专家缺乏实际经验,在完成OSI标准时缺乏商业驱动力。

(2)OSI实现起来太过复杂,运行效率低。

(3)OSI制定周期长,使得设备无法及时进入市场。

(4)OSI划分不合理,多个功能在层次中重复出现。


CH2 物理层

1. 模拟信号:连续变化的数据(或信号);数字信号:取值仅允许有限个离散的数值

2. 传输方式:

串行传输:1比特1比特地按时间顺序传输,速度慢,费用低,常用于远距离传输

并行传输:若干比特通过多条信道同时传输,速度快、费用高,使用近距离,计算机内部的传输

3. 码元:指用一个固定时长的信号波形(数字脉冲)表示一位k进制数,是数字通信中的计量单位,时长内的信号被称为k进制码元,时长称为码元宽度,比如四进制码元(而由于2^2=4)携带2比特

4.通信方式:

异步通信(异步传输)是指字符为单位进行传输,接收方只要按字符同步即可。

这种传输通常是很小的分组,比如一个字符为一组,为这个组配备起始位和结束位。所以这种传输方式的效率是比较低的,毕竟额外加入了很多的辅助位作为负载,常用在低速的传输中。异步通信中的接收方并不知道数据什么时候会到达,收发双方可以有各自自己的时钟。发送方发送的时间间隔可以不均,接收方是在数据的起始位和停止位的帮助下实现信息同步的。因为我们敲击键盘的节奏不固定,所以异步是一种很适合的方式

同步通信:同步通信中双方使用频率一致的时钟 ,它的分组相比异步则大得多,称为一个数据帧,通过独特的bit串作为启停标识。发送方要以固定的节奏去发送数据,而接收方要时刻做好接收数据的准备,识别到前导码后马上要开始接收数据了。同步这种方式中因为分组很大,很长一段数据才会有额外的辅助位负载,所以效率更高,更加适合对速度要求高的传输,当然这种通信对时序的要求也更高。

同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息,由同步字符、数据字符和校验字符(CRC)组成。

5. 信源、信道、信宿分别表示发送数据的源头、接受数据的终点、信号的传输媒介(逻辑部件)

6. 信道上的信号分为:基带信号和宽带信号。基带信号将数字信号1和0直接用两种不同的电压表示,然后送到数字信号上传播(基带传输);宽带信号将基带信号进行调制后形成频分复用模拟信号,在模拟信道上传输(宽带传输);计网中用的是数字信号

7. 从通信的双方信息交互的方式来看,通信主要有这样三种方式,即单工、半双工和双工。理解单工/半双工/全双工的含义。

(1)单工:只有一个方向的通信而没有反方向的交互,仅需要一条信道,比如广播

(2)半双工:通信的双方都可以发送或接收信息,但任何一方都不能同时发送和接收信息,需要两条信道,比如对讲机

(3)全双工:通信双方可以同时发送和接收信息,需要两条信道,比如打电话

8. 速率也称数据率,指数据传输速率,表示方法:

(1)码元传输速率:又称波特率。表示单位时间内数字通信系统所传输的码元个数(也可称为脉冲个数和信号变化的次数)单位是波特(Baud),码元速率与进制数无关,只与码元长度T有关,1波特代表每秒传输1个码元。***注意:“--”是两个码元(两次信号变化)

(2)信息传输速率:又称信息速率、比特率等,表示单位时间内数字通信系统传输的二进制码元个数(即比特数,因为二进制码元一个代表一个比特),单位是b/s。一个码元携带n比特信息量,则M波特率的码元传输速率对应的信息传输速率为Mn(bit/s)

9. 奈奎斯特定理与香农定理(只有在这两个公式宽带才能用Hz)

(1)奈奎斯特定理(奈氏准则)

①码间串扰:信道所能通过的频率范围有限,信号中的许多高频分量往往不能通过信道,否则会导致接收端收到的信号波形失去码元之间的清晰界限。

②奈氏准则:在理想低通(没有噪声、带宽有限)的信道中,为了避免码间串扰,极限码元的传输速率为2W波特(W为理想低通信号的带宽),若V表示每个码元离散电平的数目(有多少不同的码元),则极限数据率为:2WlogV(b/s)

③结论:任何信道,码元传输速率是有上限的,超过上限会出现码间串扰;信道的频带越宽,速率越快;奈氏准则对码元传输速率进行了限制,但没有限制信息的传输速率,所以为了提高传输速率,可以提高每个码元携带的比特数量(多元制)

(2)香农定理

①香农定理:在宽带受限且有高斯白噪声干扰的信道的极限传输速率 = Wlog(1 + S / N),当以此速度进行传输,可以做到不产生误差

②信噪比 = 10 log (S / N) (dB),S-信道传输信号的平均功率;N-信道内部的高斯噪声功率

③结论:信道带宽或信噪比越大,极限传输速率越高;只要信息传输速率低于极限传输速率,就可能实现无差错的传输;

10. 调制与编码

(1)数据为了传输都必须变成信号。数据变成模拟信号称为调制(调制器、放大器调制器),变成数字信号称为编码(数字发送器、PCM编码器)

(2)数字数据编码成数字信号

归零编码RZ:用高电平代表1,低电平代表0(或相反),在每个时钟周期中间均条变成0(归零),为双方提供自同步机制,但要占用一定带宽,会影响传输速率。

非归零编码NRZ:高1低0,无需跳变,一个周期可以全部用来传输数据,但无法实现自同步,需带有时钟线。

反向归零编码NRZI:信号的翻转代表0,不变代表1,对全0的情况有益

曼切斯特编码:每个码元中间都会出现跳变,位中间的条边既可作为时钟信号又可作为数据信号,所占频带宽度是原始基带宽度的两倍,如以太网

⑤差分曼切斯特编码:常用于局域网,若码元为1,则前半个码元的电平与上一个码元的后半个码元的电平相同;自同步,抗干扰性好

⑥4B/5B编码:编码效率80%

(3)数字信号调制为模拟信号(调制解调器的调制和解调)

①幅移键控ASK:调幅,容易实现,抗干扰性差

②频移键控FSK:调频,易实现,抗干扰能力强,使用广泛

③相移键控PSK:调相,有绝对调相和相对调相

④正交振幅调制QAM:调幅+调相,数据传输速率R = Blog(mn),B为波特率,m个相位,n种振幅

(4)模拟数据编码为数字信号

常见的例子是对音频信号的脉码调制PCM,包括采样、量化、编码;采样是对模拟信号进行周期性扫描,把时间上连续的信号变成离散的信号;量化是把采样取得的电平幅值转换为离散的数字量,采样和量化其实就是分割和转换;编码就是调制成二进制编码。

(5)模拟数据调制为模拟信号

采用频分复用技术FDM,充分利用带宽资源。

11. 几种信道复用方式:FDM,TDM,WDM,CDMA等。

(1)频分复用(FDM Frequency):用户在分到一定的频带后,在通信过程中自始至终都占用这个频带。频分复用的用户在同样的时间内占用不同的宽带资源(这里的带宽是频率带宽而不是数据发送速率)*若每一个用户占用的带宽不变,当复用的用户数增加时,复用后的信道总带宽就跟着变宽

(2)时分复用(TDM Time):将时间划分为一段段等长的时分复用帧(TDM帧)每一个时分复用用户在每一个TDM帧中占用固定序号的时隙,每一个用户占用的时隙周期性出现(其周期就是TDM帧的长度),因此TDM信号也称为等时信号,时分复用的用户是在不同的时间占用同样的频带宽度。*在使用时,每一个时分复用帧的长度是不变的,当用户增加时,时隙宽度变得非常窄;当某用户没有数据发送时,相对应的时隙只能属于空闲状态,导致复用的利用率不高。->STDM统计时分复用,能提高线路的利用率

*** TDM帧和STDM帧与数据链路层的帧不是一个概念;FDM和TDM由于占用但不利用会产生浪费。

(3)波分复用(WDM Wavelength):针对的是光纤,是光的频分复用。

(4)码分复用CDM(Code):更常用的名词是码分多址CDMA(Code Division Multiple Access)。每一个用户可以在同样的时间使用同样的频带进行通信,由于各用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰,具有较强的抗干扰性,能提高通信的语音质量和数据传输的可靠性。在CDMA中,每一个比特时间再划分为m个短的间隔,称为码片,再使得使用CDMA的每一格站被指配一个唯一的m bit码片序列,一个站如果要发送比特1,则发送它自己的m bit码片序列,如果发送比特0,则发送该码片序列的二进制反码。

12. 数据报与虚电路

分组交换可进一步分为面向连接的虚电路方式和无连接的数据报方式,这两种服务都由网络层提供

 13. 传输介质

常用的有线传输介质主要有同轴电缆、双绞线和光缆等。传输媒体不属于物理层

(1)同轴电缆:同轴电缆由内导体、绝缘层、网状编织屏蔽层和塑料外层构成,50Ω同轴电缆主要用于传送基带数字信号,又称基带同轴电缆,它在局域网中应用广泛;75Ω同轴电缆主要用于传送宽带信号,又称宽带同轴电缆,主要用于有线电视系统。由于外导体屏蔽层的作用,同轴电缆具有良好的抗干扰特性,被广泛用于传输较高速率的数据,其传输距离更远,但价格较双绞线贵。

(2)双绞线:由两根采用一定规则并排绞合的、相互绝缘的铜导线组成。绞合可以减少对相邻导线的电磁干扰(右手定则)。为了进一步提高抗电磁干扰能力,可在双绞线的外面再加上一个由金属丝编织成的屏蔽层,这就是屏蔽双绞线(STP)。无屏蔽层的双绞线称为非屏蔽双绞线(UTP)。双绞线价格便宜,是最常用的传输介质之一,在局域网和传统电话网中普遍使用。双绞线的带宽取决于铜线的粗细和传输的距离。模拟传输和数字传输都可使用双绞线,其通信距离一般为几千米到数十千米。距离太远时,对于模拟传输,要用放大器放大衰减的信号;对于数字传输,要用中继器将失真的信号整形。

(3)光纤:光纤通信就是利用光导纤维(简称光纤)传递来进行通信(是光波在走,而双绞线和同轴电缆是电磁波在走)。有光脉冲表示1,无光脉冲表示0.可见光的频率约为10^8MHz,因此光纤通信系统的带宽范围极大。

光纤主要由纤芯包层构成(见图2.9),纤芯很细,直径只有8至100um(因此一般是很多光纤捆成光缆)光波通过(是实心的)进行传导,包层较纤芯有较低的折射率。当光线从高折射率的介质射向低折射率的介质时,其折射角大于入射角。因此,如果入射角足够大,那么就会出现全反射(超低损耗,传输远距离),即光线碰到包层时会折射回纤芯,这个过程不断重复,光也就沿着光纤传输下去。

①多模光纤:利用光的全反射特性,可以将不同角度入射的多条光线在一根光纤中传输,这种光纤称为多模光纤,多模光纤的光源为发光二极管。光脉冲在多模光纤中传输时会逐渐展宽,造成失真,因此多模光纤只适合近距离传输

②单模光纤:光纤的直径减少到只有一个光的波长时,光纤就像一根波导那样,可使光线一直向前传播,而不会产生多次反射,这样的光纤就是单模光纤。单模光纤的纤芯很细,直径只有几微米,制造成本较高。同时,单模光纤的光源为定向性很好的半导体激光器,因此单模光纤的衰减较小,适合远距离传输。

*光纤在发送端的光源可以采用发光二极管或半导体激光器在电脉冲产生光源,在接收端用光电二极管做成光检测器,还原电脉冲。

(4)*光纤优点:

  • 通信容量大
  • 传输损耗小中继距离长,对远距离传输特别经济
  • 抗雷电和电磁抗干扰好,这在有大电流脉冲干扰的环境下尤为重要
  • 无串音干扰,保密性好,不易被人窃听或截取数据
  • 体积小重量轻

(5)*光纤的缺点:但施工时难于将两根光纤精确连接。

(6)无线传输介质(非导向性传输介质)

14. 关于卫星通信的特点是

(1)优点卫星的通信频带宽,通信容量大;卫星的通信距离远,且通信费用与通信距离无关;传播范围广,适合广播通信;卫星通信真正提供了没有实体交换的灵活的网络架构;信号所受干扰小,通信较稳定;

(2)缺点但卫星的传播时延较大保密性较差会受到天气干扰、太阳风、日食干扰以及其他无线干扰;通信费用较高

15. 物理层设备

(1)中继器(转发器)——再生数字信号(而模拟信号是放大器)

①主要功能:将信号整形并放大再转发出去,以消除信号的失真和衰减,扩大网络传输距离

②原理:信号再生(非单纯放大)

③特点:中继器有两个端口,中继器两端的网络部分是网段,不是子网,仅作用于信号的电气部分,不管是否有数据错误或不适合;使用中继器连接的几个网段仍然是一个局域网;适用于完全相同的两类网络互联,且速率要相同

注意:如果某个网络设备具有存储转发的功能,那么可以认为它能连接两个不同的协议,中继器没有存储转发功能,因此它两端一定要同一个协议、速率

(2)集线器Hub

实质上是多端口的中继器,在网络种只起到信号放大和转发作用,不具备定向传送能力,是一个标准的共享式设备;Hub主要使用双绞线组建共享网络,逻辑上还是总线网;Hub的每个端口连接的网络部分是同一个网络的不同网段,只能在半双工状态下工作;集线器不能分割冲突域,所有集线器的端口都属于同一个冲突域;连在集线器的工作主机平分宽带


CH3 数据链路层

1. 数据链路层的功能:将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路

(1)为网络层提供服务:将源机器种来自网络层的数据传输到目标机器的网络层,包括无确认无连接(实时通信或误码率较低的通信信道,如以太网)、有确认无连接(误码率较高的,如无线通信)、有确认面向连接(对每一帧都要给出确认,源机器收到确认后才能法下一帧)

*不存在无确认的面向连接的服务(有连接就一定要有确认)

(2)链路管理:连接的建立、维持和释放,主要用于面向连接。它主要用于面向连接通信双方必须先建立连接,分类相应的资源,比如缓冲区,以保证通信的正常进行,传输结束后释放连接和所占用的资源)的服务。链路两端的结点要进行通信,必须首先确认对方已处于就绪状态,并交换一些必要的信息以对帧序号初始化,然后才能建立连接,在传输过程中则要能维持连接,而在传输完毕后要释放该连接。在多个站点共享同一物理信道的情况下(例如在局域网中)如何在要求通信的站点间分配和管理信道也属于数据链路层管理的范畴。

(3)帧定界、帧同步、透明传输

组帧,将网络层的IP数据报的前后分别添加首部和尾部,构成帧。首部和尾部有很多控制信息,可以完成帧定界,而帧同步是接收方能分出帧的起始与终止;透明传输就是不管所传的数据是怎样的比特组合,都应能在链路上传播(数据种刚好出现与帧定界相同的比特组合)

透明传输:指上层不需要考虑下层的实现机理,无论什么SDU均可传输。(因此,链路层就看不见有什么妨碍数据传输)

(4)流量控制

限制发送方的数据流量,使其发送速率不超过接收方的接受能力

(5)差错控制

差错可分为帧错、位错。位错指帧中某些位发生了差错,通常用CRC检错,通过ARQ(自动重传请求)重发;帧错指帧的丢失、重复或失序,可以引入定时器(防丢失)和编号机制(防重复)

*噪声分为全局性和局部性,前者指的是电气特性引发的随机噪声,是信道固有的,随机存在的,通过提高信噪比来改善;后者是外界的短暂原因的冲击噪声,是产生差错的主要原因,通常利用编码技术解决

2. 组帧

数据链路层的任务是将有噪声线路变成无传输差错的通信线路(差错控制),为达到此目的,数据被分装成帧,在出错时只重发出错的帧从而提高效率,把网络层递交的分组封装成帧,就是组帧

组帧时既要加首部又要加尾部,是因为它下一层是物理层,必须清楚该帧在一串比特流中从哪里开始到哪里结束,有以下4种方法:

(1)字符计数法:在帧头部使用一个计数字段表明帧内字符数,(包含自身所占用的一个字节),缺点是一个计数位出错,后面步步错;

(2)字符填充的首尾定界符法:用特定字符界定帧的开始与结束,比如控制字符SOH放在帧前表示首部的开始,控制字符EOT表示帧的结束。为了使信息位中出现的特殊字符不被误判为帧的首尾定界符,可在特殊字符前面填充一个转义字符(ESC)来加以区分(一个字符而不是E S C三个字符组合),如果转义字符ESC也出现在数据中,可以在转义字符前插入一个转义字符。

(3)零比特填充的首位标志法:零比特填充法允许数据帧包含任意个数的比特,也允许每个字符的编码包含任意个数的比特。它使用一个特定的比特模式,即01111110来标志一帧的开始和结束。为了不使信息位中出现的比特流01111110被误判为帧的首尾标志,发送方的数据链路层在信息位中遇到5个连续的“1”时,将自动在其后插入一个“0”;而接收方做该过程的逆操作,即每收到5个连续的“1”时,自动删除后面紧跟的“0”,以恢复原信息。零比特填充法很容易由硬件来实现,性能优于字符填充法。

(4)违规编码法:在物理层进行比特编码时,通常采用违规编码法。例如,曼彻斯特编码方法将数据比特“1”编码成“高-低”电平对,将数据比特“0”编码成“低-高”电平对,而“高-高”电平对和“低-低”电平对在数据比特中是违规的(即没有采用)。可以借用这些违规编码序列来定界帧的起始和终止。局域网IEEE 802标准就采用了这种方法。违规编码法不需要采用任何填充技术,便能实现数据传输的透明性,但它只适用于采用冗余编码的特殊编码环境。由于字节计数法中计数字段的脆弱性和字符填充法实现上的复杂性与不兼容性,目前较常用的组帧方法是比特填充法和违规编码法

3. 差错控制

通常利用编码技术进行差错控制,主要有两类:自动重传请求ARQ和前向纠错FEC,在FEC种,接收端不仅能够发现差错还能确定比特串的错误位置,从而可以纠错,因此差错控制分为:

(1)检错编码

检错编码都采用冗余技术,即在有效数据发送前,先按一定规则增加冗余位

①奇偶校验码

由n-1位信息元和1位校验码组成,如果是奇校验码,在附加一个码元后,码长为n的码字种1的个数为奇数,偶校验码类似,只能检测奇数个位出错的情况,但不知道错在哪,检错能力50%

②CRC循环冗余码(多项式码)

        CRC是一种在计算机网络的差错控制中经常使用的方法,在发送端采用软件编码时,一般使用模二除以生成多项式的系数,得到的余数就是CRC检错编码的结果。硬件实现,处理迅速,不会延误。

        在采用CRC差错控制的接收端,当把收到的比特串用模二除以生成多项式时,若除不尽时,则判断传输有错误。

        掌握CRC计算。CRC冗余校验的方法,生成多项式。

  • 多项式原理:任何一个由二进制位串组成的代码都可以与一个只含有0和1两个系数的多项式建立一一对应关系。一个k位帧可以视为从X^k-1到X^0的k次多项式的系数序列,这个多项式的阶数位k-1,高位是X^(k-1)项系数,以此类推

  • FCS :帧检验序列,给定一个m bit的帧/报文,会生成一个r bit帧(FCS),最终形成m+r位比特的帧发送出去。发送方和接收方事先商定一个多项式G(x)-最高位和最低位必须是1,使这个带检验码的帧刚好能被预先确定的多项式整除。接收方用相同的多项式去除收到的帧,如果无余数,则认为无差错(但是不能纠错)
  • 计算循环冗余码,假设一个帧有m位,其对应的的多项式为M(n):

        Step 1 :加0,假设G(x)的阶为r,在帧的低位加端上r个0

        Step 2 :模2除,得到的多项式即为冗余码(共r位)前面的0不可省略。模2运算不考虑进位借位,刚好是异或操作(“^:同0异1),乘除法类似于二进制计算,只有在加减法的时候按模2规则。 

*注:CRC是有纠错功能的,只不过数据链路层只使用了它的检错功能,检测到出错的帧直接丢弃,凡是接收端接收的数据帧均无差错,保证无差错传输(但不是可靠传输)

 (2)纠错编码之——海明码

在有效信息位中加入几个校验位,并把海明码的每个二进制位都分配到几个奇偶校验组中,以数据码1010来举例子

①确定海明码的位数

设n为有效信息位,k为校验位位数,则两者应满足:n  + k <= 2 ^ k - 1,(若要检测两位错,则需再增加1位,为k + 1 位).因此对于1010,其校验位k = 3,对应的海明码为H7H6H5H4H3H2H1

*码距:两个合法编码(码字)对比取值不同的比特数,编码集中,任意两个合法编码(码字)的海明距离的最小值为编码集的码距,N+1个码距的字符串,能检测N位错,要想纠正N位错,码距为2N+1

②确定校验位的分布

规定校验位Pi在海明位号为2^(i-1)位置上,其余为信息位,因此P1的海明为位号为2^0=1,即H1为P1...因此各海明码的各位分布如下:(P代表校验位,D代表数据位)

H7 H6 H5 H4 H3 H2 H1

D4 D3 D2 P3 D1 P2 P1

③分组以形成校验关系

④校验位取值

 

 ⑤接收端校验

4. 流量控制

流量控制主要是对发送速率的限制,即存在较高的发送速率和较低的接受能力的矛盾

(1)链路层和传输层流量控制的区别:链路层的流量控制是点对点的,接收方收不就不回复确认,发送窗口和接受窗口在传输过程中是固定的;而传输层的流量控制是端到端的,直接给发送端发送一个窗口公告,以下是常见的流量控制方式:

(2)停止-等待流量控制

发送方每发送一帧,就要等待接收方给他发的应答信号,如果没有收到就一直等,效率低下

(3)滑动窗口流量控制

在任意时刻,发送方都维持一组连续的允许发送的帧序号,称为发送窗口,发送端每收到一个确认帧,就向前滑动一个帧的位置,当发送窗口内没有可以发送的帧时,就停止发送,直至收到接收方的确认帧;接收方同样维持一组连续的允许接受帧的序号,称为接收窗口,若接收到的数据帧在接收窗口之外,则一律丢弃

 

从滑动窗口的概念看:

停止-等待协议:发送窗口=1,接收窗口=1;

后退N帧协议:发送窗口>1,接收窗口=1;

选择重传协议:发送窗口>1,接收窗口>1;

接收窗口=1时,能保证有序接收

5. 可靠传输机制

(1)确认:确认是一种无数据的控制帧。有时为了提高传输效率,将确认捎带在一个回复帧中,称为捎带确认

(2)超时重传:发送方在发送某个帧后就开启一个计时器,在一定时间内没有收到确认帧就重发

(3)自动重传请求(Auto Repeat reQuest,ARQ):通过接收方请求发送方重传出错的数据帧来恢复出错的帧,分为:停止等待ARQ、后退N帧ARQ、选择性重传ARQ,后两种是滑动窗口技术和请求重发技术的结合,又称连续ARQ协议

注意:滑动窗口技术在流量控制和可靠传输都有应用;实际的数据链路层很少使用可靠传输

①单帧滑动窗口与停止等待协议

在停止等待协议中,可能出现的差错有:数据帧丢失、到达目的站的帧已被破坏(用自动重传,即计时器来对付,计时器的时间应比帧传输的平均RTT更大)、数据帧正确而确认帧被破坏(重发确认时用ACK0和ACK1交替发)、ACK迟到(丢弃)

*因此,若出现相同发送序号的数据帧,说明发送端超时重传了;若出现相同序号的确认帧,说明接收端收到了重复帧;此外为了能重发,必须在发送缓存中保存已发送但没确认的帧

②多帧滑动窗口与后退N帧协议(GBN)

发送方可连续发送发送窗口的帧,但接收方只允许按顺序接收帧;为了减少开销,GBN协议允许在连续收到好几个帧后才发确认帧,或者自己有数据要发的时候才捎带确认,所以对某数据的确认帧就表明该数据之前的所有数据都已正确地接收;若信道的传输质量很差导致误码率较大时,后退N帧协议不一定优于停止-等待协议。

窗口大小:

③多帧滑动窗口与选择重传协议(SR)

设置单个确认,加大接收窗口,先收下发送序号不连续但仍处在接收窗口的数据帧,等到所有缺的序号的数据帧都到达时再一并交给主机;每个发送缓冲区都对应一个计时器,超时时重传;比上述协议多一个差错处理策略,一旦怀疑帧出错就发一个否定帧NAK要求重传;SR接收方如果接收到窗口外的帧,就直接返回一个确认帧;一般发送和接收窗口的大小是相同的;

窗口大小:

(4)信道利用率和信道吞吐率

信道利用率 = (L / C) / T;

T-发送周期(从开始发送到接收到第一个ACK),C-数据传输速率,L-在T内共发送L比特

信道吞吐率 = 信道利用率 * 发送速率

6. 介质访问控制

补充:传输数据使用两种链路:点对点(两个结点通过一条链路连接,常用于广域网和PPP协议)、广播(所有主机共享通信介质,比如早期总线型以太网、无线局域网)

介质访问控制就是采取一定的措施,使得两对结点之间的通信不会发生互相干扰的情况

MAC子层:用来决定广播信道中信道分配的协议属于数据链路层的子层,称为介质访问控制子层MAC

 (1)信道划分介质访问控制(静态划分信道)

特点:基于多路复用技术划分资源(时域和频域隔离开)(当传输介质的带宽超过传输的单个信号所需的带宽,可以通过在一条介质上同时携带多个传输信号的方法来提高传输系统的利用率)、网络负载重,共享信道效率高且公平;实质上就是把广播信道转变成点对点信道

 ①频分多路复用FDM(共享时间)

实现:在同样的时间占用不同宽带资源,在分配到一定频带后,自始至终占用;为了防止子信道的干扰,相邻信道之间需要加入保护频带

特点:充分利用传输介质的带宽,效率高,实现方便

②时分多路复用TDM(共享空间)

实现:将一条物理信道按时间片分成若干时间片,轮流地分配给多个信号使用,每个TDM帧划分循环出现

特点:由于计算机数据的突发性,一个用户对已经分配到的子信道的利用率一般不高

改进:统计时分多路复用STDM,又称异步时分多路复用,STDM帧并不固定分配时隙,而是按需要动态分配,

③波分多路复用WDM

实现:光的频分复用,由于光的波长不同,各路光信号互不干扰地在一根光纤中传播(合波器),最后用波长分解复用器将各路波长分解出来(分波器)

④码分多路复用CDM(共享时间、空间)

就像A运黄豆给C,B运绿豆给C,A和B的货物都放在同一车上,由C分开黄豆和绿豆

码分多址CDMA(Code Division Multiple Access):每个比特时间再划分成m个短的时间槽,称为码片,各个站点发送的码片序列相互正交;两个不同站的码片序列正交,即向量S和向量T的规格化内积为0;任何一个码片向量和该码片向量自身的规格化内积都是1,任何一个码片向量与该码片的反码向量的规格化内积都是-1

特点:频谱利用率高,抗干扰能力强,保密性好,还可以减少投资和成本,主要用于无线通信系统

(2)随机访问介质访问控制(只有随机访问MAC协议才会发生冲突)

碰撞,即冲突,也就是帧同时发送时会产生干扰;核心思想都是:通过争用获得信道,所以随机访问介质访问控制又称争用型协议;其实实质上也是把广播信道转化为点对点信道

ALOHA协议:不听就说!

纯ALOHA协议不监听信道,不按时间槽发送,随机重发,想发就发。纯ALOHA采用的重传策略是让各站随机等待一段时间,再进行重传;接收方不予确认,只是超时重传

时隙ALOHA协议:把时间分成若干个相同的时间片,所有用户在时间片开始时刻同步接入网络信道,若发生冲突,则必须等待下一个时间片再开始发送,控制想发就发的随意性。(强迫症啊)

②CSMA协议:先听再说。(有礼貌!)

含义:载波监听多路访问协议。CS-载波监听,每一个站在发送数据之前要检测一下总线上是否有其他计算机在发送数据。MA:多点接入,表示许多计算机以多点接入的方式连在一根总线上,总线型网络

协议思想:发送帧之前,监听信道。对于监听结果,有1-坚持CSMA、非坚持CSMA、p坚持CSMA

  • 1-坚持CSMA:一个结点要发送数据时,先侦听信道,如果信道空闲则立即发送,如果信道忙,则等待,同时继续侦听直至信道空闲;若发生冲突,等待一会再侦听

传播延迟对1-坚持CSMA协议的影响比较大。比如当结点A开始向B发送数据,但还未到达B,此时B也有数据要发送,侦听到信道空闲,B发送,此时发生碰撞;比如A发送时,B和C侦听到信道忙,此时都等待,等A发送完之后,B和C可能会同时发送数据导致碰撞

  • 非坚持CSMA:如果信道忙,则先放弃侦听,降低了多个结点等待信号空闲后同时发送数据导致冲突的概率,但也会增加网络的平均延迟,可见,信道利用率的提高是以增加数据在网络中的延迟时间为代价的
  • p-坚持CSMA:(p=1类似1-坚持,p=0不同于非坚持)用于时分信道,首先侦听信道,如果信道忙,则推迟到下一个时隙再侦听,直至信道空闲;如果信道空闲,以概率p发送数据,以概率1-p推迟到下个时隙;

CAMA/CD协议:先听再说,边听边说(太有礼貌了!)

  • CD-碰撞(冲突)检测,边发送边监听,适配器边发送数据边检测信道上的信号电压变化,以便判断自己在发送数据时其他站是否也在发送数据。(适用于总线型或半双工网络)
  • CSMA/CD的工作流程可以概括为:先听后发,边听边发,冲突停发,随机重发

1)适配器从网络层获得一个分组,封装成以太网帧,并把该帧放到适配器缓
冲区中,准备发送
2)如果适配器侦听到信道空闲,那么它开始传输该帧。如果适配器侦听到信道忙,那么它
将等待直至侦听到没有信号能量,然后开始传输该帧。
3)在发送过程中,适配器检持续检测信道。若一直未检测到碰撞,则顺利地把这个帧发送完毕。若检测到碰撞,则中止数据的发送,并发送一个拥塞信号,让所有用户都知道
4)在中止(即传输拥塞信号)后,适配器采用截断二进制指数退避算法等待一段随机时间
后返回到步骤2)。

  • 全称是“载波监听多点接入/碰撞检测”(carrier sense multiple access collision detection)
  • 先听后发为什么还会冲突?因为电磁波在总线上总是以有限的速率传播的。(传播时延)
  • 站A在发闪送帧后至多经过2t时间(端到端传播时延的2倍)就能知道所发送的帧有没有发生冲突(当t->0时),因此把端到端往返时间2t称为争用期(冲突窗口或碰撞窗口),只有经过争用期这段时间还未检测到碰撞,才能确定这次发送不会发生冲突
  • 任何确定冲突后的重传机制?截断二进制指数规避算法。动态退避

  • 最小帧长问题:A发了一个很短的帧,但是发生了冲突,但是发现冲突之后没法停止发送,因为这个帧太短了,已经发送完了!

因此规定:帧的传输时延至少要两倍于信号在总线中的传播时延。即:

最小帧长 = 总线传播 时延 * 数据传输速率 * 2,任何站点收到帧长小于最小帧长的帧时就把它当成无效帧丢弃,比如以太网是64B

④CSMA/CA协议(非常非常有礼貌!)

  • CA-碰撞避免。为什么要有CSMA/CA?因为无线局域网无法做到360°全面碰撞检测,存在隐蔽站问题,即当A和C都侦听不到信号,认为信道空闲时,同时向终端B发送数据帧会导致冲突。CSMA/CA比较适用无线局域网
  • 工作原理:发送数据前,先检测信道是否空闲,空闲则发出RTS(request to send),包括发射端的地址、接收端的地址、下一份数据将持续发送的时间等信息;忙则等待。接收端收到RTS之后,响应CTS(clear to send),发送端收到CTS之后,开始发送数据帧(同时预约信道,告知其他站点自己要传多久数据),接收端收到数据帧后,用CRC检错,正确就响应ACK帧,发送端收到ACK就可以进行下一个帧的发送,若没有则一直重传直到重传次数为止(采用二进制指数退避算法来确定推迟时间)
  • 802.11规定,所有站完成发送后,必须再等待一段时间(继续监听)才发送下一帧,这段时间称为帧间间隔(InterFrame Space, IFS),帧间间隔的长短取决于该站发送的帧的类型:包括SIFS(短IFS,比如ACK帧、CTS帧、回答AP的探寻帧)、PIFS(点协调IFS)、DIFS(分布式协调IFS)
  • 使用二进制退避算法的情况:在发送第一个帧前检测到信道忙、每次重传、成功发送后发送下一帧
  • CSMA/CD和CSMA/CA

(3)轮询访问介质访问控制:令牌传递协议

特点:既不产生冲突,也会在发送时占用全部带宽,主要用在令牌环局域网中;物理上星型,逻辑上环形

缺点:轮询开销、主机等待延迟、单点故障

实现:通过一个集中控制的监控站,以循环的方式轮询每个结点,再决定信道的分配;令牌是由一组特殊的比特组合而成的帧,一旦收到令牌,站点便可以启动发送帧,帧中包含目的站;帧在环上传播时,不管该帧是否是发给本站点的,所有站点都进行转发,直到回到它的始发站,并由该始发站撤销该帧;帧的目的站除转发帧外,应对帧维持一个副本,并通过在帧的尾部设置”响应比特“来指示已收到此副本;

7. 局域网

(1)局域网的特点:较高的数据传输速率、较低的时延和较低的误码率(可靠性高)、各站为平等关系而非主从关系、能广播和组播(分布式控制和广播式控制);局域网的特性由拓扑结构、传输介质、介质访问控制方式,其中介质访问控制决定着局域网的技术特性;LAN常用的拓扑结构有总线, 环型, 星型等。

(2)三种特殊的局域网拓扑实现:

  • 以太网(目前使用最广泛的局域网):逻辑拓扑是总线型,物理拓扑是星型,使用CSMA/CD
  • 令牌环(IEEE802.8):逻辑拓扑是环形,物理拓扑是星型
  • FDDI(光纤分布数字接口,IEEE802.8):逻辑拓扑环形,物理拓扑是双环

无线局域网是802.11

(3)IEEE802委员会将局域网的数据链路层拆分为两个子层。其中,与传输媒体有关的内容放在MAC子层,它向上层屏蔽对物理层访问的各种差异,提供对物理层的统一访问接口,主要功能包括组帧、拆卸帧、比特传输差错检测、透明传输,与传输媒体无关的放在LLC子层。LLC子层(逻辑链路控制子层),向网络层提供无确认无连接、面向连接、带确认无连接..

8. 以太网与IEEE802.3 

(1)局域网的体系结构包括物理层、LLC、MAC。

(2)可以说,以太网就是802.3局域网,逻辑上是总线型,所有计算机共享一条总线,信息以广播形式发送,使用CSMA/CD。以太网采用两项措施简化通信:①采用无连接的工作方式,不对帧编号,不发送确认帧,尽最大努力交付,是不可靠的服务,不对帧纠错,纠错由高层完成②发送的数据是曼切斯特编码

(3)以太网的传输介质与网卡

①目前,局域网的传输介质(媒体)主要是双绞线、同轴电缆和光纤等。

对于以太网10BASE-T标准,10M bps, BASE表示基带传输,T代表双绞线。10BASE-T非屏蔽双绞线以太网拓扑结构为星型网,中心为集线器Hub,逻辑上仍是一个总线网,属于一个冲突域

②计算机与外界局域网的连接是通过主机箱内插入一块网络接口板(网络适配器、网卡NIC)实现的。网卡上有处理器和存储器;网卡和局域网的通信是通过电缆或双绞线串联的方式进行的,而网卡和计算机的通信则是通过计算机主板上的I/O总线并行实现的;网卡的功能就是进行数据的串并转换,网卡的功能覆盖了体系结构的物理层和MAC子层等的功能。

(4)以太网的MAC帧

前导码:使接收端与发送端时钟同步。在帧前面插入的8字节可再分为两个字段:第一个字段共7字节,是前同步码,用来快速实现MAC帧的比特同步;第二个字段是帧开始定界符,表示后面的信息就是MAC帧。

MAC地址:每块网卡中的物理地址称为MAC地址(一种标识符,全球唯一)(也叫物理地址),MAC地址长6字节(48bit),一般用连字符或冒号分隔,用12个十六进制数表示,如02-60-8c-e4-b1-21。高24位为厂商代码(由IEEE规定),低24位为厂商自行分配的网卡序列号。由于总线上使用的是广播通信,因此网卡从网络上每收到一个MAC帧,首先要用硬件检查MAC帧中的MAC地址。如果是发往本站的帧,那么就收下,否则丢弃。

*注意:MAC帧并不需要帧结束符,因为以太网在传送帧时,各帧之间必须有一定的间隙。因此,接收端只要找到帧开始定界符,其后面连续到达的比特流就都属于同一个 MAC 帧,所以图3.24只有帧开始定界符。但不要误以为以太网MAC帧不需要尾部,在数据链路层上,帧既要加首部,也要加尾部。

类型:2字节,指出数据域中携带的数据应交给哪个协议实体处理。

④数据:46~1500字节,包含高层的协议消息。由于CSMA/CD算法的限制,以太网帧必须满足最小长度要求64字节,数据较少时必须加以填充(0~46字节)。

注意:46和1500是怎么来的?首先,由CSMA/CD算法可知以太网帧的最短帧长为64B,而MAC帧的首部和尾部的长度为18字节,所以数据最短为64-18=46字节。其次,最大的1500字节是规定的,没有为什么。

校验码(FCS):4字节,校验范围从目的地址段到数据段的末尾,算法采用32位循环冗余码(CRC),不但需要检验MAC帧的数据部分,还要检验目的地址、源地址和类型字段,但不校验前导码。

8. IEEE 802.11无线局域网

分为有固定基础设施无线局域网和无固定基础设施无线局域网的自组织网络。所谓固定基础设施,是指预先建立的、能覆盖一定地理范围的固定基站

(1)有固定基础设施的无线局域网:IEEE制定的标准为IEEE802.11,它使用星型拓扑。拓扑结构中的APAccess Point)全称是接入点在MAC子层使用CSMA/CA协议。无线局域网的基本服务区一般不超过100m.

BSS(Basic Service Set)基本服务集是无线局域网的最小构件,一个基本服务集包括一个基站和若干移动站,所有的站在本BSS内都能直接通信,在和本BSS外的站通信时必须通过本BSS基站;AP就是BSS的基站,AP之间的通信是有线的。一个基本服务集服盖的地理范围称为基本服务区;一个基本服务集可以是孤立 的,也可以通过另一个AP连接到另一个分配系统(DS,Distribution System),构成一个扩展的服务集(ESS,Extended Service Set)

ESS还可以通过门桥Portal的设备为无线用户提供有线连接的以太网接入,门桥的作用相当于一个网桥

注意图中A B A'的例子,A漫游到A‘后,使用的AP变了

(2)无固定基础设施移动自组织网络

又称自组网络,没有类似上面的AP,而是由一些平等状态的移动站相互通信组成的临时网络,各结点地位平等,中间结点都为转发结点,因此都具有路由器功能

移动自组织网通常是这样构成的:一些可移动设备发现在它们附近还有其他可移动设备,并且要求和其他移动设备通信。它和移动IP并不相同。移动IP技术使漫游的主机可用多种方法连接到因特网,其核心网络功能仍然是基于固定互联网中一直在使用的各种路由选择协议。而移动自组织网络是把移动性扩展到无线领域中的自治系统,具有自己特定的路由选择协议,并且可以不和因特网相连

 9. 令牌环网的基本原理

令牌环网的每一站通过电缆与环接口干线耦合器TCU相联

(1)TCU的作用:

(2)令牌环网的媒体接入控制机机制采用的是分布式控制模式,令牌实际上是一个特殊格式的MAC控制帧,本身不包含信息,仅控制信道使用,确保在同一时刻只有一个结点能够独占信道

(3)工作过程:

  • 网络空闲时,环路中只有令牌帧在循环传递。
  • 令牌传递到有数据要发送的站点处时,该站点就修改令牌中的一个标志位,并在令牌中附加自己需要传输的数据,将令牌变成一个数据帧,然后将这个数据帧发送出去。
  • 数据帧沿着环路传输,接收到的站点一边转发数据,一边查看帧的目的地址。如果目的地址和自己的地址相同,那么接收站就复制该数据帧以便进一步处理。
  • 数据帧沿着环路传输,直到到达该帧的源站点,源站点接收到自己发出去的数据帧后便不再进行转发。同时,发送方可以通过检验返回的数据帧来查看数据传输过程中是否有错,若有错则重传该帧。
  • 源站点传送完数据后,重新产生一个令牌,并将令牌传递给下一个站点,以交出对媒体的访问权限。

10. 广域网

(1)基本概念:

①广域网是因特网的核心部分,其任务是长距离运送主机所发送的数据。连接广域网各结点交换机的链路都是高速链路,因此广域网首先要考虑的是通信容量必须足够大,以满足日后需求。

②结点交换机:广域网由一些结点交换机(注意不是路由器,他们都是用来转发分组的,但路由器在多个网络构成的互联网中转发分组,结点交换机在单个网络中转发分组)及连接这些交换机的链路组成。结点之间都是点到点连接

③广域网和局域网的区别与联系

从层次上考虑,局域网使用的协议主要是在链路层,广域网使用的协议主要在网络层

 ④路由选择和分组转发

广域网一个重要的问题是路由选择和分组转发。路由选择协议负责搜索分组从某个结点到目的结点的最佳传输路由,以便构造路由表,然后从路由表构造成转发表,分组是通过转发表进行转发的

PPP协议和HDLC协议是目前最常用的两种广域网数据链路层控制协议。

(2)PPP协议(Point-to-Point Protocol)点对点协议

点对点协议是使用串行线路通信的面向字节的协议,是目前使用最广泛的数据链路层协议,用户使用拨号电话接入因特网时一般都使用PPP协议。只支持全双工链路

①PPP协议由3个部分组成:

  • 链路控制协议(LCP):一种扩展链路控制协议,用于建立、配置、测试和管理数据链路层(身份验证)(相当于建立物理连接)
  • 网络控制协议(NCP):PPP协议允许同时采用多种网络层协议,每个不同的网络层协议要用一个相应的NCP来配置,为网络层协议建立和配置逻辑连接
  • 一个将IP数据封装到串行链路的方法。IP数据报在PPP帧中就是其信息部分,这个信息部分的长度受最大传输单元MTU的限制。

②PPP协议应满足的要求

  • 简单:对于链路层的帧,无需错,无需序号,无需流量控制
  • 封装成帧:帧定界符
  • 透明传输:与帧定界符意义的比特组合的数据如何处理:异步线路用字节填充,同步线路用比特填充
  • 多种网络层协议:封装的IP数据报可以采用多种协议
  • 多种类型链路:串行/并行,同步/异步,电/光...
  • 差错检测:检测不纠错,错了就丢弃
  • 检测连接状态:链路是否正常工作
  • 最大传送单元:数据部分最大长度MTU,不超过1500字节(B)
  • 网络层地址协商:知道通信双方的网络层地址,PPP协议能协商网络层参数。
  • 数据压缩协商

③PPP帧格式

  •  含义:标志字段F仍为7E,前后各占1字节,若它出现在信息字段中,就必须做字节填充,使用的控制转义字节是7D;地址字段A占1字节,控制字段C占1字节,两者的内容是始终不变的;协议段在HDLC中没有,它是说明信息段中运载的是什么种类的分组;FCS是帧检验序列,即冗余码
  • 所有PPP帧的长度都是整数个字节
  • PPP是面向字节的点到点并不是总线型,不用采用CSMA/CD协议,因此也就没有最短帧限制)传输协议,所以其所有帧的长度都必须是以字节为单位的。

④PPP协议状态图

图3.30给出了PPP链路建立、使用、撤销所经历的状态图。当线路处于静止状态时,不存在物理层连接。当线路检测到载波信号时,建立物理连接,线路变为建立状态。此时,LCP 开始选项商定,商定成功后就进入身份验证状态。双发身份验证通过后,进入网络状态。这时,采用NCP 配置网络层,配置成功后,进入打开状态,然后就可进行数据传输。当数据传输完成后,线路转为终止状态。载波停止后则回到静止状态。 

(3)HDLC协议(面向比特,全双工)

高级数据链路控制(High-Level Data Link Control或简称HDLC),是一个在同步网上传输数据、面向比特的数据链路层协议,它是由国际标准化组织(ISO)根据IBM公司的SDLC协议扩展开发而成的.数据报文可透明传输,用于实现透明传输的“0比特插入法”易于硬件实现;采用全双工通信,所有帧采用CRC检验(与PPP协议一样),对信息帧进行顺序编号,可防止漏收或重份,传输可靠性高

①两种基本配置

非平衡配置是由一个主站控制整个链路的工作;平衡配置的特点是每个复合站(链路两端的站)都可以平等地发起数据传输,不需要得到对方的允许

②HDLC的站

  • 主站的主要功能是发送命令(包括数据信息)帧、接收响应帧,并负责对整个链路的控制系统的初启、流程的控制、差错检测或恢复等。
  • 从站的主要功能是接收由主站发来的命令帧,向主站发送响应帧,并且配合主站参与差错恢复等链路控制。
  • 复合站的主要功能是既能发送,又能接收命令帧和响应帧,并且负责整个链路的控制。

③三种数据操作方式:

  • 正常响应方式:一种非平衡结构,主站向从站传输数据,从站响应传输,但从站只有在收到主站的许可后,才可进行响应。
  • 异步平衡方式:平衡结构操作模式,每个复合站都可以对另一站进行数据传输。
  • 异步响应方式:非平衡,从站未受到主站的允许,也可以传输。

④HDLC的帧

 HDLC与PPP一样采用零比特填充,标志字段F为01111110;地址字段A,在采用非平衡方式传送数据时,站地址字段总是写入从站的地址,在使用平衡方式传送数据时,站地址字段填入的是应答站的地址;控制帧C共八位,根据其第1或第1,2位取值,分为(无监信):信息帧(捎带技术和传输数据)、监督帧(流量控制和差错控制)、无编号帧(链路建立和拆除)

(4)PPP协议与HDLC协议的比较

①不同点:

  • 当信息字段中出现和标志字段一样的比特组合时,必须采用一些特定的方法实现透明传输,HDLC采用零比特填充法;PPP协议在同步传输时,使用零比特填充法,在异步传输时,使用字节填充法。
  • PPP帧比HDLC帧多了一个2字节的协议字段
  • PPP协议不适用序号和确认机制,只保证无差错接收(CRC),HDLC的信息帧使用了编号和确认机制,能够提供可靠传输(但一般都是传输层来实现可靠传输)

②相同点:

  • 都只支持全双工,都可以实现透明传输,差错检验但不纠错

11. 数据链路层设备

*补充:物理层设备中继器负责在物理层间实现透明的二进制比特复制整形再放大),以补偿信号衰减。中继器没有存储转发的功能,因此不能连接两个速率不同的网段且其两端一定要使用同一个协议。10BASE5以太网中对中继器的使用做了5-4-3规则的规定。

(1)网桥

①基本概念:网桥可以扩展以太网,有两个端口,扩展之前的以太网称为一个网段,网桥工作在链路层的MAC子层(处理的数据对象是帧),可以使以太网各网段成为隔离开的碰撞域,如果把网桥环程工作在物理层的转发器(处理的数据对象是信号),则没有这种过滤通信量的功能,由于各网段相对独立,一个网段的故障不会影响另一个网段

②网桥的工作方式:如果网络1向网络2发送数据,可以通过网桥,如果是同一个网段要发送数据,则网桥会丢弃,这增大了吞吐量(冲突域多了)

③基本特点:必须具备寻址和路径选择能力,确定帧的传输方向;网桥可以翻译互联不同类型的局域网,进行协议转换;网桥应有足够大的缓冲空间

④优点:过滤通讯量,增大吞吐量,扩大了物理范围;提高了可靠性;可互联不同物理层、不同MAC子层和不同速率的以太网;出现故障时只会影响一个网段

⑤缺点:增大时延;MAC子层没有流量控制(流量控制需要编号机制在LLC子层实现);只适用用户数不多通信量不大的局域网,不然可能会引起网络风暴(传播过多的广播信息而产生网络拥塞)

⑥分类(根据路径选择算法的不同):透明网桥-选择的不是最佳路由、源路由网桥-选择最佳路由

  • 透明网桥以混杂方式工作,它接收与之连接的所有LAN传送的每一帧。到达帧的路由选择过程取决于源LAN和目的LAN:①如果源LAN和目的LAN相同,那么丢弃该帧;②如果源LAN和目的LAN不同,那么转发该帧;③如果目的LAN未知,那么扩散该帧。

当网桥刚连接到以太网时,其转发表是空的,网桥按照自学习算法处理收到的帧。该算法的基本思想是:若从站A发出的帧从某端口进入网桥,那么从这个端口出发沿相反方向一定可把一个帧传送到站A。所以网桥每收到一个帧,就记下其源地址和进入网桥的端口,作为转发表中的一个项目(源地址、进入的接口和时间)。在建立转发表时,把帧首部中的源地址写在“地址”一栏的下面。在转发帧时,则根据收到的帧首部中的目的地址来转发。这时就把在“地址”栏下面已经记下的源地址当作目的地址,而把记下的进入端口当作转发端口。网桥就是在这样的转发过程中逐渐将其转发表建立起来的。

为了避免转发的帧在网络中不断地“兜圈子”,透明网桥使用了一种生成树算法(无环),以确保每个源到每个目的地只有唯一的路径。生成树使得整个扩展局域网在逻辑上形成树形结构,所以工作时逻辑上没有环路,但生成树一般不是最佳路由。

  • 源路由网桥中,路由选择由发送数据帧的源站负责,网桥只根据数据的真正路由信息对帧进行转发和接收,源路由网桥对主机是不透明的,主机必须知道网桥的标识及连在哪个网段上

源站在未知最优路径之前,先发送一个发现帧作为探测,图中的每个网桥都转发此帧,该帧可能从多个途径到达目的站,目的站一一应答,每个应答帧原路返回,途径的网桥把自己的标志记录在应答帧中,源站选出一个最佳路由

  • 注意:源路由网桥的最佳路由指的是时间最短的路由,这样才能真正实现负载平衡

(2)交换机

交换机是多端口网桥,利用以太网交换机可以实现VLAN(虚拟局域网),VLAN不仅可以隔离冲突域,还可以隔离广播域

交换机最大的优点就是独占传输媒体的带宽;主要采用两种交换模式:直通式(交换机只检查帧的目的地址,帧立刻能被发送出去,速度快但缺乏安全性和智能性,无法支持不同速率的端口)、存储转发式(先将帧放到高速缓冲器中,并检查数据是否正确,确认无误后转发,若发现有错,则丢弃,可靠性高,支持不同速率的交换,延迟大)

(3)冲突域和广播域(交换机/路由器的广播域、冲突域;

 

 补充:

1. 链路指的是物理链路,数据链路是指加上协议的逻辑链路;电路接通标识两端结点的交换机已经开机,物理连接已经开始输送比特,但数据链路连接之后,才变成可靠的数据链路

2. 采用n比特进行编号时,若接收窗口大小为1,则只有在发送窗口大小Wt <=  2 ^ n - 1,连续ARQ才能正常进行,因为序号是循环使用的,超时重发的编号和新数据的编号都是一样的,不确定是新的数据还是旧的

3. 为什么PPP协议不像HDLC协议一样使用位填充?

因为PPP被明确地设计为软件实现形式,而不像HDLC总是用硬件实现,对于软件实现,使用字节比较方便,并且PPP被设计成与调制解调器一道使用,而调制解调器是以一个字节为单位收发数据的


CH4 网络层

1. 网络层的功能

网络层向上层提供简单灵活的、无连接的、尽最大努力交付的数据报服务,可靠性由传输层保证

(1)异构网络互联

所谓网络互联, 是指将两个以上的计算机网络,通过一种或多种通信处理设备(即中间设备/中间系统/中继系统)互相联系起来,需要解决不同的寻址方案、不同的网络接入机制、不同的差错处理方法和路由选择机制等问题

补充:中继系统分为四大类——物理层:中继器、集线器Hub;DL:网桥、交换机;网络层:路由器;网络层以上:网关;使用物理层或DL层的设备时一般并不称为网络互联,网络互联通常是指用路由器进行网络互联和路由选择

(2)路由与转发

路由器主要完成两个功能:路由选择(确定路径)、分组转发(当一个分组到达时)

①路由选择:按照复杂的分布式算法,即根据特定的路由选择协议构造出路由表,经常或定期和相邻的路由器交换路由信息而动态更新和维护路由表,得到关于整个网络拓扑的变化情况进而选择路由

②分组转发:路由器根据转发表将用户的IP数据报从合适的端口转发出去(路由表是由路径选择算法得出的,转发表是从路由表得出的,转发表的结构应该使查找过程最优化,路由表应该对网络拓扑变化的计算最优化)

(3)拥塞控制

①拥塞:在通信子网中,因出现过量的分组而引起网络性能下降的现象。当分组到达路由器的速率接近链路带宽,看起来链路带宽的利用率提高了,但其实平均时延骤增,大量分组会被丢弃(路由器端口的缓冲区是有限的),网络吞吐率下降

②判断是否拥塞:随着网络负载的增加,如果网络吞吐量明显小于正常吞吐量,可能进入轻度拥塞状态;如果网络负载增加,网络吞吐量下降,说明可能已经进入拥塞状态;如果网络负载增加,网络吞吐量下降到0,那就可能进入死锁状态

③如何解决拥塞控制:拥塞控制主要解决的问题是如何获取网络中发生拥塞的信息,是一个全局性过程,单一地增加资源并不能解决拥塞控制。有以下两种方法:

  • 开环控制(静态预防):在设计网络时事先将有关发生拥塞的因素考虑到,力求在工作时不产生拥塞,一旦整个系统启动并运行,中途就不再需要修改。比如确定何时接收新流量、何时丢弃分组等,这些手段都不考虑当前的网络状态
  • 闭环控制(动态反馈回路):事先不考虑发生拥塞的信息,采用检测网络系统去监视,并及时检测和调整网络运行

2. 路由算法

(1)静态路由(非自适应路由算法):由网络管理员手工配置的路由信息,当网络的拓扑结构和链路状态发生变化时需要网络管理员手动修改,不能及时适应网络状态的变化,不适合大型网络。但广泛应用于高度安全的军事网络和较小的商业网络

(2)动态路由算法(自适应路由算法):路由器上的路由表通过相互连接的路由器之间彼此交换信息,然后按照一定的算法优化出来的,这些路由信息会在一定时间间隔内不断更新以适应网络变化,但它算法复杂可能会增加网络负担,有时变化地太快会引起震荡,适用大型网络

①距离-向量路由算法(如RIP)

所有结点定期将它们整个路由选择表传送给相邻的结点,路由选择表包括:每条路径的目的地(另一结点)、路径的代价(距离),距离是抽象的概念,如RIP将距离定义为跳数,即源端口到达目的端口所经过的路由个数

更新路由表的情况:被告知一条新的不在本地路由表中的路由,则更新;发来的路由比本地路由路径更短(更小的距离),则更新

②链路状态路由算法(如OSPF)

每个参与该算法的结点都具有完全的网络拓扑信息,它们主动测试所有邻接结点的状态并定期将链路状态传播给所有其他结点(路由结点);每当链路状态报文到达时,路由结点便适用这些状态信息更新自己的网络拓扑和状态视野图,一旦链路状态发生变化,结点就对更新的网络图利用Dijkstra算法重新计算路由

主要有3个特征:

  • 使用泛洪法向本自治系统中所有的路由器发送信息,即路由器通过所有端口向所有相邻的路由器发送信息,但不会发回给发给这个路由器的路由器
  • 发送的信息是与路由器相邻的所有路由器的链路状态,链路状态指的是本路由器与哪些路由器相邻及该链路的度量
  • 只有链路状态发生变化时,路由器才向所有路由器发送信息

区别:距离-向量算法每个结点仅与它直接邻居交谈,交谈从自己到网络中所有其他结点的最低费用估计;而链路状态算法中,每个结点通过广播的方式与其他所有结点交谈,交谈与它直接相连的链路费用,距离向量算法有可能遇到路由回路问题(一种路由选择错误状况。前往目的地的通路中的一组结点形成了回路,因此分组永远不可能到达目的地,最终会因超时而被丢弃)

(3)层次路由

因特网规模扩大,许多单位不想让外界知道自己的路由协议但也想连互联网,因特网把整个互联网分成许多较小的自治系统AS(一个自治系统可能包含多个局域网),因此把路由协议分为:

①内部网关协议(一个自治系统内部所用的协议IGP):比如RIP、OSPF,OSPF协议时,OSPF将一个自治系统再划分为若干区域,因而可以用于规模更大的自治系统中

②外部网关协议(自治系统之间EGP):如BGP

3. IPv4

(1)IP数据报的格式和分片

IP数据报首部有三个关于长度的记忆:“一总八片首饰”:总长度(1B);片偏移(8B);首部长度(4B)

 

DL层的最大传送单元MTU限制着IP数据报的长度,因此当IP数据报的总长度大于链路MTU时,就需要将IP数据报中的数据部分分装成片,片在目的地的网络层重新组装

 (2)网络层转发分组的流程

①从数据报的首部提取目的主机IP地址D,得出目的网络地址N

②若网络N与此路由器直接相连,则把数据报直接直接交付给D(直接交付)

③若路由表中有目的地址D的特定主机路由(对特定的目的主机指明一个特定的路由),则把数据报传送给路由表中指明的下一跳路由

④若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳路由器

⑤若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器

⑥报告转发分组出错

注意:得到下一条路由器的IP地址后并不是直接将该地址填入数据报,而是将该IP地址转换成MAC地址(通过ARP),将其放到MAC帧首部,然后根据这个MAC地址找到下一条路由,而由于路由器能分割网络(隔离广播域),所以在不同网络中传送时,MAC帧中的源地址和目的地址要发生变化,但是网桥在转发帧时,不改变帧的源地址

5. IP地址

(1)IP地址:连接到因特网上的每台主机(或路由器)都分配一个全球唯一的标识符,即IP地址,长度在IPv4中为32比特。下一代的IPv6的地址是(128)位的,能充分保证地址的分配。在Internet中,按IP地址进行主机寻址。IP地址由ICANN分配

(2)组成:IP地址由两部分组成,前面一个字段是网络号 net-id(网络标识),它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id(主机标识),它标志该主机(或路由器),用点分十进制表示。

(3)IP地址分类:A、B、C、D等。192.0.0和128.0不可指派)

 注意:2^7-2是因为减去网络号全0(表示本网络)减去网络号为127为环回测试地址;B类地址2^14 - 1 是因为128.0不可指派,同理C类地址2^21 - 1是因为192.0.0不可指派

 (4)IP地址的特点:

  • IP地址是一种分等级的地址结构,IP地址管理机构在分配IP地址时只需要分配网络号,而主机号可以由该网络自行分配,方便了IP地址的管理;路由表仅根据目的主机所连的网络号转发分组,减少了路由表所占空间
  • IP地址是标志一台主机(或路由器)和一条链路的接口,当一台主机同时连两个网络时,该主机就必须同时具有两个相应的IP地址,因此IP网络上的一个路由器必然至少有两个IP地址(两个端口)

(5)网络地址转换

①网络地址转换(NAT)指将专用网络地址转换为公用地址,从而对外隐藏内部管理的IP地址,降低了内部网受攻击的风险,由于专用网本地IP是可重用的,所以NAT节省了IP地址的消耗。

②为了网络安全而划分的私有网络地址必须通过网关利用NAT把私有IP转换为全球IP后才能使用于Internet(私有地址只用于LAN,不用于WAN),私有IP地址网段有:

  • A类1个:10.0.0.0~10.255.255.255
  • B类16个:172.16.0.0~172.31.255.255
  • C类256个:192.168.0.0~192.168.255.255

在因特网中的路由器,对目的地址是私有地址的数据报一律不进行转发,采用私有地址的互联网称为专用互联网或本地互联网,私有IP地址也称可重用地址

使用NAT时需要在专用网连接到因特网上的路由器上安装NAT软件,NAT路由器至少有一个有效的外部全球地址,NAT路由器与普通路由器不同,转发数据报时还需要查看传输层的端口号

6. 子网划分

(1)为什么要子网划分

分类IP地址的弱点:IP地址的空间利用率有时很低;两级IP地址不够灵活,而子网划分就是三级IP地址

(2)子网划分的基本思路

  • 子网划分是内部的事情,单位对外仍表现为没有划分子网的网络
  • 从主机号借用若干比特当子网号,三级IP地址的结构如下:IP地址 = {<网络号>,<子网号>,<主机号>};主机号全0的地址为子网的网络号,全1的地址为子网的广播地址。

 (3)子网掩码

使用子网掩码表达对原网络主机号的借位,子网掩码由一串1和一串0构成,1对应IP地址中的网络号及子网号,0对应主机号,如果一个网络未划分子网,则使用默认子网掩码,A B C 类默认的子网号是255.0.0.0、255.255.0.0、255.255.255.0,计算机只需要将IP地址与对应的子网掩码按位与&就可以得出相应子网的网络地址

(4)使用子网掩码时路由器的分组转发:

提取目的IP地址->直接交付?->查看路由表目的地址->路由表子网掩码->默认路由

 注:根据ip地址和子网掩码计算net-id网络地址和广播地址,以及网络中可容纳多少计算机 https://blog.csdn.net/weixin_42988712/article/details/108929501

 7. 无分类域间路由选择CIDR(Classless Inter-Domain Routing)

(1)概念:CIDR是一种消除ABC类网络划分,并且可以在软件的支持下实现超网的IP地址划分方法

(2)特点

消除了ABC类地址及划分子网的概念,更有效地分配IPv4地址。CIDR使用网络前缀概念代替自网络的概念,因此IP地址的无分类两级编址为IP::={<网络前缀>,<主机号>},还有斜线记法,即IP地址/网络前缀所占比特,其中网络前缀所占比特数对应于网络号的部分

(3)应用

①构成超网:

将多个子网聚合成一个较大的子网(由于下一跳的接口一样,可以合并),叫做构成超网或路由聚合。方法:将网络前缀缩短(所有网络地址取交集)。

注:划分子网是少->多,构成超网是多->少。

例:选C。

 ②最长前缀匹配(最佳匹配)

使用CIDR时,路由表中的每个项目由“网络前缀”、“下一跳地址”组成,查找路由表时应当从匹配结果中选择最长网络前缀的路由,网络前缀越长,路由越具体

8. 将IP地址映射成MAC地址

(1)为何需要转换:IP地址是分等级的,MAC地址是平面式的,IP网络的网络层只能使用IP地址来寻址(只用到网络号),而IP分组通过多次路由转发到达目标网络后,改为在目标LAN中通过DL层的MAC地址以广播方式寻址

(2)ARP协议(地址解析协议)Address Resolution Protocol

①每台主机都有一个ARP高速缓存,存放本局域网上各主机和路由器的IP地址到MAC地址的映射表,使用ARP动态维护

②工作原理:

主机A向主机B发送IP数据报(本局域网内),先查找ARP表,如果有主机B的MAC地址,则将目的IP地址映射成B的MAC地址,写入MAC帧再转发;若没有找到主机B的IP地址,则通过使用目的MAC地址为FF-FF-FF-FF-FF-FF的帧来封装并广播ARP请求分组,目的主机B收到后向A发送一个包含IP地址和MAC地址的映射,A主机收到此信息后更新ARP表,然后根据MAC地址把数据报发送给B

注意:

  • ARP由于看到了IP地址,所以工作在网络层,而NAT由于看到了端口,所以工作在传输层;
  • 如果要找的主机跟源主机不在同一个局域网中,则需要找到本局域网中一个路由器的MAC地址,把分组转发给这个路由器

9. 动态主机配置协议DHCP

(1)概念:常用于给主机动态地分配IP地址,是应用层协议,基于UDP

(2)工作原理:采用C/S模式

①需要IP地址的主机在启动时向DHCP服务器广播发送发现报文(但所有结点都能收到,只有DHCP服务器回答)

②DHCP服务器收到发现报文,,在数据库中查找该计算机的配置,如果没找到,拟分配(提供报文)

③DHCP客户机收到DHCP提供消息后,如果接收DHCP服务器所提供的相关参数,通过广播向DHCP服务器发送请求报文

④正式分配(确认报文)

(3)特点:分配给客户机的IP地址是临时的,DHCP客户机只能在有限时间内使用(租用期);应用层服务有C/S方式和P2P方式,而其他协议是没有的

10. 网际控制报文协议ICMP(差错报告、网络探寻)

Internet Control Message Protocal

(1)概念:用TCP/IP协议的网络在传输信息时,如果出了错误需要报告,采用的协议是ICMPICMP允许主机或路由器报告(差错情况)和提供有关异常情况的报告。ICMP报文是通过IP报文传输的,是IP层协议

(2)分类

分为ICMP差错报文和ICMP询问报文

①差错报文分类

终点不可达、源点抑制(当路由器或主机由于拥塞而丢弃数据报)、时间超过(路由器收到生存时间TTL为0的数据报时/当终点不能在一定时间内收到所有数据报片时)、参数问题(数据报首部参数问题)、改变路由(重定向,让路由器知道更好的路径)

②询问报文分类

回送请求和回答报文、时间戳请求和回答报文等

注意:我们常用PING来测试两个主机间的连通性。PING使用了哪个协议,描述其工作过程。

ICMP询问报文中的回送请求和回答报文。ICMP协议。ICMP 报文的种类有两种,由主机或路由器向一个特定的目的主机发出的询问。收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。PING工作在应用层,直接使用网络层的ICMP,未使用传输层协议

(3)不应发送ICMP差错控制报文

对ICMP差错报告报文、第一个分片的数据报后的所有后续数据报片、组播地址的报文(组播是一对多,广播是一对所有)、特殊地址的报文(如127.0.0.0或0.0.0.0)

11. IPv6 

(1)解决IP地址耗尽的方法:

采用无分类编址CIDR;网络地址转化NAT节省全球IP地址;采用IPv6(从根本上解决)

(2)特点:

  • IPv6有128位(16B);IPv4有32位(4B),IPv6的字节数是IPv4的平方,更大的地址空间
  • 扩展的地址层次结构:顶级(全球都知道的网络拓扑)、场点集(单个场点)、第三级指明单个网络接口,能够更快地查找路由
  • 灵活的首部格式(将IPv4的可选字段移出首部,变成了扩展字段),能更快地处理分组
  • 改进的选项
  • 允许协议继续扩充
  • 支持即插即用(不需要DHCP,自动配置)
  • 支持资源预分配
  • IPv6只有在包的源结点才能分片(主机),传输路径上的路由不能分片(IPv4可以)
  • IPv4的首部长度必须是4B的整数倍,IPv6必须是8B的整数倍
  • 增大了安全性,身份验证和保密功能是IPv6的关键特征

(3)IPv6数据报的目的地址可以是以下类型:

①单播:传统的点对点通信

②多播:一点对多点通信

③任播:交付一组计算机的其中一台计算机

(4)IPv6地址的表示方法:冒号十六进制记法

例如:4BF5:AA12:0216:......,而IPv4是点分十进制

简化:多个0简化、连续多个0值域用::

(5)IPv4向IPv6过渡:

采用逐步演进的方法,必须使得IPv6能够向后兼容

①双协议栈:一台设备上同时装有IPv4和IPv6协议栈

②隧道技术:将IPv6数据报封装到IPv4数据报的数据部分,使得其可以在IPv4隧道中传输

12. 路由协议

(1)自治系统AS(Autonomous System):单一技术管理下的一组路由器,使用同一种AS内部路由选择协议和共同的度量确定分组在该AS内的路由,一个AS内的所有网络都由一个行政单位管辖,一个AS的所有路由器在本AS内必须是联通的

(2)路由选择协议分类:

IGP(Interior Gateway Protocal)

(3)路由信息协议RIP

①简介

 ②和谁交换?多久交换一次?交换什么?

 

 ③特点:

可能会引起环路;限制了网络规模(最大距离为15);路由器之间交换的是完整路由表;网络出现故障时会“慢收敛”(即需要较长的时间才能将此信息传送到所有路由器,俗称“坏消息传的慢”,而“好消息传的快”);RIP是应用层协议,使用UDP传送数据;不一定是时间最短的,但一定是最少路由的路径

(4)开放最短路径优先OSPF

①基本信息

 ②OSPF和RIP的区别:

  • OSPF向本自治系统中的所有路由器发送信息,这里使用的方法是泛洪法(广播),而RIP仅向自己相邻的结构路由器发送信息
  • OSPF发送的信息是本路由器与其他结点的链路状态,只是路由表的部分,而RIP发送的信息是整个路由表
  • RIP定期交换信息,而OSPF只有在链路状态更新时才会交换信息,收敛快,不会发生“坏消息传得慢”。OSPF也规定每隔一段时间刷新一次数据库中链路状态
  • RIP是应用层协议,使用传输层的UDP来传送(作为UDP的数据部分),而OSPF是网络层协议,使用IP数据报传送数据

此外,OSPF可以将信息量分配给多条到达同一个目的地 的路径,称为多路径间的负载平衡;每个链路状态都带上一个32位的序号,序号越大,状态越新;每个路由器都有全网拓扑结构,然后根据这个用Dijkstra算法计算从自己到目的网络的最短路径,但是并不是记录完整的路径,而是只存储下一跳

③五种分组类型

  • 问候分组:发现和维持邻站的可达性
  • 数据库描述分组:向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息
  • 链路状态请求分组LSR:向对方请求发送某些链路状态项目的详细信息
  • 链路状态更新分组LSU:用洪泛法更新对全网的链路状态
  • 链路状态确认分组LSAck:对链路更新分组的确认

(5)边界网关协议BGP

①概念:BGP只能力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非寻找一条最佳路由,BGP采用路径向量路由选择协议,是应用层协议,基于TCP

②工作原理:每个自治系统管理员至少选择一个路由器(一般是BGP边界路由器)作为该AS的“BGP发言人”,先与其他AS的发言人建立TCP连接,然后在此连接上交换BGP报文以建立BGP会话,再利用BGP会话交换路由信息。当多有发言人都互相交换网络可达性的信息后(即要到达某个网络所经过的一系列AS),各BGP发言人就可找出到达各个AS的较好路由

③特点:

  • BGP交换路由信息的结点数量级是自治系统的数量级
  • BGP支持CIDR,因此BGP路由表包括:网络前缀、下一条路由器、到达目的网络所需要经过的各个自治系统序列(路径)
  • BGP刚运行时,各发言人与邻站交换整个BGP路由表,但以后只需要再发生变化时更新有变化的部分

④BGP支持4种报文:

打开报文Open:与相邻BGP发言人建立关系并认证发送方

更新报文Update:通告新路径或撤销原路径

保活报文Keepalive:证实连通性

通知报文Notification:发送检测到的差错和关闭连接

13. IP组播

(1)概念:让源计算机一次发送的单个分组可以抵达用一个组地址标识的若干目标主机,并被它们正确接收,一个主机可以同时属于多个组。比如视频点播、视频会议,组播一定是基于UDP的,因为TCP是面向连接的一定是一对一发送的

(2)特点:主机组播时仅发送给一份数据,只有在传送路径出现分岔路时才将数据复制,大大减轻了网络的负载和发送者的负担。需要路由器实现,能够运行组播协议的路由器称为组播路由器。而单播需要发送给几个目的主机就复制几份

(3)IP组播地址:属于多播组的设备将被分配到一个组播IP地址中,IP组播使用D类地址格式,前四位是1110,每个D类IP地址标志一个组播组,只能作为目的地址,不能作为源地址,源地址是单播地址

  • 协议字段值是2,表示IGMP
  • 对组播数据报不产生ICMP差错报文
  • 并非所有D类地址都可作为组播地址

 (4)IGMP与组播路由算法

①IGMP(因特网组管理协议)工作阶段:(控制成员)

  • 当某台主机加入新的组播组时,该主机向组播组的组播地址发送一个IGMP报文,声明自己要成为该组的成员,本地组播路由器收到后,将组成员关系转发给其他组播路由器
  • 本地组播路由器周期性探询本地局域网上的主机,以便知道这些主机是否可以继续是组的成员,只要对某个组有一台主机响应,组播路由器就认为该组是活跃的

②组播路由选择:找出以源主机为根结点的组播转发树,有基于链路状态的路由选择、基于距离-向量的路由选择、协议无关的组播

14. 移动IP

(1)概念

支持移动性的因特网体系结构与协议共称为移动IP。为了满足移动结点(计算机、服务器等)在移动中保持其连接性而设计的。就是指移动结点以固定的网络IP地址实现跨越不同网段的漫游功能,并保证基于网络IP的网络权限在漫游过程中不发生任何改变。(设备移动IP不动)

(2)三种功能实体(IPv4)

①移动结点:具有永久IP的移动结点

②本地代理(归属代理):一个移动结点的永久“居所”,根据移动用户转交地址,采用隧道技术转交移动结点的数据包

③外部代理:在外部网络中帮助移动结点完成移动管理功能的实体,与本地代理称为移动代理

(3)动态IP

动态IP指的是局域网中的计算机可以通过网络中的DHCP服务器动态获得一个IP地址,无需指定

(4)移动IP的通信过程

  • 移动结点在本地网时,按传统的TCP/IP方式通信
  • 移动结点漫游到一个外地网络时,仍然使用固定的IP地址进行通信,然而移动结点需要向本地代理注册当前的位置地址,即转交地址
  • 本地代理收到来自转交地址的注册时,构建一条向转交地址的隧道,将截获的发往移动结点的IP分组通过隧道转交给转交地址,在转交地址处接触隧道封装,恢复原始IP分组,送到移动结点
  • 移动结点通过外网的路由器或外部代理向通信对端发送IP数据报
  • 移动结点来到另一个外网,只需向本地代理更新注册的转交地址
  • 移动结点回到本地网,向本地代理注销转交地址

15. 网络层设备——路由器

(1)路由器组成

路由器是一种具有多个输入/输出端口的专用计算机,其任务是连接异构网络并路由转发,能隔离广播域

注意:如果一个存储转发设备实现了某个层次的功能,那么它可以互联两个在该层次上使用不同协议的网段。例如网桥实现了物理层和数据链路层,可以互联两个物理层和数据链路层不同的网段,但中继器实现了物理层,不能互联两个物理层不同的网段,因为中继器是直通式设备

(2)功能:分组转发和路由计算

分组转发由三部分组成:交换结构、一组输入端口、一组输出端口。输入端口在从物理层接收到的比特流中提取出数据链路层帧,进而从帧中提取网络层数据报;交换结构根据转发表对分组进行处理,选择合适的输出端口,其本身就是一个网络

(3)路由表与转发表

转发表是从路由表中得出的,但与路由表格式不同,其结构应使查找过程最优(而路由表是网络拓扑变化最优),转发表中含有要发的目的地,以及分组的下一跳(实际为MAC地址),可以使用默认路由代替所有具有相同下一跳的项目,并将默认路由设置的优先等级较低。路由表总是用软件来实现,转发表可以用软件实现也可以用硬件

(4)转发与路由选择

转发是根据转发表把收到的IP数据报从合适的端口转发出去,仅涉及一个路由,而路由选择涉及很多路由

16. 补充

(1)尽最大努力交付:

不保证无差错、不保证规定时间内交付、不保证交付顺序、不保证不会重复、不故意弄丢IP数据报

(丢失数据报的情况:检测出首部校验和有误、由于通信量大路由器或目的主机的缓存中已无空闲空间)

(2)网络层提供两种服务,即面向连接的虚电路服务和无连接的数据报服务


CH5 传输层

1. 传输层的功能““可(可靠传输)差流用(复用分用),绝不认输”

(1)提供应用进程之间的逻辑通信(端到端),网络层提供的是主机之间的逻辑通信

(2)复用和分用:复用指的是发送方不同应用程序都可以使用同一个传输层协议传送数据;分用是指接收方的传输层在剥去报文的首部后能把这些数据正确交付到目的应用进程

(3)由于网络层只检查IP数据报的首部,高层传输层就要实现数据部分的差错检测,即传输层对首部和数据部分进行差错检测

(4)提供两种不同的传输协议(UDP和TCP),而网络层无法同时实现两种协议

“传输层的两个好兄弟,大哥TCP,二弟UDP,大哥靠谱,二弟不靠谱”

2.传输层寻址与端口

(1)端口:传输层服务访问点TSAP,类似于IP地址在网络层的作用和MAC地址在数据链路层的作用,只不过IP地址和MAC地址标识主机,端口标识主机中的应用进程,是软件端口(逻辑端口)

(2)端口号:端口号只标识本计算机应用层的各进程,在整个因特网中相同的端口号是没有联系的,16bit,分为:

①服务器端使用的端口号:包括熟知端口号0~1023和登记端口号

②客户端使用的端口号:只有在客户进程运行时才动态选择,又称短暂端口号(临时端口)

(3)套接字: 

3. 无连接服务与面向连接服务

面向连接服务就是在通信双方进行通信之前,必须先建立连接,在通信过程中,整个连接的情况一直被实时地监控和管理,通信结束后释放连接。

无连接服务是一种尽最大努力交付

(1)TCP面向连接的传输控制协议

传输层向上提供全双工的可靠逻辑信道;不提供广播或组播;适用可靠性更重要的场合,如文件传输协议FTP、超文本传输协议HTTP、远程登陆TELNET

(2)UDP无连接的用户数据报协议

传输层向上提供不可靠的逻辑信道,在IP层之上仅提供多路复用和对数据的错误检查,无需确认;执行速度快、实时性好,比如小文件传送协议TFTP、DNS、SNMP、实时传输协议RTP

4. UDP协议

UDP仅在IP数据报服务之上增加了两个最基本的服务:复用分用以及差错检验

(1)UDP的特点:

  • 无需建立连接。减少开销和发送数据前的时延
  • 无连接状态,UDP不用维护连接,能支持更多活动客户机
  • 分组首部开销小,TCP有20B,而UDP只有8B,适合实时应用
  • 应用层能更好地控制要发送的数据和发送时间,UDP没有拥塞控制,某些实时应用能以稳定的速度发送,能容忍一些数据的丢失
  • UDP支持一对一、一对多、多对一、多对多
  • UDP是面向报文的,发送方UDP对应用层交下来的报文,在添加首部后就向下交付给IP层,一次发送一个报文,既不合并也不拆分,接收方UDP也类似

(2)UDP首部格式

 (3)UDP校验

5. TCP协议

(1)TCP协议的特点

  • TCP是面向连接的传输层协议(打电话、虚连接不是物理连接)
  • 每条TCP只能是点对点的,不能广播多播
  • TCP保证可靠服务,无差错、不丢失、不重复且有序
  • TCP是全双工通信,TCP连接的两端都设有发送缓存和接收缓存,允许通信双方的应用进程在任何时候都能发送数据
  • TCP面向字节流,TCP把应用程序交付下来的数据仅视为一串无结构的字节流
  • UDP报文的长度由发送应用进程决定,而TCP报文的长度则根据接收方给出的窗口值和当前网络拥塞程度决定,太长,TCP会划分,太短,则积累

(2)TCP报文段

TCP传送的数据单元称为报文段,既可以运载数据又可以建立释放连接;其首部的前20B是固定的,后面4N字节是根据需要而增加(4B的整数倍)

 

 URG是在发送端的紧急处理,PSH是在接受端进行紧急处理;填充是为了使整个首部长度是4B的整数倍

 (3)TCP连接管理(连接建立、数据传送、连接释放)

 ①连接的建立(三次握手)

 服务器端的资源是在完成第二次握手时分配的,而客户端的资源是在完成第三次握手时分配的,使得服务器易收到SYN洪泛攻击(攻击者发送许多数据包,但不向服务器发送“ACK”。因此,连接半开,吞下服务器资源。由于阻止服务攻击,合法用户尝试连接到服务器但被拒绝。)

注意:为何不采用2次握手?防止两次握手情况下已失效的连接请求报文段又突然传送到服务器。

②连接的释放(四次握手)

  •  客户机打算关闭连接时,向其TCP发送连接释放报文,并停止发送数据,主动关闭TCP连接,如上图,FIIN报文段及时不携带数据,也消耗掉一个序号(标识一个报文段),但对方还可以发
  • 服务器收到连接释放报文后随即发出确认,如上图,TCP处于半关闭状态,但服务器若发送数据,客户机仍要接收,即从服务器到客户机这个方向的连接并未关闭
  • 若服务器已没有要发送的信息,就向客户机发送连接释放报文
  • 客户机收到连接释放报文段后,必须发出确认,此时TCP连接还未释放,必须经过时间等待计时器设置时间2MSL(最长报文段寿命)后,客户机才进入CLOSED状态

总结起来就是:

客户机                                服务器

“我说完了”                        

                                        “好的”

                                        “我还要说blabala..我说完了”

“好的”

注意:为何不采用三次握手释放连接且发送最后一次握手报文后还要等待2MSL的时间呢?

  • 保证A发送的最后一个确认报文段能到达B,如果A不等待,若握手报文段丢失,B不能进入正常关闭状态,而此时A也已经关闭,不可能再重传
  • 防止下一个连接中出现旧报文,再经过2MSL可保证本连接持续的时间内产生的所有报文段从网络中消失

(4)TCP可靠传输

①校验

②序号

序号建立在传送的字节流上,而不建立在报文段上,一个字节占一个序号

③确认

TCP首部的确认号是期望收到对方的下一个报文段的数据的第一个字节的序号;发送方缓存区会继续存储那些已发送但未收到确认的报文段,以便在需要时重传,收到确认后删除;TCP默认使用累计确认,也可以捎带确认

④重传

  • 超时重传:TCP每发送一个报文段,就对这个报文段设置一次计时器,计时器设置的重传时间到期但还未收到确认时,就要重传这个报文段。TCP采用自适应算法,设置的超时重传时间应该略大于RTTs(加权平均往返时间),但也不能过大
  • 冗余ACK(冗余确认):TCP规定每当收到比期望序号大的失序报文到达时,就发送一个冗余ACK,指明下一个期待字节的序号,当发送方收到对同一个报文段的3各冗余ACK时,就可以认为跟在这个被确认报文段之后的报文段已丢失

(5)TCP流量控制

①流量控制:TCP提供流量控制服务来消除发送方(发送速率太快)使接收方缓存区溢出的可能性,可以说是一种速度匹配服务

②接收窗口:接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小,称为接收窗口rwnd,即调整TCP首部窗口字段

③拥塞窗口:发送方根据其对当前网络拥塞程度的估计而确定的窗口值,与网络的带宽和时延密切相关

④工作思路:发送方A总是根据最新收到的rwnd值限制自己发送窗口的大小,从而将未确认的数据量控制在rwnd之内,A的发送窗口大小实际取rwnd和cwnd之间的最小值

 如果B重新发出的rwnd≠0的报文段丢失了,可能会造成死锁,所以TCP为每个连接设有一个持续计时器,只要TCP连接的一方收到对方零窗口的通知,就启动持续计时器,若超过计时器时间,就发送一个零窗口探测报文(一个字节)

⑤传输层和数据链路层的流量控制区别:传输层定义端到端用户之间的流量控制,数据链路层定义两个中间相邻结点的流量控制;数据链路层的滑动窗口协议的窗口大小不能动态变化,传输层的则可以动态变化

(6)TCP拥塞控制

①拥塞控制:防止过多的数据注入网络,保证网络中的路由器或链路不致过载。出现拥塞时,端点并不了解拥塞发生的细节,往往表现为通信时延的增加

②拥塞控制与流量控制的区别:拥塞控制是让网络能够承受现有的网络负荷,是一个全局性的过程,涉及所有主机所有路由器...而流量控制往往是点对点的通信量控制,是端到端的问题(接收端控制发送端),抑制发送端发送数据的速率。

其相同之处是都通过发送方发送数据的速率来达到目的

③实现:拥塞窗口和发送窗口(同上)

进行拥塞控制的4种算法:

  • 慢开始和拥塞避免

(i)慢开始:TCP开始发送报文时先设置cwnd=1,使得发送方在开始时只发送一个报文段(试探一下网络的拥塞情况),然后按指数式增大,直到把cwnd增到到一个规定的慢开始门限(阈值),然后改用拥塞避免算法

(ii)拥塞避免算法:让cwnd缓慢增大,每经过一个往返时延RTT就把发送方的拥塞窗口+1,而不是加倍,按线性规律缓慢增长

(iii)网络拥塞的处理:无论在慢开始阶段还是在拥塞避免阶段,只要发送方判断网络出现拥塞(未按时收到确认),就要把慢开始门限设置为出现拥塞时发送方cwnd的一半(但不能小于2),然后把拥塞窗口cwnd重新设置为1,执行慢开始算法,目的是迅速减少主机发送到网络中的分组数,使得发生拥塞的路由器有足够的时间把队列中积压的分组处理完

注意:cwnd不能超过门限;在慢开始和拥塞避免算法中使用了乘法减小和加法增大方法;拥塞避免并不能完全避免拥塞

  • 快重传和快恢复(改进的算法)

(i)快重传:当发送方连续收到三个重复的ACK报文时,直接重传对方尚未收到的报文段,而不必等待那个报文段设置的重传计时器超时

(ii)快恢复:当接收方连续收到三个冗余ACK时,把慢开始门限设置为此时发送方cwnd的一半,但发送方认为现在网络很可能没有发生(严重)拥塞(因为还能收到ACK),,因此把cwnd值设置为改变过的门限值,然后开始“加法增大”

 在流量控制中,发送方发送数据的量由接收方决定,而在拥塞控制中,则由发送方自己通过检测网络状况来决定

6. UDP和TCP的区别:

(1)TCP是可靠传输,UDP是不可靠传输;

(2)TCP面向连接,UDP无连接;

(3)TCP传输数据有序,UDP不保证数据的有序性;

(4)TCP不保存数据边界,UDP保留数据边界;

(5)TCP传输速度相对UDP较慢;

(6)TCP有流量控制和拥塞控制,UDP没有;

(7)TCP是重量级协议,UDP是轻量级协议;

(8)TCP首部较长20字节,UDP首部较短8字节;


CH6 应用层

1. 网络应用模型

(1)客户/服务器模型 C/S模型

①客户机:请求服务的主机

  • 必须知道服务器程序的地址
  • 客户机之间不直接通信

②服务器:提供服务的设备

  • 永久打开永久提供服务
  • 永久性访问地址/域名
  • 可同时处理多个远程或本地客户的要求
  • 被动地等待,不需要知道客户机的地址
  • 网络中计算机地位不平等,服务器可以通过对用户权限的限制来达到管理客户机的目的,使它们不能随意存储/删除数据,整个网络的管理工作由少数服务器担当
  • 可扩展性不佳,服务器支持的客户机数量有限

③使用C/S的应用:Web、FTP、远程登陆、电子邮件

(2)P2P对等模型

当大量用户请求服务时,服务器必然成为瓶颈,整个网络中传输的内容不再被保存在中心服务器上,每个结点都有同时下载、上传的功能,权力和义务都是对等的;任意一对计算机——对等方直接相互通信

①优点:

  • 减轻了服务器的计算压力
  • 多个客户机之间可以直接共享文档
  • 可扩展性好
  • 网络健壮性强,单个结点的失效不会影响其他部分的结点

②缺点:结点在获取服务的同时,还要给其他结点提供服务,会占用较多内存影响整机速度

2. 域名系统DNS

(域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。 域名仅为逻辑概念。域名为分级管理。)协议运行在UDP上,使用53号端口

(1) 层次域名空间

命名采用层次树状结构,域可划分为子域,各级间用点隔开,每个标号不超过63个字符,不区分大小写,级别低的在左边,高的在右边。总字符数不能超过255个,除'-'外不能使用其他标点符号

(2)域名服务器

DNS被设计成为一个联机分布式数据库。DNS系统采用C/S模型

①根域名服务器

最高层次的域名服务器,所有根域名服务器都知道所有的顶级域名服务器的IP地址。不管是哪个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就要首先求助于根域名服务器,然后高速本地域名服务器下一步应当找哪个顶级域名服务器

②顶级域名服务器

③授权域名服务器(权限域名服务器)

每台主机都必须在授权域名服务器处登记,为了更可靠地工作,一台主机最好至少有两个授权域名服务器

④本地域名服务器(默认域名服务器,其实不属于DNS结构)

当一台主机发出DNS查询请求时,这个查询请求报文就发送给该主机的本地域名服务器;离主机比较近;当要访问的主机与本主机属于同样的ISP因特网服务提供者,本地域名服务器可以立刻将域名转换为IP

(3)域名解析

把IP地址映射成域名或把域名映射成IP地址,分别是反向解析和正向解析

①递归查询

由于该方法给根域名服务造成的负载过大,所以几乎不使用

 ②递归与迭代相结合

  • 主机向本地域名服务器的查询采用的是递归查询(靠别人),本地主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向根域名服务器发出查询请求报文
  • 本地域名服务器向根域名服务器采用迭代查询(靠自己)

 注意:为了提高DNS的查询效率,使用高速缓存,当一个DNS服务器收到DNS查询结果时,将DNS信息缓存在高速缓存中,以便另一个相同的域名查询到达该DNS服务器时能直接提供IP地址。由于主机名和IP地址之间的映射不是永久的,所以DNS服务器将在一段时间后丢弃高速缓存中的信息

3. 文件传输协议FTP

(1)工作原理

提供交互式访问,允许客户指明文件的类型与格式,允许文件有存取权限,屏蔽了各计算机系统的细节,适合在异构网络中的任意计算机之间传送文件。以匿名FTP的方式提供公共文件共享的能力

FTP采用C/S模式,使用TCP可靠传输服务,一个FTP服务器可同时为多个客户进程提供服务

FTP服务器必须在整个会话期间保留用户的状态信息,服务器必须追踪用户在远程目录树上的当前位置

(2)控制连接与数据连接

4. 电子邮件

(1)组成结构

是异步通信方式,有三个最主要组成构件:

  • 用户代理UA:用户与电子邮件系统的接口,至少具有攥写、显示、邮件处理、通信功能,用户代理就是运行在PC上的程序
  • 邮件服务器:发送和接收邮件,同时向发信人报告邮件传送的情况(已交付、被拒绝、丢失),邮件服务器采用C/S方式,但它必须能够同时充当客户和服务器
  • 邮件发送协议和读取协议:例如SMTP是邮件发送协议,用“推”的方式;例如POP3是读取协议,用的是“拉”的方式

 (2)电子邮件格式与MIME

①格式:一个电子邮件包括信封和内容,内容又包括首部和主体

②多用途网际邮件扩充MIME:使电子邮件可以支持声音、图像、视频、多种国家语言等

(3)SMTP和POP3

①SMTP简单邮件传输协议

  • 连接建立:注意SMTP不使用中间的电子邮件服务器,总是在发送方和接收方这两个服务器之间直接建立连接,当接收方邮件服务器因故障暂时不能建立连接时,发送方的邮件服务器只能等待一段时间后再次尝试
  • 邮件传递(SMTP客户端和SMTP服务端):从MAIL命令开始,MAIL命令后有发件人的地址。若STMP服务器已准备好接收邮件,则回答250OK,接着SMTP客户端发送一个或多个RCPT命令,先弄清对方是否已准备好接收,然后再发送邮件,防止发送很长时间后才发现地址错误
  • 连接释放:SMTP客户端发送QUIT命令

②POP3和IMAP

  • POP3也使用C/S方式,在传输层使用TCP,端口号为110,有两种工作方式:下载并保留和下载并删除
  • IMAP(因特网报文获取协议),IMAP服务器维护了会话用户的状态信息,允许用户代理只获取报文的某些部分
  • 注意:现如今用户浏览器和Hotmail或Gmail的邮件服务器之间的邮件发送或接收使用的是HTTP,而仅在不同邮件服务器之间传送邮件才用SMTP

5. 万维网WWW

(1)WWW的概念与组成网络

万维网WWW是一个分布式、联机式的信息存储空间,资源用统一资源定位符URL标识,这些资源通过超文本传输协议HTTP传送给使用者。超文本标记语言HTML可以从一个超链接连接到另一个万维网页面,万维网的内核由三个标准构成:

  • 统一资源定位符URL:标识万维网上的各种文档
  • 超文本传输协议HTTP:应用层协议,使用TCP
  • 超文本标记语言HTML:文档结构的标记语言

万维网采用C/S方式

(2)超文本传输协议

HTTP定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器,HTTP是面向事务的应用层协议,规定了浏览器和服务器之间的请求和响应格式与规则

①HTTP的操作过程

 ②HTTP的特点

使用TCP作为运输层协议,保证了数据的可靠传输,但HTTP本身是无连接的,通信双方在交换HTTP报文之前不需要先建立HTTP连接

HTTP是无状态的,不记得某个客户之前访问过某个页面,使服务器更容易支持大量并发的HTTP请求,通常使用Cookie和数据库来跟踪用户活动,以便实现一些人性化服务

HTTP既可以使用非持久连接,也可以使用持久连接。对于非持久连接,每个网页元素对象的传输都需要单独建立一个TCP连接,每次建立新的TCP连接都要分配缓存和变量,使万维网服务器的负担很重。而持久连接是万维网在发送响应后仍然保持这条连接,使同一个客户(浏览器)和该服务器继续在这条连接上传送后续HTTP请求和响应报文

持久连接又分为非流水线和流水线两种方式。对于非流水线方式,客户在收到前一个响应后才能发出下一个请求。HTTP/1.1的默认方式是使用流水线的持久连接。这种情况下,客户每遇到一个对象引用就立即发出一个请求,因而客户可以逐个地连续发出对各个引用对象的请求。如果所有的请求和响应都是连续发送的,那么所有引用的对象共计经历1个RTT延迟,而不是像非流水线方式那样,每个引用都必须有1个RTT延迟。
③HTTP的报文结构

HTTP是面向文本的(Text-Oriented),因此报文中的每个字段都是一些ASCII 码串,并且每个字段的长度都是不确定的。有两类HTTP报文:请求报文:从客户向服务器发送的请求报文,如图6.14(a)所示。响应报文:从服务器到客户的回答,如图6.14(b)所示。

 补充:互联网>因特网>万维网,因特网是互联网中最大的一个,万维网是因特网最终更要的组成部分


*有一些些地方没有记录完整,以后再优化

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/162540
推荐阅读
相关标签
  

闽ICP备14008679号