关于应用层协议的有关问题

关于应用层协议的问题?
最近在做一个项目,运用tcp协议通信,但应用层协议里定义了校验和和数字签名,,tcp是可靠传输,校验和和数字签名有必要吗?

求大牛解释。

------解决方案--------------------
很有必要,看来你7层协议理解不深。
tcp是可靠传输,但它只是传输层上可靠,传输层到应用程之间传送数据时,如果数据被修改了,那就需要在应用层校验以保证数据的完整性!
------解决方案--------------------
是必须的,就算你的应用层协议里没有校验的要求,你自己也应当加上,这可以帮助你发现代码中存在的逻辑缺陷。