一.传输层协议有哪些,主要优缺点?
传输层协议分为tcp与udp两种。
tcp:安全、可靠,但传输慢。
udp:传输快,但不安全。
二.tCP的特性:
- 工作在传输层
- 面向连接协议
- 全双工协议
- 半关闭
- 错误检查
- 将数据打包成段,排序
- 确认机制
- 数据恢复,重传
- 流量控制,滑动窗口
三.tcp报文段。
TCP将若干个字节构成的一个分组,称为报文段(Segment)。TCP报文段封装在IP数据报中。
其中。
在控制位当中,SYN.ACK.FIN.三个控制位最为重要,与下文三次握手息息相关。
四.tcp连接(三次握手)
pc1和pc2建立链接,三次握手过程。
第一次握手:pc1发送SYN报文给pc2,其中seq=x为序列号(随机),SYN=1表示请求建立连接。
SYN报文(seq=1,SYN=1)
pc1 -------------------------------------------------------------》pc2
第二次握手:pc2收到报文,发送ACK和SYN报文的确认报文与请求报文。其中seq=y是序列号,ack=x+1是确认号,SYN=1是请求建立连接,ACK=1确认请求
SYN + ACK报文(seq=y,ack=x+1,SYN=1,ACK=1)
pc2------------------------------------------------------------------------------》pc1
第三次握手:pc1收到报文,向pc2发送ACK确认报文,seq=x+1为序列号,ack=y+1是确认号,ACK=1同意建立连接,完成第三次握手,连接建立成功。
ACK报文(seq=x+1,ack=y+1,ACK=1)
pc1-------------------------------------------------------------》pc2
五.tcp连接断开(四次挥手)
客户端发送FIN报文段,半关闭了这个连接,服务器发送ACK报文段接受半关闭。(半关闭:客户端终止发送数据,但可以接受数据)
FIN=1(表示发送断开连接请求)
Seq序列号=u(u为随机)
服务器端收到客户端发来的请求报文后,同意断开连接,则向客户端发送确认报文:
ACK=1(表示这是条确认请求)
Seq序列号=v(这时服务器也会产生一个序列号v,和客户端的序号不相关)
Ack确认号=u+1(Seq序列号u+1,表示确认收到了客户端的请求)
当服务器把所有的数据都发送完毕时,就发送FIN报文段断开连接请求客户端在发送ACK报文段,这样就关闭了TCP连接。
六.udp协议的特性:
UDP特性
工作在传输层
提供不可靠的网络访问
非面向连接协议
有限的错误检查
传输性能高
无数据恢复特性
ps:udp协议非学习重点,这里我们简单了解一下,略过即可。