数据报交换方式
一、物理层
保证比特流的正确传输
为数据链路层提供数据传输服务
报文:数据块长度无限制
报文分组:数据块长度有限制,有分组头
数据报传输特点:
无序、无路径、有地址
虚电路传输特点:
有序、有路径、无地址
OSI参考模型:
OSI7层模型 |
---|
应用层 |
表示层 |
会话层 |
传输层 |
网络层 |
数据链路层 |
物理层 |
通信子网:
通信子网 |
网络层 |
数据链路层 |
物理层 |
TCP/IP参考模型:
层数 | 协议 |
---|---|
应用层 | Telnet、FTP |
传输层 | TCP、UDP |
互联网络层 | IP协议 |
主机-网络层 | IP分组 |
单工传输:A——>B,方向不可更改
半双工传输:A——>B,B<——A,可以双向传输,必须交替进行
全双工传输:A——>B,B<——A,可以同时双向传输
展开阅读原文
计算机网络吴功宜清华大学 相关内容
计算机网络第4版潘爱民 计算机网络自顶向下方法第二章 计算机网络总结 计算机网络自顶向下中文版ppt 计算机网络自顶向下方法与 计算机网络有趣的实验先学什么 计算机网络 计算机网络微信小程序 各层工作 浏览网页 计算机网络 计算机网络(第5版) 企业项目开发高频技术:登录功能实现 Swagger 实战教程玩转JAVA三:Object类与常用API
2019-09-22 11:19:57 OAOiii 阅读数 89
教材:计算机网络(第四版)
作者:吴功宜 吴英
出版社:清华大学
第一章 计算机网络概论
1.5 计算机网络拓扑结构
基本的网络拓扑构型的结构
-
节点通过点-点通信线路与中心节点连接
-
中心节点控制全网的通信
-
任何两节点之间的通信都要通过中心节点
优点:结构简单,易于实现,便于管理。
缺点:中心节点的故障可能造成全网瘫痪
-
节点通过点-点通信线路连接成闭合环路。
-
环中数据将沿一个方向逐站传送。
优点:环形拓扑结构简单,传输延时确定。
缺点:环中任何一个节点出现线路故障,都可能造成网络瘫痪;需要设计复杂的环维护协议
-
所有节点连接到一条作为公共传输介质的总线,以广播方式发送和接收数据。
-
一个节点发送数据时,其他节点只能接收数据。
-
多个节点同时发送数据会出现冲突,造成传输失败
优点:结构简单
缺点:必须解决多节点访问总线的介质访问控制问题。
-
节点按层次进行连接,兄弟节点之间通常不进行数据交换,或数据交换量比较小。
-
树形拓扑可以看成是星形拓扑的一种扩展
优点:适用于汇集信息
缺点:
节点之间的连接是任意的,没有规律
优点:系统可靠性高
缺点:拓扑结构复杂,必须采用路由选择算法、流量控制与拥塞控制方法
1.6 分组交换技术的基本概念
1.6.1 数据交换方式
- 是面向连接的服务;
- 进行数据交换之前,首先要在通信子网中建立一个实际的物理线路连接;
- 数据传输过程中要经过建立连接、数据传输与释放连接的三个阶段;(为了确定收发双方作好准备)
优点:通信实时性强,适用于交互式会话类通信
缺点:对突发性通信不适应,系统效率低;系统不具有存储数据的能力,不能平滑交通量;不具备差错控制能力
- 以一个数据单元**(报文或报文分组)**方式发送。
- 路由器可以动态选择传输路径
- 需要进行差错处理,可以提高数据传输可靠性。
- 路由器可以进行速率转换
优点:
缺点:
不管发送数据的长度是多少,都把它当作一个逻辑单元发送
优点:
缺点:花费时间长;存储空间利用率低
限制一次传输数据的最大长度,如果传输数据超过规定的最大长度,发送结点就将它分成多个报文分组发送。
优点:高效、灵活、迅速、可靠
缺点:时延、开销
是分组存储转发的一种形式
-
分组传送之间不需要预先建立“线路连接”;
-
每一个分组都可以独立地选择一条传输路径;
优点:同一报文的不同分组可以由不同的传输路径通过通信子网
缺点:可能出现乱序、重复与丢失;传输延迟较大;每一个分组必须带有目的地址与源地址
将数据报方式与线路交换方式结合起来
-
建立一条逻辑连接
-
所有分组都通过这条虚电路顺序传送(不必带目的地址、源地址等,不会出现丢失、重复与乱序)
-
结点只需要做差错检测
优点:
缺点:
1.6.5 分组交换网中的延时
类型:处理延时、排队延时、发送延时、传播延时
1.6.6 面向连接服务与无连接服务
通信服务类型:面向连接服务(电路交换)、无连接服务(分组交换)
1.7 网络体系结构与网络协议
-
协议:是一组控制数据交互过程的通信规则
-
语义:解释控制信息每个部分的意义,规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应
-
语法:用户数据与控制信息的结构与格式,以及数据出现的顺序
-
时序:对事件发生顺序的详细说明
-
层次:是处理计算机网络问题最基本方法
-
接口:是同一主机内相邻层之间交换信息的连接点
-
网络体系结构:是网络层次结构模型与各层协议的集合
OSI参考模型
层次划分的原则:
-
网中各主机都具有相同的层次
-
不同主机的同等层具有相同的功能
-
同一主机内相邻层之间通过接口通信
-
每层可以使用下层提供的服务,并向其上层提供服务
-
不同主机的同等层通过协议来实现同等层之间的通信
物理层利用传输介质为通信的网络主机之间建立、管理和释放物理连接,实现比特流的透明传输,为数据链路层提供数据传输服务(不同介质下的传输)
数据传输单元:比特(bit)
数据链路层在物理层基础上,通过建立数据链路连接,采用差错控制与流量控制方法,使有差错的物理线路变成无差错的数据链路
数据传输单元:帧(一堆二进制数)
网络层通过路由选择算法为分组通过通信子网选择最适当的传输路径,实现流量控制、拥塞控制与网络互联的功能
数据传输单元:分组
传输层为分布在不同地理位置计算机的进程通信提供可靠的端—端连接与数据传输服务
传输层向高层屏蔽了低层数据通信的细节
数据传输单元:报文
会话层负责维护两个会话主机之间连接的建立、管理和终止,以及数据的交换
表示层负责通信系统之间的数据格式变换、数据加密与解密、数据压缩与恢复
应用层实现协同工作的应用程序之间的通信过程控制
由顶层到底层逐层封装
由底层到顶层逐步解析
同一层,使用相同协议
TCP/IP参考模型:与ISO视角不同
计算机网络吴功宜清华大学 相关内容
计算机网络第4版潘爱民 计算机网络自顶向下方法第二章 计算机网络总结 计算机网络自顶向下中文版ppt 计算机网络自顶向下方法与 计算机网络有趣的实验先学什么 计算机网络 计算机网络微信小程序 各层工作 浏览网页 计算机网络 计算机网络(第5版) 企业项目开发高频技术:登录功能实现 Swagger 实战教程玩转JAVA三:Object类与常用API
2018-03-28 19:38:58 TimoTolkki1966 阅读数 5168
18年的考试是真的怪,考了30分的TCP握手……写错一个数,后面全错
老师给换教材的解释是这版本书的课后题更好(???书后附的答案基本正确率30%不到)
第一章
第二章
第三章
第四章
第五章
第六章
第七章
(学最后一章的时候跑去学物理了,没怎么记笔记
展开阅读原文
计算机网络吴功宜清华大学 相关内容
计算机网络第4版潘爱民 计算机网络自顶向下方法第二章 计算机网络总结 计算机网络自顶向下中文版ppt 计算机网络自顶向下方法与 计算机网络有趣的实验先学什么 计算机网络 计算机网络微信小程序 各层工作 浏览网页 计算机网络 计算机网络(第5版) 企业项目开发高频技术:登录功能实现 Swagger 实战教程玩转JAVA三:Object类与常用API
2019-12-18 11:07:23 OAOiii 阅读数 78
教材:计算机网络(第四版)
作者:吴功宜 吴英
出版社:清华大学
第五章 网络层
5.1 网络层与IP协议
- 网络层基本概念:网络层通过路由选择算法,为IP分组从源主机到目的主机选择一条合适的传输路径,为传输层端—端数据传输提供服务
5.2 IPv4协议的基本内容
5.2.1 IP协议的主要特点
-
IP协议:是一种无连接、不可靠的分组传送服务的协议
(分组→类似数据报P30)
-
IP协议是点-点的网络层通信协议
IP协议是针对源主机—路由器、路由器—路由器、路由器—目的主机之间的数据传输的点—点的网络层通信协议
-
IP协议屏蔽了互联的网络在数据链路层、物理层协议与实现技术上的差异
(IP协议承上启下)
IP协议是为了在分组交换(Packet-switched,又译为包交换)计算机通信网络的互联系统中使用而设计
IP层只负责数据的路由和传输,在源节点与目的节点之间传送数据报,但并不处理数据内容。
数据报中有目的地址等必要内容,使每个数据报经过不同的路径也能准确地到达目的地,在目的地重新组合还原成原来发送的数据
5.2.2 IPv4分组格式
-
IP分组也称为IP数据报
-
IPv4分组:分组头和数据。IP分组头长度为20B~60B(就是一串数字)
- 分组头长度可变,每行宽度为4B
- 前五行为分组头必需有的域,长度为20B(5行*4B)
- 第六行为选项域,最长为40B
-
长度:4位
-
版本字段值为4,表示IPv4
版本字段值为6,表示IPv6
-
长度: 8位
-
作用: 表示使用IP协议的高层协议类型
-
标识使用何种协议,通过该字段指示了IP分组应该交给哪个传输层协议
(IP数据部分须按什么协议来进行解析,可参考第六章UDP协议)
-
IP分组头有两个长度字段:分组头长度(报头长度)、总长度
-
分组头长度字段
-
长度: 4位
-
作用:它定义了以4字节为一个单位的分组头的长度
(定义了分组头有多少行)
-
分组头中除了IP选项字段与填充字段之外,其他各项是定长的
-
IP分组的分组头长度必须为4字节的整数倍。如果不是4字节的整数倍,则由填充字段(填充域)“添0”补齐
-
分组头长度字段最小值为5(4B×5行=20B4B×5行=20B)
(分组头最少有五行)
最大长度为15 (4B×15行=60B4B×15行=60B)
(分组头长度为4bit,取值范围为:0000B-1111B,也就是0~15行,但规定了分组头最少必须要有五行,因此 分组头的长度范围是5~15行)
-
-
总长度字段
- 长度: 16位
- 作用: 定义以字节为单位的分组总长度,是分组头长度与数据长度之和
- 总长度字段长度为16位,它能表示的IP分组最大长度为65535(2^{16}-1216-1)字节,其中包括分组头长度
- IP分组中高层协议的数据长度 = 分组的总长度 - 分组头长度IP分组中高层协议的数据长度=分组的总长度−分组头长度
- 长度: 8位
- 作用: 用于指示路由器如何处理该分组
- 长度: 8位
- 作用: 设定分组在Internet中的“寿命”,它通常是用转发分组最多的路由器跳数(hop) 来度量
- 生存时间TTL的初始值由源主机设置,经过一个路由器转发之后,TTL值减1
- 当TTL的值为0时,丢弃分组并发送ICMP报文通知源主机
-
长度: 16位
(P216 中写的是8位,估计是印错了)
-
作用: 保证分组头部数据完整性
-
IP分组只对分组头进行校验,不包括分组数据
- IP分组头之外的部分属于高层数据,高层数据都会有相应的校验字段,IP分组不对高层数据进行校验
- 每经过一个路由器,IP分组头都要改变一次,数据部分并不改变。设置头校验和只对变化部分进行校验是合理的,可以减少路由器对每个接收分组的处理时间,提高路由器的运行效率
-
地址字段包括源地址与目的地址(点-点传输)
-
在分组的整个传输过程中,无论采用什么样的传输路径或如何分片,源地址与目的地址始终保持不变
(在物理链路层中,物理地址在转发时会改变)
-
源地址字段
- 长度: 32位
- 作用: 表示发送分组的源主机的IP地址
-
目的地址字段
- 长度: 32位
- 作用: 表示接收分组的目的主机的IP地址
-
MTU(Maximum Transmission Unit):最大传输单元
每个数据链路层能够确定发送的一个帧的最大长度
-
分片: 实际使用的网络最大传输单元长度比IP数据报最大长度短,使用它们传输IP数据报时,要对其进行分片传输
如:Ethernet的MTU的长度为1500B,因此,在使用这些网络传输IP分组时,要将IP分组分成若干较小的片(fragment)来传输
-
IP数据报(作为网络层数据)→数据链路层(封装成帧)→物理层(传输到另一物理层)
-
一个数据报可能要通过多个不同的物理网络
-
不同的物理网络的数据链路层的MTU长度可能不同(MTU长度由物理网络所采用的协议决定,如PPP协议规定它的信息帧的信息字段最长为1500B,P117)
-
-
由于IP协议是数据链路的上一层,所以它必须不受数据链路的MTU大小的影响能够加以利用
-
因此,路由器将接收到的帧进行拆包和处理,然后封装成另外一个帧,并准备转发到目的主机时,首先根据下一个网络的数据链路层MTU,决定该分组在转发之前是否需要分片
先确定片长度,然后将原始IP分组包括分组头分成第1片,若剩下的数据仍大于片长度,再进行第2次分片,第2个分片数据加上分组头构成第2个片,如此直到剩下的数据小于片长度
在IP分组的报头中,与一个分组的分片、组装相关的域有
-
标识域
- 长度:16位,最多可分配65535个ID值
- 作用:表示属于同一个IP数据字段的分片
- 主机在发送每一个IP分组时,将一个内部计数器值加1来产生标识字段的值
-
标志域
-
长度:3位,最高位为0
-
不分片(Do not Fragment,DF)
=1,表示接收主机不能对分组分片
=0,表示可以分片
-
分片(More Fragment,MF)
=1,表示接收的分片不是最后一个分片
=0,表示接收的是最后一个分片
-
-
片偏移域
-
长度:13位
-
作用:表示该分片在整个分组中的相对位置
(就是记录分片在数据报中的顺序位置)
-
值以8B为单位计数,即分片长度应为8B的整数倍
例:片2的片偏移值:800/8=100,片3的片偏移值:1600/8=200
-
- 设置IP分组头选项的主要目的:主要用于控制与测试
- IP分组头的校验和算法:二进制反码求和算法
5.3 IPv4地址
5.3.1 IP地址的基本概念
5.3.2 标准分类IP地址
RFC791指出:名字说明他是谁;地址说明他在哪里;路径说明如何找到他
-
MAC地址(物理地址):每块网卡的硬件地址
- MAC地址是网卡出厂时设定的,一个网卡对应一个MAC地址
- 作用范围: 应用在OSI第二层,即数据链路层
- 功能:MAC地址负责表示计算机的数据链路层地址,数据链路层设备(如交换机)根据MAC地址来进行操作
- 数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址;传输帧)
-
IP地址(逻辑地址):网络层地址
- 互联网上每一个网络或每一台主机所分配的逻辑地址称为IP地址
- 作用范围: 应用于OSI第三层,即网络层
- 功能:在数据通信时,IP地址负责表示计算机的网络层地址,网络层设备(如路由器)根据IP地址来进行操作
- 主要用于路由器的寻址,采用层次结构;可通过软件设置
- 网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络;传输分组数据)
-
在路由器发送的报文中目标MAC地址是下一跳路由器的MAC地址,但是目标IP地址则是真正的终点IP地址
举个例子, 把整个网络比作一间教室, IP地址就是教师里的位置, 而MAC地址就是座位上的人。这个座位可以A坐也可以B座, A可以到这个位置坐, 也可以到那个位置坐
- IP地址标识的是一台主机或路由器与网络的接口
分三种情况:
-
为每一个网络接口分配一个IP地址
一台计算机连入网络,需分配一个IP地址,与MAC地址一一对应,且在Internet中唯一的
-
为多归属主机的每一个网络接口分配相应的IP地址
路由器通过多个网卡连接到多个网络时,需为每个网卡分配一个IP地址
-
可以为一个接口分配多个IP地址
- 连接到Internet的每一个主机(计算机或路由器)至少有一个IP地址
- IP地址是分配给网络接口的
- 多归属主机可以有多个IP地址
- 一个网络接口也可以分配多个IP地址
- 网桥、Ethernet交换机属于数据链路层设备,使用MAC地址,不属于网络层设备,不分配IP地址
- IPv4的地址长度32位,用点分十进制表示:x.x.x.x(也就是每8位打一个点,在转换为十进制)
x范围:0~255,如:202.113.29.119 - 网络号越长,识别的网络越多(相当于班级)
- 主机号:该网络中不同的主机(相当于学号)
- A类IP地址的第一位为0,网络号长度为7位,主机号长度为24位
- A类地址是从:1.0.0.0~127.255.255.255
- 网络号长度为7位,从理论上可以有2^7=12827=128块网络
- B类IP地址的前两位为10,网络号长度为14位,主机IP长度为16位
- B类IP地址是从:128.0.0.0~191.255.255.255
- 由于网络长度为14位,因此允许有2^14=16384214=16384个不同的B类网络
- C类IP地址的前三位为110,网络号长度为21位,主机号长度为8位
- C类IP地址是从:192.0.0.0~223.255.255.255
- 网络号长度为21位,因此允许有2^21=2097152221=2097152个不同的C类网络
-
D类IP地址不标识网络
- 地址范围:224.0.0.0~239.255.255.255
- 用于其他特殊的用途,如多播地址Multicasting;
-
E类IP地址暂时保留
- 地址范围:240.0.0.0~255.255.255.255
- 用于某些实验和将来使用
- 直接广播地址
- A类、B类与C类地址中主机号全1(如191.1.255.255 )的地址
- 用来使路由器将一个分组以广播方式发送给特定网络(191.1.0.0 )上的所有主机
- 受限广播地址
- 网络号与主机号的32位全为1(255.255.255.255)的地址
- 用来将一个分组以广播方式发送给本网的所有主机
- “这个网络上的特定主机”地址
- A类、B类、C类地址中,如网络号是全0 (如0.0.0.25)
- 路由器接到这样的分组,不向外转发,而是直接交付给本网络中主机号为25的主机
- 回送地址
- A类地址中127.0.0.0是回送地址,它是一个保留地址
- 回送地址是用于网络软件测试和本地进程间通信
5.3.3 划分子网的三级地址结构
-
标准分类的IP地址存在的问题:
- IP地址的有效利用率问题
A、B类地址的网络中,主机数量多;C类地址网络主机数量少。造成地址空间的浪费 - 路由器的工作效率问题
分配的IP地址越多,路由器的工作效率就越低。因为路由器在执行路由选择算法时,需要查询存储的路由表来确定分组的输出路径。IP地址越多,路由表越大,查询速度越慢
- IP地址的有效利用率问题
-
子网的基本思想: 借用主机号的一部分作为子网的子网号,划分出更多的子网IP地址,而对于外部路由器的寻址没有影响
- 标准的A类、B类与C类IP地址是两层结构: net ID-host ID
- 子网IP地址是三层结构: net ID-subnet ID-host ID
- 同一个子网中所有的主机必须使用相同的网络号-子网号(net ID-subnet ID);
- 子网的概念可以应用于A类、B类或C类中任意一类IP地址中;
- 子网间距离必须很近;
- 分配子网是一个组织和单位内部的事,它既不要向Internet地址管理部门申请,也不需要改变任何外部的数据库
(也就是在网络号-主机号的两层地址结构中,借用主机号的一部分作为子网号)
-
又称子网屏蔽码
-
背景: 一个标准的IP地址,无论用二进制还是点分十进制表示,都可以从数值上直观判断出它的类别(A、B、C类),指出它的网络号和主机号
-
掩码表示方法: 主机号置0,其余置1
-
作用: 从一个IP地址中提取出子网号
-
适用范围:(也可适用于没有进行子网划分的)A类、B类、C类地址
转存失败重新上传取消 -
例子:一个B类地址划分为64个子网
方法:网络号不变,借用原主机号中的6位作为子网号,剩余10位为子网主机号
如:B类IP地址190.1.2.26,它的子网掩码用点分十进制表示为255.255.252.0;或表示成190.1.2.26/22
例:一个校园网要对一个B类地址(156.26.0.0)进行子网划分。该校园网有近210个局域网组成
析:2^8=25628=256,因此可将B类地址主机号的8位作为子网号
B类地址共16位主机号,用8位作为子网号,剩下8位主机号
因此,子网掩码为:255.255.255.0
以上子网划分结果为:
- 子网1:156.26.1.1~156.26.1.254
- 子网2:156.26.2.1~156.26.2.254
- ……
- 子网254:156.26.254.1~156.26.254.254
子网号和主机号全0(子网网络地址) 或全1(广播地址) 的地址保留,因此校园网划分后有254个子网,每个子网254台主机
子网长度的确定,应考虑两个因素:子网数与每个子网中主机与路由器数。子网数要考虑留有一定余量为原则
- 是一种产生不同大小子网的网络分配机制,指一个网络可以配置不同的掩码
- VLSM允许一个组织在同一个网络地址空间中使用多个子网掩码
例:某公司申请一个C类202.60.31.0的IP地址,该公司有100名员工在销售部,50名在财务部,50名在设计部。要求为销售部门、财务部门、设计部门分别组建子网
- 按不同子网长度来划分:销售部需100台主机,2^6<100<2^7,26<100<27,即主机号需7位,则可借1位为子网号。即使用子网掩码255.255.255.128,将C类地址先划分为2个子网。分别为:
- 子网位为0:202.60.31.1~ 202.60.31.126 (作为销售部子网)
- 子网位为1: 202.60.31.129~ 202.60.31.254
- 剩下两部门主机数均为50,2^5<50<2^625<50<26,即需6位主机位,则在上述划分的子网中再借一位为子网号,需使用子网掩码255.255.255.192,将剩余的地址再划分为2个子网:
- 子网2:202.60.31.129~ 202.60.31.190 (作为财务部子网)
- 子网3:202.60.31.193~ 202.60.31.254(作为设计部子网)
- 允许使用的主机号数需减2(用于做子网网络地址和广播地址)
- 子网掩码: 网络位与子网位全1,主机位全0
- 可用主机数:=2^{主机位数次幂}-2=2主机位数次幂−2
- 网络地址: 网络位与子网位的数保持不变,主机位全取0;或用IP地址与子网掩码进行求与所得结果;一个网段中第一个IP地址为网络地址
- 广播地址: 网络位与子网位保持不变,主机位全取1;也就是一个网段中最后一个IP地址
- 有效IP地址范围: 在一个网段中去掉最前面一个网络地址与最后一个广播地址,剩余的IP地址
5.3.4 无类别域间路由CIDR
-
无类别域间路由(CIDR):将剩余的IP地址不是按标准的地址分类规则,而是以可变大小地址块的方法进行分配
-
CIDR用区别于传统标准分类的IP地址与划分子网的概念的“网络前缀(network -prefix)”,代替“网络号+主机号” 二层地址结构,形成新的无分类二层地址结构
(抛弃使用ABC类地址的用法)
-
CIDR使用网络前缀去代替了标准分类的IP地址的网络号与主机号,也不再使用子网的概念
-
与标准分类IP地址与子网划分的方式相比,CIDR是以任意二进制倍数的大小来分配地址
-
表示方法:“斜线记法”, <网络前缀>/<主机号><网络前缀>/<主机号>
(网络前缀其实就相当于网络号)
如:200.16.23.0/20表前20位为网络前缀,后12位为主机号
200.16.23.0/20=11001000 00010000 00010111 00000001 -
CIDR地址块: 网络前缀相同的连续的IP地址组成一个CIDR地址块
如:200.16.23.1/20的网络前缀为20位,该地址块有的主机号可达212(4096)
-
一个CIDR地址块由块起始地址和前缀表示。 块起始地址为地址块中地址数值最小(主机号全0)的一个
如:200.16.23.1/20地址块中起始地址的主机号全0,即这个地址块的最小地址的结构为:
200.16.16.0/20=11001000 00010000 0001 0000 00000000
题目:一个校园网获得200.24.16.0/20的地址块,希望将它划分为8个等长的较小的地址块
8=2^38=23,即借用CIDR地址中12位主机号的前三位,实现进一步划分(8个地址块网络地址前20位相同)
-
连接到Internet的主路由器向外部网络发送一个通告,说明它接收所有目的地址的前20位与200.24.16.0/20相符的分组。外网不需要知道在该地址块内部还有8个系级的网络存在
(减少路由器工作量,只需辨别前20位)
5.3.5 网络地址转换NAT
-
NAT技术应用领域:ISP、ADSL、有线电视与无线移动接入的动态IP地址分配
-
优点: 弥补IP地址的短缺
-
缺点: 对网络性能、安全和应用有很大影响
-
在使用专用IP地址的内部网络中,要访问Internet,需使用NAT技术
5.4 路由选择算法与分组交付
5.4.1 分组交付和路由选择的基本概念
-
分组交付: 在Internet中主机、路由器转发IP分组的过程
-
分组交付的分类: 可以分为直接交付和间接交付
是直接交付还是间接交付,路由器需要根据分组的目的IP地址与源IP地址是否属于同一个子网来判断
-
直接交付: 当分组的源主机和目的主机是在同一个网络,或是当目的路由器向目的主机传送时,分组将直接交付,即直接进行分组传输
-
间接交付: 若目的主机与源主机不在同一网络,分组就要间接交付
-
-
网关(网间连接器、协议转换器): 一个网络连接到另一个网络的“关口”
由于历史的原因,许多有关TCP/IP的文献曾经把网络层使用的路由器称为网关,在今天很多局域网采用都是路由来接入网络,因此通常指的网关就是路由器的IP
-
默认路由器(默认网关):多数主机先接入一个局域网,局域网通过一台路由器再接入Internet。这台路由器就是局域网主机的默认路由器,又称第一跳路由器
-
一台主机发送一个IP分组时,首选将其发送到默认路由器。因此默认路由器称为源路由器。与目的主机连接的路由器称为目的路由器
- 跳数(hop count):一个分组从源主机到达目的主机的路径上,转发分组的路由器数量(转发次数;少→优)
- 带宽(bandwidth):链路的传输速率(高→优)
- 延时(delay):一个分组从源主机到达目的主机花费的时间(高→优)
- 负载(load):通过路由器或线路的单位时间通信量(大→劣,小→优)
- 可靠性(reliability):传输过程中的分组丢失率(低→优)
- 开销(overhead):传输过程中的耗费,通常与所使用的链路长度、数据速率、链路容量、安全、传播延时与费用等因素相关(少→优)
- 路由器的路由选择算法: 表驱动
- 路由表的产生: 是根据路由选择算法产生的
- 路由表存储内容: 可能的目的地址与如何到达目的地址的信息
- 路由选择算法分类 (网络拓扑和通信量变化的自适应角度):静态路由选择算法与动态路由选择算法
- 静态路由表特征
- 静态路由选择算法(非自适应路由选择算法)
- 算法特点: 简单和开销较小,但不能及时适应网络状态的变化
- 静态路由表建立: 人工方式建立,无法自动更新
- 静态路由表使用范围:用在小型的、结构不会经常改变的局域网系统中,或是故障查找的试验网络中
- 动态路由表特征
- 动态路由选择算法(自适应路由选择算法)
- 算法特点: 能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大
- 动态路由表建立: 系统自动运行路由选择协议,建立路由表。
- 动态路由表使用范围: 用在大型互联网络中
-
掩码表示方法:主机号置0,其余置1
-
作用:从一个IP地址中提取出子网号
(该IP地址属于哪个网络,比如属于子网1)
- 1与任何数相与(&)是任何数自身
- 0与任何数相与(&)都是0
-
路由器收到IP包后,取出目的网络地址
-
将目的网络地址与掩码相与(&)
-
将相与结果与表中的目标网络地址相比
若相等,则证明该IP包是发送给该目标网络地址(子网)
若不相等,则继续与路由表下一条进行比较
- 如果路由器2收到一个目的地址为202.1.2.2/24的分组
- 路由器2可根据掩码255.255.255.0确定该分组是发送到目的网络地址为202.1.2.0的子网2
- 路由表的第二项内容形成过程:路由器2通过转发端口S1,将分组传送到路由器1的端口S0
分组在逐跳转发的过程中,
-
分组头中源IP地址和目的IP地址是不变的(网络层)
-
但封装IP分组Ethernet帧的源MAC地址与目的MAC地址是变化的(网络链路层)
-
IP地址: 作为任意一台主机在虚拟网络上的唯一标识。在主机通信中必不可少。
-
IP地址是为了确认目的主机。如果IP地址改变,则目的主机改变无法进行正常通信
-
对帧当中的IP地址的理解:发货人、收货人
-
MAC地址: 直译为媒体访问控制地址,也称为局域网地址、以太网地址或物理地址
-
MAC地址是为了进行数据传输。如果MAC地址不改变无法进行正常的分组转发算法,数据无法流通
-
对帧当中的MAC地址的理解:
源MAC: 货物中途所经过的上一个驿站
目标MAC: 货物中途所要到达的下一个驿站
- 路由器的路由表项数量越少,路由选择查询时间越短,分组转发延迟时间越少,路由汇聚是减少路由表项数量的重要手段
- 路由表项组成:网络前缀和下一跳地址
- 路由选择:是选择具有最长网络前缀的路由的过程,是 “最长前缀匹配” 的路由选择原则
- CIDR的路由汇聚过程示意图
- 路由器R_GRG的路由表
- 汇聚后的路由器R_GRG的路由表
- 总结
- 找相同输出接口的为一组
- 找出相近的地址块的最长相同前缀
5.4.2 路由表的建立、更新与路由选择协议
设计路由选择算法的目标:是生成路由表,为路由器转发IP分组找出适当的下一跳路由器。
设计路由选择协议的目标:是实现路由表中路由信息的动态更新
- 基本思想:分层路由选择,将整个Internet划分为多个较小的自治系统(Autonomous System, AS)
- 特点:
- 自治系统的核心是路由选择的 “自治”
- 一个自治系统内部路由器之间能够使用动态的路由选择协议,及时地交换路由信息,精确地反映自治系统网络拓扑的当前状态
- 自治系统内部的路由选择称为域内路由选择;自治系统之间的路由选择称为域间路由选择
- 对应于自治系统的结构,路由选择协议也分为两大类: 内部网关协议(IGP)、外部网关协议(EGP)
- 内部网关协议(Interior Gateway Protocol ,IGP)
- 指在一个自治系统内部使用的路由选择协议
- 主要有:路由信息协议(Routing Information Protocol RIP)、开放最短路径优先(Open Shortest Path First OSPF)协议
- 外部网关协议(Exzternal Gateway Protocol ,EGP)
- 自治系统之间交换路由信息使用的路由选择协议
- 应用最多的外部网关协议时BGP-4
5.4.3 路由信息协议RIP(Routing Information Protocol)
- 是基于向量-距离(Vector-Distance,V-D)路由选择算法的内部路由协议
- 优点:
实现简单,只考虑距离,不考虑连接路由链路的带宽。适用于中小规模的网络。 - 缺点:
- 协议过于简单,以跳数为依据计算度量值,常得出非最优路由
- 度量值以16为限(允许的最大跳数为15,16表示目的网络不可达),不适用于较大网络
- 安全性差,接受来自任何设备的路由更新
- 带宽消耗大(路由是全量更新)
-
思想:要求路由器周期性地向外发送路由刷新报文通知相邻路由器:自己可以达到的网络,及到达该网络的距离(跳数)(直接相连的路由器之间)
-
路由刷新报文主要内容是由若干(V,D)组成的表
矢量V:标识该路由器可以到达的目的网络或目的主机
距离D:表示该路由器到达目的网络或目的主机的跳步数(跳数)
-
其他路由器在接收到某个路由器的(V,D)报文后,按照最短路径原则对各自的路由表进行刷新
-
路由信息协议RIP适用于相对较小的自治系统,直径一般小于16跳步数
对其(V,D)路由表进行初始化
- 路由器周期性向外广播其(V,D)路由表的内容 (定期交换路由表)
如,一个自治系统中相邻的两个路由器1、2,1接收到2发送的(V,D)报文,1按以下规律更新路由表信息- 若1的路由表中没有此项记录,则增加该项,距离D加1
- 如1的路由表一项记录距离D值减1比2发送的一项记录还要大,1在路由表中修改此项,D值由2提供的值加1
5.4.4 开放最短路径优先协议OSPF(Open Shortest Path First)
与RIP比较,OSPF协议的主要特点
- OSPF使用链路状态协议;RIP使用向量-距离路由协议
- OSPF路由器发送的信息是本路由器与哪些路由器相邻,以及链路状态(费用、距离、时延、带宽等)信息;所有的路由器最终都能建立一个链路状态数据库,它存储着全网的拓扑结构信息
- RIP知道到所有网络的距离及下一跳路由器,但不知道全网的拓扑结构信息
- OSPF要求当链路状态发生变化时用洪泛法向所有路由器发送;RIP仅向相邻的路由器交换路由信息
- 将一个自治系统再划分为若干个更小的区域,一个区域内的路由器数不超过200个
================= 略 ====================
5.4.6 路由器与第三层交换技术
-
(1)建立并维护路由表
路由表中,保存路由器每个端口对应的目的网络地址,及默认路由器的地址。路由器通过定期与其他路由器交换路由信息来自动更新路由表
-
(2)提供网络间的分组转发功能
当分组进入路由器时,路由器检查IP分组的目的地址,然后根据路由表决定该分组的交付方式。若是直接交付,就将分组传送到目的网络。若是间接交付,确定转发端口号与下一跳路由器的IP地址
-
路由器能以线速转发:路由器分组处理速率等于输入端口的线路的传送速率
5.5 Internet控制报文协议ICMP
5.5.1 ICMP的作用与特点
- IP协议提供的是尽力而为的服务,缺少差错控制和查询机制
- ICMP协议就是为解决以上问题,而设计的一种差错报告和查询、控制机制。
- ICMP本身是网络层的一个协议,但是它的报文要封装成IP分组,然后再传送给数据链路层(IPv4分组头的协议,P215)
- 从协议体系上看,ICMP只是要解决IP协议可能出现的不可靠问题,不能独立于IP协议,是IP协议的一个组成部分
- ICMP不能纠正差错,它只是报告差错。差错处理需要由高层协议去完成
5.5.3 Ping 与Traceroute命令
-
基于ICMP的具体应用程序
-
Ping命令:用于测试目的主机是否可达
-
一台主机Ping另一台主机的过程
-
Tracert命令(“路由跟踪”命令): 可以获得从测试命令发出源主机到达目的主机完整的路径
-
Tracert命令的应用
5.6 IP多播与IGMP协议
-
IP多播协议(Inernet Group Management Protocol IGMP)
-
可以将分组发送到属于一个组的多台计算机
-
单播方式与多播方式的比较
- 单播:一封邮件发给一个朋友
- 多播:同一封邮件同时发给多个朋友
5.7 多协议标识交换MPLS协议
MPLS提供的四个主要的服务功能:
-
提供面向连接与保证QoS的服务
-
合理利用网络资源
-
支持虚拟专网VPN服务
MPLS提供虚拟专网(virtual private network,VPN)服务
-
支持多协议
5.8 地址解析协议ARP
5.8.1 IP地址与物理地址的映射
在描述一个网络的工作过程时,实际上是做了一个假设:已经知道通信的目的主机的IP地址,并且知道对应这个IP地址的目的主机物理地址
这个假设成立的条件是:在任何一台主机或路由器中必须有一张 “IP地址—MAC地址映射表”
- 通过“静态映射”的方法,从一个已知的IP地址获取与之对应的MAC地址。但是,这是非常理想的一种解决方案,在一个小型的互联网络系统中实现起来比较容易,这在大型网络中几乎是不可能实现的
- 在Internet中必须设计一种 “动态映射” 的方法,以解决IP地址与MAC地址映射的问题
5.8.2 地址解析工作过程
- 正向地址解析: 从已知的IP地址找出对应的MAC地址的映射过程。相应的协议称为“地址解析协议(ARP)”
- 反向地址解析: 从已知的MAC地址找出对应的IP地址的映射过程。相应的协议称为“反向地址解析协议(RARP)”
主机A打算给主机B发送一个IP分组,它知道主机B的IP地址,但不知道B的MAC地址,那么它首先要在本地ARP映射表中查找。若找到就不需要进行地址解析。若找不到,则需进行地址解析(这里的主机也可是路由器)
- 由主机A产生“ARP请求分组”,目的MAC地址字段写入0
- 将“ARP请求分组”传递到下一层数据链路层组装成帧,帧目的地址是广播地址(ff-ff-ff-ff-ff-ff)
- 接收到“ARP请求分组”主机,若它的映射表中没有主机A的IP地址与MAC地址,则存入
- 主机B接受到“ARP请求分组”后,向主机A发送一个封装了“ARP应答分组”的帧,用单播方式发送。 “ARP应答分组”包含了主机B的IP地址和MAC地址
- 主机A收到“ARP应答分组”后 ,将主机B的IP地址和MAC地址存入映射表
- 路由器每次转发时IP分组中的源IP地址与目的IP地址是不变的,改变的是帧的源MAC地址和目的MAC地址
- 转发过程协议由ARP自动完成。对用户是透明的
- ARP地址映射表为每个表项分配一个计时器,超过计时时限,自动将其删除,保证表的时效性
5.9 移动IP协议
- 是解决主机在不同网络之间移动的一种机制
- 设计目的:移动主机在改变接入点时,无论在不同的网络之间,或是在不同的物理传输介质间移动时,都不必改变其IP地址,可以在移动过程中保持已有通信的连续性
- 基本特征:
- 移动IP要与现有的Internet协议兼容
- 移动IP协议与底层所采用的物理传输介质类型无关
- 移动IP协议对传输层及以上的高层协议是透明的
- 移动IP协议应该具有良好的可扩展性、可靠性和安全性
5.9.3 移动IP的结构与基本术语
- 移动节点: 从一个链路移动到另一个链路的主机或路由器
- 家乡代理: 移动节点的家乡网络连接到Internet的路由器
- 外地代理: 移动节点所访问的外地网络连接到Internet的路由器
- 通信对端: 移动节点在移动过程中与之通信的节点
- 家乡网络: 为移动节点分配长期有效的IP地址的网络
- 家乡地址: 家乡网络为移动节点分配的一个长期有效的IP地址
- 转交地址: 当移动节点接入一个外地网络时,被分配的一个临时IP地址
- 家乡链路: 移动节点在家乡网络时接入的本地链路
- 外地链路: 移动节点在访问外地网络时接入的链路
- 移动绑定: 家乡网络维护移动节点的家乡地址与转发地址的关联
- 隧道: 家乡代理通过隧道将发送给移动节点的IP分组转发到移动节点
工作过程分4个阶段:
-
代理发现
-
移动代理周期性发送代理通告报文,或为相应的移动结点的代理请求而发送代理通告报文
-
移动结点在接受到代理通告报文后,判断它是否从一个网络切换到另一个网络,是在家乡网络还是在外地网络。在切换到外地网络时,可以选择使用外地代理提供的转交地址
-
-
注册
-
移动结点到达新的网络后,通过注册过程将自己的可达信息通知家乡代理
-
注册目的:
-
使移动结点获得外地代理的转发服务
-
使家乡代理知道移动结点当前的转发地址
-
家乡代理更新即将过期的移动结点的注册,或注销回到家乡的移动结点
-
-
-
注册过程
-
通过外地代理转发注册请求
-
移动主机直接到家乡代理注册
-
-
分组路由
- 单播分组路由
- 广播分组路由
- 多播分组路由
-
注销
如果移动结点已经回到家乡网络,则它需要到家乡代理进行注销
5.10 IPv6协议
5.10.3 IPv6地址
- IPv6用冒号十六进制表示法
- 用二进制格式表示的一个IPv6地址
- 将这个128位的地址按每16位划分为8个位段(一个位段16位)
- 将每个位段转换成十六进制数,并用冒号隔开:21DA:0000:0000:0000:02AA:000F:FE08:9C5A
-
IPv6地址某个位段中前几位为连续的0,则可将这几个0省去
若一个位段中全为0则可压缩为一个0
-
如果连续几个位段都为0,则可将这些0简写为双冒号::
-
不能将一个位段中的有效0压缩掉。如:0030不能压缩为3,而应是30
-
双冒号在一个地址中只能出现一次
-
在IPv4中,子网掩码用来表示网络和子网地址长度。用前缀长度来区分子网号和主机号
-
IPv6不支持子网掩码,只支持前缀长度表示法
-
前缀是IPv6的一部分,用做IPv6路由或子网标识
-
用 “地址/前缀长度” 表示
如:21DA:D3::/48 -
少于64位的前缀是一个路由前缀,或是一个地址范围
64位前缀是一个子网前缀
-
5.9.5 IPv4到IPv6的过渡的基本方法
-
双IP:在完全过渡到IPv6之前,使部分节点和路由器装有两个协议:IPv6和IPv4
-
这个节点既能与IPv6节点通信,又能与IPv4节点通信
-
具有双IP层的节点或路由器应具有两个IP地址
-
双协议层和双协议栈结构
-
IPv6分组进入IPv4网络时,将IPv6分组封装成为IPv4分组,整个IPv6分组变成IPv4分组的数据部分
-
当IPv4分组离开IPv4网络时,再将其数据部分交给主机的IPv6协议,就如同在IPv4网络中打通一个隧道来传输IPv6分组
-
通过IPv4隧道传输IPv6分组的机制
-
路由器-路由器
-
主机-路由器或路由器-主机
-
主机-主机
- 手动配置的隧道
- 自动配置的隧道
-
6over4
- 又称IPv4多播隧道
- 是一个结点-结点、结点-路由器或路由器-主机的隧道技术
-
6to4
是一种地址分配和路由器-路由器的自动隧道技术
-
ISATAP
是一种地址分配和结点-结点、结点-路由器和路由器-结点的自动隧道协议
小结
- IPv4协议特点、分组格式
- IPv4地址技术研究的4个阶段:标准分类、划分子网的三级地址结构、无类别域间路由CIDR、网络地址转换NAT
- 路由算法分:静态、动态路由选择算法
- 路由协议分:内部(RIP和OSPF)、外部网关协议(BGP)
- 路由器功能(路由选择和分组转发)、工作原理
- ICMP: IP控制报文协议,用于差错控制、查询机制
- IGMP协议: IP多播协议,用于提高网络工作效率,节省网络资源
- MPLS: 多标记交换,属于服务质量技术。MPLS提供VPN服务,提高分组传输的安全性与服务质量
- 地址解析ARP: ip地址与MAC地址对应关系
- 移动IP: 解决主机在不同网络之间移动的问题。保证移动节点在改变接入点时不改变IP地址,也能保持已有的通信连续性
- IPv6协议: 新一代IP地址协议和标准
思维导图(2020.01.08终于补上了)
计算机网络吴功宜清华大学 相关内容
计算机网络第4版潘爱民 计算机网络自顶向下方法第二章 计算机网络总结 计算机网络自顶向下中文版ppt 计算机网络自顶向下方法与 计算机网络有趣的实验先学什么 计算机网络 计算机网络微信小程序 各层工作 浏览网页 计算机网络 计算机网络(第5版) 企业项目开发高频技术:登录功能实现 Swagger 实战教程玩转JAVA三:Object类与常用API
2019-11-22 10:40:52 OAOiii 阅读数 96
教材:计算机网络(第四版)
作者:吴功宜 吴英
出版社:清华大学
第四章 介质访问控制子层
4.1 局域网技术的发展与演变
介质控制访问(MAC)是所有“共享介质”类型的局域网必须解决的共性问题
-
共享介质:作为总线连接多台计算机的同轴电缆
-
多路访问/多路存取:多个主机通过一条“共享介质”发送和接收数据
-
冲突:若两台或两台以上的主机同时在一条“共享介质”发送数据,那么多路的信号就会出现互相干扰,造成接收主机无法正确接收任何一台主机发送的数据的现象
-
介质访问控制方法:解决局域网“冲突”问题
-
①设立一个中心控制主机,由其决定主机发送数据的顺序。
优点:简单、有效
缺点:中心主机可能成为瓶颈
-
②采用分布式控制,不存在中心主机,由每个主机自主决定是否发送数据,以及出现冲突时如何处理
-
4.1.2 介质访问控制方法CSMA/CD、Token Bus与Token Ring
- 采用带有冲突检测的载波侦听多路访问 (CSMA/CD) 控制方法的总线形Ethernet,称为“以太网”
- 采用令牌控制的令牌总线形(Token Bus)局域网,称为“Token Bus”或“令牌总线网”
- 采用令牌控制的令牌环形(Token Ring)局域网,称为“Token Ring”或“令牌环网”
-
所有结点都连接到一条作为公共传输介质的总线上,节点通过总线发送或接收数据,但一个时刻只允许一个节点通过总线发送数据
-
当一个节点通过总线以“广播”方式发送数据时,其他节点只能以“收听”方式接收数据
-
总线作为公用传输介质被多个节点共享,可能出现同时有两个以上节点通过总线发送数据,即“冲突”,造成传输失败
-
节点需通过“竞争”总线的方式获取发送权,每个节点能得到总线发送权的时间是不确定的,故CSMA/CD属于随机型介质访问控制方法
-
总线型Ethernet的标准是IEEE802.3,它的介质访问子层采用的是CSMA/CD控制算法
-
利用令牌作为控制节点访问公用总线的一种局域网
-
令牌一种特殊结构的控制帧,用来控制节点对总线的访问权。任何一个节点在取得令牌后才能使用总线去发送数据
-
通过预先确定节点获得令牌的顺序,使得连接在共享总线的多个节点在传输过程中形成逻辑的环状
-
令牌持有时间:一个节点接收到令牌时,最多可以持有令牌的时间。THT值为10ms
-
一个节点两次获得令牌的时间间隔:⊿T=N×(THT+Tr+Tc)⊿T=N×(THT+Tr+Tc)。节点两次获得令牌的最长的⊿T是确定的
-
在重负载情况下信道利用率高,能够支持优先级服务。较复杂,需要完成大量的逻辑环维护工作
正在上传…重新上传取消
- 节点通过网卡和点-点线路,逐个连成闭合的环路,数据沿一个方向传输
- 令牌帧头有一位用于标志令牌的忙/闲
- 节点有数据需要发送,须等待空闲令牌的到来。获得令牌后,标志位由“闲”变“忙”,然后传送数据,其他节点依次接收到数据(转发)
- 优点:节点获取令牌发送数据时间间隔是确定的(对时间有要求),能提供优先级服务,适用于重负载的应用领域。
- 缺点:环与令牌维护复杂,实现困难,组网成本高
4. CSMA/CD与Token Bus、Token Ring的比较
CSMA/CD、Token Bus与Token Ring共同之处:
- 体系结构:遵循IEEE802层次结构模型
- 传输介质:主要采用同轴电缆、双绞线与光纤。采用共享介质的方式发送和接收数据帧
- 介质访问控制:采用了分布式控制方法,局域网中没有集中控制的主机
CSMA/CD、Token Bus与Token Ring不同之处:
-
访问控制方法
CSMA/CD属于随机型介质访问控制方法
Token Bus、Token Ring属于确定型介质访问控制方法
-
针对局域网类型
CSMA/CD与Token Bus都是针对总线型的局域网设计
Token Ring是针对环状拓扑局域网设计的
- 介质访问控制方法算法简单,易于实现。目前,有很多种VLSI可以实现CSMA/CD方法,有利于降低Ethernet组网成本,扩大应用范围
- 一种随机访问控制方法,适用于对传输实时性要求不高的办公环境
- 在网络通信负荷较低时表现出较好的吞吐率与延迟特性。当网络通信负荷增大时,由于冲突增多,网络吞吐率下降、传输延迟增加
6. 确定型介质访问控制方法Token Bus、Token Ring的主要特点
- 适用于对数据传输实时性要求较高的应用环境,如生产过程控制领域。
- 在网络通信负荷较重时,表现出很好的吞吐率与较低的传输延迟,因此适用于通信负荷较重的应用环境。
- 环的维护过程复杂,实现起来比较困难
-
相同网络负载条件下,CSMA/CD方法的Ethernet
带宽利用率较低。而Token Bus和Token Ring在网络负荷较重时,表现出很好的吞吐率和较低的传输延迟
-
Token Bus和Token Ring网卡和联网设备较复杂,硬件造价高,组网费用远超过采用CSMA/CD方法的Ethernet
-
组网费用低廉的Ethernet适用于对传输延迟要求不高的应用
-
Token Bus和Token Ring使用于对数据传输实时性要求严格的工业环境中
4.1.3 Ethernet技术的研究与发展
Ethernet的核心技术是CSMA/CD介质访问控制方法
- 提高Ethennet的数据传输数量导致了高速局域网技术的研究
- 将共享介质方式改为交换方式,导致了交换式局域网技术的发展,其核心设备是局域网交换机
- 将一个大型局域网分成多个用网桥或路由器互联的小型局域网,导致了局域网互联技术的发展
4.1.4 局域网参考模型与协议标准
1、局域网参考模型
IEEE 802在数据链路层中专门划分出一个传输介质访问控制(MAC,Medium Access Control)子层来进行传输介质访问控制,并用逻辑链路控制(LLC,Logical Link Control)子层处理逻辑上的链路
-
局域网研究的范围
一个局部地区范围内的计算机组网问题。因此,只需面对OSI参考模型中的数据链路层与物理层,高层不属于局域网协议研究的范围
-
逻辑链路控制子层与介质访问控制子层的划分
不同的局域网在MAC子层和物理层可以采用不同协议,而在LLC子层必须采用相同的协议
LLC子层与底层具体采用的传输介质、介质访问控制方法无关,网络层可以不考虑局域网采用哪种传输介质、介质访问控制方法和拓扑结构
-
协议层次变化
目前局域网大都采用了Ethernet,因此不再去讨论LLC协议的问题
- 帧装配:将上层交下来的数据封装成帧进行发送(接收时相反,为将帧拆卸递交到上层)
- 按MAC地址(即帧地址)寻址
- 差错检测
- MAC层的维护和管理
- 提供与高层的接口
- 实现数据链路层的差错控制
- 给帧加上序号
- 为高层提供数据链路层逻辑连接的建立和释放服务
不同协议标准规定了不同介质访问控制技术
- IEEE 802.1A,概述和体系结构 ; IEEE 802.1B,寻址、网际互联及网络管理
- IEEE 802.2,LLC协议
- IEEE 802.3,CSMA/CD访问方法及物理层规范
- IEEE 802.4,令牌传送总线访问方法及物理层规范
- IEEE 802.11,无线局域网标准
- IEEE 802.15,无线个人网络(WPAN)标准
- IEEE 802.16,无线宽带局域网(BBWA)标准
- 传统的共享式Ethernet -> 交换式Ethernet、高速Ethernet与无线局域网
- 高速Ethernet技术的应用从局域网逐步扩大到城域网与广域网
4.2 Ethernet基本工作原理
4.2.1 Ethernet帧发送流程分析
- 先听后发
- 边听边发
- 冲突停止
- 延迟重发
先听 后说 边听 边说
一旦冲突 立刻退让 等待一段随机时间再说
-
目的:检查是否已经有结点利用总线在发送数据
-
Ethernet的物理层规定发送的数据采用曼彻斯特编码方式。
如果总线上已有数据在传输,总线的电平会按曼彻斯特编码规律出现跳变,则可判定此时为**“总线忙”**
若无数据传输,总线电平不发生跳变,在可判定此时为**“总线空闲”**
-
如一结点准备发送数据,且总线空闲,则可**“启动发送”**
-
载波侦听不能完全消除冲突。数字信号以一定速度在介质中传输。
-
源结点向目的结点发送数据需要一定的时间,若在这个时间段中,目的结点不知道源结点已发送数据,它也可能向源结点发送数据,这时,就会发生“冲突”。
-
因此,多个结点共享公共传输介质发送数据需要进行“冲突检测”
-
冲突窗口
-
连接在一个缆段上所有主机都能够检测到冲突发生的最短时间
-
即冲突窗口为2τ2τ(传播延迟τ =D/V,Dτ=D/V,D为总线最大长度,VV为电磁波在介质中的传播速度)
-
在冲突窗口时间内,所有节点都应检测到冲突
-
-
最小帧长度与总线长度、发送速率间的关系
发送一个最短帧的时间要超过冲突窗口的时间。如果Lmin为最短帧长度,S为主机发送速率,发送一个最短帧的时间L_{min}/SLmin/S,则:
L_{min}/S≥2D/VLmin/S≥2D/V
那么,可根据发送速率、总线长度、电磁波传播速率,估算出最短帧长度:
L_{min}=S×2D/VLmin=S×2D/V -
在网络环境中如何检测到冲突
从物理层看,“冲突”指总线上同时出现两个或两个以上的发送信号,它们叠加后的信号波形将不等于任何结点输出的信号波形
冲突检测的方法:
- 若在发送数据中检测出冲突,为避免重发再次出现冲突,发送结点要进入停止发送数据、随机延迟后重发的流程
- 随机延迟后重发的第一步是发送“冲突加强信号”
- 发送冲突加强信号的目的:确保有足够的冲突持续时间,使得网中所有结点都能检测出冲突存在,并立即丢弃冲突帧,减少由于冲突浪费的时间,提高信道利用率
-
截止二进制指数后退延迟算法
τ=2^k·R·aτ=2k⋅R⋅a
其中:τ为结点重新发送需要的后退延迟时间,a为冲突窗口值,R为随机数 -
限定k的范围,k=min(n,10)k=min(n,10)
如果重发次数n<10n<10,则取$k=n $
如果重发次数n≥10n≥10时,则kk取值为10
-
在到后退延迟时间之后,结点将重新判断总线忙、闲状态,重复发送流程
-
当冲突次数超过16时,表示发送失败,放弃该帧发送
4.2.2 Ethernet帧结构
-
前导码
DIX帧前8B是前导码,每个字节都是10101010
802.3帧前7B是前导码,每个字节都是10101010,之后1B为“10101011”的帧前定界符
-
类型字段与长度字段
DIX帧规定了一个2B的类型字段,表示高层网络层所使用的协议类型。
• 0x0800,表使用的是IPv4协议
• 0x8106,表示地址解析协议ARP
• 0X86DD,表示使用IPv6协议
802.3帧规定该字段为长度字段,数据字段长度范围为46~1500B,不是固定长度
-
目的地址和源地址字段
帧的接收结点地址和发送结点的硬件地址,地址长度为6B(48位)
硬件地址一般称为MAC地址、物理地址或Ethernet地址
4.2.3 Ethernet接收流程的分析
- Ethernet主机只要不发送数据帧就应该处于接收状态
- Ethernet数据接收流程
- 帧目的地址检查
- 帧接收
- 帧校验:CRC校验和帧长度检查
4.2.5 Ethernet物理层标准命名方法
- X:数据传输速率,单位为Mbps
- Y:网段的最大长度,单位为100m
- Type:传输方式是基带还是频带
- Name:局域网的名称
- IEEE 802.3 10Base-5表示传输速率为10Mbps、基带传输、使用粗同轴电缆、最大长度为500m的Ethernet物理层标准
- IEEE 802.3 10Base-2表示传输速率为10Mbps、基带传输、使用细同轴电缆、最大长度为200m的Ethernet物理层标准
- IEEE 802.3 10Base-T表示传输速率为10Mbps、基带传输、使用双绞线的Ethernet物理层标准
4.3 交换式局域网与虚拟局域网技术
4.3.1 交换式局域网技术
- 交换式局域网将传统的共享介质方式改为交换方式
- 交换机:工作在数据链路层,根据接入交换机帧的MAC地址,过滤、转发数据帧的一种网络设备
- 建立和维护一个表示MAC地址与交换机端口号对应关系的映射表
- 在发送主机与接收主机端口之间建立虚连接
- 完成帧的过滤与转发
- 执行生成树协议,防止出现环路
- 类似局域网桥
- 局域网桥是利用存储转发方式,以实现连接在不同缆段节点之间帧的交互;
- 局域网交换机则是利用集成电路交换芯片在多个端口之间同时建立多个虚连接,以实现多对端口之间帧的并发传输
- 交换机如何知道哪个结点连接到哪个端口
- 当结点从交换机的一个端口转移到另一个端口时,交换机如何维护地址映射表
交换机利用“地址学习”方法来建立和维护地址表
-
“地址学习”:通过读取帧的源地址并记录进入交换机的端口号进行的
得到MAC地址与端口的端口的对应关系后,检查地址表是否已经存在该对应关系
不存在,加入;已存在,更新该记录
每次加入或更新时,该表项被赋予一个计时器,使其能存储一段时间。到时间前未捕获对应关系,则该表项被删除
-
直接交互方式
只要接收并检测到目的字段,立即将该帧转发出去,而不进行差错校验。
优点:交换延迟时间短
缺点:缺乏差错检测能力
接收 -> 查目的 -> 转发
-
改进直接交换方式
在接收到Ethernet帧的前64字节后,判断帧头字段是否正确,正确则转发出去。
优点:交换延迟时间会较少
接收 -> 校验帧头 -(正确)-> 转发
-
存储转发交换方式
完整地接收帧,并进行差错检测。如接收帧正确,则据目的地址选择对应的输出端口号转发出去。
优点:具有帧差错检测能力,并支持不同输入速率与输出速率端口间的帧转发
缺点:交换延迟时间会增长
接收 -> 校验整个帧 -(正确)-> 转发
交换机交换带宽 = 端口数 × 相应端口速率(全双工模式 × 2)交换机交换带宽=端口数×相应端口速率(全双工模式×2)
例:一台交换机有24个100Mbps全双工端口和两个1000Mbps全双工端口,若所有端口都工作在全双工状态,那么交换机交换带宽为
S=24×2×100Mbps+2×2×1000Mbps=8800Mbps=8.8Gbps
- 交互式Ethernet采取以交换机取代集线器(Hub)
- 以交换机的并发连接取代共享总线的方式
- 以全双工方式取代半双工方式
- 以独占方式取代共享方式
- 由于不存在冲突,不采用CSMA/CD控制方法
4.3.2 虚拟局域网(VLAN)技术(IEEE 802.1Q)
- 虚拟局域网:是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每个VLAN的帧都要一个明确的标识符,指明发送这个帧的节点属于哪一个VLAN
- 虚拟局域网是一种建构于局域网交换技术(LAN Switch)的网络管理的技术
- 虚拟网络是建立在局域网交换机之上,以软件方式来实现逻辑工作组的划分与管理
- 虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网
通过软件在交换机上实现VLAN
-
基于交换机端口的VLAN划分方法
从逻辑上把局域网交换机的端口划分成不同的虚拟子网。
**缺点:**当用户从一个端口移动到另一个端口时,网络管理者须对VLAN成员重新进行配置
正在上传…重新上传取消 -
基于主机MAC地址的VLAN划分方法
使用结点的MAC地址定义虚拟局域网
优点:MAC地址与硬件相关的地址,固用此法允许结点移动到网络的其他物理网段,不必重新配置。所以可把其看成是基于用户的VLAN
缺点:所有用户的初始阶段须配置到至少一个虚拟局域网中,初始配置通过人工完成,其后才能自动跟踪用户
-
基于网络层地址或协议的VLAN划分方法
属于一个子网的所有节点划分在一个VLAN中
或使用相同网络层协议的子网节点划分在一个VLAN中.
如:子网1网络层使用IP,子网2使用IPX,则可将它们划分到两VLAN中.
优点: 它允许按照协议类型来组成VLAN,这有利于组成基于服务或应用的VLAN;
其次,用户可以随意移动工作站而无须重新配置网络地址,这对于TCP/IP协议的用户是特别有利的
缺点: 性能较差,检查网络层地址比检查MAC地址花费的时间多,速度会比较慢
通过添加标记的方法扩展标准的Ethernet帧结构,拓展后的帧如下
- 交换机在接收到帧时,需要判断目的地址是广播地址还是组播地址
- 可以通过软件设置的方法灵活地组织逻辑工作组,极大地方便了局域网的管理
- 限制了局域网中的广播通信量,有效地提高了局域网系统的性能
- 网络管理员可以通过制定交换机转发规则,能够提高局域网系统的安全性
4.5 Ethernet组网设备与组网方法
4.5.1 Ethernet基本的组网方法与设备
相当于加油站
- 设计中继器的目的:将衰减和变形后的信号,经过接收、放大、整型的工作过程,使得信号波形与幅度达到协议规定的要求,然后再向它连接的另一个缆段发送出去
- 中继器只工作在物理层,只能起到对传输介质上信号波形的接收、放大、整型与转发的作用,不属于网络互联设备
- 中继器的工作不涉及帧结构,不对帧内容做任何处理。只能起到增加同轴电缆长度的作用
- 中继器连接的几个缆段仍然属于一个局域网。连接在不同缆段上的所有节点,只要有一个节点发送数据,其他节点都可以接收到,它们共享一个冲突域
- 考虑到传输介质的长度和信号的衰减、传输延迟的相关性,因此在一个局域网中使用中继器的数量是有限的
集线器作为Ethernet的中心连接设备,所有节点通过非屏蔽双绞线与集线器连接。物理结构上属于星状结构,逻辑上仍然是总线型结构,在MAC层仍然采用CSMA/CD介质访问控制方法
- 当集线器收到某个节点发送的帧时,它立即将数据通过广播方式转发到其他端口,所有连接在一个集线器上的节点都能接收到该帧。
- 一个时刻只允许一个节点发送,否则冲突
- 连接在集线器上的所有主机属于同一个**“冲突域”**
4.6 局域网互联与网桥
4.6.1 局域网互联与网桥的基本概念
-
将多个局域网互联起来
-
网桥:是实现两个或两个以上相同类型的同构局域网的互联,也可以实现两个或两个以上不同类型的异构局域网的互联设备
-
网桥是MAC层的互联设备
-
网桥主要有两大主要的功能:
端口号与对应的MAC地址表的转发表生成与维护
帧接收、过滤与转发
-
网桥类型:
(1) 源路由网桥
帧传输路径由源主机确定
(2)透明网桥
转发表由网桥通过自学习来实现
- 源路由网桥由发送帧的源主机负责路由选择
- 每个主机在发送帧时,将详细的路由信息写在帧头部,网桥根据源主机确定的路由转发帧
- 为了发现合适的路由,源主机以广播方式向目的主机发送用于探测的发现帧
- 源主机得到这些路由信息后,从可能的路由中选择出一个最佳路由
- 常用的方法是:如果有超过一条的路径,源主机将选择经过的中间经过的网桥跳数最少的路径
-
工作流程:学习过程和帧转发
-
用透明网桥互联局域网时,网桥的转发表开始是空的。网桥采取与交换机相同的自学习方法,在转发帧的过程中,逐渐将建立和更新转发表
-
自学习基本思路:若网桥从一个端口接收到一个帧,则将该源地址与对应端口记录下来。若接收到以该地址为目的地址的帧则可通过转发表中对应端口转发出去。
-
透明网桥通过自学习算法生成和维护网桥转发表,是一种即插即用的局域网互联设备
-
局域网的主机不负责帧传输路径的选择。互联的局域网主机不需要知道网桥的存在,也不需要了解网桥之间的连接关系,网桥对主机是透明的
4.6.3 生成树协议
-
网桥互联有时会形成环状结构,即环路
环路使网桥反复转发同一个帧,从而增加网络负荷。为防止出现这种现象,透明网桥和交换机使用一种生成树协议(Spanning Tree Protocol STP)以防止出现环路,同时提供传输路径的备份功能
是链路管理协议,能够自动控制局域网系统的拓扑,形成一个无环路的逻辑结构,使得任意两个网桥或交换机间,任意两个局域网间只有一条有效的帧传输路径
网桥之间通过网桥协议数据单元(Bridge Protocol Data Unit BPDU)交换各自的状态信息。生成树协议通过BPDU所提供的各个网桥的状态信息,选出根网桥与根端口,自动完成无环路结构最佳路径的计算与网桥端口配置的任务
- 路径成本是路径通过局域网成本之和中最低的路径最佳
- 一般选优先级小的端口启用,优先级大的备份。优先级相同,则选端口号小的启用
4.6.4 网桥与中继器、集线器、交换机的比较
中继器、集线器、交换机的比较
- 中继器属于OSI模型中的物理层,物理层的设备不直接参与到网络数据的传输中
4.7 无线局域网
- 1997年形成了第一个无线局域网的标准802.11
- 无线AP(Access Point):即无线接入点
- 802.11标准将2.4GHz频段划分为14个独立信道的频率分配情况
- 为了降低相邻信道由于频率重叠造成的干扰,IEEE选择信道的原则是要相隔5个信道
4.7.2 IEEE802.11协议的特点
-
IEEE 802.11标准定义了两类网络拓扑结构模式
基础设施模式(基础结构型)
独立模式
-
基础设施模式可分为:
基本服务集(Basic Service Set,BSS)
扩展服务集(Extended Service Set,ESS)
-
基本服务集主要是指无线自组网(Ad hoc网络 )
- BSS中一个接入点设备AP就是一个基站,中心控制节点。如构成覆盖一个实验室、教室的局域网
- ESS通过Ethernet将多个BSS互联起来构成,如覆盖一个校园,由覆盖各个教室、宿舍、阅览室等多个BSS通过校园网互联起来
- Ad hoc主机间采用对等的方式通信
- 独立型BSS是指以自组网的方式组成的移动无线网络——Ad hoc
- 独立型无线自组网中没有无线基站,无线主机之间采用对等的点-点方式通信
- 不相邻无线主机之间的通信,需要通过相邻无线主机转接的多跳方式完成
- 自组织与自修复
- 无中心
- 多跳路由
- 动态拓扑
无线Mesh网络又叫做Mesh基本服务集(MBSS)或无线网状网(WMN)
无线Mesh网络与Ad hoc网络的区别在于
-
无线Mesh网络是通过Mesh AP与Mesh AP的点-点连接形成了网状网结构
-
Ad hoc网络直接由无线主机之间的点-点连接去形成网状网
- AP利用共享的无线信道,通过“广播”方式将该数据帧发送出去,在基站AP覆盖范围内所有主机都接收到该帧
- 如果有两个或以上的无线主机,试图同时利用共享无线信道发送帧时就会发生冲突
在无线通信中可实现两个无线主机之间的正常通信需要满足两个基本条件
- 发送主机与接收主机使用的频率相同
- 接收主机接收到的发送信号功率要大于或等于它的接收灵敏度功率
MAC层协议必须解决无线环境中隐藏主机与暴露主机问题,以提高无线信道的利用率
- (a)中,主机C对于主机B来说是隐藏主机
- (b)中,主机B对于主机A来说是暴露主机
802.11协议定义了AP的服务集标识符(Service Set Identifier,SSID)与基本服务集标识符BSSID的概念
4.7.3 IEEE 802.11的CSMA/CA协议实现方法
1.传统Etherne局域网与802.11无线局域网的异同点
- 都采用了分布式控制
- 载波监听
- 多路访问(CSMA)
- 传统Etherne局域网采用冲突检测(CD)
- 802.11无线局域网采用冲突避免(CA)
帧间间隔IFS:802.11协议规定所有的无线网卡在检测到信道空闲到真正发送一帧,或者是发送一帧之后到发送下一帧时,需要间隔一段时间
- 短帧间间隔 SIFS
- 点协调功能帧间间隔 PIFS
- 分布协调功能帧间间隔 DIFS
- 扩展帧间间隔 EIFS
CSMA/CA的工作原理:信道监听、推迟发送、冲突退避
- CSMA/CA要求物理层对无线信道进行载波监听,根据接收到的信号强度来判断是否已经有主机利用无线信道发送数据信号
- 当源主机确定信道空闲时,首先要等待1个DIFS时间间隔;如果时间到,并且信道仍然空闲则发送第一个帧。帧发送结束后,源主机需要等待接收帧的目的主机发送回的ACK确认帧
- 目的主机在正确地接收到发送帧,并等待SIFS时间间隔之后,向发送主机发出ACK确认帧
- 源主机在规定时间内接收到ACK确认帧,说明没有发生冲突,第一帧发送成功
- 802.11的MAC层采用虚拟监听VCS与网络分配向量NAV机制,来达到主动避免冲突发生,进一步减小冲突发生概率的目的
- 802.11的MAC层在帧头第2个字段是“持续时间(Duration/ID )”字段
- 发送主机在发出一帧时,同时在该字段内填入以μs为单位的值(例如为216),表示在该帧发送结束后,还要占用信道216μs的时间,这个时间包括目的主机返回的确认时间
- 无线局域网中其他的主机在收到数据帧中“持续时间”的通知后,如果该值大于自己的NAV值,就要根据接收的“持续时间”字段值来修改自己的NAV值
- NAV计时器值随着时间推移递减,只要NAV不为0,主机就认为信道忙,不发送数据帧
- 由于考虑到可能有多个主机在同一个时刻都出现了NAV=0,都会认为信道空闲,这时多主机同时会发送数据帧而出现冲突,因此802.11协议规定:所有主机在NAV值为0之后,再等待一个DIFS时间后,执行“二进制指数退避算法”,以进一步减少出现冲突的概率
- “二进制指数退避算法”规定:第i次退避时间可以在22+i个时间片[2 2+i-1]中随机地选择一个。例如,第1次退避i=1,22+1=8,那么可以在[0,1,…,7]共8个时间片中随机地一个退避时间,例如选择5个时间片。那么在第一次出现冲突之后,主动延时5个时间片。第2次退避是22+2=16个时间片,即[0,1,…,15],如果随机地选择12个时间片,那么在第2次出现冲突之后主动延时12个时间片。当冲突出现到第6次,即i=6时,即22+6=256,可以在[0,1,…,255]的时间片中随机地选择一个退避时间片
- 802.11协议将退避时间变量i定义为退避变量,退避变量的最大值imax=6
- 当无线局域网中主机有数据帧准备发送,它必须执行退避算法,选择退避时间值,启动退避计时器(backoff timer)。当退避计时器的时间减小到0时,可能会出现两种情况:
- 第一:退避计时器的时间为0时信道“闲”,那么该主机可以发送一帧
- 第二:退避计时器的时间为0时信道“忙”,那么该主机就冻结退避计时器的数值,重新等待信道变为“闲”,再经过DIFS帧间间隔之后,继续启动退避计时器,从剩下的时间开始计时。等到退避计时器的时间为0时,信道“闲”,此时该主机可以发送一帧
- NAV计时器值随着时间推移递减,只要NAV不为0,主机就认为信道忙,不发送数据帧
- 由于考虑到可能有多个主机在同一个时刻都出现了NAV=0,都会认为信道空闲,这时多主机同时会发送数据帧而出现冲突,因此802.11协议规定:所有主机在NAV值为0之后,再等待一个DIFS时间后,执行“二进制指数退避算法”,以进一步减少出现冲突的概率
- “二进制指数退避算法”规定:第i次退避时间可以在22+i个时间片[2 2+i-1]中随机地选择一个。例如,第1次退避i=1,22+1=8,那么可以在[0,1,…,7]共8个时间片中随机地一个退避时间,例如选择5个时间片。那么在第一次出现冲突之后,主动延时5个时间片。第2次退避是22+2=16个时间片,即[0,1,…,15],如果随机地选择12个时间片,那么在第2次出现冲突之后主动延时12个时间片。当冲突出现到第6次,即i=6时,即22+6=256,可以在[0,1,…,255]的时间片中随机地选择一个退避时间片
- 802.11协议将退避时间变量i定义为退避变量,退避变量的最大值imax=6
- 当无线局域网中主机有数据帧准备发送,它必须执行退避算法,选择退避时间值,启动退避计时器(backoff timer)。当退避计时器的时间减小到0时,可能会出现两种情况:
- 第一:退避计时器的时间为0时信道“闲”,那么该主机可以发送一帧
- 第二:退避计时器的时间为0时信道“忙”,那么该主机就冻结退避计时器的数值,重新等待信道变为“闲”,再经过DIFS帧间间隔之后,继续启动退避计时器,从剩下的时间开始计时。等到退避计时器的时间为0时,信道“闲”,此时该主机可以发送一帧