学习要求:
- 掌握:网络体系结构的层次化研究方法
- 掌握:协议、层次、接口与网络服务概念;
- 理解:目前网络互连的最佳思想和方法
- 理解:网络通信的实际过程
学习方法
- 通过一个通信模型,了解网络分层设计的原理,理解协议、服务和接口等概念;
- 自行设计LAN(局域网)的层次结构,理解网络分层的原理,理解网卡的作用;
- 自行设计出WAN的层次结构,理解通信子网的功能和路由器的原理;
- 理解物理地址和逻辑地址的原理和区别
1.3.1一个分层通信例子

层(layer)
- 使用了信息隐蔽、抽象数据类型以及面向对象的设计方法;
- 目的是向上层提供服务,上层可以使用其提供的服务,但对于其内部的状态和算法不可见
服务(Service)
- 下层(n-1层)向上层(n层)提供的功能,方向是垂直的。
协议(protocol)
- 对等层关于如何进行通信的一种规则约定,是对该层功能如何实现的一种定义。

接口(interface)
- 存在于每一对相邻层之间的临界处,下层通过接口向上层提供服务。
1.3.2设计局域网(LAN)的网络层次结构
- 已知条件:
现有若干台自主计算机(其上运行了想进行网络通信的应用程序)
提供了共享型的传输介质,可采取广播式的传输方式。 - 要求:
不能更改计算机中固有的硬件设计
可以增加新的硬件及其驱动程序、对应插槽 - 求解:
设计广播式的局域网网络体系结构,实现通信
两个应用层进行通信

物理层(下层)负责在对等物理层之间协商:
1)使用何种传输介质;
2)使用什么形式的电压/脉冲表示0/1信号;
3)将逻辑数字信息转换成物理信号传输;
计算机之间能正确通信吗?

1。共享的信道如何在计算机之间合理的竞争信道的使用权?
2。共享的信道如何保证只有计算机2能正确收到来自于计算机1的信息?
设计一个数据链路层

数据链路层负责:寻址和信道的竞争控制,冲突调解1)指定协议,规定如何竞争信道,如何调解冲突;
2)设定物理地址,标识每一台机器;
通信问题圆满解决了吗

每台计算机有以下特点:
1)每台计算机的速度不是匹配的;
2)每台计算机中运行着多个应用程序;
再设计一个传输层

增加一个硬件——网卡
- 每天计算机都有一个识别自己的特定方法。从来不会有两个相同的物理地址。
- 这个一物理地址存储在网络接口卡或者NIC卡中,被称为介质存取控制地址或者MAC地址。
- 出厂前,硬件制造商为每个NIC卡指定了一个物理地址。这一地址被编程写入NIC卡上的一个芯片中。
- 网卡实现了数据链路层和物理层的功能。
回过头来再看看…
- 联网能够使用相同硬件的方法吗?
- 联网能够使用统一的高级软件方法吗?
- 分层技术的妙处?
- 在局域网中,实际的通信过程是怎样的?

再接再厉:设计广域网(WAN)的网络层次结构
- 已知条件:
现已存在了多种类型的局域网络; - 要求:
不能更改现有局域网的设计;
可以增加新的硬件或设备 - 求解:
设计广域网的体系结构,实现局域网之间的互通。
问题多多?
- 问题1:尺度问题;
- 问题2:差别问题;
- 问题3:广播问题。
网桥:传达、翻译兼保镖!






问题很严重!
- 地址问题:
若是一个网桥,连接了多个网络,而每个网络上又有数量众多的计算机,则网桥要维护的地址表是非常庞大的
并且查表时间也随着网络的规模的增大而变得越来越慢!!!
网桥最后就成为了网络的瓶颈!!! - 广播问题
不堪重负的骚扰
解决地址问题
- 选择更智能的地址!
新的编址方式

能够用前缀标识一个网络

解决广播问题
- 由广播=》点到点
再设计一个网络层

新的硬件设备-工作在那一层?

分层的好处
- 各层之间是独立的。
- 灵活性好。
- 结构上可分割开。
- 易于实现和维护
- 能促进标准化工作。
层数多少要适当
- 若层数太少,就会使每一层的协议太复杂。
- 层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。
五层协议的体系结构

计算机 1 向计算机 2 发送数据



















概念总结: 实体、协议、服务 和服务访问点
- 实体(entity) 表示任何可发送或接收信息的硬件或软件进程。
- 协议是控制两个对等实体进行通信的规则的集合。
- 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务
- 要实现本层协议,还需要使用下层所提供的服务
实体、协议、服务 和服务访问点(续)
- 本层的服务用户只能看见服务而无法看见下面的协议。
- 下面的协议对上面的服务用户是透明的。
- 协议是“水平的”,即协议是控制对等实体之间通信的规则。
- 服务是“垂直的”,即服务是由下层向上层通过层间接口提供的
- 同一系统相邻两层的实体进行交互的地方,称为服务访问点 SAP (Service Access Point)。

1.3.3 Services:Connections or Not (1/2)
- 面向连接服务(connection-oriented)
面向连接服务具有连接建立、数据传输和连接释放这三个阶段。 (电话网络服务模型) - 无连接服务(connectionless)
两个实体之间的通信不需要先建立好连接。
每个报文都携带了完整的目标地址,因此可以被系统独立地路由。(邮政网络服务模型)
Services:Connections or Not (2/2)

1.3.4服务原语
- 一个服务通常是由一组原语操作描述,用户进程通过这些操作可以访问该服务。



