计算机网络参考模型与数据是怎样进行传输的
为啥要进行分层
方便理解数据是如何在网络中传输的,使整个流程更加清晰,复杂问题简单化。更容易发现问题并针对性的解决问题。
OSI参考模型与TCP/IP参考模型
OSI七层参考模型
国际标准化组织(ISO)在<fontcolor=red>1984年颁布了 开放系统互连(OSI)参考模型。
概要
分层 | 功能 |
---|---|
应用层 | 网络服务与最终用户的一个接口 |
表示层 | 数据的表示、安全、压缩 |
会话层 | 建立、管理、中止会话 |
传输层 | 定义传输数据的协议端口号,以及流控和差错校验 |
网络层 | 惊醒逻辑地址寻址,实现不同网络之间的路劲选择 |
数据链路层 | 建立逻辑连接,进行精简地址寻址,差错校验 |
物理层 | 建立、维护、断开物理连接 |
详解
应用层:人机交互窗口,把人的语言输入到计算机当中。如在微信、QQ等对话窗口输入和字符。
表示层:计算机将接收到的数据翻译成二进制数组成的计算机语言,并对数据进行压缩、解压、数据加密和解密等工作。
会话层:管理是否允许不同机器上的用户之间建立会话连接。
传输层:将上层应用数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别,实现网络中不同主机、不同应用上的用户进程之间的数据通信。
网络层:将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源IP到目的IP的传输。
数据链路层:将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,MAC地址是用来标识网卡的物理地址,建立数据链路,在发现数据错误时,可以重传数据帧。
物理层:报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输。
传输层是端对端的通信。
网络层及以下是点对点的通信。
TCP/IP 参考模型及其协议簇
TCP/IP参考模型
TCP/IP模型和OSI模型很像,早期的TCP/IP模型只有4层,后来又分为了5层。
相比于OSI模型,TCP/IP模型将应用层、表示层、会话层整合为一个应用层。
TCP/IP协议簇
分层 | 协议簇 |
---|---|
应用层 | HTTP、HTTPS、FTP、TFTP、SMTP、SNMP、DNS |
传输层 | TCP、UDP |
网络层 | IGMP、ICMP、ARP、RARP、IP |
数据链路层与数据层 | IEEE 802.3 有线局域网标准 IEEE 802.11 无线局域网标准 |
TCP(传输控制协议):
协议 | 名称 | 端口 | 功能 |
---|---|---|---|
HTTP | 超文本传输协议 | 80 | 用于浏览器和Web服务器之间的请求 |
FTP | 文件传输协议 | 21 | 用于控制FTP服务器 |
SSH | 安全外壳协议 | 22 | 用于计算机之间的远程加密登录 |
DNS | 域名解析协议 | 53 | 用于连接DNS服务器 |
TCP协议传输更加稳定可靠
UDP(用户数据报协议):
协议 | 名称 | 端口 | 功能 |
---|---|---|---|
TFTP | 简单文件传输协议 | 69 | 用于小文件的传输 |
RPC | 远程调用协议 | 111 | 用于远程过程调用 |
SNMP | 简单网络管理协议 | 161 | 用于网络设备的管理 |
DNS | 域名系统 | 53 | 用于解析DNS |
UDP协议传输效率更高
IP(网际协议):
协议 | 名称 | 功能 |
---|---|---|
ARP | 地址解析协议 | 用于在局域网中,根据IP地址获取物理地址 |
RARP | 逆地址解析协议 | 用于在局域网中,通过ARP表根据物理地址请求IP地址 |
ICMP | 网际控制报文协议 | 用于验证网络是否畅通 |
IFMP | 网际组管理协议 | 用于主机与组播路由器之间组播通信 |
个层与设备之间的关系
数据传输
数据传输就是数据封装与解封装的过程
数据封装
具体封装过程如下:
数据通过在应用层,将文字、图片、音频转化为计算机二进制语言,统称为上层数据。
上层数据经过传输层,会在数据头部添加一个TCP报文,里面包含了源端口号和目标端口号等,此时数据成为一个数据段继续传输。
数据段到网络层后,会被添加一个IP报文头部,里面包含了源IP地址和目标IP地址等,整个数据成为了一个数据包。
数据包通过数据链路层又在头部添加了一个MAC报文,里面包含了源MAC地址和目标MAC地址等,数据成了数据帧继续传输。
数据帧在物理层转化为比特流通过电信号的方式进行传输。
解封装过程就是一个逆向解析头部的过程。