本文不适合初学者,只是个人小结
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发包有顺序
包头里面有顺序码和确定码