标签:
tcp:基于连接,基于流(应用层协议有粘包问题),保证顺序性,保证正确不丢(分片)包。
[应用层需要处理粘包(协议包)问题]
PS:数据传输存在应用程缓存到tcp缓存区的拷贝操作,再以流的形式write出去,ip层无分片,一个完整ip包即一个分片,多个分片组成一个完整的应用层协议,发送时,会通过计算MSS大小、MTU大小、TCP头部大小,IP头部大小(MSS=MTU-TCP头部大小-IP头部大小),切分成MSS大小的分组进行传输,所以避免了ip层分片。
udp:无连接,数据报模式(无粘包,包大于MTU时则进行分片),不保证顺序性,不保证正确存在丢分片包问题,发生丢分片包时路由器会丢弃整个send(所有此完整包的分片)。
[应用层可能需要处理丢包、包排序问题(协议包)]
http://bbs.csdn.net/topics/390546711
http://bbs.csdn.net/topics/360240000
文字组织比较差劲,需要提高。
标签:
原文地址:http://my.oschina.net/cnge06/blog/516995