阅读:1361回复:7
有关IMD加解密中checksum的问题(前面的帖子已经结帖)
下面的观点不知道对不对,请大家指正!
1。我做加解密,只要加密Ethernet,IP包头后面的数据,或者Ethernet,IP,TCP/UDP/ICMP包头后面的数据,因为IP包头没有被加密,所以packet可以被转发,到目标机器后,数据通过网卡进去IMD,数据就可以直接解密了。 2。加解密不需要重新计算checksum,虽然packet加密后数据改变了,但是通过IMD传给协议驱动时已经自动解密,packet内容还是没有改变。 |
|
|
沙发#
发布于:2003-07-07 11:28
IP头正确的就可以被转发,
如果没有改动ip头,那么ip头的checksum不用修改,但是TCP的checksum需要修改。 如果checksum错误,你的这个报文在网络上就会被丢弃了。不可能到达对方(局域网除外) |
|
|
板凳#
发布于:2003-07-07 11:38
想问一下楼上的大虾,为什么tcp还要做校验和呢,路由器不是只管物理层,数据链接层,IP层这三层吗?如果tcp的checksum不对,packet也会被丢弃吗
|
|
|
地板#
发布于:2003-07-07 11:58
网络状况太复杂,你如何知道你的目的地不需要经过nat?nat对于TCP checksum错误的报文有什么理由不丢弃?
|
|
|
地下室#
发布于:2003-07-07 12:11
言之有理,因为我要加解密,是不是加密解密同时都要做校验和。
|
|
|
5楼#
发布于:2003-07-07 12:20
IP头正确的就可以被转发, |
|
|
6楼#
发布于:2003-07-08 10:17
想请问mikeluo,antspower两位大侠,我数据加密后如果长度变长的话怎么办,岂不是要内存溢出吗。
|
|
|
7楼#
发布于:2003-07-09 11:05
有两个想法不知道对不对,没有验证过
1.在packet后新连一个buffer 2.把packet释放后,新建一个packet放加密数据. |
|
|