有逻辑性地讲⼀下TCP跟UDP的相同点和不同点
本⽂不适合初学者,只是个⼈⼩结
TCP⾸部 是20个字节 UDP⾸部是8个字节图1TCP⾸部
图2UDP⾸部
1.TCP是⾯向连接的
相同的是都有源端⼝跟⽬标端⼝,端⼝对应着不同的应⽤程序不同的是该UDP若是不接收信息,那么它的源端⼝号可以设置为空 ⽽TCP不⾏
2. TCP是讲究消息的准确性
TCP 校验和是必须开启的,接收端检查到有错误的包丢弃并发送noack ,发送端没有收到ack消息会重新发送⼀次; (这个是多长时间后重新发送)
UDP校验和是可选的,检查到有错误的直接丢弃,不向数据传输层回传任何消息; 那个send后返回值是什么相同点是TCP和UDP校验和的对象范围都是伪⾸部+ TCP(UDP)⾸部+TCP(UDP)数据+ 前⾯3个长度相加除以16的余数,补零
3.TCP发包有顺序
包头⾥⾯有顺序码和确定码