计算机网络的体系结构
概述
计算机网络的体系结构是计算机网络及其构建所应完成功能的精确定义
考题
-
不属于网络体系结构所描述的内容的是
A、网络的层次 B、每层使用的协议 C、协议的内部实现细节 D、每层必须完成的功能- 这些功能的「实现细节」,是遵守这种体系结构的具体实现问题,并不属于体系结构本身所描述的内容
常见的体系结构
OSI体系结构
-
法律上的国际标准
-
七层
-
应用层
- 通过应用进程的交互来完成特定的网络应用
-
表示层
-
解决通信双方交换信息的表示问题
- 主要包括数据字符集的转换、数据格式化、文本压缩、数据加密以及解密工作
-
-
会话层
- 解决进程之间进行会话问题
-
运输层
- 解决进程之间基于网络的通信问题
-
网络层
- 解决分组在多个网络间传输(路由)的问题
-
数据链路层
- 解决分组在一个网络(或一段链路)上传输的问题
-
物理层
- 解决使用何种信号来传输比特0和1的问题
-
-
考题
-
在OSI参考模型中,直接为会话层提供服务的是
- 「传输层」
-
在OSI参考模型中,自下而上第一个提供端到端服务的层次
-
「运输层」
- 端到端服务(进程之间)
-
-
在OSI参考模型中,需由应用层的相邻层实现的是
A、数据格式转换 B、会话管理 C、路由选择 D、可靠数据传输- 「数据格式转换」
- 会话管理——会话层、路由选择——网络层、可靠数据传输——运输层
-
在OSI参考模型中,路由器、交换机、集线器实现的最高功能层分别是
-
「3、2、1」
- 实际上现在较高级的交换机也都具有路由功能
-
-
计算题
-
假设OSI参考模型的应用层欲发送400B的数据(无拆分),除物理层和应用层之外,其他各层在封装PDU时均引入20B的额外开销,则应用层数据传输效率约为
- 「80%」
-
-
-
TCP/IC体系机构
-
事实上的国际标准
-
四层
-
应用层
- 合并了会话层和表示层
- HTTP、SMTP、DNS、RTP…
-
运输层
-
TCP、UDP协议
- TCP提供可靠连接
- UDP提供不可靠连接
-
-
网际层
-
IP协议(网际协议)
- 一方面,使用IP协议互连不同的网络接口
——IP over everything - 另一方面,IP协议可以为各种网络应用提供服务——Everything over IP
- 一方面,使用IP协议互连不同的网络接口
-
-
网络接口层
-
PPP协议…
- 不同的网络接口(以太网/WIFI接口等)、对应数据链路层+物理层
-
-
-
- 路由器一般只涉及网际层和网络接口层
-
协议族
-
考题
-
TCP/IP协议族的核心协议是
- 「IP」
-
在TCP/IP体系结构中,直接为ICMP提供服务的协议是
- 「IP」
-
下列TCP/IP协议中,可以使用传输层无连接服务的是
A、FTP B、DNS C、SMTP D、HTTP- 「DNS」需要使用运输层UDP协议提供的无连接服务
-
TCP/IP参考模型的网络层提供的是「有/无」连接「可靠/不可靠」的「数据报/虚电路」服务
- 「无连接」「不可靠」的「数据报」服务
-
通过POP3协议接收邮件时,使用的传输层服务类型是「有/无」连接「可靠/不可靠」的数据传输服务
-
「有连接」「可靠」的数据传输服务」
- POP3——使用TCP协议服务
-
-
-
原理体系结构
-
用于学习网络体系结构
-
五层
- 应用层
- 运输层
- 网络层
- 数据链路层
- 物理层
-
把网络接口层重新划分为数据链路层和物理层,适于学习网络体系结构
-
分层的必要性
计算机网络是一个非常复杂的系统
- “分层”可以将庞大而复杂的分体,分解为若干较小的局部问题
实现网络主要问题
-
物理层
-
解决使用何种信号来传输比特的问题
-
采用怎样的传输媒体(介质)
-
光、电
- (传输媒体并不属于物理层)
-
-
采用怎样的物理接口
-
采用怎样的信号表示比特0和1
- 方波信号(举例)、高低电平
-
-
-
数据链路层
-
解决分组在一个网络(或一段链路)上传输的问题
-
如何标识网络中的各主机
- (主机编址问题:如MAC地址)
-
如何从信号所表示的一连串比特流中区分出地址和数据
- 分组的封装格式问题
-
(总线型)如何协调各主机争用总线
- (交换式)以太网交换机如何实现
-
-
-
网络层
-
解决分组在多个网络间传输(路由)的问题
-
因特网中,如何标识各网络以及网络中的各主机
- (网络和主机共同编址问题:如IP地址)
-
路由器如何转发分组,如何进行路由选择
-
-
-
运输层
-
解决进程之间基于网络的通信问题
- 如何解决进程之间基于网络的通信问题
- 如果出现传输错误,如何处理
-
-
应用层
-
通过应用进程的交互来完成特定的网络应用
- 支持万维网的HTTP协议
- 支持电子邮件的SMTP协议
- 支持文件传送的FTP协议
- …
-
分层思想举例
客户端主机
层层封装
-
1、应用层构建HTTP请求报文
-
2、运输层给HTTP报文添加 TCP首部,成为TCP报文段
- 区分应用进程以及实现可靠传输
-
3、网络层给TCP报文段添加IP首部,成为IP数据报
- 使IP数据报可以在被路由器转发
-
4、数据链路层给IP数据报添加首部和尾部,成为帧
- 首部让帧可以在一段链路上传输,能够被目的主机接收
- 尾部用于检测目的主机接收的帧是否有误码
-
5、物理层将帧看作比特流,添加前导码(以太网)
-
让目的主机做好接收帧的准备
-
物理层将比特流变换为相应的信号发送到传输媒体
- 信号通过传输媒体到达路由器
-
路由器xN
转发
-
1、物理层将信号变换为比特流,去掉前导码
- 将帧交付给数据链路层
-
2、数据链路层去掉帧的首部(目的MAC为本机)和尾部
- 将IP数据报交付给网络层
-
3、网络层解析IP数据报的首部(目的IP地址非本机)
- 根据目的网络地址,查找自身路由表,确定转发端口
- 将IP数据报交付给数据链路层
-
4、数据链路层给IP数据报添加首部(目的MAC)和尾部,成为帧
-
5、物理层将帧看作比特流,添加前导码(以太网)
服务端主机
逐层解封
-
1、物理层将信号变换为比特流,去掉前导码
- 将帧交付给数据链路层
-
2、数据链路层去掉帧的首部(目的MAC为本机)和尾部
- 将IP数据报交付给网络层
-
3、网络层解析IP数据报的首部(目的IP为本机),去掉首部
- 将TCP报文段交付给运输层
-
4、运输层去掉TCP报文段的首部
- 将HTTP请求报文交付给应用层
-
5、应用层解析HTTP请求报文,给客户端主机发送响应报文
响应同理
专用术语
实体
- 实体,指任何可发送或接收信息的「硬件」或「软件」进程
- 对等实体,指收发双方「相同层次」中的实体
协议
-
协议,控制两个对等实体进行「逻辑通信」的规则的集合
- 应用层对等实体使用应用层协议进行逻辑通信
- 运输层协议对等实体使用运输层协议进行逻辑通信
-
协议的三要素
-
语法
-
定义所交换信息的格式
- 所交换信息由哪些字段及何种顺序构成
-
-
语义
-
定义收发双方所要完成的操作
- 通信双方收到分组后完成怎样的操作
-
-
同步
-
定义收发双发的时序关系
- 例如TCP建立连接的过程和通信双方状态转发
-
-
服务
-
在协议的控制下,两个对等实体间的逻辑通信使得本层能够向上一层提供服务
-
要实现本层协议,还需要使用下面一层所提供的服务
-
协议是「水平」的,服务是「垂直」的
-
下层的协议对上层的实体是「透明」的
- 实体看得见下层所提供的服务,但不知道该服务的具体协议
-
服务访问点,在同一系统中相邻两层的实体交换信息的「逻辑接口」,用于区分不同的服务类型
- 数据链路层的服务访问点为帧的“类型”字段
- 网络层的服务访问点为IP数据报首部中的“协议”字段
- 运输层的服务访问点为“端口号”
-
服务原语,上层使用下层所提供的服务必须通过与下层交换一些「命令」
数据包
-
协议数据单元 PDU
-
「对等层次之间」传送的数据包称为该层的PDU
- 物理层:比特流
- 数据链路层:帧
- 网络层:IP数据报或分组
- 运输层:TCP报文段或UDP用户数据报
- 应用层:应用报文
-
-
服务数据单元 SDU
-
同一系统内,「层与层之间」交换的数据包称为SDU
- 多个SDU可以合成为一个PDU;一个SDU也可以划分为几个PDU
-