【网络原理】第四章 数据链路层(三)

三、常用的数据链路协议(HDLC、PPP)

(一)分析协议的思路

步骤一:了解协议的概貌,知道这个协议设计的目的、基本特征

步骤二:以协议数据单元(对于数据链路层而言是帧)的格式为主要线索来研究协议的      具体实现

步骤三:协议如何解决实际问题?

(二)HDLC协议(高级数据链路控制规程)(面向比特协议)

HDLC协议是一个面向比特的协议,其主要解决了数据链路层链路管理、寻址、帧同步、差错控       制、流量控制,其具有了平衡系统的和非平衡系统两个特性。

1、HDLC的组成:

帧结构(语法)

规程元素(语法)

规则类型(语义)

使用HDLC语法可以定义多种具有不同操作特点的链路层协议。

2、HDLC的描述

HDLC在描述时提出了三个层次的概念:

(1)所有参与通信的节点分类(数据站):主站、次站、组合站。

在以前的以单处理机为中心的多终端联机系统的集中式控制,主站和次站时成对出现的,而对于现在的分布式结构(如分组交换网络)来说,所有的站点都是组合站。

(2)链路类型:平衡型,非平衡型。

集中式控制属于非平衡型,而分布式控制则属于平衡型

(3)操作模式:正规响应模式、异步响应模式、异步平衡模式

对于平衡型来说其只有异步平衡模式,即每个站点自主发出通信,是自治系统。而对于由主站和次站构成的非平衡型来说,有正规响应模式,即次站必须受到主站的控制,在没有得到主站许可的情况下,不能主动发起数据传输。而在异步响应模式下,次站可以主动发起数据传输。

3、HDLC协议数据单元的格式(帧格式)

(1)标志字段:帧首字段和帧尾字段在内容上看都是由“01111110”组成,其用来划分帧的起始位置和结束位置

(2)地址字段:其有两个缺陷:一,由于当时是为以单处理机为中心的多终端联机系统设计的,所以只有一个地址(终端地址),不适用于现在的分布式计算机系统。二,地址只有8位,即最多只能表示256个节点。

(3)信息字段:协议数据单元的用户数据部分,长度可变,但是一般情况下是1500个字节。

(4)帧校验序列:使用CRC校验法。

(5)信息帧:发送方在发送数据时使用了固定尺寸的滑动窗口协议(窗口大小固定为7)

4、HDLC帧的类型

帧类型:(1)信息帧:替上层的实体传送数据使用的帧

(2)监控帧:进行差错控制和流量控制

(3)无序号帧:链路管理控制,负责协商双方如何通信、如何使用信道

(三)协议工程设计

1、协议说明(需求分析、功能设计):一般不用自然语言描述(冗余、多义性、结构性不           好)。而用有限状态机(FSM)、Petri网等形式描述

2、协议验证(协议工作模式是否把网络环境所遇到的问题考虑全、是否能够正常运行)

3、协议测试:一致性测试、互操作性测试、性能测试

4、有限状态机:其认为任何一个协议,就是要描述网络中的各种状态,而状态是有限的。

(1)有限状态机是一个四元组(S,M,I,T)

S为状态的集合,M是标号的集合,I是状态的集合,T是变迁的集合

其基本思想为:当出现一个变迁时,会由一个状态迁移到另外一个状态,而变迁产生的原因是来自用户的命令,信息的到达,内部的超时等事件

(2)状态举例:信道有错的单工停等协议

用三元组XYZ来表示状态:XYZ

X:发送方正发送的帧序号,为0或1

Y:接收方正在等待的帧序号,为0或1;

Z:信道状态:为0(表示正在传送序号为0的帧),

1(表示正在传送序号为1的帧),

A(信道正在传送应答帧)

或-(空)(表示信道没有传送数据或者传送的数据出错)

其初始状态为000

(3)优点:简单明了,比较精确

缺点:对于复杂协议来说,事件数和状态数会增加,处理困难。

5、perti网

(1)元素:

位置:描述系统状态,用一个圆圈表示

变迁:描述修改系统状态的事件,用一个长方形或线段表示

弧:描述状态与事件之间的关系,包括输入弧和输出弧,用用有向弧表示。

黑点:标记,是当前的状态

如图为有错单工停等协议的preti描述,其最大特点在于可以单独描述三种不同的状态

(四)Internet的数据链路层

1、点到点通信的两种主要情形(intenet工作的主要场合):

(1)路由器到路由器:

(2)通过调制解调器拨号上网,或者连入接入服务器

接入INTERNET的方法:拨号接入(用户要想连入internet,有一个路由器或主机相连,必须申请连入才能接入)、专线接入(线路实时开放,不需要申请就可以完成数据传输)

2、SLIP(Serial LINE IP 串行线路IP协议)

本协议1984年提出,发送原始IP数据包,用一个标记字节(0Xc0)来定界,采用字符填充技术。其存在的问题主要有不提供差错校验、只能支持IP协议且IP地址不能动态分配,不支持身份验证,多版本不兼容等问题,现在已经不再使用。

3、PPP(point-to-point Protocol)协议(RFC 1661 16621663)

(1)特点:提供差错校验、支持多种协议、允许动态IP地址、支持身份认证

(2)与SLIP不同的是,其发送的不是原始IP数据包,而是以帧位单位传输。

(3)PPP协议为了增加协议的适应性和灵活性,协议被分为了两个部分,一部分为链路控制协议LCP(LinkControl Protocol),可以建立、测试多种物理层服务,使得本数据链路层可以支持更加丰富的类型

(4)PPPoE(Point to Point Protocol over Ethernet) 是基于以太网的点对点通讯协议

