OSI模型
OSI 模型(Open System Interconnection model)是一个由国际标准化组织提出概念模型,试图提供一个使各种不同的计算机和网络在世界范围内实现互联的标准框架。
它将计算机网络体系结构划分为七层,每层都可以提供抽象良好的接口。了解 OSI 模型有助于理解实际上互联网络的工业标准——TCP/IP 协议。
OSI 模型各层间关系和通讯时的数据流向如图所示:
显然、如果一个东西想包罗万象、一般时不可能的;在实际的开发应用中一般时在此模型的基础上进行裁剪、整合!
七层模型介绍
-
物理层:
物理层负责最后将信息编码成电流脉冲或其它信号用于网上传输;eg:RJ45等将数据转化成0和1;
-
数据链路层:
数据链路层通过物理网络链路提供数据传输。不同的数据链路层定义了不同的网络和协 议特征,其中包括物理编址、网络拓扑结构、错误校验、数据帧序列以及流控;可以简单的理解为:规定了0和1的分包形式,确定了网络数据包的形式;
-
网络层
网络层负责在源和终点之间建立连接;可以理解为,此处需要确定计算机的位置,怎么确定?IPv4,IPv6!
-
传输层
传输层向高层提提供可靠的端到端的网络数据流服务。可以理解为:每一个应用程序都会在网卡注册一个端口号,该层就是端口与端口的通信!常用的(TCP/IP)协议;
-
会话层
会话层建立、管理和终止表示层与实体之间的通信会话;建立一个连接(自动的手机信息、自动的网络寻址);
-
表示层:
表示层提供多种功能用于应用层数据编码和转化,以确保以一个系统应用层发送的信息 可以被另一个系统应用层识别;可以理解为:解决不同系统之间的通信,eg:Linux下的QQ和Windows下的QQ可以通信;
-
应用层:
OSI 的应用层协议包括文件的传输、访问及管理协议(FTAM) ,以及文件虚拟终端协议(VIP)和公用管理系统信息(CMIP)等;规定数据的传输协议;
常见的应用层协议:
互联网分层结构的好处: 上层的变动完全不影响下层的结构。
TCP/IP 协议基本概念
OSI 模型所分的七层,在实际应用中,往往有一些层被整合,或者功能分散到其他层去。TCP/IP 没有照搬 OSI 模型,也没有 一个公认的 TCP/IP 层级模型,一般划分为三层到五层模型来描述 TCP/IP 协议。
-
在此描述用一个通用的四层模型来描述,每一层都和 OSI 模型有较强的相关性但是又可能会有交叉。
-
TCP/IP 的设计,是吸取了分层模型的精华思想——封装。每层对上一层提供服务的时候,上一层的数据结构是黑盒,直接作为本层的数据,而不需要关心上一层协议的任何细节。
TCP/IP 分层模型的分层以以太网上传输 UDP 数据包如图所示;
数据包
宽泛意义的数据包:每一个数据包都包含”标头”和”数据”两个部分.”标头”包含本数据包的一些说明.”数据”则是本数据包的内容.
信息在网络中如何传递:
1.广播: 信息在同一个局域网内以广播的形式传递!
2.路由: 信息在不同的局域网内传播!以路由的形式传递!
数据包:
{
标头:
数据:
}
以太网数据包:一个以太网数据包的总大小不超过 1500 个字节!
{
标头: 发送方和接收方的 MAC 地址!
数据: 需要传递的数据! (最大 1500)
}
IP数据包:IP数据包放在以太网数据包的数据部分! IP数据包一般不超过 65535 个字节!
{
标头:双方的IP地址
数据:需要传递的数据!
}
拆包:当IP数据包大于以太网数据包的时候,需要拆包之后再发送!
IP数据包: 5000 个字节!
{<1> {IP数据包:标头:20字节: 数据:1480(0~1479)}}
{<2> {IP数据包:标头:20字节: 数据:1480(1480~2959)}}
{<3> {IP数据包:标头:20字节: 数据:1480(2960~4439)}}
{<4> {IP数据包:标头:20字节: 数据:540(4439~4979)}}
流媒体:视频/音频 开发!
传输层:TCP/UDP;一般传输层数据包的总大小不会超过 65535个字节!一个IP数据包的数据部分能够恰好放下一个传输层数据包!
{
TCP/UDP数据包
{
标头:双方的端口号!
数据:数据部分
}
}
应用层数据!
组包: 拿到数据包之后,按顺序组合在一起,获得完整的数据!
四层模型
1.网络接口层
网络接口层包括用于协作IP数据在已有网络介质上传输的协议。
它定义像地址解析协议(Address Resolution Protocol,ARP)这样的协议,提供 TCP/IP 协议的数据结构和实际物理硬件之间的接口。 可以理解为:确定了网络数据包的形式。
2.网间层
网间层对应于 OSI 七层参考模型的网络层,本层包含 IP 协议、RIP 协议(Routing Information Protocol,路由信息协议),负责数据的包装、寻址和路由。同时还包含网间控制报文协议(Internet Control Message Protocol,ICMP)用来提供网络诊断信息; 可以理解为:该层时确定计算机的位置。
3.传输层
传输层对应于 OSI 七层参考模型的传输层,它提供两种端到端的通信服务。其中 TCP 协议(Transmission Control Protocol)提供可靠的数据流运输服务,UDP 协议(Use Datagram Protocol)提供不可靠的用户数据报服务。 TCP:三次握手、四次挥手;UDP:只发不管别人收不收得到--任性哈
4.应用层
应用层对应于 OSI 七层参考模型的应用层和表达层; 不明白的再看看7层参考模型的描述。