tcp/ip 学习记录
tcp与udp的作用与区别
tcp 面向连接,通信过程中需要回馈机制保障数据的可靠传输,流控机制保证数据发送的效率,只能用单播进行传输。telnet stmp
udp 无连接 通信过程中没有回馈机制,不保证数据的可靠传递,优点是速度快,用于视频等业务。可以用单播,组播,广播进行传输
端口号的取值范围:可以通过下图看见source port 和destination port 占16个Byte 也就是可以描述2的16次方(65536)个数,所以端口号的取值范围为0-65535 0不作为端口号使用,所以取值为1-65535.
1-1024知名端口号的取值范围
1025-65535未名端口号
TCP 和udp的报文格式

确认位 ACK 当ACK置位为1的时候,代表确认号ack有确认作用
同步位 SYN 当SYN置位为1的时候,代表我希望建立tcp连接
序列号 seq
确认号 ack
说一下TCP建立三次握手的过程,用简单的语言来描述的话如同以下场景:
外卖员:在吗?
我:在
外卖员:外卖到了,来拿!
假设pc1 访问 pc2,他们之间建立三次握手
第一次握手pc1 作为三次握手的发起方,他的seq序列号随机产生,确认号ack总为0 syn置位为1 (一般情况下syn为1 ack为0代表第一次连接):

第二握手时pc2如果有富余的资源,会对tcp握手进行回馈,此时seq序列号随机产生,ack确认号为pc1的seq值加上1 ,代表收到了请求可以进行回馈。此时syn同步位置位,ACK确认位置位。

第三次握手时pc1的seq序列号为a+1(这个是因为第一次握手时pc1随机产生的序列号为a),确认号ack为pc2的序列号seq值加上1(通信过程中需要回馈机制保障数据的可靠传输)
此时ACK确认位置位
