OSI模型与TCP/IP模型
- 面对各种且数量繁多的功能,我们可以从网络架构的角度引入功能/协议分层的模型
- 将具有相似或相近目的的作用的一些功能划归到同一层面
- 建立层次化模型的好处:
- 易于标准化:将每一层的问题都聚焦到自己所在的层面上,不至于使问题发散
- 降低关联性:各层次协议可以相互独立地自由发展
- 易于学习研究
OSI模型
- OSI是一个7层功能/协议模型
- OSI参考模型各层功能
层编号 | 层名 | 主要功能 |
1 | 物理层 | 完成逻辑上的“0”和“1”向适合于传输介质承载的物理信号(光、电信号)的转换;实现物理信号的发送、接收,以及在介质上的传输过程 |
2 | 数据链路层 | 在通过物理链路相连接的相邻节点之间,建立逻辑意义上的数据链路层,在数据链路上实现数据的点到点或点到多点方式的直接通信 |
3 | 网络层 | 根据数据中包含的网络层地址信息,实现数据从任何一个节点到任何另外一个节点的整个传输过程 |
4 | 传输层 | 建立、维护和取消一次端到端的数据传输过程,控制传输节奏的快慢,调整数据的排序等 |
5 | 会话层 | 在通信双方之间建立、管理和终止会话,确定双方是否应该开始进行某一方发起的通信等 |
6 | 表示层 | 进行数据格式的转换,以确保一个系统生成的应用层数据能够被另外一个系统的应用层所识别和理解 |
7 | 应用层 | 向用户应用软件提供丰富的系统应用接口 |
TCP/IP协议簇
TCP/IP模型与OSI模型对比
- 随着Internet的发展建设,网络设计和实现中,基本都使用的TCP/IP协议簇,代替了OSI模型
- OSI模型的物理层和数据链路层对应TCP/IP四层标准模型的网络接入层,或对应TCP/IP对等模型的物理层和数据链路层
- OSI模型中的第五、六、七层的功能全部映射到TCP/IP标准模型或对等模型中的应用层
- 在实际运用中,TCP/IP对等模型被广泛运用
- 两种网络模型在层次划分稍有差异,但主要区别,在于所使用的具体协议
TCP/IP协议簇层次介绍
- 协议分层遵守一个基本原则
- 即目的机的第n层所收到的数据就是源主机第n层发送的数据
- 物理层:物理信号必须通过媒介才能传送
- 数据链路层:负责从主机或节点接收IP数据报,并使用物理帧把他们发送到指定的物理网络中
- 网络层:位于底层物理网络和高层应用之间,用户看到的是同一的IP地址格式
- 无连接数据报投递服务,增强了服务的可靠性
- 能够屏蔽底层物理网络(无线网、以太网、帧中继、令牌环网)的差异,向上提供一致性
- 传输层:位于IP层之上,功能是使源端和目的端主机上的对等实体可以进行通话,定义了两个端到端的协议:
- 传输控制协议TCP:
- 是一个面向连接的协议,允许一台机器发出的流无差错地发往互联网上的其他机器
- 把输入的数据流分成报文段,传给IP层;在接收端,TCP接收进程把收到的报文组装成数据流。
- TCP还要实施流量控制,以避免快速发送方向低速接收方发送过多报文而使接收方无法处理
- 用户数据报协议UDP:
- 是一个不可靠的无连接协议,用于不需要TCP的排序和流量控制能力而是自己完成这些功能的应用程序
- 被广泛应用于请求—应答交互的应用程序,以及快速递交比准确递交更重要的应用程序,比如:传输语音或影像等
- 传输控制协议TCP:
- 应用层:位于应用层之上,包含所有高层协议,
- Telent协议:远程登录
- FTP协议:有效从一台机器上将数据移动到另一台机器上
- 电子邮件协议:MIME、SMTP、POP、IMAP
- DNS协议:域名解析协议;域名和IP地址映射关系
- HTTP协议:在万维网上获取网页
- 习惯把每一层的数据单元都称为“协议数据单元”(PDU)
- 第三层的数据单元称为L3 PDU
层级 | 协议数据单元 |
物理层 | 比特(Bit) |
数据链路层 | 帧(Frame) |
网络层 | 分组或包(Packet) |
传输层 | 段(Segment) |
应用层 | 报文(Datagram) |
- TCP/IP模型中数据的封装过程
- 在TCP/IP协议簇中,能够屏蔽底层物理网络(无线网、以太网、帧中继、令牌环网)的差异,向上提供一致性的协议就是IP—互联网协议
TCP/IP分层模型中的两个边界
- 操作系统边界
- 操作系统边界把系统和应用区分开来
- 传输层及其下各层的协议、应用层中被IETF标准化的协议以及操作系统厂商自定义的协议属于操作系统内部实现
- 套接字(Socket)是目前连接网络应用和操作系统的一个常用接口
- 协议地址边界
- 网络层及其上各层使用IP地址,数据链路层和物理层使用MAC地址
- 对于IP地址如何寻找对应MAC地址,使用ARP和RARP协议
点到点和端到端
- 报文从源端投递到目的端时需要经过路由器转发,而路由器之下便是点到点
- 点到点:指对等体间的通信由一段一段直接相连的机器间的通信组成
- 端到端:指对等实体间的通信像拥有一条直接线路,而不管中间要经过多少个通信节点
多路复用和多路分解
- 多路复用
- UDP、TCP构建在IP上,各类应用则构建在TCP或UDP上,因此,不同的基于UDP的应用多路复用UDP,不同的基于TCP的应用多路复用TCP,UDP和TCP则多路复用IP
- 简单理解,将上层协议封装到下层协议中
- 多路分解
- 与多路复用相反,可以理解为将协议解封装