一、IOS七层参考模型
应用层
为应用程序提供交互服务,网络服务与人机交互窗口,把人的语言输入到计算机当中。例如,在QQ的对话窗口输入字符。
协议有:HTTP(超文本传输协议) FTP(文本传输协议) TFTP(简单文件传输协议) SMTP(简单邮件传输协议) SNMP(简单网络管理协议) DNS(域名系统) TELNET(远程终端协议) HTTPS(超文本传输安全协议) POP3(邮局协议版本3 ) DHCP(动态主机配置协议)
表示层
数据的表示、安全、压缩,确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取,负责数据格式的转换,如加密解密、转换翻译、压缩解压缩等。
会话层
建立、管理、终止会话,负责在网络中的两节点之间建立、维持和终止通信,如服务器验证用户登录便是由会话层完成的。
传输层
定义传输数据的协议端口号,以及流控和差错校验。将上层应用数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别,实现网络中不同主机上的用户进程之间的数据通信。
主要协议有TCP、UDP
TCP:传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议,使用三次握手协议建立连接、四次挥手断开连接。
UDP:用户数据报协议,是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP协议的主要作用是将网络数据流量压缩成数据包的形式。
网络层
进行逻辑地址寻址,实现不同网络之间的路径选择。将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端的传输
协议有:ICMP(互联网控制信息协议) IGMP(组管理协议) IP(IPV4 IPV6)(互联网协议)
数据链路层
建立相邻结点之间的数据链路,进行硬件地址寻址、差错校验等功能。将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,MAC地址是用来标识网卡的物理地址,建立数据链路; 当发现数据错误时,可以重传数据帧。
地址解析协议:ARP、PARP(反向地址转换协议)
物理层
建立、维护、断开物理连接。报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输
注:网络层及以下的通信为点对点通信,主要解决主机到主机的通信问题。 传输层的通信为端到端通信,为应用层实体(进程)提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。
二、TCP/IP网络模型
应用层
对应OSI模型的应用层、表示层、会话层
主要协议有HTTP(超文本传输协议)、FTP(文本传输协议)、TFTP(简单文件传输协议)、SMTP(简单邮件传输协议)、SNMP(简单网络管理协议)、DNS(域名系统)
传输层
对应OSI模型的传输层,为应用层实体提供端到端的通信
主要协议有TCP、UDP
网络层
对应于OSI模型的网络层,提供主机到主机的通信
主要协议:ICMP(互联网控制信息协议) IGMP(组管理协议) IP(IPV4 IPV6) ARP(地址解析协议)、RARP(反向地址解析协议)
数据链路层
对应于OSI模型的数据链路层
由底层网络定义的协议
IEEE 802.3有限局域网(以太网)标准
IEEE 802.11无线局域网标准
物理层
对应于OSI模型的物理层
三、数据的封装和解封装过程
数据的封装
数据的封装过程为:原始数据—>数据段—>数据包—>数据帧—>比特流
应用层:原始数据转化为比特流。
传输层:数据被打上传输层头部比如TCP头部,封装成数据段。
网络层:会给数据打上IP头部,封装成数据包。
数据链路层 :会给数据打上帧头部,封装成数据帧。
物理层:在物理设备上将二进制数据转化成信号。
数据的解封装
数据的解封装过程为:比特流—>数据帧—>数据包—>数据段—>原始数据
物理层:将数据转换成二进制,然后将数据送到数据链路层。
数据链路层:先查看MAC地址,是自己的MAC地址就会保留,不是就会丢弃。然后再将数据帧的帧头去掉,校验type字段,查看上层(网络层)使用的是何种协议。再将数据发送到网络层。
网络层: 先查看IP地址,是自己的ip地址就会保留,不是就会丢弃。然后再去掉ip头部,校验协议号,查看上层(传输层)使用的是何种协议,再将数据发送到传输层。
传输层:校验端口号,然后再给到应用层。
应用层:将二进制数据转换为原始数据。