目录
- 传输层协议:
- TCP协议与UDP协议的区别:
- TCP3次握手:
- 扩展:有限状态机
传输层协议:
- TCP协议:传输控制协议
- UDP协议:用户数据包协议
TCP协议与UDP协议的区别:
tcp协议传输数据前需要先建立连接;安全可靠,稳定 udp协议传输数据前不需要事先建立连接;不安全,不稳定
tcp的优点:
- 可以同时接受和传输数据
- 半关闭状态
- 错误检查
- 确认发送的信息,确认机制
- 协商,保证每个机器都能收到,稳定控制
udp协议的优点:
- 传输性能高
tcp报文段和控制位:
控制位:
- URG(紧急位):报文中发送的数据是否有紧急数据
- ACK(确认位):确认字段是否有效;ack=1时(确认号要小写),确认字段才有效;ACK=1表示同意请求(ACK要大写)
- PSH(急切位):接收端应该立即从tcp接收缓冲区中读走数据
- PST(重置位):当rst=1,连接出现错误,释放连接,重新建立连接
- SYN(同步位):请求状态(SYN=1,ACK=0时);同步序号
- FIN(断开位):表示断开连接(FIN=1)
TCP3次握手:
当PC1想和PC2建立连接,就会将连接信息写入报文中,发送给PC2
- 第一步:PC1会发送一个请求连接的报文给PC2,有报文序号:seq=x和同步位SYN=1(表示请求建立连接)
- 第二部:当PC2接收到消息后,会回复一个报文序号seq=y,确认号ack=x+1(PC2希望PC1下一次发送x+1的序号报文),还有控制位的同步位SYN=1(表示请求连接)和确认位ACK=1(表示PC2确认并同意建立连接)
- 第三部:PC1收到PC2的同意连接报文之后,会发送一个序号seq=x+1,ACK=1(表示同意连接),还有ack=y+1(表示PC1希望PC2下次发送数据时,序号位y+1)
扩展:有限状态机:
- closed:没有任何连接状态
- listen:侦听状态,等待端口的请求
- syn-sent:在发送连接请求后,等待对方确认
- syn-received:在收到和发送一个连接请求后,等待对方确认
- established:代表传输连接建立,双方进入数据传送状态
- closing:双方同时尝试关闭传输连接,等待对方确认