作为构建在TCP之上应用层之下的协议,TLS是独立开来的协议,任何应用层协议都可以直接引入使用它,其最重要的作用就是将应用层协议,如FTP,HTTP或SMTP等加密处理后,再传递给下层的TCP协议来保证数据传输的可靠性。TLS将来自高层的协议数据进行封装,过程中分有两层结构,握手层和记录层,握手层在上,记录层在下,所以握手层更接近应用层,记录层更接近传输层TCP。记录层协议的作用大致有,将上层协议封装,将数据分块,数据压缩(通常不使用),最重要的数据加密解密,验证,这篇日志就来总结下TLS协议的记录层。
记录层消息头
记录层协议将上层的握手层一条或多条子消息,添加上自己的消息头,最终封装成一条消息,再往下传递给TCP处理,那么记录层的消息头里都有些什么呢?来看看:
记录层协议的消息头一共5个字节组成,分为三部分,首先是消息类型,占一个字节,消息类型有四种,对应的是上一层握手层的四种自协议:Change Cipher Spec Protocol密码切换协议、Alert Protocol警告协议,TLS Handshaking Protocols握手协议和Application Data Protocol应用层协议,对应的十六进制编号按顺序分别为0x14到0x17。接着是两个字节的版本号,版本号标志的是T