目录
第一章:计算机网络概述:
因特网概述:
(1)网络、互联网(互连网)、英特网:
(2)英特网Internet发展的三个阶段:
(3)Internet英特网的组成:
计算网络的三种交换方式:
(1)电路交换(Circiut Switching):
(2)分组交换(Packet Switching):
(3) 三种交换的对比:
计算机网络的定义:
计算机网络分类:
计算机网络性能指标:
速率:
带宽:
吞吐量:
时延:
时延带宽积:
往返时间:
利用率:
丢包率:
总结:
计算机网络体系结构:
OSI体系结构:
TCP/IP体系结构:
计算机网络体系结构中的专用术语:
实体和对等实体:
协议:
总结:
第二章:体系结构-物理层:
物理层基本概念:
物理层传输媒体:
导引型传输媒体:
非导引型传输媒体:
数据在物理层上的传输方式:
串行传输和并行传输:
同步传输和异步传输:
单向通信(单工)、双向交替通信(半双工)、双向同时通信(全双工):
编码与调制:
编码方法:
曼切斯特编码和差分曼切斯特编码:
曼彻斯特编码和差分曼彻斯特区别:
调制方法:
信道极限容量:
第三章:数据链路层:
数据链路层概述:
封装成帧:
差错检测:
奇偶校验:
循环冗余校验CRC(Cyclic Redundancy Check):
可靠传输:
可靠传输概念:
可靠传输的实现机制 - 停止等待协议SW(Stop and Wait)
可靠传输的实现机制 - 回退N帧协议GBN
可靠传输的实现机制 - 选择重传协议SR
点对点协议PPP:
点对点协议PPP——帧格式:
点对点协议PPP——面向比特的同步链路采用插入比特0的比特填充法:
点对点协议PPP——差错检测:
媒体接入控制的基本概念:
媒体接入控制——静态划分信道:
媒体接入控制——动态接入控制
- 计算机网络已经从一种通信基础设施发展成为一种重要得信息服务设施基础。
- 计算机网络已经像水、电、煤气这些基础设施一样,成为了我们生活中不可或缺得一部分。
(1)网络、互联网(互连网)、英特网:
- 网络(Network):由若干结点(Node)和连接这些结点的链路(link)组成。
结点和节点的区分:
节点是一个实体,它具有处理数据等能力。
结点是一个交叉点、一个标记,算法中的点一般都称为结点,数据集合中的每一个数据元素都用中间标有元素值的方框来表示,我们称它为结点。
在数据结构的图形表示中,对于数据集合中的每一个数据元素用中间标有元素值的方框表示,一般称它为数据结点,简称结点。
在链表数据结构中,链表中每一个元素称为“结点”,每个结点都应包括两个部分:一个是需要用的实际数据data;另一个就是存储下一个结点地址的指针,即数据域和指针域。
数据结构中的每一个数据结点对应于一个存储单元,这种储存单元称为储存结点,也可简称结点。
- 互联网(互连网 internet):多个网络通过路由器进行连接,构成一个覆盖范围更大的网络,互联网就是"网络的网络(Network of Network)"
- 英特网(Internet):世界上最大的互联网络。
Internet和internet的区别:
Internet(英特网):是一个专有名词,它指的是当前全球最大的,开放的、自由的、由众多网络相互连接而成的特定的计算机网络,它采用的是TCP/IP协议族作为通信规则,前身是美国的ARPANET.
internet(互联网、互连网):是一个通用名词,它泛指由多个计算机网络相互连接而成的网络,这些网络之间的通信协议可以是任意的,并不局限于TCP/IP协议族。
(2)英特网Internet发展的三个阶段:
英特网服务提供者ISP(Internet Service Provider)
中国最大的三家Internet Service Provider:
- 中国移动
- 中国联通
- 中国电信
基于ISP的三层结构的Internet英特网:
- 第一层ISP:国际性区域(主干网)
- 第二层ISP:区域性或国家性覆盖闺蜜
- 第三层ISP:本地范围
(3)Internet英特网的组成:
- 边缘部分:由所有连接在因特网上的主机组成。这部分是用户可以直接使用的,用来进行通信(数据的传输)和资源的共享。
- 核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(连通性和交换)
- 电路交换(Circuit Switching)
- 分组交换(Packet Switching)
- 报文交换(Message Switching)
(1)电路交换(Circiut Switching):
- 电话交换机接通电话线的方式称为电路交换
- 从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源
- 电路交换的三个步骤:
- 建立连接(分配通信资源)
- 通话(一直占用通信资源)
- 释放资源(归还通信资源)
- 使用电路交换来传递计算机数据,其效率往往很低
(2)分组交换(Packet Switching):
报文交换已经被分组交换的方式所取代!!!
在通信过程中,通信双方以分组为单位、使用存储-转发机制实现数据交互的通信方式,被称为分组交换(PS:packet switching)。
分组交换也称为包交换,它将用户通信的数据划分成多个更小的等长数据段,在每个数据段的前面加上必要的控制信息作为数据段的首部,每个带有首部的数据段就构成了一个分组。首部指明了该分组发送的地址,当交换机收到分组之后,将根据首部中的地址信息将分组转发到目的地,这个过程就是分组交换。能够进行分组交换的通信网被称为分组交换网。
分组交换的本质就是存储转发,它将所接受的分组暂时存储下来,在目的方向路由上排队,当它可以发送信息时,再将信息发送到相应的路由上,完成转发。其存储转发的过程就是分组交换的过程。
分组交换的思想来源于报文交换,报文交换也称为存储转发交换,它们交换过程的本质都是存储转发,所不同的是分组交换的最小信息单位是分组,而报文交换则是一个个报文。由于以较小的分组为单位进行传输和交换,所以分组交换比报文交换快。报文交换主要应用于公用电报网中。
(3) 三种交换的对比:
- 计算机网络的最简单的定义:一些互相连接的、自治的计算机的集合。
- 互联:指计算机之间可以通过有线或无线进行数据通信
- 自治:指独立的计算机,有自己的硬件和软件,可以单独运行使用
- 集合:指至少需要两台计算机
- 计算机网络准确的定义:计算机网络主要是由一些通用的、可编程的硬件互连而成,而这些硬件并非专门用来实现某一特点目的(传输数据、视频信号)。这些可编程的硬件能够用来传输多种不同类型的数据,并能够支持广泛的和日益增长的应用。
- 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等智能设备
- 计算机网络并非专门用来传输数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)
计算机网络分类:
速率:
连接在计算机网络上的主机在数字信道上传输比特的速率,也称为比特率或数据率。
数字信道:
能传输数字信号的信道称之为数字信道。数字信号的变化不是连续的,在它的整个信号中只有两种状态,高电平与低电平,高电平用逻辑1表示低电平用逻辑0表示。
比特:
计算机中数据量的单位,也是信息论中信息量的单位。一个比特就是二进制数字中的一个0或1.
带宽:
一条通信线路的"频率带宽"越宽,其所传输数据的"最高数据率"也越高。
吞吐量:
- 吞吐量表示在单位时间内,通过某个网络(信道,接口)的数据量。
- 吞吐量经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据能够通过网络。
- 吞吐量受网络的带宽或额定速率的限制。
时延:
在计算时延时,主要是判断发送时延占主导还是传播时延占主导,由于处理时延不方便计算,通常在计算时回对其进行忽略:
时延带宽积:
时延带宽积 = 传播时延 * 带宽
- 若发送端连续发送数据,则在发送的第一个比特即将到达终点时,发送端就已经发送了时延带宽积个比特。
- 链路的时延带宽积又称为以比特为单位的链路长度
往返时间:
-
在许多情况下,英特网上的信息不仅仅是单方向传输,而是双向交互
-
往返时间RTT(Round Trip Time),双向交互一次所需要的时间
利用率:
- 信道利用率:表示某个信道有百分之几的时间是被利用(在信道上有数据进行传输)
- 网络利用率:全网络的信道利用率的加权平均。
根据排队论,当某个信道的利用率增大时,该信道引起的时延也会迅速增加。信道利用率并非越高越好。
也不能使信道的利用率太低,这会使得通信资源被白白浪费。应该使用一些机制,可以根据情况动态调整输入到网络中的通信量,使网络利用率保持在一个合理的范围内。
丢包率:
- 丢包率即分组丢失率,是指在一定时间范围内,传输过程中丢失的分组数量与总分组数量的比率。
- 丢包率具体可以分为:接口丢包率、结点丢包率、链路丢包率、路劲丢包率、网络丢包率等
- 丢包率使网络运维人员非常关心的一个网络新能指标,但是对于普通用户来说往往并不需要关心这个指标。
- 分组丢失主要有两种情况:
- 分组在传输过程中出现误码,被结点丢弃
- 分组到达一台队列已满的分组交换机时被丢弃;在通信量较大时就可能造成网络拥塞。
- 丢包率反映了网络的拥塞情况:
- 无拥塞时,丢包率为0
- 轻度拥塞,丢包率为1%~4%
- 严重拥塞,丢包率为5%到15%
总结:
OSI体系结构:
TCP/IP体系结构:
"分层"可以将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理:
- 物理层:
- 采用怎样的传输媒体(介质)
- 采用怎样的物理接口
- 使用怎样的信号表示比特0和1
- 数据链路层:
- 如何标识网络中的各个主机(主机编址问题,例如MAC地址)
- 如何从信号所表示的一连串比特流中区分出地址和数据
- 如何协调各主机争用总线
- 网络层:
- 如何标识各网络以及网络中各主机(网络和主机共同编址的问题,例如IP地址)
- 路由器如何转发分组,如何进行路由选择
什么是路由:
路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程。
路由工作在OSI参考模型第三层——网络层的数据包转发设备。路由器通过转发数据包来实现网络互连。虽然路由器可以支持多种协议(如TCP/IP、IPX/SPX、AppleTalk等协议),但是在我国绝大多数路由器运行TCP/IP协议。
路由器通常连接两个或多个由IP子网或点到点协议标识的逻辑端口,至少拥有1个物理端口。路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据包。路由器通过动态维护路由表来反映当前的网络拓扑,并通过网络上其他路由器交换路由和链路信息来维护路由表。
- 运输层:
- 如何解决进程之间基于网络的通信问题
- 出现传输错误,如何处理
- 应用层:
- 通过应用进程间的交互来完成特定的网络应用
计算机网络分层结构体系思想:
实体和对等实体:
- 实体:任何可以发送或接收信息的硬件或软件进程
- 对等实体:收发双方相同层次中的实体
协议:
- 协议:控制两个对等实体进行逻辑通信的规则的集合
- 协议三要素:
- 语法:定义所交换的信息格式
- 语义:定义收发双方所要完成的操作
- 同步:同步收发双方的时序关系
在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。协议是"水平的",服务是"垂直的"。实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。也就是,下面的协议对上面的实体是"透明"的。
服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。
- 数据链路层的服务访问点为帧的''类型''字段。
- 网络层的服务访问点为IP数据报首部中的"协议字段"。
- 运输层的服务访问点为"端口号"。
服务原语:上层使用下层所提供的服务必须通过与下层交换一些命令,这些命名称为服务原语。
协议数据单元PDU:对等层次之间传输的数据包称为该层的协议数据单元。
服务数据单元SDU:统一系统内,层与层之间交换的数据包称为服务数据单元。
多个SDU可以和并成为一个PDU;一个SDU可以划分为几个DPU
总结:
- 物理层考虑的是如何能够在连接各种计算机的传输媒体上传输数据比特流
什么是传输媒体:
传输媒体(Transmission Medium) 也称传输介质或传输媒介,它就是数据传输系统中在发送器和接收器之间的物理通路。它可分为两大类,即导向传输媒体和非导向传输媒体。在导向传输媒体中,电磁波被导向沿着固体媒体(铜线或光纤)传播,而非导向传输媒体就是指自由空间,在非导向传输媒体中电磁波的传输常称为无线传播。网络传输媒介的质量的好坏会影响数据传输的质量,包括速率、数据丢包等。
- 物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。
什么是协议:
网络协议指的是计算机网络中互相通信的对等实体之间交换信息时所必须遵守的规则的集合。
对等实体通常是指计算机网络体系结构中处于相同层次的信息单元。一般系统网络协议包括五个部分:通信环境,传输服务,词汇表,信息的编码格式,时序、规则和过程。1969年美国国防部建立最早的网络——阿帕计算机网络时,发布了一组计算机通信协议的军用标准,它包括了五个协议,习惯上以其中的TCP和IP两个协议作为这组协议的通称。
TCP/IP是因特网的正式网络协议,是一组在许多独立主机系统之间提供互联功能的协议,规范因特网上所有计算机互联时的传输、解释、执行、互操作,解决计算机系统的互联、互通、操作性,是被公认的网络通信协议的国际工业标准。TCP/IP是分组交换协议,信息被分成多个分组在网上传输,到达接收方后再把这些分组重新组合成原来的信息。除TCP/IP外,常用的网络协议还有PPP、SLIP等。
导引型传输媒体:
- 同轴电缆:
- 双绞线:
- 光纤:
包层:折射率比纤芯低的玻璃封套(直径125微米)
纤芯:非常透明的石英玻璃拉成细丝(直径8~100微米)
- 电力线:
非导引型传输媒体:
- 无线电波:
- 微波:
- 红外线:
- 可见光:
未来发展的!!!
串行传输和并行传输:
- 在远距离传输比特流时,通常使用串行传输。
- 在计算机内部,通常使用并行传输。
同步传输和异步传输:
单向通信(单工)、双向交替通信(半双工)、双向同时通信(全双工):
编码方法:
不归零编码:
NRZI 编码(Non Return Zero Inverted Code),即反向不归零编码。
其实NRZI编码方式非常的简单,即信号电平翻转表示0,信号电平不变表示1;例如想要表示00100010(B),则信号波形如下图所示:
由图可以看到,当电平状态发生变化时,表示的数据为0。在传输的数据中,很少出现全1的状态,故接收端可以根据发送端的电平变化确定采样时钟频率。但是有时候依然会出现数据为全1的状态,也就是说信号线一直保持一个状态,这个时候时钟信号就无法传输,接收端就无法同步时钟信号,这该如何解决呢?解决方式就是在一定数量的1之后强行插入一个0,就是说若信号线状态一直持续一段时间不变的话,发送端强行改变信号线的状态,接收端则只需要将这个变化忽略掉就可以了。
例如有一段数据为:1111 1111 (B)要发送,则整个传输线上的电平状态是这样的:
归零编码:
RZ 编码(Return-to-zero Code),也叫归零编码。
正电平代表逻辑1,负电平代码逻辑0,并且每次传输完一位数据,信号都会回到零电平。这样,在信号线上会产生3种电平:正电平、负电平、零电平,相应的信号图例如下:
从上图中可看出,每们数据传输中都有一个归零的过程,这样接收端只需要在归零后进行新的采样,这样就不需要单独的时钟信号,这实际上相当于把时钟信号用归零处理在传输的数据中,这种信号叫自同步(self-clocking)信号。
这虽然节省了信号线,不过还是有它固有的缺点,由于RZ编码信号中有大部分数据带宽被用于传输“归零”信号而浪费掉了。除了省去这个步骤,NRZ编码就产生了,相对于RZ编码,NRZ编码就是不需要“归零”。
曼切斯特编码和差分曼切斯特编码:
自同步法是指能从数据信号波形中提取同步信号的方法。典型例子就是著名的曼彻斯特编码,常用于局域网传输。在曼彻斯特编码中,每一位的中间有一跳变,位中间的跳变既作时钟信号,又作数据信号;从高到低跳变表示"1",从低到高跳变表示"0"。还有一种是差分曼彻斯特编码,每位中间的跳变仅提供时钟定时,而用每位开始时有无跳变表示"0"或"1",有跳变为"0",无跳变为"1"。
两种曼彻斯特编码是将时钟和数据包含在数据流中,在传输代码信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一跳变,不存在直流分量,因此具有自同步能力和良好的抗干扰性能。但每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2。 就是说主要用在数据同步传输的一种编码方式
曼彻斯特编码和差分曼彻斯特区别:
曼彻斯特编码的编码规则是:
- 在信号位中电平从低到高跳变表示1
- 在信号位中电平从高到低跳变表示0
差分曼彻斯特编码的编码规则是:
- 在信号位开始时不改变信号极性,表示辑"1"
- 在信号位开始时改变信号极性,表示逻辑"0"
曼切斯特和差分曼切斯特编码是原理基本相同的两种编码,后者是前者的改进。他们的特征是在传输的每一位信息中都带有位同步时钟,因此一次传输可以允许有很长的数据位。
曼切斯特编码的每个比特位在时钟周期内只占一半,当传输“1”时,在时钟周期的前一半为高电平,后一半为低电平;而传输“0”时正相反。这样,每个时钟周期内必有一次跳变,这种跳变就是位同步信号。
差分曼切斯特编码是曼切斯特编码的改进。它在每个时钟位的中间都有一次跳变,传输的是“1”还是“0”,是在每个时钟位的开始有无跳变来区分的。 差分曼切斯特编码比曼切斯特编码的变化要少,因此更适合与传输高速的信息,被广泛用于宽带高速网中。然而,由于每个时钟位都必须有一次变化,所以这两种编码的效率仅可达到50%左右。
调制方法:
混合调制:
- 频率和相位:因为频率和相位是相关的,即频率是相位随时间的变化率。所以一次只能调制频率和相位中的一个。
- 相位和振幅:通常情况下,相位和振幅可以结合起来一起调制,称为正交振幅调制QAM
正交振幅调制QAM-16:
在信道带宽一定的情况下,根据奈氏准则和香农公式,想要提高信息的传输速率就必须采用多元制(更好的调制方法)和努力提高信道中的噪信比。
- 链路(link):链路就是从一个结点导相邻结点的一段物理线路,而中间没有任何其他的交换结点。
- 数据链路(Data link):指把实现通信协议的硬件和软件加载到链路上,就够成了数据链路。
- 数据链路以"帧"为单位传输和处理数据!!!
封装成帧:
封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。
封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧
- 帧头和帧尾包含有重要的控制信息。
- 帧头和帧尾的作用之一就是帧定界。
透明传输是指数据链路层对上层交付的传输数据没有任何限制,就好比数据链路层不存在一样。
- 面向字节的物理链路使用字节填充(或称字符填充)的方法实现透明传输。
- 面向比特的物理链路,使用比特填充的方法实现透明传输。
为了提高帧的传输效率,应当使帧的数据部分的长度尽可能大些
考虑到差错控制等多种因素,每一种数据链路层协议都规定了帧的数据部分的长度上限,即最大传输单元MTU(Maximum Transfer Unit)
差错检测:
差错检测(error detection),是指在发送的码序列(码字)中加入适当的冗余度以使得接收端能够发现传输中是否发生差错的技术。除了用于通信外,差错检测技术也广泛用于信息存储中。
- 比特差错:实际的通信链路都是不理想的,比特在传输过程中可能产生差错:1可能会变成0,而0可能变成1。
- 误码率BER(Bit Error Rate):在一段时间内,传输错误的比特占传输比特总数的比率称为误码率。
- 使用差错检测码来检测数据在传输过程中是否产生了比特差错
奇偶校验:
在待发送的数据后面添加1位奇偶校验位,使整个数据(包括所添加的校验位在内)中"1"的个数为奇数(奇校验)或偶数(偶校验)。
- 如果有奇数个位发生误码,则奇偶性发生变化,可以检查出误码。
- 如果有偶数个位发生误码,则奇偶性不发生变化,不能检查出误码。
循环冗余校验CRC(Cyclic Redundancy Check):
- 收发双方约定好一个生成多项式G(x)。
- 发送方基于待发送的数据和生成多项式计算出差错检测码(冗余码),将其添加到待传输数据的后面一起传输。
- 接收方通过多项式来计算收到的数据是否产生了误码
- 检错码只能检测出帧在传输过程中出现了差错,但并不能定位错误,因此无法纠正错误。
- 要想纠正传输中的差错,可以使用冗余信息更多的纠错码进行前向纠错。但是纠错码的开销比较大,在计算机中较少使用。
- 循环冗余校验(CRC)有良好的检错能力(漏检率非常低),虽然计算比较复杂,但非常易于用硬件实现,因此被广泛应用于数据链路层。
- 在计算机网络中通常采用检错重传方式来纠正传输中的差错,或仅仅是丢弃检测到差错的帧,这取决于数据链路层向其上层提供的是可靠传输服务还是不可靠传输服务。
可靠传输:
- 使用差错检测技术(例如循环冗余校验CRC),接收方的数据链路层就可检测出帧在传输过程中是否产生了误码(比特错误)。
- 数据链路层向上层提供的服务类型:
- 不可靠传输服务:仅仅丢弃有误码的帧,其他什么也不做。
- 可靠传输服务:想办法实现发送端发送什么,接收端就收到什么。
- 一般情况下,有限链路的误码率比较低,为了减小开销,并不要求数据链路层向上提供可靠传输服务。即使出现误码,可靠传输的问题由其上层处理。
- 无线链路容易受到干扰,误码率比较高,因此要求数据链路层必须向上层提供可靠传输服务。
可靠传输的实现机制 - 停止等待协议SW(Stop and Wait)
使用一个比特来标识分组!!!
注意事项:
- 接收端检测数据分组有误码时,将其丢弃等待发送方的超时重传。但对于误码率较高的点对点链路,为了使发送方尽早重传,也可以给发送方发送NAK分组。
- 为了让发送方能够判断所受到的数据分组是否重复的,需要给数据分组编号。由于停止-等待协议的停等特性,只需要一个比特编号就够了,及编号0和1.
- 为了让发送方能够判断所接收的ACK分组是否重复的,需要给ACK分组编号,所用比特数量与数据分组编号所用比特数量一样。数据链路层一般不出现ACK分组迟到的情况,因此在数据链路层实现停止等待协议不用给ACK分组编号。
- 超时计时器设置的重传时间应仔细选择。一般可将重传时间选择为略大于"从发送方到接收方的平均往返时间"。
- 在数据链路层点对点的往返时间比较确定,重传时间比较好设定。
- 然而在运输层,由于端到端往返时间非常不确定,设置合适的重传时间有时候并不容易。
停止-等待协议的信道利用率:
- 当往返时间RTT远大于数据帧发送时延TD时(例如使用卫星链路),信道利用率非常低。
- 若出现重传,则对于传送有用的数据信息来说,信道利用率还要降低。
- 为了克服停止-等待协议信道利用率很低的特点,就产生了另外两种协议,即后退N帧协议GBN和选择重传协议SR。
可靠传输的实现机制 - 回退N帧协议GBN
累计确认
- 回退N帧协议在流水线传输的基础上利用发送窗口来限制发送数据分组的数量,是一种连续ARQ协议。
- 在协议的工作过程中发送窗口和接收窗口不断向前滑动,因此这类协议又称为滑动窗口协议。
- 由于回退N帧协议的特性,当通信线路质量不好时,其信道利用率不比停止-等待协议高。
可靠传输的实现机制 - 选择重传协议SR
- 回退N帧协议的接收窗口尺寸WR只能等于1,因此接收方只能按序接收正确到达数据分组。
- 一个数据分组的误码就会导致其后续多个数据分组不能被接收方按序接收而被丢弃(尽管它们无乱序和误码)。这必然会造成发送方对这些数据的超时重传,显然这是对通信资源的极大浪费。
- 为了进一步提高性能,可设法只重传出现误码的数据分组。因此,接收窗口的尺寸WR不应再等于1(而应该大于1),以便接收方先收下失序但是无误码并且序号落在接收窗口内的那些数据分组,等到所缺分组收齐后再一并送交上一层。这就是选择重传协议!!!
注意:
选择重传协议为了使发送方仅重传出现差错的分组,接收方不能再采用累积确认,而需要对每一个正确接收的数据分组进行逐一确认!!!
点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的点对点数据链路层协议
PPP协议是因特网工程任务组IETF1992年制定。经过1993年和1994年修订,现在的PPP协议已经成为因特网的正式标准。
PPP协议在点对点链路传输各种协议数据报提供了一个标准方法,主要由以下三部分构成:
- 对各种协议数据报的封装方法(封装成帧)
- 链路控制协议LCP——用于建立、配置以及测试数据链路的连接
- 一套网络控制协议NCPs——其中的每一个协议支持不同的网络层协议
点对点协议PPP——帧格式:
点对点协议PPP——面向比特的同步链路采用插入比特0的比特填充法:
点对点协议PPP——差错检测:
接收方每收到一个PPP帧,就进行CRC检验。若CRC检验正确,就收下这个帧;反之,放弃这个帧。使用PPP的数据链路层向上不提供可靠传输服务。
共享信道要着重考虑一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制MAC(Medium Access Control)
静态划分信道:预先固定分配好信道,这类方法非常不灵活,对于突发性数据传输信道利用率会很低。
通常在无线网络的物理层中使用,而不是在数据链路层中使用。
集中控制:有一个主站以循环方式轮询每一个站点有无数据发送,只有被轮询到的站点才能发送数据,最大的缺点就是存在单点故障问题。
分散控制:各站点是平等的,并连接成一个环形网络。令牌(一个特殊的控制帧)延环逐栈传递,接收到令牌的站点才有权发送数据,并在发送完数据后将令牌传递给下一个站点。
随机接入:所有站点通过竞争,随机地在信道上发送数据。如果恰巧有两个或更多的站点在同一时刻发送数据,则信号在共享媒体上就要产生碰撞(即发生冲突)。使得这些站点得发送都失败。因此,这类协议要解决得关键问题是如何尽量避免冲突的出现以及在发生冲突后如何尽快恢复通信。共享式以太网采用的就是随机接入!!!
随着技术的不断发展,交换技术的成熟和成本的降低,既有更高性能的使用点对点链路和链路层交换机的交换式局域网在有线领域已经完全取代了共享式局域网,但由于无线信道的广播天性,无线局域网任然使用的是共享媒体技术。
媒体接入控制——静态划分信道:
信道复用:
- 复用(Multiplexing)是通信技术中的一个重要概念。复用就是通过一条物理线路同时传递多路用户的信号。
- 当网络中传输媒体的传输容量大于多条单一信道传输的总通信量时,可利用信道复用技术在一条物理线路上建立多条通信信道来充分利用传输媒体的带宽。
频分复用FDM:
时分复用TDM:
波分复用WDM:
码分复用CDM:
- 码分复用CDM是另一种共享信道的方法。实际上,由于该技术主要用于多址接入,人们更常用的名词是码分多址CDMA(Code Division Multiple Access)。
频分复用FDM和时分复用TDM同样可用于多址接入,相应的名词时频分多址FDMA(Frequency Division Multiple Access)和时分多址TDMA(Time Division Multiple Access)。
不严格区分复用与多址的概念:
- 复用:是将单一媒体的频带资源划分成很多子信道,这些子信道之间相互独立,互不干扰。从媒体的整体频带资源上看,每个子信道只占用该媒体频带资源的一部分。
- 多址(更确切的应该称为多点接入):处理的是动态分配信道给用户。这在用户仅仅暂时性的占用信道的应用中是必须的,而所有的移动通信系统基本上都属于这种情况。相反,在信道永久性地分配给用户的应用中,多址是不需要的(对于无线广播站就是这样)。
- 某种程度上,FDMA、TDMA、CDMA可以分别看成FDM、TDM、CDM的应用。
- 与FDM和TDM不同,CDM的每一个用户可以在同样的时间使用同样的频带进行通信。
- 由于各用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰。
- CDM最初是用于军事通信的,因为这种系统所发送的信号有很强的抗干扰能力,其频率类似于白噪声,不易于敌人发现
- 随机技术的进步,CDMA设备的价格和体积都大幅度下降,因而现已经广泛用于民用的移动通信中。
媒体接入控制——动态接入控制
随机接入CSMA/CD协议:
最小帧长:
最大帧长:
CSMA/CD协议——信道利用率:
CSMA/CD协议——帧发送流程:
CSMA/CD协议——帧接收流程:
- 网络层的主要任务是实现网络互联,进而实现数据包在各个网络之间的传输。
- 要实现网络层任务,需要解决以下主要问题:
- 网络层向运输层提供怎么样的服务:"可靠传输"还是"不可靠传输"
- 网络寻址问题
- 路由选择问题
因特网(Internet)是目前全世界用户数量最多的互联网,它使用TCP/IP协议栈。由于TCP/IP协议栈的网络层使用网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为网际层。
面向连接的虚拟电路服务:
- 可靠通信由网络来保证
- 必须建立网络层的连接——虚电路VC(Virtual Circuit)
- 通信双方沿着已建立的虚电路发送分组
- 目的主机的地址仅在连接建立阶段使用,之后每个分组的首部只需要携带一条虚电路的编号(构成虚电路的每一段链路都有一个虚电路编号)
- 这种通信方式如果再使用可靠传输的网络协议,就可使用所发送的分组最终正确到达接收方(无差错按序到达、不丢失、不重复)
- 通信结束后,需要释放之前所建立的虚电路
- 很多广域分组交换网都使用面向连接的虚电路服务。
无连接的数据报服务:
- 可靠通信应当由用户主机来保存
- 不需要建立网络连接
- 每个分组可走不同的路径
- 每个分组的首部必须携带目的的主机的完整地址
- 这种通信方式所传递的分组可能误码、丢失、重复和失序
- 由于网络本身不提供端到端的可靠传输服务,这就使得网络三种的路由器可以做到比较简单,而且价格低廉(与电信网的交换机相比)
- 因特网采用了这种设计思想,也就是将复杂的网络处理功能置于因特网的边缘(用户主机和其内部的运输层),而将相对简单的尽最大努力的分组交付功能置于因特网核心
IPV4地址概述:
- 在TCP/IP体系中,IP地址是一个最基本的概念,我们必须把它弄清楚
- IPV4地址就是给因特网(Internet)上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32比特的标识符。
- IP地址由因特网名字和数字分配机构ICNN(Internet Corporation for Assigned Names and Unmbers)进行分配。
- 我国用户可向亚太网络信息中心APNIC(Asia Pacific Network Information Center)申请IP地址,需要缴费。
- 2011年2月3日,互联网号码分配管理局IANA(由ICANN行使职能)宣布,IPV4地址已经分配完毕。
- 我国在2014至2015年也逐渐停止了向新用户和应用分配IPV4地址。同时全面展开商用部署IPV6。
- IPV4地址的编址方法经历如下三个历史阶段: