计算机网络笔记
时间:2023-05-01 00:37:00
文章目录
- 计算机网络
-
- 一、概述
-
- 1.1.计算机网络在信息时代的作用
- 1.2.因特网概述
-
- 1.2.1.网络、互联网和因特网
- 1.2.2.特网发展的三个阶段
- 1.2.3.特网的标准化工作
- 1.2.由特网组成
- 1.三种交换方式
-
- 1.3.1、电路交换(Circuit Switching)
- 1.3.2、分组交换(Packet Switching)
- 1.3.3、报文交换
- 1.3.4、对比
- 1.4.计算机网络的定义和分类
-
- 1.4.1.计算机网络的定义
- 1.4.2.计算机网络的分类
- 1.5.计算机网络的性能指标
- 1.6.计算机网络系统的结构
-
- 1.6.1.常见的计算机网络系统结构
- 1.6.2.计算机网络系统结构分层的必要性
- 1.6.3.计算机网络系统结构分层思想的例子
- 1.6.4.计算机网络系统结构中的特殊术语
-
- 实体
- 协议
- 服务
- 1.7、章节小结
- 1.8、练习题
- 二、物理层
- 三、数据链路层
-
- 3.1.数据链路层概述
- 3.2、封装成帧
- 3.3、差错检测
- 3.4、可靠传输
-
- 3.4.1.可靠传输的基本概念
- 3.4.停止-等待协议
- 3.4.3、回退N帧协议GBN
- 3.4.4.选择重传协议SR
- 3.5.点对点协议PPP
- 3.6.媒体接入控制
-
- 3.6.1、媒体接入控制的基本概念
- 3.6.2.静态划分信道
- 3.6.3、随机接入——CSMA/CD协议
- 3.6.4、随机接入——CSMA/CA协议
- 3.7、MAC地址、IP地址以及ARP协议
-
- 3.7.1、MAC地址
- 3.7.2、IP地址
- 3.7.3、ARP协议
- 3.8.集线器和交换机的区别
- 3.9.以太网交换机自学转发帧的过程
- 3.10.以太网交换机生成树协议STP
- 3.虚拟局域网VLAN概述
-
- 3.11.1、概述
- 3.11.2、实现机制
- 四、网络层
-
- 4.1.网络层概述
- 4.2.网络层提供的两种服务
- 4.3、IPv4地址
-
- 4.3.1、IPv4地址概述
- 4.3.二、分类编址IPv4地址
- 4.3.3.分子网IPv4地址
- 4.3.4.无分类编址IPv4地址
- 4.3.5、IPv4地址应用规划
- 4.4、IP数据报的发送和转发过程
- 4.5.静态路由配置及其可能的路由环路问题
- 4.6.路由选择协议
-
- 4.6.1.路由选择协议概述
- 4.6.2.路由信息协议RIP基本工作原理
- 4.6.3、 发展最短路径有限OSPF基本工作原理
- 4.6.4.边界网关协议BGP的基本工作原理
- 4.7、IPv数据报告的第一个格式
- 4.8.网控报文协议ICMP
- 4.9.虚拟专用网VPN转换网络地址NAT
-
- 4.9.1.虚拟专用网VPN
- 4.9.2.网络地址转换NAT(Network Address Translation)
- 五、运输层
-
- 5.1.运输层概述
- 5.2.运输层端口号、复用与分用的概念
- 5.3、UDP和TCP的对比
- 5.4、TCP的流量控制
- 5.5、TCP的拥塞控制
- 5.6、TCP选择超时重传时间
- 5.7、TCP实现可靠传输
- 5.8、TCP运输连接管理
-
- 5.8.1、TCP的连接建立
- 5.8.2、TCP的连接释放
- 5.9、TCP报文段的首部格式
- 六、应用层
-
- 6.1.应用层概述
- 6.2.客户/服务器模式(C/S)和对等方式(P2P)
- 6.3.动态主机配置协议DHCP
- 6.4、域名系统DNS(Domain Name System)
- 6.5.文件传输协议FTP
- 6.6、电子邮件
- 6.7、万维网WWW
参考视频:https://www.bilibili.com/video/BV1c4411d7CQ
计算机网络
一、概述
1.1、计算机网络在信息时代的作用
计算机网络已由一种通信基础设施发展成为一种重要的信息服务基础设施。
计算机网络已经成为像水、电这些基础设时一样,成为我们生活重不可或缺的一部分。
查看:http://www.cnnic.net.cn/
1.2、因特网概述
1.2.1、网络、互联网和因特网
网络(Network)由若干结点(Node)和连接这些结点的链路(Link)组成。
多个网络还可以通过路由器互联起来,这样就构成了一个覆盖范围更大的网络,即互联网(或互联网)。因此 ,互联网是“网络的网络”(Network of Networks)。
因特网(Internet)是世界上最大的互联网络(用户数以万计,互联的网络数以百万计)。
区分:
-
internet:(互联网或互连网)这是一个通用名词,泛指由多个计算机网络互联而成的网络,网络之间的通信协议可以是任意的。
-
Internet:(因特网)是一个专有名词,指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,是采用TCP/IP协议族作为通信的规则,其前身是美国的APPNET。
1.2.2、因特网发展的三个阶段
因特网服务提供者ISP(Internet Service Provider)
ISP可以从新特网管理机构申请到成块的IP地址,同时拥有通信线路以及路由器等联网设备,任何机构和个人只要向ISP缴纳费用,就可以从ISP得到ip地址,这一点很重要,因为因特网上的主机都必须有ip地址才能进行通信,这样就可以通过ISP接入Internet
基于ISP的三层结构的因特网
1.2.3、因特网的标准化工作
1.2.4、因特网的组成
-
边缘部分:由所有连接在因特网的主机组成,是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
-
核心部分:由大量网络和连接这些网络的路由器组成,这部分是为边缘服务提供服务的(提供连通性交换)。
1.3、三种交换方式
1.3.1、电路交换(Circuit Switching)
电话交换机接通电话线的方式称为电路。
从通信资源的分配角度来看,交换就是按照某种方式动态的分配传输线路的资源。
在图中,每个电路交换都需要建立一条物理通路,每条连接都是不可抢占,一直存在的。
电路交换的步骤:
-
1、建立连接(分配通信资源)
-
2、通话(一直占用通信资源)
-
3、释放连接(归还通信资源)
在建立连接后不论通信资源有没有使用,都不会进行中断,除非用户中断。
当使用电路交换来传送计算机数据时,其线路的传输效率往往很低
1.3.2、分组交换(Packet Switching)
把整块数据/信息分为多个数据段(相对于报文传输而言),数据段分开传输。在数据段前面加上首部后,成为一个分组。以分组为单位传输。各个分组交换机会把分组先存储下来,然后根据其头部信息的目的地地址,发送给下一个交换机。各个交换机进行对分组信息的储存转发后,最终到达主机H2。接收方去除分组首部,还原出原始报文。
在转发过程中有两个特点:
1、各分组从源站到达目的地可以走不同的路径。
2、分组到达目的站的顺序不定,可能出现顺序变化。
在分组传输中各个角色主要功能:
1.3.3、报文交换
与分组交换类似,报文交换中的交换结点也采用 存储-转发方式,但报文交换对报文的大小没有限制,这就要求交换及结点要有较大的存储空间,需要注意的是,报文交换主要用于早期的电报通信网,现在较少使用,通常被先进的分组方式替换
1.3.4、对比
1.4、计算机网络的定义与分类
1.4.1、计算机网络的定义
- 计算机网络的精确定义并未统一
- 计算机网络的最简单的定义是:一些互相连接的、自治的计算机的集合。
- 互联:是指计算机之间可以通过有线或无线的方式进行数据通信;
- 自治:是指独立的计算机,它有自己的硬件和软件,可以单独运行使用;
- 集合:是指至少需要两台计算机;
- 计算机网络的较好的定义是:计算机网络主要是由一些通用的、可编程的硬件互联而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
- 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等只能硬件。
- 计算机网络并非专用传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)。
1.4.2、计算机网络的分类
公用网:指的是电信公司构建的大型网络,面对公众开放,只要交钱既可使用,又叫公众网。
专用网:指的是某个部门为本单位的特殊业务工作需要而建造的网络。例如铁路部门、电信部门专门为自己构建的,不对外开放的网络
有线网络:主要双绞线(日常使用网线)、光纤。
无线网络:主要是WIFI。
广域网WAN:覆盖面积通常为几十公里到几千公里,可以覆盖国家范围、洲际范围,有时也成为远程网。负责互连分布在不同区域的城域网和局域网,是最大范围的网络。
城域网MAN:覆盖范围一般是一个城市。作用距离为5到50公里。通常作为城市骨干网,互连大量企业、机构、学校。
局域网LAN:局域网一般是微信计算机或工作站通过告诉线路相连,范围一般是一个实验室、一栋楼或一个校园。通常由某个单位单独拥有、使用和维护。
个域网PAN:个人区域网络。非用来连接普通计算机,耳式在个人工作的地方把个人使用的电子设备,鼠标、键盘、耳机等用无线的方式连接起来形成的个人网络系统。
总线型网络:用单根传输线把计算机连接起来。
-
优点:建网容易,增减节点方便,节省线路。
-
缺点:重负载时通信效率不高,任意一处出现故障后全网瘫痪。
星型网络:是将每个计算机都以单独的线路与中央设备相连。中央设备现在一般是交换机。
-
优点:便于网络的集中控制和管理。
-
缺点:成本高,中央设备对故障敏感。
环形网络:是将所有计算机网络接口连接成一个环。环可以是单环或者双环,环中信号是单项传输的。
在网状结构中,每个节点至少由两条路径与其他节点相连接,多用在广域网中。
-
优点:可靠性高。
-
缺点:控制复杂,线路成本高。
在以上四种结构中可以组合任意的更加复杂有效的结构。
1.5、计算机网络的性能指标
性能指标可以从不同的方面来度量计算机网络的性能。
常用的计算机网络的性能指标有以下8个:
-
速率
-
带宽
-
吞吐量
- 吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。
- 吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
- 吞吐量受网络的带宽或额定速率的限制。
- 带宽1GB/s 的以太网,吞吐量最大能达到1Gb/s、通常在700Mb/s。
-
时延
-
时延带宽积
-
往返时间
- 在许多情况下,因特网上的信息不仅仅单方向传输,而是双向交互;
- 我们有时很需要知道双向交互一次所需的时间;
- 因此,往返时间RTT(Round-Trip Time)也是一个重要的性能指标
-
利用率
-
丢包率
1.6、计算机网路体系结构
1.6.1、常见的计算机网路体系结构
能够占领市场的就是标准
TCP/IP体系结构相当于: 将OSI结构的物理层和数据链路层合并成为网络接口层,去掉了会话层和表示层。
TCP/IP协议为了将不同的网络接口互联,因此网络接口层并没有规定什么内容
所以了为了便于计算机网络的原理学习,将体系结构划分成了5层
1.6.2、计算机网络体系结构分层的必要性
- 计算机网络是个非常复杂的系统。早在最初的APPANET设计时就提出来分层的设计理念。
- “分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理
解决以上问题后就可以实现01信号在计算机之间的传输。
解决此问题后可以实现分组在一个网络上传输。
解决此问题后可以实现分组在网络间传输。
解决此问题后可以实现进程之间基于网络的通信。
解决此问题后可以实现计算机网络所解决的所有问题。
1.6.3、计算机网络体系结构分层思想举例
应用层:按照http请求的协议,构建报文。
**运输层:**给http请求加上一个首部,使其成为一个TCP报文段。其首部的作用是区分应用进程和实现可靠传输。
网络层:给TCP报文段加上一个IP首部,使其成为IP数据报。其首部作用是为了使该数据报可以在互联网上传输(被路由器转发)。
数据链路层:给IP数据报添加一个首部和一个尾部,使其成为帧(按帧传输)。其首部的作用是使其能够在一段链路或者网络上传输,能够被相应的目的主机接收。其尾部的作用是为了让目的主机检查是否有误码。
物理层:将帧看作是比特流(01编码),由于是在以太网传输,因而给其加上前导码,便于传输。并且将其变成相应的信号发送到传输媒体。
接收端的过程就是发送端的逆过程
1.6.4、计算机网络体系结构中的专用术语
实体
- 实体 任何可发送或接收信息的硬件或软件进程
- 对等实体 收发双发相同层次中的实体
协议
- 协议 控制两个对等实体进行逻辑通信的规则的集合
-
协议的三要素 语法 语义 同步
-
语法 定义所交换信息的格式
-
语义 定义收发双方所要完成的操作
-
同步 定义收发双方的时序关系
-
服务
- 在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务
- 要实现本层协议,还需要使用下面一层所提供的服务
- 协议是“水平的”,服务是“垂直的”
- 实体看得见相邻下层所提供的服务,但并不知道实现该服务的具体协议。也就是说,下面的协议对上面的实现是“透明”的
-
服务访问点 在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型。
- 数据链路层的服务访问点为帧的“类型”字段。
- 网络层的服务访问点为IP数据报首部中的“协议字段”。
- 运输层的服务访问点为“端口号“
-
服务原语 上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令称为服务原语。
-
协议数据单元PDU 对等层次之间传送的数据包称为该层的协议数据单元。
-
服务数据单元SDU 同一系统内,层与层之间交换的数据包称为服务数据单元。
-
多个SDU可以合成一个PDU;一个SDU也可以划分为几个PDU
1.7、章节小结
1.8、练习题
二、物理层
2.1、物理层的基本概念
- 物理层考虑的是怎么才能在连接各种计算机的传输媒体上传输数据比特流。
- 物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。
2.2、物理层下面的传输媒体
2.2.1、导引型传输媒体
在导引型传输媒体中,电磁波被导引沿着固体传播媒体传播。
同轴电缆
模拟传输,主要用于有线电视
同轴电缆价格较贵且布线不投灵活和方便,随着集线器的出现,在局域网领域基本上都是采用双绞线作为传输媒体。
双绞线
双绞线是最古老又常用的传输媒体。也就是生活中最常见的网线。
绞合的作用:
- 抵御部分来自外界的电磁波干扰
- 减少相邻导线的电磁干扰
光纤
每一根光纤是非常细的,因此需要将他做成很结实的光缆,一根光缆少则只有一根光纤,多则可能有数十根甚至数百跟光纤。 光纤的芯非常细。
光纤的优点:
- 通信容量大(25000~30000GHz的带宽)
- 传输损耗下,远距离传输时更加经济
- 抗雷电和电磁干扰性能好。这在大电流脉冲干扰的环境下尤为重要
- 无串音干扰,保密性好,不易被窃听
- 体积小,重量轻
光纤的缺点:
- 割接需要专用设备
- 光电接口价格较贵
光在光纤中传输的原理
- 当光从高折射率的媒体射向低折射率的媒体时,其折射角将大于入射角。
- 因此,如果入射角足够大,就会出现全反射,即光碰到包层使,就会反射会纤芯。
电力线
2.2.2、非导引型传输媒体
常见的非导引型传输媒体
无线电波
无线电波用于国际广播、海事和航空通讯等。
微波
红外线
-
利用红外线传输数据,例如电视遥控等。
-
点对点无线传输。
-
直线传输,中间不能有障碍物,传输距离短,传输速率低。
可见光
LIFI,可以实现使用可见光通信,但是目前还在实验室阶段。
2.3、传输方式
2.4、编码与调制
-
编码:在不改变信号性质的情况下仅对数字基带信号的波形进行变换
-
调制:把数据基带信号的频率范围,搬移到较高的频段,并转换为模拟信号
常用编码
基本调制方法
调幅: 对基带信号的波幅进行调整,例如将上图的1信号波幅进行改变,在接收方读取时有载波输出为1.
调频: 对基带信号频率进行调整,例如将0信号调制为频率f1,1信号调制为频率f2。
**调相: **对基带信号相位进行调制,例如将0信号的初相位调整为0度,1信号的初相位调整为180度。
使用基本调制方法,1个码元只能包含1个比特信息。
如何能使1个码元包含更多比特信息?
混合调制
因为频率和相位是相关的,即频率是相位岁时间的变化率。所以一次只能调制频率和相位两个中的一个。
通常情况下,相位和振幅可以结合起来一起调制,称为正交振幅调制QAM。
QAM-16
- 12种相位
- 每种相位有1或2种振幅可选
- 可以调制出16种码元(波形),每种码元可以相应表示4个比特
- 码元与4个比特的对应关系采用格雷码,即任意两个相邻码元只有1个比特不同
2.5、信道的极限容量
- 在信道带宽一定的情况下,根据奈式准则和香农公式,要想提高信息的传输速率就补习采用多元制(更好的调制方法)和努力提高信道中的信噪比。
- 自从香农公式发表后,各种新的信号处理和调制方法就不断出现,其目的都是为了尽可能地接近香农公式给出的传输速率极限。
三、数据链路层
3.1、数据链路层概述
-
链路:就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。
-
数据链路:是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路
-
数据链路层已帧为单位传输和处理数据
使用点对点信道的数据链路层的三个重要问题
- 封装成帧
封装成帧是把网络层交付的协议数据单元,添加帧头和帧尾的操作,称为封装成帧,主要目的是为了在链路上以帧为单元传输数据,从而实现数据链路层本身的功能。
- 差错检测
-
在传输过程中可能会产生比特差错
-
发送方会基于发送的数据和检错算法计算出检错码,并放在帧尾。
-
接收方主机根据帧尾中的检错码和检错算法来判断帧中是否有误码。
-
- 可靠传输
尽管误码是不能完全避免的,但若能实现发送方发送什么,接收方就能收到什么,就称为可靠传输。
使用广播信道的数据链路层
- 在发送信号过程中,如何知道收到的帧是发送给自己的?
以太网V2的MAC帧,在其帧头就有目的地地址和发送主机源地址。
- 数据碰撞:在数据发送过程中可能出现有两个主机同时发送数据,就会造成数据碰撞。
数据链路层的互连设备
随着技术的发展,交换技术的成熟,在有线(局域网)领域 使用点对点链路和链路层交换机的交换式局域网取代了共享式局域网
在无线局域网中仍然使用的是共享信道技术
3.2、封装成帧
封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧。
- 帧头和帧尾中包含有重要的控制信息
- 帧头和帧尾的作用之一就是帧定界
透明传输是指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。
- 面向字节的物理链路使用字节填充(或称字符填充)的方法实现透明传输
- 面向比特的物理链路使用比特填充的方法实现透明传输。
为了提高帧的传输效率,应当使帧的数据部分的长度尽可能大些。
考虑到 差错控制等多种因素,每一种数据链路层协议都规定了帧的数据部分的长度上限,即最大传送单元MTU(Maximum Transfer Unit)
3.3、差错检测
实际的通信链路都不是理想的,比特在传输过沉重可能会产生差错:1可能会变成0,而0也可能变成1。这称为比特差错。
在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(Bit Error Rate)。
在使用差错检测码来检测数据在传输过程中是否产生了比特差错,是数据链路层所要解决的重要问题之一。
奇偶校验
- 在待发送的数据后面添加1位奇偶校验位,使整个数据(包括所添加的校验位在内)中 ”1“的个数为奇数(奇校验)或偶数(偶校验)。
- 如果有奇数个位发生误码,则奇偶性发生变化,可以检查出误码;
- 如果有偶数个位发生误码,则奇偶性不发生变化,不能检查出误码(漏检)。
循环冗余校验
- 收发双发约定好一个生成多项式G(x)
- 发送方基于待发送的数据和生成多项式计算出差错检测码(冗余码),将其添加到待传输数据的后面一起传输;
- 接收方通过生成多项式来计算收到的数据是否产生了误码
检错码只能检测出帧在传输过程中出现了差错,但并不能定位错误,因此无法纠正错误。
要想纠正传输中的差错,可以使用冗余信息更多的纠错码进行前向纠错。但纠错码的开销比较大,在计算机网络中较少使用。
循环冗余校验CRC有很好的检错能力(漏检率非常低),虽然计算比较复杂,但非常易于用硬件实现,因此被广泛应用于数据链路层。
在计算机网络中通常采用我们后续课程中将要讨论的检错重传方式来纠正传输中的差错,或者仅仅是丢弃检测到差错的帧,这取决于数据链路层向其上传提供的是可靠传输服务还是不可靠传输服务。
3.4、可靠传输
3.4.1、可靠传输的基本概念
使用差错检测技术(例如循环冗余校验CRC),接收方的数据链路层就可检测出帧在传输过程中是否产生了误码(比特错误)。
数据链路层向上层提供的服务类型
- 不可靠传输服务:仅仅丢弃有误码的帧,其他什么也不做;
- 可靠传输服务:想办法实现发送端发送什么,接口端就收到什么。
一般情况下, 有线链路的误码率比较低,为了减小开销,并不要求数据链路层向上提供可靠传输服务。即使出现了误码,可靠传输的问题由其上层处理。
无线链路易受干扰,误码率比较高,因此要求数据链路层必须向上层提供可靠传输服务。
比特差错只是传输差错中的一种。
从整体计算机网络体系结构来看,传输差错还包括分组丢失、分组失序以及分组重复。
可靠传输服务并不仅局限于数据链路层,其他各层可选择实现可靠传输。
可靠传输的实现比较复杂,开销也比较大,是否使用可靠传输取决于应用需求。
3.4.2、停止-等待协议
停止-等待协议SW(Stop-and-Wait)
注意事项
-
接收端检测到数据分组有误码时,将其丢弃并等待发送方的超时重传。但对于误码率较高的点对点链路,为使发送方尽早重传,也可给发送方发送NAK分组。
-
为了让接收方能够判断所收到的数据分组是否是重复的,需要给数据分组编号。由于停止-等待协议的停等性,只需1个比特编号就够了,即编号0和1。
-
为了让发送方能够判断所收到的ACK分组是否是重复的,需要给ACK分组编号,所用比特数量与数据分组编号所用比特数量一样。数据链路层一般不会出现ACK分组迟到的情况,因此在数据链路层实现停止-等待协议可以不用给ACK分组编号。
-
超时计时器设置的重传时间应仔细选择。一般可将重传时间选为略大于“从发送方到接收方的平均往返时间”。
- 在数据链路层点对点的往返时间比较确定,重传时间比较好设定。
- 然而在运输层,由于端到端往返时间非常不确定,设置合适的重传时间有时并不容易。
3.4.3、回退N帧协议GBN
回退N帧协议在流水线传输的基础上利用发送窗口来限制发送方连续发送数据分组的数量,是一种连续ARQ协议。
在协议的工作过程中发送窗口和接口窗口不断向前滑动,因此这类协议又称为滑动窗口协议。
由于回退N帧协议的特性,当通信线路质量不好时,其信道利用率并不比停止-等待协议高。
回退N帧协议的缺点:
- 回退N帧协议的接收窗口尺寸WR只能等于1,因此接收方只能按序接收正确到达的数据分组。
- 一个数据分组的误码就会导致其后续多个数据分组不能被接收方按序接收而丢弃(尽管他们无乱序和误码)。这必然会造成发送方对这些数据分组的超时重传,显然这是对通信资源的极大浪费。
3.4.4、选择重传协议SR
为了进一步提供性能,可设法只重传出现误码的数据分组。因此,接收窗口的尺寸WR不应再等于1(而应大于1),以便接收方先收下失序到达但无误码并且序号落在接收窗口内的那些数据分组,等到所缺分组收齐后再一并送交上层。这就是选择重传协议。
3.5、点对点协议PPP
点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的点对点数据链路层协议
PPP协议是因特网工程任务组IEIF在1992年制定的。经过1993年和1994年的修订,现在的PPP协议已成为因特网的正式标准[RFC1661,RFC1662]
PPP协议为在点对点链路传输各种协议数据报中提供了一个标准办法,主要由三部分组成:
- 对各种协议数据报的封装方法(封装成帧)
- 链路控制协议LCP —— 用于建立、配置以及测试数据链路的连接
- 一套网络控制协议NCPs —— 其中的每一个协议支持不同的网络层协议
3.6、媒体接入控制
3.6.1、媒体接入控制的基本概念
共享信道要着重考虑的一个问题就是如何协调多个发送和接收站点对一个共享传输媒体的占用,即媒体接入控制MAC(Medium Access Control)。
随着技术大发展,交换技术的成熟和成本的降低,具有更高性能的使用点对点链路和链路层交换机的交换式局域网在有线领域已完全取代了共性式局域网,但由于无线信道的广播天性,无线局域网仍然使用的是共享媒体技术。
3.6.2、静态划分信道
信道复用
- 复用(Multiplexing)是通信技术中的一个重要概念,复用就是通过一条物理线路同时传输多路用户的信号。
- 当网络中传输媒体的传输容量大于多条单一信道的总通信量时,就可以利用复用技术在一条物理线路上建立多条通信信道来充分利用传输媒体的带宽。
频分复用FDM
- 将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带。
- 频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。
接收端通过相应的分用其通过滤波将各路信号分开。将合成的服用信号恢复成原始的多路信号。
分复用TDM
- 将时间划分成一个个的时间间隙
- 时分复用技术将传输线路的带宽资源按一个个的时间间隙轮流分配给不同的用户。
- 每个用户只在所分配的时隙里使用线路传输数据。
波分复用(WDM)
波分复用就是光的频分复用。
光信号传输一段距离后会衰减,所以要用掺铒光纤放大器放大光信号
码分复用(CDM):
码分复用CDM是另一种共享信道的方法。实际上,由于该技术主要用于多址接入,人们更常用的名词时码分多址CDMA(Code Division Multiple Access)
同理,频分复用FDM和时分复用TMD都可用于多址接入,相应的名词是频分多址FDMA(Frequency Division Multiple Access)和时分多址TMDA(Time Division Multiple Access)
复用与多址:
- 复用是将单一媒体的频带资源划分成很多子信道,这些子信道之间相互独立,互不干扰。从媒体的整体频带资源上看,每个子信道只占用该媒体频带资源的一部分。
- 多址(更确切地应该成为多点接入)处理的是动态分配信道给用户。这在用户仅仅暂时性地占用信道的应用中是必须的, 而所有的移动系统基本上都需要这种情况。相反,在信道永久性地分配给用户的应用中,多址是不需要的(对于无线广播或电视广播站就是这样)。
- 某种程度上,FDMA、TDMA、CDMA可以分别看成是FDM、TDM、CDM的应用。
与FDM和TDM不同,CMD的每一个用户可以在同样的时间使用同样的频带进行通信。
由于个用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰。
CMD最初是用于军事通信的,因此这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易于被敌人发现。
随着技术的进步,CDMA设备的价格和体积都大幅度下降,因而现在已广泛用于民用的移动通信中。
计算机网络码分多址CDMA及计算例题(简单易懂)
3.6.3、随机接入——CSMA/CD协议
3.6.4、随机接入——CSMA/CA协议
3.7、MAC地址、IP地址以及ARP协议
3.7.1、MAC地址
当多个主机连接再同一个广播信道上,想要实现两个主机之间的通信,则每个主机必须有一个唯一的标识,即一个数据链路层地址;
在每个主机发送的帧中必须携带标识发送主机和接收主机的地址。由于这类地址是用于媒体接入控制MAC(Medium Access Contr),因此这类地址被称为MAC地址。
-
MAC地址一般被固化在网卡中(网络适配器)的电可擦可编程只读存储器EEPROM中,因此MAC地址也被称为硬件地址;
-
MAC地址有时也被称为物理地址。但这并不意味着MAC地址属于网络体系结构中的物理层!
一般情况下,用户主机会包含两个网络适配器:有线局域网适配器(有线网卡)和无线局域网适配器(无线网卡)。每个网络适配器都有一个全球唯一的MAC地址。而交换机和路由器往往拥有更多的网路接口,所以会拥有更多的MAC地址。综上所述,严格来说,MAC地址是对网络上各接口个唯一标识,而不是对网络上各设备的唯一标识。
在ieee官网中,可以根据MAC地址查询到地址的相关信息,例如厂商,生产地址等等。
对于使用EUI-48空间的应用程序,IEEE的目标寿命为100年(直到2080年),但是鼓励采用EUI-64作为替代。
3.7.2、IP地址
IP地址是因特网(Internet)上的主机和路由器所使用的地址,用于标识两部分信息:
- 网络编号:标识因特网上数以百万计的网络
- 主机编号:标识同一网络上不同主机(或路由器个接口)
很显然,之前介绍的MAC地址不具备区分 不同网络的功能
- 如果只是一个单独的网络,不接入因特网,可以只使用MAC地址(这不是一般用户的应用方式)。
- 如果主机所在的网络要接入因特网,则IP地址和MAC地址都需要使用。
3.7.3、ARP协议
地址解析协议ARP,可以实现由IP地址寻求到MAC地址
ARP高速缓存表中每条记录都有其类型:
- 动态:自动获取,生命周期默认为两分钟
- 静态:手动设置,不同操作系统下的生命周期不同,例如系统重启后不存在或系统重启后依然有效。
由于ARP协议的适用是逐段链路进行的,因此ARP协议只能在一段链路或一个网络上使用,而不能跨网络使用。
3.8、集线器与交换机的区别
3.9、以太网交换机自学习和转发帧的流程
- 以太网交换机工作在数据链路层(也包括物理层)
- 以太网交换机收到帧后,在帧交换表汇总查找帧的目的MAC地址所对应的接口号,然后通过该接口转发帧。
- 以太网交换机是一种即插即用设备,刚上电启动时其内部的帧交换表是空的。随着网络中各主机间的通信,以太网交换机通过自学习算法自动逐渐建立起帧交换表。
以太网交换机自学习和转发帧的流程:
- 收到帧后进行登记。登记的内容为帧的源MAC地址及进入交换机的接口号;
- 根据帧的目的MAC地址和交换机的帧交换表对帧进行转发,有以下三种情况:
- 明确转发:交换机知道应当从哪个(或哪些)接口转发该帧(单播,多播,广播)
- 盲目转发:交换机不知道应当从哪个端口转发帧,只能将其通过除进入交换机的接口外的其他所有接口转发(也称泛洪)。
- 明确丢弃:交换机知道不应该转发该帧,将其丢弃。
帧交换表中的每条记录都有自己的有效时间,到期删除。原因如下:
- 交换机的接口改接了另一台主机;
- 主机更换了网卡。
3.10、以太网交换机的生成树协议STP
如何提高以太网的可靠性?
- 添加冗余链路可以提高以太网的可靠性
- 但是,冗余链路也会带来负面效应——形成网络环路
- 网络环路会带来一下问题:
- 广播风暴:大量消耗网络资源,使得网络无法正常转发其他数据帧
- 主机收到重复的广播帧,大量消耗主机资源
- 交换机的帧交换表震荡(漂移)
以太网交换机使用生成树协议STP(Spanning Tree Protocol),可以在增加冗余链路来提高网络可靠性的同时又避免网络环路带来的各种问题。
- 不论交换机之间采用怎样的物理连接,交换机都能够自动计算并构建一个逻辑上没有环路的网络,其逻辑拓扑结构必须是树型的(无逻辑环路);
- 最终生成的树型逻辑拓扑要确保连通整个网络;
- 当首次连接交换机或网络物理拓扑发生变化时(有可能是人为改变或故障),交换机都将进行生成树的重新计算。
3.11、虚拟局域网VLAN概述
3.11.1、概述
以太网交换机工作在数据链路层(也包括物理层)
使用一个或多个以太网交换机互联起来的交换式以太网, 其所有站点都属于同一个广播域。
随着交换式以太网规模的扩大,广播域相应扩大。
巨大的广播域会带来很多弊端:
- 广播风暴
- 难以管理和维护
- 潜在的安全问题
网络中会频繁出现广播信息
TCP/IP协议栈中的很多协议都会使用广播:
- 地址解析协议ARP(已知IP地址,找出其相应的MAC地址)
- 路由信息协议PIP(一种小型的内部路由协议)
- 动态主机配置协议DHCP(用于自动配置IP协议)
NetBEUI:Windows下使用的广播型协议
IPX/SPX:Novell网络的协议栈
Apple Talk:Apple公司的网络协议栈
分割广播域的方法
-
使用路由器可以隔离广播域
路由器的成本较高
- 虚拟局域网VLAN技术
虚拟局域网VLAN(Virtual Local Area Network)是一种将局域网内的设备划分成与物理位置无关的逻辑组的技术,这些逻辑组具有某些共同的需求。
3.11.2、实现机制
IEEE 802.1Q帧
交换机的端口类型
四、网络层
4.1、网络层概述
网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输。
要实现网络层任务,需要解决一下主要问题:
- 网络层向运输层提供怎样的服务(“可靠传输”还是“不可靠传输”)
- 网络层寻址问题
- 路由如何选择问题(路径选择问题)
因特网(Internet)是目前全世界用户数量最多的互联网,它使用TCP/IP协议栈。
由于TCP/IP协议栈的网络层使用网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为网际层。
综上所述,我们通过学习TCP/IP协议栈的网际层来学习网络层的理论知识和实践技术。
4.2、网络层提供的两种服务
面向连接的虚电路服务
-
可靠通信由网络来保证
-
必须建立网络层的连接——虚电路VC(Virtual Circuit)
-
通信双方沿着已建立的虚电路发送分组
-
目的主机的地址仅在连接建立阶段使用,之后每个分组的首部只需携带一条虚电路的编号(构成虚电路的每一段链路都有一个虚电路编号)。
-
这种通信方式如果再使用可靠传输的网络协议,就可使所发送的分组最终正确到达接收方(无差错按序到达、不丢失、不重复)。
-
通信结束后,需要释放之前所建立的虚电路。
很多广域分组交换网都是用面向连接诶的虚电路服务。例如,曾经的X.25和逐渐过时的帧中继FR、异步传输模式ATM等。
无连接的数据报服务
- 可靠通信应当有用户主机来保证
- 不需要建立网络层连接
- 每个分组可走不同的路径
- 每个分组的首部必须携带目的主机的完整地址
- 这种通信方式所传送的分组可能误码、丢失、重复和失序。
- 由于网络本身不提供端到端的可靠传输服务,这就使网络中的路由器可以做的比较简单,而且价格低廉(与电信网的交换机相比较)。
- 因特网采用了这种设计思想,也就是将复杂的网络处理工能置于因特网的边缘(用户主机和其内部的运输层),而将相对简单的尽最大努力的分组交付功能置于因特网核心。
4.3、IPv4地址
4.3.1、IPv4地址概述
在TCP/IP体系中,IP地址是一个最基本的概念,也是网络层最重要的概念之一。
IPv4地址就是给因特网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32比特的标识符。
IP地址由因特网名字和数字分配机构ICANN(Internet Corporation for Assigned Names and Numbers)进行分配。
- 我国用户可向亚太网信中心APNIC(Aisa Pacific Network Information Center)申请IP地址,需要缴费。不对个人开放
- 2011年2月3日,互联网号码分配局IANA(由ICANN行使职能)宣布,IP地址已经分配完毕。
- 我过在2014至2015年也逐步停止了向新用户和应用分配IPv4地址,同时全面开展商用部署IPv6。
32比特的IPv4地址不方便阅读、记录以及输入等,因此IPv4地址采用点分十进制表示方法以方便用户使用。
4.3.2、分类编址的IPv4地址
4.3.3、划分子网的IPv4地址
为新增网络申请新的网络号会带来一下弊端:
- 需要等待时间和花费更多的费用
- 会增加其他路由器中路由表记录的数据量
- 浪费原有网络中剩余的大量IP地址
从主机号部分借用一部分作为子网号
32比特的子网掩码可以表名分类IP地址的主机号部分被借用了几个比特作为子网号
- 子网掩码使用连续的比特1来对应网络号和子网号
- 子网掩码使用连续的比特0来对应主机号
- 将划分子网的IPv4地址与其相应的子网掩码进行逻辑与运算就可得到IPv4地址所在子网的网络地址
4.3.4、无分类编址的IPv4地址
划分子网在一定程度上缓解了因特网在发展中遇到的困难,但是数量巨大的C类网因为其他地址空间太小并没有得到充分使用,而因特网的IP地址仍在加速消耗,整个IPv4地址空间面临全部耗尽的威胁。
为此,因特网工程任务组IETF又提出了采用无分类编址的方法来解决IP地址紧张的问题,同时还专门成立IPv6工作组负责研究新版本IP以彻底解决IP地址耗尽问题。
1993年,IETF发布了无分类域间路由选择CIDR(Classless Inter-Domain Routing)的RFC文档:RFC1517~1519和1520.
- CIDR消除了传统的A类、B类和C类地址,以及划分子网的概念;
- CIDR可以更加有效地分配IPv4的地址空间,并且可以在新的IPv6使用之前允许因特网的规模继续增长。
CIDR使用“斜线记法”,或称CIDR记法。即在IPv4地址后面加上斜线“/”,在斜线后面写上网络前缀所占的比特数量。
CIDR实际上是将网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。
我们只要知道CIDR地址块中任何一个地址,就可以知道该地址块的全部细节:
- 地址块的最小地址
- 地址块的最大地址
- 地址块中的地址数量
- 地址块聚合某类网络(A类、B类或C类)的数量
- 地址掩码(也可继续称为子网掩码)
路由聚合(构造超网)
4.3.5、IPv4地址的应用规划
定长的子网掩码FLASM (Fixed Length Subnet Mask)
- 使用同一个子网掩码来划分子网
- 每个子网所分配的IP地址数量相同,造成IP地址的浪费
子网划分方式不灵活:只能划分出2ⁿ个子网(n是从主机号部分借用的用来作为子网号的比特数量)
变长的子网掩码VLSM (Variable Length Subnet Mask)
- 使用不同子网掩码来划分子网
子网划分方式灵活:可以按需分配
每个子网所分配的IP地址数量可以不同,尽可能减少对IP地址的浪费
4.4、IP数据报的发送和转发过程
IP数据包的发送和转发过程包含两个部分:
-
主机发送IP数据报
判断目的主机是否与自己在同一个网络
若在同一个网络,则属于直接交付;
若不在同一个网络,则属于间接交付,传输给主机所在网络的默认网络(路由器),由默认网关帮忙转发;
-
路由器转发IP数据
-
检查IP数据包首部是否出错:
若出错,则直接丢弃该IP数据报并通告源主机;
若没有出错,则进行转发;
-
根据IP数据报的目的地址在路由表中查找匹配的条目
若找到匹配的条目,则转发给条目中指示的下一跳;
若找不到,则丢弃该IP数据报并通告源主机;
-
主机C如何知道路由器R得存在?
路由器是隔离广播域的,也就是广播只能在自己网络范围内传播
4.5、静态路由配置及其可能产生的路由环路问题
静态路由配置指的是用户或者网络管理员使用路由器的相关命令给路由器人工配置路由表
- 这种人工配置方式简单、开销小,但是不能及时适应网络状态(流量、拓扑等)的变化
- 一般只在小规模网络中使用
使用静态路由配置可能会出现以下导致产生路由环路的错误:
- 配置错误
- 聚合了不存在的网络
- 网络故障
在需要考虑某种安全问题或者网络管理人员对网络的管理和测试的情况下,可以针对某台特定主机设定一个特定路由,在路由表中为该主机设置一个路由条目。
路由条目的类型
- 直连网络
- 静态路由(人工配置)
- 动态路由(路由选择协议)
特殊的静态路由条目
- 默认路由(目的网络0.0.0.0,地址掩码为0.0.0.0)
- 特定主机路由(目的网路欧威特定主机的IP地址,地址掩码为255.255.255.255)
- 黑洞路由(下一跳为null0)
为了防止IP数据报在路由环路中永久兜圈,在IP数据报首部设有生存时间TTL字段。
IP数据报进入路由器后,TTL字段的值减1。若TTL的值不等于0,则被路由器转发,否则被丢弃。
对于这种数据环路的情况,可以通过设置黑洞路由,将路由器聚合存在,但是实际不存在的路由设置一个NULL0接口(路由器内部的虚拟接口,就像是一个黑洞,IP数据报转发进去后有进无出)
针对这种情况,可以添加针对该直连网络的黑洞路由
假设一段时间后,故障消失了,R1可以自动得出其直连网络的接口0,并将之前设置的黑洞路由条目设置为失效状态
4.6、路由选择协议
4.6.1、路由选择协议概述
静态路由选择
- 由人工配置的网络路由、默认路由、特定主机路由、黑洞路由等都属于静态路由。
- 这种人工配置方式简单、开销小。但不能及时适应网络状态(流量、拓扑等)的变化。
- 一般只在小规模网络中采用
动态路由选择
- 路由器通过路由选择协议自动获取路由信息。
- 比较复杂、开销比较大。能较好地适应网络状态的变化。
- 适用于大规模网络
因特网所采用的路由选择协