计算机网络参考模型
- 分层思想
- OSI参考模型
- TCP/IP协议族
- 数据封装和解析封装过程
- 分层思想
1.将复杂的流程分解为几个功能相对单一的子过程
整个流程更加清晰,复杂问题简单化
更容易发现问题并针对性的解决问题
2.为什么分层
(1)层次划分的必要性:
很多不同的厂家生产各自不同的计算机,他们运行完全不同的操作系统,但TCP/IP协议族允许他们互相进行通信。这一点很让人惊讶,因为它的作用已经远远超出了起初的设想。TCP/IP起源于60年代末美国政府资助的一个分组交换网络研究羡慕,到90年代已发展成为计算机之间最长应用的组网形式。他是一个真正的开发系统,因为协议族的定义及其多种实现可以不用花钱或花很少的钱就可以公开得到。它成为被称作"全球互联网''或''因特网(Internet)''的基础,该厂域网(wan)已包含超过100万台 遍布世界各地的计算机。计算机网络是由许多硬件,软件和协议交织起来的复杂系统。由于网络设计十分复杂,如何设计、组织和实现计算机网络是一个挑战,必须要采用科学有效的方法。
(2)层次划分的方法
- 网络的第一层应当具有相对独立的功能
- 梳理功能之间的关系,使一个功能可以为实现另一个功能提供必要的服务,从而形成系统的层次结构
- 为提高系统的工作效率,相同或相近的功能仅在一个层次中实现,而且尽可能在较高的层次中实现
- 每一层只为相邻的 上一层提供服务
(3)层次划分的优点
- 各层之间相互独立,每一层只实现一种独立的功能,是问题复杂程度降低
- 灵活性好,各层内部的操作不会影响其他层
- 结构上可分割开,各层之间都可以采用最合适的技术来实现
- 易于实现和维护,因为整个系统已被分解成相对独立的子系统
- 能促进标准化工作,因为每一层的功能及其提供的服务都有精确的说明
- OSI参考模型
(1)国际标准化组织(IOS),1984年颁布了开放系统互连(OSI)参考模型,一个开放式体系结构,将网络分为七层
(2)互联网的本质 就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,人为的分为七层。实际上这个七层是不存在的。没有这个七层的概念,只是人为的划分而已。区分出来的目的只是让你明白哪一层是干什么的。
七层分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
IOS模型:开放式系统互联参考模型(IOS)提升了各个厂家的设备兼容性
- 应用层:网络服务与最终客户的一个借口(用户操作)
指定各种的应用协议,人机交互窗口,把人的语言输入到计算机中(qq聊天输入字符)
- 表示层:数据的表示,安全,压缩(人的语言翻译成计算机语言)
将接收到的数据翻译成二进制数据,并指定数据的储存格式,加密格式,解密等等工作。
- 会话层:建立、管理、终止会话。
是否允许建立会话连接,建立不同操作系统之间的会话。
- 传输层:定义传输数据的协议端口号,以及流控和差错校验
将上层数据 分片并加上端口号分装成数据段,或通过对报文头中的端口识别,实现网络中不同主机上的用户进程之间的数据通信。
- 网络层:定义逻辑地址、实现不同网络之间的寻址,理论选择转发数据的最佳路径
将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端的传输
- 数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能(交换机 网卡)
将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,MAC地址是用来标识网卡的物理地址,建议数据链路;当发现数据错误时,可以重传数据帧。
- 物理层:建立,维护,断开物理连接
报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输。
- TCP/IP协议族
端口补充
应用层 HTTP:80端口 FTP:20、21端口 TFTP:69端口
SMTP:25端口 SNMP:161端口 DNS:53端口
传输层 TCP:传输控制协议 可靠协议(安全性高,速度慢)
UDP:用户数据报协议 不可靠协议(安全性不高,速度快)
网络层: IP协议(Internet protocol,国际协议)而IP由四个支撑协议组成
ARP(地址解析协议)是根据IP地址物理MAC地址的协议
RARP(逆地址解析协议)是根据物理MAC获取IP地址的协议
ICMP(网际控制报文协议)ping网络连通性检测
IGMP(网际组织管理协议)一个组播协议,该协议运行在主机和组播路由器之间
PDU:protocol data unit,协议数据单元是指对等层次之间传递的数据单元
- 物理层的PDU是数据位bit
- 数据链路层的PDU是数据帧frame
- 网络层的PDU是数据包packet
- 传输层的PDU是数据段segment
- 其他更高层次的PDU是消息message
应用层 首先将数据分片(不可能将整个文件直接传输过去文件过大等因素)数据
传输层:接受上一层的分片数据,加入TCP头部地址变成数据段
网络层:接收数据段加入IP头部分片成数据包
数据链路层:接受数据包加入MAC头部变成数据帧
物理层:接受数据帧变成bit流
- 数据装封与解装封过程
1,数据装封过程
2,数据解装封过程