(5)帧格式:PPP协议的帧格式与HDLC协议的帧格式基本相同,但是有以下两点不同:第一,HDLC协议面向比特,而PPP协议面向的是字符,其要求所有通信的节点支持ASCII字符集;第二,PPP协议是HDLC的简化版本:(1)帧首与帧尾的定界符与HDLC协议相同(00111111),(2)地址字段保留了8位(为8个1),其不需要地址(应用环境是一条链路对应的两段,不需要地址)(3)控制字段(无序号帧)(4)协议字段:处理完成之后指向哪个应用进程进行处理(IP/IPX。。)(5)净负荷域:缺省为1500字节(6)校验和域:2或4个字节

参考资料:  [1]韩立刚,计算机网络原理创新教程[M],水利水电出版社,2017.1

[2]陈妍,计算机网络原理[M].西安交通大学,2012.6

时间: 2024-11-05 06:02:35

【网络原理】第四章 数据链路层(三)的相关文章

【网络原理】第四章 数据链路层(一)

一.数据链路层的定义与其主要完成的功能 1.为什么要设计数据链路层? 有了物理层进行二进制位流的透明传输,为什么还要设计数据链路层呢?在物理层进行二进制传输       时,有些问题是其难以解决的.比如,在传输过程中由于信号干扰,必然会导致二进制位流出现差错     (有一定的误码率).物理层也没有办法恢复这些差错,所以,需要一个机制来加强物理层的功能,       来保证物理层可以向上层呈现一条无差错的.满足一定服务要求的点到点传输,为接下来的层次提供       更可靠的保证.对于上层(比如

unix网络编程第四章----基于TCP套接字编程

为了执行网络I/O操作.进程必须做的第一件事情就是调用Socket函数.指定期待的通信协议 #include<sys/socket.h> int socket(int family,int type,int protocol); family表示协议族,比如AF_INET,type表示套接字类型, protocol一般设置为0 family: AF_INET ipv4协议 type: SOCK_STREAM 字节流套接字 SOCK_DGRAM 数据报套接字 SOCK_RAW 原始套接字 pro

网络学习第四章(交换机)

交换机就是多接口的网桥,网桥就是聪明的中继器.

网络操作系统第四章课后习题解答

1.磁盘的数据结构包括哪些内容? (1)主引导扇区; (2)操作系统引导扇区; (3)文件分配表; (4)目录区; (5)数据区. 2.什么是基本磁盘和动态磁盘? 基本磁盘: 基本磁盘和旧版本Windows操作系统中使用了相同的磁盘结构.在使用基本磁盘时,我们被限制只能在每个磁盘上创建4个主分区或3个主分区加1个扩展分区.在扩展分区内,还可以创建一个或多个逻辑驱动器. 动态磁盘: 动态磁盘功能最初发布于Windows 2000,用于增强磁盘支持,在磁盘配置变动后需要重启动的次数更少,同时对磁盘的

第三章 数据链路层(三)

序言 一上午搞那个路由器,在图书馆的局域网连路由器开wifi,忙活了一上午,有个疑问,那个插口直接连网线到电脑上就可以用,但是连到路由器上时路由器就不能够自己获取ip地址了,难道是因为线太长了吗?连到别的插口就可以了,等晚上人少的时候在试试,其中原理不是很清楚,希望学习完这本书能够理解一点,路由器设置就是傻瓜式的设置.赶紧写一下今天的这篇文章,结束掉数据链路层这一章节吧. ---WH 一.局域网 局域网和以太网的区别和联系? 是以太网就一定是局域网,但是局域网不一定就是以太网. 因为以太网就是一

C语言探索之旅】 第一部分第四课第三章:变量的世界之显示变量内容

内容简介 1.课程大纲 2.第一部分第四课第三章:变量的世界之显示变量内容 3.第一部分第五课预告:基本运算 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 基本运算 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理 创建你自己的变量

linux基础-第十四单元 Linux网络原理及基础设置

第十四单元 Linux网络原理及基础设置 三种网卡模式图 使用ifconfig命令来维护网络 ifconfig命令的功能 ifconfig命令的用法举例 使用ifup和ifdown命令启动和停止网卡 ifup命令的功能 ifdown命令的功能 ifup命令的用法举例 ifdown命令的用法举例 网络配置文件 网卡对应的网络配置文件 什么是网络配置 ip命令 ping命令 setup命令 课后作业 [本节内容]1. 使用ifconfig命令来维护网络(详见linux系统管理P422)1) 掌握if

Linux读书笔记第三、四章

第三章 主要内容: 进程和线程 进程的生命周期 进程的创建 进程的终止 1. 进程和线程 进程和线程是程序运行时状态,是动态变化的,进程和线程的管理操作(比如,创建,销毁等)都是有内核来实现的. Linux中的进程于Windows相比是很轻量级的,而且不严格区分进程和线程,线程不过是一种特殊的进程. 所以下面只讨论进程,只有当线程与进程存在不一样的地方时才提一下线程. 进程提供2种虚拟机制:虚拟处理器和虚拟内存 每个进程有独立的虚拟处理器和虚拟内存, 每个线程有独立的虚拟处理器,同一个进程内的线

MiS603开发板 第十四章 UDP协议网络传输

作者:MiS603开发团队 日期:20150911 公司:南京米联电子科技有限公司 论坛:www.osrc.cn 网址:www.milinker.com 网店:http://osrc.taobao.com EAT博客:http://blog.chinaaet.com/whilebreak 博客园:http://www.cnblogs.com/milinker/ MiS603开发板 第十四章 UDP协议网络传输 本实验将实现FPGA 芯片和PC 之间进行千兆以太网数据通信, 通信协议采用Ether