一般认为计算机网络是一个将分散的 具有独立功能的计算机系统 通过通信设备与线路连接起来 由功能完善的软件 实现资源共享和信息传递的系统
组成
-
从组成成分上看
硬件 主机 ( 端系统) 通信链路( 双绞线 光纤) 交换设备 (路由器 交换机) 通信处理机 (网卡) 软件 应用层 实现资源共享的软件 方便用户使用的各种工具软件 网络操作系统 邮件收发程序 FTP 程序 聊天程序
协议 规定了网络传输数据时所遵循的规范 是计算机网络的核心
-
从工作方式上看
边缘部分 由所有连接到因特网上 供用户直接使用的主机构成 用来进行通信( 传输数据 音频 视频)和资源共享
核心部分 由大量的网络和连接这些网络的路由器组成 为边缘部分提供连通性和交换服务
-
从功能组成方式上看 通信子网 各种传输介质通信设备 和相应的网络协议组成 它使得网络具有数据传输 交换控制 和存储的能力 实现联网计算机之间的数据通信
资源子网 实现 资源共享功能的设备 及其软件的集合 向网络用户 提供共享其他计算机上的硬件资源 软件资源 和数据资源的 服务
功能
数据通信 最基本最重要的功能 实现 联网计算机之间各种信息的传输 由大量的网络和连接这些网络的路由器组成 它为边缘部分提供连通性和交互服务 资源共享 软件 数据 硬件 的共享 使计算机网络中的资源互通有无 分工协作 提高资源利用率 分布式处理 利用空闲计算机资源以提高整个系统的利用率 提高可靠性 互为替代机(plan b) 负载均衡 均衡分配
分类
- 按分布范围分类
-
WAN
广域网提供长距离通信 运送主机所发送的数据 范围几十千米到几千千米 通信容量较大 交换技术 点对点网络 网状型网络
-
MAN
城域网覆盖范围5-50KM 以太网技术
-
LAN
局域网一般用微机或工作站 通过高速线路相连 覆盖范围较小 几十米到几千米 在配置数量上没有太多限制 使用广播技术
- PAN 个人区域网 (无线个人区域网WPAN) 覆盖区域直径10m
- 多处理器系统 处理器之间距离1m 甚至更小
-
- 按传输技术分类
- 广播式网络 共享公共通信信道 当端系统利用共享通信信道发送报文分组时 所有其他的端系统都会收听到这个分组 接收到该分组的端系统通过检查目的地址决定是否来接收该分组
- 点对点网络 每条物理线路连接一对 如果没有直接连接那么他们之间的分组传输就要通过中间结点的接受存储和转发 直至目的结点 广域网
- 按拓扑结构分类
- 总线形网络 局域网 用单根传输线 把计算机连接起来 优点 建网容易 增减节点方便 节省线路 缺点 重负载时通信效率不高 总线任意一处对故障敏感
-
星形网络
局域网 每个终端或计算机都以单独的线路与中央设备(交换机 路由器)相连 优点 便于集中控制 管理 缺点 成本高 中心结点对故障敏感
-
环形网络
局域网 所有计算机接口设备连接成一个环 环形网络最典型的例子 是令牌环局域网 环可以是单环 也可以是双环 环中信号是单向传输的
- 网状型网络 广域网 每个结点至少有两条路径与其他结点相连 有规则型和非规则型两种 优点是可靠性高 缺点是控制复杂 线路成本高
- 按使用者分类 公用网 交钱就能用 专用网 军队 铁路 电力 不给以外的人用
- 按交换技术分类
- 电路交换 源和目标结点之间 生成一条专用的通路 用于传送数据 包括建立连接 传输数据 断开连接 三个阶段 (传统电话网络) 整个报文的比特流连续的从源点到达终点 优点是数据直接传送 时延小 缺点是线路利用率低 不能充分利用线路容量 不便于进行差错控制
-
报文交换 用户数据加上源地址 目的地址 校验码等辅助信息 然后封装成报文 整个报文传送到相邻结点 全部存储后再转发给下一个结点 重复这一个过程直到到达目的结点 每个报文可以单独选择到达目的结点的路径 存储-转发网络 主要特点是整个报文先传送到相邻结点 全部存储后查找转发表 转发到下一个结点
优点 可以较为充分的利用线路容量 可以实现 链路之间不同数据率的转换 可以实现格式转换 可以实现一对多 多对一的访问 可以实现差错控制
缺点 增加了资源开销( 辅助信息导致处理时间和存储资源的开销 ) 增加了缓冲时延
需要额外的控制机制 来保证多个报文的顺序不乱序 缓冲区难以管理(因为报文的大小不确定 接收方在接收到报文之前不能预知报文的大小 -
分组交换
包交换网络 原理 将数据分成较短的固定长度的数据块 在每个数据块中加上目的地址 源地址等辅助信息组成分组(包 ) 以存储-转发方式传输
特点 是单个分组(整个报文的一部分)传输到相邻结点 存储后查找转发表 转发到下一个结点 优点 除具备报文交换网络优点外 缓冲易于管理 包的平均时延更小 网络占用的平均缓冲区更少 更易于标准化 更适合应用
主流网络都可以试做分组
- 按传输介质分类
- 有线
- 双绞线 同轴电缆
- 无线
- 蓝牙微波 无线电
标准化工作及相关组织
因特网的所有标准都要以RFC(request for comments)的形式在因特网上发布 四个阶段 因特网草案 Internet draft 建议标准 propose standard 草案标准 draft standard 因特网标准 internet standard 标准化组织 ISO 国际标准化组织 ITU 国际电信联盟 IEEE 国际电子电气工程师协会
性能指标
时延 发送时延 传播时延 处理时延 排队时延 带宽 单位是赫兹hz 带宽表示网络的通信线路所能传送数据的能力 就是数字信道所能传送的最高数据传输速率的意思 单位是比特每秒 (b/s) 时延 数据 (一个报文或分组) 从网络(链路)的一端传送到另一端所需的总时间 由 发送 传输 处理 排队 组成 排队 处理 时间可以忽略不计
- 蓝牙微波 无线电
几个问题 分组分割包的依据是? mtu 传输协议
长ping? -t 一直ping到停止 ping 洪泛
-
发送时延
也叫传输时延 结点将分组的所有比特推向传输链路所需要的时间 即从发送分组的第一个比特算起 到该分组的最后一个比特发送完毕所需的时间
发送时延= 分组长度/信道宽度
信道宽度 带宽 b/s 挤牙膏的时间=想挤出来牙膏量/牙膏口出牙膏的速度
- 有线
- 传播时延
电磁波在信道中传播一定的距离需要花费的时间 即 一个比特从链路的一段传播到另一端的时间
传播时延=信道长度/电磁波在信道上的传播速率
牙膏在牙膏皮里移动的时间= 牙膏皮的长度/你手推牙膏的速度
- 处理时延
数据在交换结点为存储转发而进行的一些必要的处理所花费的时间
分析分组的首部
从分组中提取数据部分
进行差错检验或查找适当的路由
- 排队时延
分组在进入路由器后要先在输入队列中排队进行等待处理
路由器确定转发端口后 还要在输出队列中排队等待转发 这就产生了排队时延 时延带宽积
指发送端 发送的第一个比特 即将抵达到终点时 发送单已经发出了多少个比特 因此又称 以比特为单位的链路长度
时延带宽积 = 传播时延× 信道带宽
单位时间挤出来的牙膏量=牙膏在牙膏皮里移动的时间× 牙膏口出牙膏的速度
往返时延
RTT round-trip time
确认报文一个来回
从发送端发出一个短分组 到发送端收到来自接收端的确认 接收端收到数据后立即发送确认 总共经历的时延
在互联网往返时延还包括各中间结点的处理时延 排队时延 及转发数据时 的发送时延
牙膏从挤出去之后 到盖上盖子(收到确认报)的全部时间
吞吐量
throughput
指单位时间内通过某个网络 ( 信道 接口) 的数据量
吞吐量受网络带宽或网络额定速率的限制
挤牙膏的量
速率
speed
速率也称 数据传输速率 数据率比特率
单位b/s (bps bit/s)
数据率较高 kb/s MB/s GB/s
最高的数据传输速率称为带宽
网络中的速率指 连接到计算机网络上的主机在数字信道上传送数据的速率
牙膏有很多牙膏头 每个挤出来的速率都不一样 只有最高的叫带宽
最多可以有多少条数据传输速率
信道利用率
指出某一信道有百分之多少的时间是有数据通过的
信道利用率= 有数据通过时间/(有+无)数据通过时间
牙膏头利用率= 牙膏头有牙膏挤出去的时间 /有牙膏 加没牙膏的时间
体系结构architecture
把计算机网络的各层及其协议的集合称为网络的体系结构 计算机网络的体系结构就是这个计算机网络及其所应完成的功能的精确定义 它是计算机网络中的层次 各层的协议及层间接口的集合 体系结构是抽象的 实现是具体的 (计算机硬件和软件)
分层的基本原则
分层的基本原则 每层都实现一种相对独立的功能 降低大系统的复杂度 各层之间界面自然清晰 易于理解 相互交流尽可能少 各层功能的精确定义独立于具体的实现方法 可以采用最合适的技术来实现 保持下层对上层的独立性 上层单向使用下层提供的服务 整个分层结构应能促进标准化工作 为什么要分层捏?分多分少有啥区别? 分层后各层之间相对独立 灵活性好 因而分层的体系结构易于更新/调试/交流/抽象/标准化但是层次多会出现重复功能 产生额外开销 导致整体运行效率较低 层次少 就会使每层的协议太复杂 通常每层取一个名字 例如第一层名称为物理层 第n层实体? 在第n层中的活动元素通常称为第n层实体 实体指任何可以发送或者接受信息的硬件或软件进程 通常是一个特定的软件模块 什么是对等层? 不同机器上的同一层 什么是对等实体? 同一层中的实体 什么是服务提供者? 第n层实体实现的服务为第n+1层所利用 这种情况下 第n层称为服务提供者 第n+1 层则服务于用户 报文 在各个层中 每个报文都分成两个部分 数据部分 SDU 控制信息部分 PCI SDU和PCI 共同组成PDU SUD服务数据单元 ? 为完成用户所要求的功能而应传送的数据 第n层的服务数据单元记为n-SDU 就是你要传的数据 PCI协议控制信息? 控制协议操作的信息 第n层的协议控制信息记为n-PCI 就是在SDU前面套个指向传给谁的控制信息 协议数据单元 对等层次之间传送的数据单位称为该层的PDU 第n层的协议数据 PDU在每个层的俗称 物理层 比特 链路层 帧 网络层 分组 传输层 报文 各层间传输数据的过程 发送 把每个SDU套个PCI作为SDU发给下一层 高层是用户 底层是通信 把第n+1层收到的PDU作为第n层的SDU 加上第n层的PCI就变成第n层的PCI 交给第n-1层后作为SDU发送 接受 相反处理 层次结构的含义 第n层的实体不仅要使用第n-1的服务来实现自身定义的功能 还要向第n+1层提供本层的服务 该服务是本层及其下面各层的服务提供的总和 最底层 只提供服务 是整个层次结构的基础 中间各层既是下一层服务的使用者 又是 上一层服务的提供者 最高层 并不只被服务 还要面向用户提供服务 上一层只能通过相邻层间的接口使用下一层的服务 而不能调用其他层的服务 下一层所提供服务的实现细节 对上一层透明 两台主机在通信时 对等层在逻辑上有一条直接信道 表现为不仅过下层就把信息传送到对方
概念:协议
网络协议 Network Protocol(简称协议) 控制两个或多个对等实体进行通信的规则的集合 是水平的 不对等实体之间是没有协议的 这些规则明确规定了交换数据的格式 及同步问题 语法 规定了传输数据的格式 语义 语义规定了所要完成的功能 即需要发出何种控制信息 完成何种动作 做出何种应答 同步 规定了执行各种操作的条件 时序关系等 即事件实现顺序的详细说明 一个完整的协议 通常应该具有什么功能? 线路管理(建立 释放连接) 差错控制 数据转换
概念:接口
接口? 同一结点内相邻两层交换信息的连接点 是一个系统内部的规定 每层只能为紧邻的层次之间定义接口 不能跨层定义接口 同一结点相邻两层的实体通过服务访问点 (SAP Service Access Point) 进行交互的 服务是通过SAP服务提供给上层使用的 第n层的SAP就是第n+1层可以访问第n层服务的地方 每个SAP都有一个能够标识它的地址 SAP是一个抽象概念 一种逻辑接口 很像邮政信箱 但是区别于传统的硬件接口
概念:服务
服务指的是
下层为紧邻的上层提供的功能调用 垂直的
对等实体在协议的控制下 使得本层能为上一层提供服务 但要实现本层协议还需要使用下一层所提供的服务
是怎么使用下层的服务的?
上层使用下层所提供的服务时必须与下层交换一些命令 这些命令在OSI 中称为服务原语
OSI 将原语分为4类
请求request
由服务用户发往服务提供者 请求完成某项工作
指示indication
由服务提供者发往服务用户 指示用户做某件事情
响应response
由服务用户发往服务提供者 作为对指示的响应
证实confirmation
由服务提供者发往服务用户 作为对请求的证实
这四类原语用于不同的功能 建立连接 传输数据 断开连接等
原语的关系
请求发出 通过服务层 指示收到
响应发出 作为对指示的响应 证实收到
协议和服务的区别
只有本层协议的实现才能保证向上一层提供服务
本层的服务用户只能看见服务而无法看到下面的协议
下面的协议对上层用户是透明的
协议是水平的 协议是用来控制对等实体之间通信的规则
服务是垂直的 服务是由下层通过层间接口向上提供的
并非在一层完成的全部功能都叫服务 只有那些能够被高一层看到的功能才称为服务
协议接口服务三者之间的关系
![[Pasted image 20230713094827.png]]
服务的三种分类
面向连接服务与无连接服务
可靠服务和不可靠服务
有应答服务和无应答服务
面向连接服务(TCP)
通信之前双方必须先建立连接 分配相应的资源 (缓冲区 ) 以保证通信能正常进行
传输结束后释放连接和所占用的资源
因此这种服务 可以分为 连接建立 数据传输 和连接释放三个阶段
无连接服务(IP UDP)
通信前双方 不需要先建立连接
需要发送数据时 可以直接发送 把每个带有目的地址的包 传送到线路上 由系统选定路线进行传输
不可靠服务
不保证通信的可靠性 网络只是尽量正确 可靠的传送 而不能保证 数据正确 可靠的传送到目的地 是 一种尽力而为的
对于不可靠网络来说 网络的正确性 可靠性应由应用或用户来保障 (纠错)
可靠服务 指网络具有纠错检错应答机制 能保证数据正确可靠地传送到目的地 有应答服务(文件传输) 包括全部四类原语 指接受方在收到数据后向发送发给出相应的应答 应答由传输系统内部自动实现 而不由用户实现 可以是肯定应答 也可以是否定应答 通常在接收到数据有错误的时 发送否定应答 无应答服务(www服务) 只有请求和指示原语 指接收方受到数据后 不自动给出应答 若需要应答 则通过高层实现
-
透明
在计算机网络中,透明通常指在不影响上层协议和应用程序的前提下,对下层协议和网络技术进行隐藏和处理。
透明性是指网络中各层之间的界面和交互是无缝的、无感知的。也就是说,当网络中使用某种协议或技术时,上层协议和应用程序不需要了解底层的实现细节,而是可以将其作为一个黑盒子使用。这种透明性使得应用程序可以在不了解底层协议和技术的情况下,与其他主机进行通信,从而提高了网络的可用性和可扩展性。
透明的两个例子 网络中的传输控制协议(TCP)可以为上层应用程序提供透明的数据传输服务,而应用程序无需关心底层的数据分段和重组等细节。 网络地址转换(NAT),它可以使得内部网络的计算机可以通过一个公网IP地址与外部网络通信,而外部网络无需知道内部网络的IP地址,这也是一种透明性。
总的来说,透明性使得网络的协议和技术可以进行无缝的集成和演化,同时也可以隐藏底层的实现细节,提高了网络的可用性和可扩展性。
参考模型
OSI参考模型
开放系统互连参考模型 (OSI/RM)
7层模型 分别是?
自下而上依次为物理层 数据链路层 网络层 传输层 会话层 表示层 应用层
通信子网
物理 数据链路 网络
为了联网而附加的通信设备 完成数据的传输功能
资源子网
应用 表示 会话
相当于计算机系统
完成数据的处理功能
OSI 参考模型 层次结构
https://pic.imgdb.cn/item/64286b2ea682492fcc475812.png
-
物理层Physical layer
传输单位? 比特
功能 主要定义数据终端设备(DTE)和数据通信设备(DCE)的物理与逻辑连接方法 也称作物理层接口标准 (物理层规程) 接口标准 EIA-232C、EIA/TIA RS-449、CCITT的X.21
主要研究内容 通信链路与通信结点的连接需要一些电路接口 而物理层规定了这些接口的一些参数 如机械形状 尺寸 交换电路的数量和排列 规定了通信链路上传输的信号的意义和电气特征 规定xxx信号代表xxxx数字 翻译官 传输信息利用的物理媒体 双绞线光缆 无线信道 并不在物理层协议之内 而在物理层协议下面 物理媒体可以看做是第0层
-
数据链路层Data Link Layer
点到点通信? 提供的是点到点的通信 点对点可以理解为主机到主机之间的通信 一个点是指的一个硬件地址或IP地址 网络中参与通信的主机是通过硬件地址 或ip地址标识的 点到点通信是指在通信中存在一个明确定义的发送者和接收者之间的直接连接,即一条直接的通信链路。这种通信模式包括单播、广播和多播。在点到点通信中,通常需要建立一个直接的连接,比如使用物理连接、局域网、广域网等,来实现数据的传输。
传输单位 帧 功能 成帧 将网络层传来的IP数据报组装成帧 差错控制 原始的物理连接在传输比特流可能发生错误 检测错误 把错误信息丢弃 流量控制 两个结点之间传送数据的速率会有差异 通过控制流量 避免大量正确数据的结点被丢弃 传输管理 广播式网络在数据链路层 实现对 共享信道的访问 通过特殊子层 介质访问子层 实现对这个问题的处理 典型协议 SDLC HDLC PPP STP 帧中继
-
网络层 Network Layer
传输单位 数据报 功能 (控制通信子网的运行) 把网络层的协议数据单元(分组)从源端传到目的端 为分组交换网上的不同主机提供通信服务 对分组进行路由选择 并且实现流量控制 拥塞控制 差错控制 和网际互联等功能 作用 根据网络的情况利用相应的路由算法 计算出一条合适的路径 使这个分组可以顺利到达结点B 拥塞控制 如果结点处于来不及接收分组而要丢弃大量分组的情况 这就是拥塞状态 网络层要采取一定的措施来缓解这种拥塞 这就是控制 网络层协议 因特网是一个很大的互联网 它由大量异构网络通过路由器Router相互连接起来 主要是无连接的网际协议Internet Protocol IP 和许多路由选择协议 IP;IPX;ICMP;IGMP;ARP;RARP;OSPF
-
传输层Transport Layer
(也叫运输层) 传输单位? 报文段(TCP) 用户数据报(UDP) 端到端通信? 指运行在不同主机内的两个进程之间的通信 一个进程由一个端口来标识 建立在点到点通信的基础上 是由一段段的点到点通信信道构成的 是比点到点更高级的通信方式是指用户程序的端口 端口号标识了应用层中不同的进程 端到端通信则是指在通信过程中,信息在源和目标之间经过多个中间节点进行传递,其中每个节点负责转发和处理信息。在这种通信模式中,源和目标之间可能没有直接的连接,通信链路可能是间接的,通过一个或多个中间节点进行传递。例如,在互联网上进行通信时,数据包会经过多个路由器和交换机进行传递,最终到达目的地。 端到端通信的和点到点通信的区别? 点到点通信是在两个直接连接的终端之间进行数据传输,而端到端通信则是在多个中间节点之间进行数据传输,以达到最终的目的地。
功能(负责主机中两个进程之间的通信) 为端到端连接提供可靠的传输服务
为端到端连接提供流量控制 差错控制 服务质量 数据传输管理等服务使用传输层的服务 高层用户可以直接进行端到端的通信 从而忽略通信子网的存在 为什么因为传输层的屏蔽 高层用户看不到子网的交替和变化?
传输层的屏蔽是指传输层协议在向上提供服务时,将底层网络和子网的细节屏蔽起来,使高层用户看不到底层网络的交替和变化。 传输层协议的设计初衷是为了提供一种简单、统一、可靠的数据传输机制,而不是关心网络底层的实现细节。 传输层协议使用IP地址和端口号来标识不同的应用程序和服务,而不关心这些应用程序和服务所在的具体子网。当数据从发送端传输到接收端时,传输层协议只需要将数据发送到目标IP地址和端口号即可,不需要关心数据是通过哪些子网、路由器和交换机等网络设备传输的。这 网络层和数据链路层负责将数据在不同的子网之间传输,传输层只需要保证数据在端到端之间传输的可靠性和正确性。 子网的交替和变化可能会导致网络拓扑的变化和网络延迟的增加,这可能会影响数据传输的效率和可靠性。因此,为了提高网络的性能和可靠性,网络管理员通常会采取一些措施,如负载均衡、路由优化和链路聚合等,来平衡网络负载和优化网络性能,这些措施通常是在网络底层实现的,而不需要应用程序和传输层关心
由于一个主机可同时运行多个进程 因此传输层具有复用和分用的功能 传输层的复用和分用是指多个应用程序可以通过传输层协议共享网络连接和传输资源的能力
复用? 多个应用层进程 可同时使用下面传输层的服务 传输层复用是将多个应用程序的数据流合并到一个传输层连接中,以提高网络资源利用率 实现传输层复用需要使用的技术? 端口号 每个应用程序都会使用不同的端口号来标识自己的数据流,因此传输层可以使用端口号来区分不同的应用程序。 多路复用 多路复用则是指在一个传输层连接中,可以同时传输多个应用程序的数据流,通过将每个应用程序的数据拆分成小的数据包,并按照一定的顺序发送,从而实现多路复用。 分用? 传输层分用是将一个传输层连接中的数据流分离出来,交付给对应的应用程序。 传输层把收到的信息分别交付给上面应用层中相应的进程 分用怎么实现的? 使用端口号来标识不同的应用程序数据流,并使用操作系统提供的套接字接口来将数据流交付给相应的应用程序。当传输层接收到数据时,根据端口号将数据分离出来,然后使用套接字接口将数据流交付给对应的应用程序。 复用和分用作用? 可以提高网络资源的利用率,减少了网络传输的开销,提高了网络的可靠性和效率。 一个Web服务器可以同时服务多个客户端请求,每个请求都使用不同的端口号和传输层连接,以提高网络资源的利用率。 视频会议系统可以使用传输层多路复用技术,在一个传输层连接中同时传输多个视频流和音频流,以提高视频会议的质量和效率。 传输层协议 TCP;UDP SCTP DCCP、RDP、SPX
-
传输层端口屏蔽
在计算机网络中,传输层的屏蔽(也称为端口屏蔽)是一种安全机制,用于限制对特定端口的访问,以保护网络安全。
传输层协议如TCP和UDP使用端口号来标识应用程序和服务,例如Web服务器通常使用TCP端口80,SMTP服务器使用TCP端口25等等。攻击者可以尝试通过特定的端口进行攻击,例如通过TCP端口80进行HTTP请求欺骗攻击,或者通过UDP端口53进行DNS服务器攻击等等。
为了防止这些攻击,网络管理员可以使用传输层屏蔽功能来限制对特定端口的访问。传输层屏蔽可以通过防火墙、路由器或其他网络设备来实现。它可以配置为允许或拒绝对特定端口的访问,或者仅允许来自特定IP地址或网络的访问。
传输层屏蔽可以提高网络安全性,减少网络攻击的风险。但是需要注意的是,如果过度限制端口的访问,可能会影响网络的正常运行。因此,在配置传输层屏蔽时,需要仔细考虑安全和业务需求之间的平衡,并进行适当的配置和管理。
-
-
会话层Session Layer
怎么向表示层提供建立同步(SYN)服务的? 会话层允许不同主机上的各个进程之间进行会话 会话层利用传输层提供的端到端服务向表示层提供服务 这种服务为表示层实体或用户进程建立连接并在连接上有序的传输数据 这就是会话 功能 负责主机之间的会话进程 包括建立 管理 及终止 进程间的会话 校验点checkpoint 用于记录传输过程中的状态,并在传输中出现错误时进行恢复 会话层可以使用校验点使通信会话在通信失效时从校验点继续恢复通信 实现数据同步 提高了传输效率 会话层会将传输数据划分为多个逻辑单元,每个逻辑单元称为一个会话。在数据传输过程中,会话层会在发送端和接收端维护一个校验点,用于记录当前传输数据的状态。当数据传输出错或中断时,会话层可以利用校验点重新开始传输,而不需要从头开始,提高了传输效率。
-
表示层Presentation Layer
功能 主要处理在两个通信系统中交换信息的表示方式 数据压缩和解压缩 为了提高传输效率和节省网络带宽,表示层可以对传输的数据进行压缩和解压缩处理。 数据加密和解密 表示层可以对传输的数据进行加密和解密,以确保数据传输的安全性。 数据格式转换:在数据传输过程中,不同计算机之间的数据格式可能存在差异,如编码方式、数据类型等。表示层负责将数据转换为传输所需的格式,以保证不同计算机之间的数据能够正确传输。 数据描述:在传输过程中,表示层可以对数据进行描述,使接收方能够正确理解传输的数据内容和意义。 表示层的应用场景
图像和音频传输:在网络视频会议、视频流媒体等场景中,表示层可以将图像和音频数据转换为标准的传输格式,并对数据进行压缩和解压缩处理,以提高传输效率和节省网络带宽。 文件传输:在文件传输过程中,表示层可以对数据进行加密处理,以保证传输的数据安全。 数据库管理系统:在数据库管理系统中,表示层负责将数据转换为数据库所需的格式,以便数据库可以正确地处理数据 表示层采用什么方法定义数据结构? 表示层通常采用一种称为Abstract Syntax Notation One(ASN.1)的标准来定义数据结构。ASN.1是一种独立于机器和语言的语法标记,它可以用来定义任何数据类型,并将数据类型映射到二进制编码或其他编码格式。 ASN.1定义了一组数据类型,包括基本数据类型(如整数、字符串、布尔值等)和结构化数据类型(如序列、集合、枚举等),可以通过组合这些数据类型来定义复杂的数据结构。 ASN.1还定义了一组编码规则,包括基本编码规则(BER)、可变长度整数编码规则(PER)和基于XML的编码规则(XER),这些编码规则可以将ASN.1定义的数据类型编码为二进制格式或其他格式,以便进行网络传输。 ASN.1作为一种通用的数据结构定义方法,被广泛应用于各种网络通信协议和安全机制中,如SSL/TLS、LDAP、SNMP等。通过ASN.1定义数据结构,可以保证不同系统之间的数据传输能够顺利进行,并且可以确保数据类型的一致性和互操作性。 表示层的协议 表示层并没有像传输层和网络层那样有具体的协议,它主要是为了提供数据格式转换和加密解密等功能而存在的。在实际应用中,表示层的功能通常由应用层协议或安全协议来完成,这些协议在传输数据之前会对数据进行编码、解码、加密、解密等操作,以确保数据的完整性、机密性和可靠性。
例如,HTTP协议就包含了表示层的功能,它定义了一种文本格式的请求和响应消息,用于在Web服务器和客户端之间传输数据。HTTP协议通过将数据编码为URL参数、JSON格式、XML格式等来实现数据格式转换的功能,从而满足不同应用的需求。
另外,安全协议如SSL/TLS、IPsec、SSH等也会使用表示层的功能来提供加密和解密、认证和授权等安全保障措施。这些协议通过加密和解密操作,确保数据在传输过程中不被篡改和窃听,从而保护通信的机密性和完整性。
-
应用层Application Layer
应用层 是OSI模型的最高层 是用户与网络的界面
功能 应用层为特定类型的网络应用 提供访问OSI 环境的手段 为不同的应用程序提供服务,并将这些服务传递到底层的传输层,从而实现了端到端的通信。 要求用户层用不同的协议来解决不同类型的应用需求 应用层协议定义了数据格式、数据内容以及数据交换的规则等方面的细节,以确保应用程序能够彼此之间相互通信。 应用层主要协议有哪些? HTTP(超文本传输协议):用于Web服务器和Web浏览器之间传输HTML文件、图像、视频和音频等内容。 FTP(文件传输协议):用于在计算机之间传输文件,支持文件的上传、下载、删除、重命名等操作。 SMTP(简单邮件传输协议):用于在邮件客户端和邮件服务器之间传输电子邮件。 DNS(域名系统):用于将域名转换为IP地址。 Telnet(远程终端协议):用于在不同的计算机之间远程登录和控制。 SNMP(简单网络管理协议):用于管理网络设备(如路由器、交换机、服务器)。 DHCP(动态主机配置协议):用于自动配置IP地址和其他网络参数。 NFS(网络文件系统):用于在网络上共享文件和目录。 SMB(服务器消息块协议):用于在网络上共享文件和打印机,常用于Windows系统中。
TCP/IP模型
ARPA 在研究ARPAnet时提出了TCP/IP模型,模型从低到高依次为网络接口层(对应OSI参考模型中的物理层和数据链路层)、网际层、传输层和应用层(对应OSI参考模型中的会话层、表示层和应用层)。TCP/IP由于得到广泛应用而成为事实上的国际标准。TCP/IP模型的层次结构及各层的主要协议如图所示。 https://pic.imgdb.cn/item/6428e971a682492fccc97068.png
-
网络接口层
对应OSI参考模型中的物理层和数据链路层 网络结构层的功能? 将IP数据报封装成帧:网络接口层将上层协议传输的IP数据报进行分片和组装,将每个IP分片封装成数据帧,并添加MAC地址等帧头信息,从而将其传输到物理层。这样,在物理层上传输的就是数据帧,而不是IP数据报。 从物理层接收数据帧:网络接口层负责从物理层接收数据帧,并进行解封装,去除帧头和帧尾信息,提取出其中的IP数据报,并将其交给网络层进行处理。 提供MAC地址的解析和ARP协议的实现:网络接口层负责将IP地址转换成对应的MAC地址,并维护一个ARP(Address Resolution Protocol)表,用于保存IP地址与MAC地址之间的映射关系。当需要发送数据时,网络接口层可以根据目标IP地址查询ARP表,获取目标MAC地址,从而将数据发送到正确的目的地。 实现数据帧的错误检测和重传机制:网络接口层可以通过一些错误检测技术,如循环冗余校验(CRC)来检测数据帧是否传输出错。如果数据帧传输出错,则网络接口层可以进行重传,以确保数据的可靠传输。 具体的物理网络是指? 局域网 :以太网 令牌环网 令牌总线网 公共数据网络:电话网 SDH X.25 帧中继 ATM
总结 接口层作用是从主机或结点接受IP分组 并把他们发送到指定的物理网络上
-
网际层
是模型的关键部分 与OSI 的网络层 在网际层功能上相似
将分组发往任何网络 并为之独立的选择合适的路由 但它不保证各个分组有序地到达 各个分组的交付由高层负责
网际层定义了标准的分组格式和协议 IP
IP数据包还可以被分片(Fragmentation)和重组(Reassembly),以适应不同网络的MTU(Maximum Transmission Unit)限制
路由协议? RARP?
-
传输层
对应OSI传输层 使得发送端和目的端主机上的对等实体进行会话
协议 TCP传输控制协议 面向连接 可靠交付 UDP用户数据协议 无连接的 不可靠交付
-
应用层
对应应用层 表示层 会话层 协议 Telnet虚拟终端协议 文件传输协议FTP 域名解析服务DNS 电子邮件协议SMTP 超文本传输协议HTTP
两者比较
层次对应关系 https://pic.imgdb.cn/item/6428f105a682492fccd43a01.png 相同 采取分层的体系结构 将庞大复杂的问题划分为若干较容易处理的 范围较小的问题 基于独立的协议栈的概念 解决异构网络的互联 实现不同厂家的计算机通信 不同 OSI精确定义了服务/协议/接口三个概念 但TCP IP没有明确区分 OSI参考模型产生在协议发明之前,没有偏向于任何特定的协议,通用性良好。但设计者在协议方面没有太多经验,不知道把哪些功能放到哪一层更好。 TCP/IP模型正好相反,首先出现的是协议,模型实际上是对已有协议的描述,因此不会出现协议不能匹配模型的情况,但该模型不适合于任何其他非TCP/IP的协议栈。 TCP/IP模型在设计之初就考虑到了多种异构网的互连问题,并将网际协议(IP)作为一个单独的重要层次。 OSI参考模型最初只考虑到用一种标准的公用数据网将各种不同的系统互连。OSI参考模型认识到IP 的重要性后,只好在网络层中划分出一个子层来完成类似于TCP/IP模型中的IP的功能。(是什么子层) OSI参考模型在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信。 而TCP/IP模型认为可靠性是端到端的问题,因此它在网际层仅有一种无连接的通信模式,但传输层支持无连接和面向连接两种模式。
在OSI参考模型中各个层级的协议和TCP/IP模型各个层级的协议有区别吗? OSI参考模型和TCP/IP模型都是用来描述计算机网络中的协议栈的模型,但它们的层数和各个层级的协议并不完全相同。 在学习时 采用五层结构 物理 数据链路 网络 传输 应用
数据传输过程
使用通信协议栈进行通信的结点的数据传输过程
每个协议栈的最顶端都是一个面向用户的接口,下面各层是为通信服务的协议。 用户传输一个数据报时,通常给出用户能够理解的自然语言,然后通过应用层,将自然语言会转化为用于通信的通信数据。通信数据到达传输层,作为传输层的数据部分(传输层SDU),加上传输层的控制信息(传输层PCI),组成传输层的PDU,然后交到网络层,传输层的PDU下放到网络层后,就成为网络层的SDU,然后加上网络层的PCI,又组成了网络层的PDU,下放到数据链路层,就这样层层下放,层层包裹,最后形成的数据报通过通信线路传输,到达接收方结点协议栈,接收方再逆向地逐层把“包裹”拆开,然后把收到的数据提交给用户,