一、数据链路层基本概念
1.基本概念
(1)简单模型
(2)信道类型
- a.点对点信道
一对一的点对点通信方式 - b.广播信道
使用一对多的广播通信方式,过程比较复杂,使用专用的共享信道协议来协调这些主机的数据发送
(3)链路与数据链路
- 链路link:点到点,中间没有其他交换节点
- 数据链路data link:除了物理线路,还必须有通信协议控制数据的传输
- 最常用方法:使用适配器(即网卡)实现协议的硬件和软件
- 一般的适配器包括了数据链路层和物理层的功能
数据链路层传输的是帧:帧头 帧尾 物理层地址 校验值
2.三个基本问题
(1)封装成帧
- MTU:最大传输单元Maximum Transmission Unit
- 封装成帧:在一段数据的前后分别添加首部和尾部,然后就构成了一个帧,确定帧的界限。
- 首部和尾部的一个重要作用就是进行帧定界。
举例:可以是这样表示帧的开始和结束
在开头收到00000001表示开始,发现00000100表示帧的结束
(2)透明传输
- 如果传输的数据中包含结束和开始字符怎么办,怎么告诉计算机这不是开始和结束呢?
- 如果传输的数据中包含开始和结束帧符,会插入ESC(转义字符),来标识是数据还是开始就结束字符。
- 如果数据中包含ESC,则在ESC前再加一个ESC
透明传输:在传输过程中加了转义字符,但是收到的时候是没有转义字符的。
(3)差错控制
数据链路层 :只负责无差错的接收,出错了数据就扔掉
传输层:负责可靠传输,出错了重传等
增加帧检验序列FCS,来判断帧数据是否正确
- 循环冗余检验CRC(cyclic redundancy check)
CRC是一种无比特差错,而不是无传输差错的检验机制
例如:
1. 传输的数据是101001,在后面加三位000
2. 除数设为任意的四位(比加的数多一位即可)
3. 做商的时候看首位是1就上1,是0则上0,做不进位的加法(异或?感觉类似)即可
4. 最后的余数即为FCS(frame check sequence帧检验序列)
5. 最后传输的数据即为 101001001(后三位帧检验序列)
6. 收到的时候,除以相同的除数,余数为0则无差错
3.两种情况下的数据链路层
广域网 : 点到点信道的数据链路层 使用PPP协议
局域网 : 使用广播信道
(1)使用点对点信道的数据链路层
目前全世界使用最多得数据链路层协议是点对点协议PPP(point-to-point protocol)协议
用户使用拨号电话接入Internet时,一般都是使用PPP协议
a. PPP协议有三个组成部分
- 数据链路层协议:用于异步或同步串行介质
- 使用LCP(link control protocol链路控制协议)建立并维护数据链路连接【支持身份验证,计费功能】
- 网络控制协议(NCP:network control protocol)允许在点到点连接上使用多种网络层协议
b.PPP协议的帧格式
- 7E是十六进制,转换为二进制位01111110是标识字符,表示帧的起始和结束
- FF表示地址(是固定的)
- FCS是帧检验序列
- 传的数据中包含标识字符了进行字节填充或者零比特填充方法,来实现透明传输
c. PPP协议不使用序号和确认机制
- 数据链路层出现差错的概率不大,可使用简单的PPP协议
- 在Internet环境下,PPP信息字段放入的数据是IP数据报。数据链路层的可靠传输并不能够保证在网络层的传输也是可靠的
- 帧检验序列FCS字段可以保证无差错接受
d.PPP协议的工作状态
- 当用户拨号接入ISP(Internet service provider互联网服务提供商)时,路由器的调制解调器对拨号做出确认,并建立一条物理连接
- PC机向路由器发送一系列的链路控制协议LCP分组(多个PPP帧)
- 这些分组及其响应选择一些PPP参数,和进行网络层配置,网络控制协议NCP给新加入的PC机新分配一个临时的IP地址,使PC机成为Internet的一个主机
- 通信完毕时,网络控制协议NCP释放网络层连接,收回原来分配出去的IP地址
- 链路控制协议LCP释放数据链路层连接
- 最后释放物理层的连接
e. 实操
安装Cisco packet tracer
配置路由器
enable
进入用户模式
ex
退出到上一层配置(config-if 到config)
config t
进入配置模式
interface serial 2/0
进入接口配置模式(config-if)
no sh
启用
ip address ip地址 子网掩码
clock rate 64000
配置时钟频率
ctrl+Z退出配置
encapsulation ?
查看可封装什么协议
encapsulation ppp
一端路由器接口封装为PPP协议,而另一端是默认的HDLC(high-level data link Control高级数据链路控制),则ping 不通了:因为数据链路层不通了,所以网络层也不通了
show interface serial 2/0
查看接口信息
username RA password aaa设置账号密码
ppp authentication chap
设置ppp协议身份认证
(2)使用广播信道的数据链路层
局域网使用广播信道
a. 局域网的拓扑
b.共享通信媒体
- 静态划分信道
频分复用
时分复用
波分复用
码分复用 - 动态媒体接入控制(多点接入)
随机接入(主要被以太网采用)
受控接入,如多点线路探询polling,或轮询(目前不用了)
c. 以太网
- 总线型
数据带有目标地址的Mac地址
这种方式不安全,如果A中装了抓包工具,B给D的信息也是可以抓捕到的
用集线器连接的网络也是这个样子,具有广播特性的总线上实现一对一的通信,不安全 - 载波监听多点接入/碰撞检测 以太网使用CSMA/CD协议(carrier sense multiple access with collision detection)
多点接入:表示许多台计算机都可以连接在同一根总线上
载波监听:在发送数据之前先检测一下,线上有没有其他计算机在发送数据,如果有就不能发了,避免碰撞- 碰撞检测 (也叫冲突检测):检测信道上的信号电压大小
当几个站同时在总线上发送数据时,总线信号的电压摆动值变大(互相叠加),发生“碰撞”,之后,总线上传输的信号产生严重的失真,无法从中恢复出有用的信息,每一个发送数据的站都会停止发送,避免继续浪费网络资源,等待一段随机时间之后再发送 - 传播时延对载波监听的影响
如果A,B发送信号到0.5km处冲突,信号各自返回,那么A发现冲突的时间是τ
极限状态:A在接近B处冲突,A返回,极限值接近2τ
- 碰撞检测 (也叫冲突检测):检测信道上的信号电压大小
使用CSMA/CD协议的以太网不能进行全双工通信,只能进行双向交替通信(半双工通信)
发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率
d. 争用期
上图中的2τ就是争用期(两倍的端到端往返时延)
对于10Mb/s以太网,在争用期内可发送64字节,则,如果前64字节未发生冲突,则后续的数据就不会发生冲突
最短有效帧长:
- 如果发生冲突,就一定是在发送的前64字节之内
- 由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于64字节
- 以太网规定了最短有效帧长为64字节,凡长度小于64字节的帧都是由于冲突而异常中止的无效帧
- 最短有效帧长和发送速度有关
- 以太网长度100米,太长影响冲突检测
e. 二进制指数类型退避算法
- 确定基本退避时间,一般是取为争用期2τ
- 定义参数k,k = Min[重传次数,10]
- 从整数集合[0,1,…2,(2^k-1)]中随机地取出一个数,记为r。重传所需的时延就是r的基本退避时间
- 当重传达16次仍不能成功时即丢弃该帧,并向高层报告
二、以太局域网
1.以太网标准
802.3局域网
一般认为,只要满足冲突检测的载波监听多路访问(CSMA/CD)机制的都是以太网
2.以太网与数据链路层的两个子层
- (1)逻辑链路控制LLC(logical link control)子层
- (2)媒体接入控制MAC(medium access control)子层
3.以太网提供的服务
以太网提供的服务是不可靠的交付
4.星型拓扑
(1) 用集线器连的以太网是一个星型机构
距离不超过100米,集线器:信号放大
(2) 集线器的特点
- 发数据的线 会发送 到其他工作站的 收数据的线
- 集线器工作在物理层
- 集线器的带宽是共享的,不安全
- 10BASE-T的通信距离稍短,每个站到集线器的距离不超过100米
(3)以太网的信道利用率
信道利用率 : 以太网单程端到端时延τ 与 帧的发送时间T0 之比
比例越小,以太网的信道利用率越高
信道利用率的最大值(理想情况下,没有冲突):T0/(T0+τ)
(4)MAC层(medium access control媒体访问控制层)
a.MAC地址(物理地址)
48位的二进制组成,(前面24位表示厂家,后24位厂家来指定,保证全球唯一)
dos中ipconfig/all显示的是十六进制的物理地址
b. 适配器检查MAC地址
- 适配器从网络上每收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址
- 如果是本站的帧,收下再做其他处理
- 否则将此帧丢弃
- 帧包括以下三种帧
- 单播帧(一对一)
- 广播帧(一对全体)
- 多播帧(一对多)
c. MAC帧格式
总共64个字节,因为加了目的地址6个字节,源地址6个字节,类型2个字节,FCS帧检验序列4个字节,网络层只需要传输46个字节即可,数据包的大小46~1500个字节
d.利用抓包工具查看传输数据
抓包工具 Ethereal,现在称为Wireshark
扩展:
- 楼主是在VM的CentOS中安装的,可以先安装一个第三方软件库epel:
yum install epel -release
- 安装完之后,需要配置一下 /etc/yum.repos.d/epel.repo文件(root权限下,否则修改保存不了),将第三行#baseurl…的注释去掉为baseurl…,在第四行mirrorlist…加上注释为#mirrorlist
- 3.安装ethereal也就是wireshark:
yum install ethereal ethereal-gnome
- 安装完之后,再安装一个抓包函数包libpcap才可使用:
yum install libpcap
,可通过rpm -q libpcap
查看是否安装成功- 之后可在Applications-internet中找到安装好的wireshark,打开使用
红色框为目标mac地址,绿色框为源mac地址,IP是类型占2位
Ethernet数据链路层的信息
Internet Protocol 网络层的数据
Internet Control Message Protocol 数据
收到帧之后是没有帧校验序列FCS的,正确就删掉了
源mac地址是自己,目标mac地址是全f,广播地址
三、扩展以太网
1.在物理层考虑扩展
(1) 距离上扩展100M 光纤:利用集线器
(2) 数量上扩展:通过网线把集线器相连
集线器级联:大的冲突域,效率降低
2.在数据链路层考虑扩展:
(1)网桥
- 网桥的工作:在数据链路层,根据MAC帧的目的地址对收到的帧进行转发,当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口
网桥:有一个类似的学习功能,在第二次发送的时候,网桥就知道对应的MAC在哪边,可以隔绝冲突域。
(2) 交换机
网桥的每个口接集线器,集线器接多台计算机
…之后,网桥的每个口直接连计算机,就变成了交换机
交换机的口可以存储数据帧,冲突的时候:先存再发
交换机:
- 存储转发
- 全双工通信
- 带宽独享
- 安全
- 基于MAC地址转发,通过学习构建MAC地址表
(3)实操
交换机:
en
进入用户模式
show mac-address-table
显示交换机的MAC地址表
(4)生成树协议STP: 解决网络环路问题
- 三台交换机形成环,可以提高网络可靠性(任一一条链路异常,依然可以互相通信)
- 但是如果容易造成广播风暴(不断在链路互相转发广播包,造成带宽被无用数据占用,浪费资源)
a. 网络环路会带来的问题
- 广播风暴
- 主机收到重复的广播帧
- 交换机的帧交换表震荡(漂移):从A计算机发到a路由器的会记录端口和数据包来源的MAC地址进入帧交换表,由于广播风暴,会不断更新这个帧交换表
b. 生成树协议STP提高可靠性同时避免网络环路
- 不论交换机之间采用怎样的物理连接,交换机能够自动计算并构建一个逻辑上没有环路的网络,其逻辑拓扑结构必须是树型的(无逻辑环路)
- 最终生成的树型逻辑拓扑要确保连通整个网络的每一个部分
- 当首次连接交换机或网络物理拓扑发生变化时(有可能是人为改变或故障),交换机都将进行生成树的重新计算。
(5) 交换机连接不同网段通信
Switch>en
Switch#config t
Switch(config)#vlan 1 //创建vlan 1
Switch(config-vlan)#ex
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#switchport access vlan 1 //设置端口0/1连接 vlan 1 网段
Switch(config-if)#ex
Switch(config)#interface vlan 1 //进入vlan 1配置
Switch(config-if)#ip address 192.168.1.1 255.255.255.0 //设置端口ip地址(一般为接入的网关),子网掩码
Switch(config-if)#no sh
Switch(config-if)#ex
Switch(config)#vlan 2
Switch(config-vlan)#ex
Switch(config)#interface fa 0/2
Switch(config-if)#switchport access vlan 2
Switch(config-if)#ex
Switch(config)#interface vlan 2
Switch(config-if)#ip address 192.168.2.1 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#ex
Switch(config)#ip routing //添加路由功能,没加不同网段还是ping不通的
Switch(config)#
四、高速以太网
速率达到或超过100Mb/s的以太网称为高速以太网。
1.快速以太网Fast Ethernet
- 在双绞线上传达100Mb//s基带信号的星型拓扑以太网,仍使用 IEEE802.3的CSMA/CD冲突检测的多路载波监听协议
- 100BASE-T以太网又称快速以太网
2.吉比特以太网
1Gb/s下全双工和半双工两种方式工作
- 半双工下使用CSMA/CD
- 全双工不需要使用CSMA/CD
3.10吉比特以太网
10吉比特以太网和10Mb/s,100Mb/s和1Gb/s以太网的帧格式完全相同,但只使用光纤作为传输媒体,全双工,不使用CSMA/CD
- 端到端的以太网传输:
- 校园网,企业网
- 好处:
- 成熟的技术
- 互操作性好
- 在广域网中使用以太网时价格便宜
- 统一的帧格式简化了操作和管理
4. 以太网的演讲
- 以太网时可以扩展的(从10Mb/s到10Gb/s)
- 灵活的(多种传输媒体,全/半双工、共享/交换)
- 易于安装
- 稳健性好
5.cisco建网三层模型
连接:就近原则
如果新的大楼接入,可加在核心层