OSI七层模型与TCP\IP协议
OSI是由国际标准化组织(ISO)于1984年颁布的开放系统互连参考模型,是一个开放式体系结构将网络分为七层
一、为什么要进行人为的划分,区分出来的目的是什么?
1、层次划分的优点:
- 复杂问题简单化
- 便于排查故障
- 统一标准
2、层次划分的方法
- 网络的每层应当具有相对独立的功能(便于排错)这个功能用不了 必然是你这层处理问题
- 梳理功能之间的关系,使上一个功能可以实现为另一个功能提供必要的服务,从而形成系统的层次结构, 环环相扣(紧密联系)
- 为提高系统的工作效率,相同或相近的功能仅在一个层次中实现,而且尽可能在较高的层次中实现
- 每一层只为相邻的上一层提供服务
二、OSI七层模型
七层划分为:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transprot)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。
-
应用层------ 网络服务与最终用户的一个接口(用户操作)指定各种的应用协议,人机交互窗口,把人的语言输 入到计算机中(qq聊天输入字符)
-
表示层------数据的表示、安全、压缩(人的语言翻译成计算机)将接收到的数据翻译成二进制数据,并指定数据的存储格式、加密格式,解密等等工作
-
会话层------建立、管理、中止会话 是否允许建立会话连接,建立了不同操作系统的之间的会话,通过一些协议去判断是否符合 确定你的两个软件之间是否可以进行通信(两个微信之间进行通信)
-
传输层------ 定义传输数据的协议端口号,以及流控和差错校验 将上层数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别,实现网络中不同主机上的用户进程之间的数据通信。
-
网络层------定义逻辑地址、实现不同网络之间的寻 址,理论选择转发数据的最佳路径将上层数据加上源和目的方的逻辑(IP)地址封装成 数据包,实现数据从源端到目的端的传输 (分拣员,分拣到底数据走哪条路更快)
-
数据链路层--------建立逻辑连接、进行硬件地址寻 址、差错校验等功能(交换机、网卡)将上层数据加 上源和目的方的物理(MAC)地址封装 成数据帧,MAC地址是用来标识网卡的物理地址,建立数据链路;当发现数据错误时,可以重传数据帧。
-
物理层------建立、维护、断开物理连接 报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输。
PDU: Protocol Data Unit,协议数据单元是指对等层次之间传递的数据单位
- 物理层的 PDU是数据位 bit
- 数据链路层的 PDU是数据帧 frame
- 网络层的PDU是数据包 packet
- 传输层的 PDU是数据段 segment
- 其他更高层次的PDU是消息 message
应用层 首先将数据分片( 不可能将整个文件直接传输过去文件过大等因素) 数据变成bit流
传输层: 接收上一层的分片数据,加入tcp头部地址 变成数据段,(传输层功能)
网络层:接收数据段加入 ip头部 变成 数据包
数据链路层: 接收数据包 加入 MAC 头部 变成 数据帧
物理层:接收数据帧,变成信号
总结
| 层次模型 | 作用 | 数据单元 | 主要设备 |
|---|---|---|---|
| 物理层 | 建立、维护、断开物理连接 | 比特流 | 网卡 |
| 数据链路层 | 进行硬件地址寻址,差错校验等功能 | 数据帧 | 交换机 |
| 网络层 | 进行逻辑地址寻址,实现不同网络之间的路径选择 | 数据包 | 路由器 |
| 传输层 | 定义传输数据的协议端口号,以及流量和差错校验 | 数据段 | 防火墙 |
| 会话层 | 建立、管理、中止会话 | message | 计算机 |
| 表示层 | 数据的表示、压缩、格式化、加密 | message | 计算机 |
| 应用层 | 网络服务与最终用户的一个接口 | message | 计算机 |
-
应用层、表示层、会话层为高三层,是面向用户的
-
网络层、数据链路层、物理层为低三层,是面向硬件的
-
网络层及以下的通信为点到点通信(主机与主机)
-
传输层的通信为端到端(端口到端口)
3、TCP/IP 参考模型
TCP/IP 是传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol)的简称
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。
- TCP/IP 4层模型(思科)
- TCP/IP 5层模型(华为)
4、TCP/IP协议族的组成
| 模型层 | 协议 |
|---|---|
| 物理层 | IEEE802.3有线局域网(以太网) IEEE802.11无线局域网标准 |
| 数据链路层 | Point-to-Point Protocol |
| 网络层 | IP (ICMP IGMP ARP RARP) |
| 传输层 | TCP UDP |
| 应用层 | HTTP FTP TFTP SMTP SNMP DNS |
网络层:
IP协议:(Internet Protocol,网际协议):
- ARP: 是将IP地址转换成物理mac地址 的协议
- RARP:将IP地址 转换成mac地址
- ICMP:ping 网络连通性检测 检测网络连通性
传输层:
- TCP :传输控制协议 可靠协议 (安全性高,速度慢)
- UDP:用户数据报协议 不可靠协议(安全性不高,速度快)
应用层:
- http(tcp端口):超文本传输协议 端口号:80
- https(tcp端口):加密超文本传输协议 端口号:443
- FTP(tcp端口):文件传输协议 端口号:20/21
- ssh(tcp端口):安全的远程登陆协议 端口号:22
- telnet(tcp端口):远程登陆协议 端口号:23
- TFTP(udp端口):简单文件传输协议 端口号:69
- DNS(tcp和udp端口):域名解析系统 端口号:53
理想的网络设计
- 核心层--------高速转发数据包(流量高速转)-------三层交换机、路由器、防火墙 网络层
- 汇聚层---------流量控制、转发数据-(对流量)-------三层交换机 网络 层
- 接入层---------提供尽可能多的接口(20接口)------二层交换机 数据链路层
5、数据解封装
5.1、数据装封
- 应用层:原始数据
- 传输层:接收上一层的数据段,在数据段前封装TCP头部(数据段)
- 网络层:接收上一层的数据包,在数据包前加入IP头部(数据包)
- 数据链路层:接收上一层的数据包,在数据包前加入MAC头部(数据帧)
- 物理层: 比特流转化为电信号在网络中传输 (比特流)
- 物理层:将电信号转化为二进制数据,并将其送至数据链路层;
- 数据链路层:查看目标MAC地址,判断其是否与自己的MAC地址吻合。若吻合,则拆掉MAC头部,将剩余数据传输至上一层;若不吻合,则丢弃数据;
- 网络层:查看目标IP地址,地址是自己的,就拆掉IP头部,继续传输至上一层;地址不是自己的,就丢弃数据;
- 传输层:根据TCP头部判断数据段送往哪里,之后将被分组的数据段重组,传送至应用层;
- 应用层:还原成原始信息
- 报文:头部加上层数据
- 传输层:数据段
- 网络层:数据包
- 数据链路层:数据帧