计算机网络_TCP的传输连接管理(三次握手,四次挥手)

计算机网络

传输层

传输层是主机才有的层次,其既为应用层提供通信服务,也使用网络层的服务。

传输层的功能:第一是提供进程与进程之间的通信(网络层提供主机之间的通信);第二是复用和分用;第三是对收到的报文进行差错检测。

传输层的两个协议:TCP协议和UDP协议。

TCP协议

  • 面向连接的传输控制协议
  • 需要建立连接和释放连接
  • 可靠的面向连接,时延大,适用大文件传输

TCP协议的特点

  • 面向连接
  • 每一个TCP连接只能有两个端点,点对点通信
  • 可靠交付,无差错,不丢失,不重复,按序到达(可靠有序,不丢不重)
  • TCP提供全双工通信
  • TCP面向字节流

UDP协议

  • 无连接的用户数据报协议
  • 不需要建立连接,不给任何确认
  • 不可靠的无连接,时延小,适用小文件传输

UDP协议的特点

  • 无连接
  • 最大努力交付,不保证可靠交付
  • UDP面向报文
  • UDP无拥塞控制
  • UDP首部开销小

UDP协议只在IP数据报服务上加了很少的功能,即复用分用和差错检测功能。

套接字:套接字是唯一标识网络中一个主机和它上面的一个进程。Socket = (主机IP地址,端口号)

TCP的传输连接管理

TCP是面向连接的协议。传输连接是用来传送TCP报文的。TCP传输连接的建立和释放是每一次面向连接的通信中必不可少的过程。因此,传输连接有三个阶段:连接建立、数据传送和连接释放,传输连接的管理就是使传输连接的建立和释放都能正常进行。

TCP连接的建立采用客户服务器方式。主动发起连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫做服务器

涉及到的内容:TCP报文段的首部格式。

序号:TCP是面向字节流的,在一个TCP连接中传送的字节流中每一个字节都按顺序编号;整个要传送的字节流起始序号必须在连接建立时设置;首部中的序号字段指的是报文段所发送数据的第一个字节的序号

确认号:期望收到对方下一个报文段的第一个数据字节的序号。

确认ACK:仅当ACK=1时确认号字段才有效,当ACK=0时确认号无效。TCP规定,在连接建立后所有传送的报文段都必须把ACK置1。

同步SYN在连接建立时用来同步序号。当SYN=1而ACK=0时,表明这是一个连接请求报文段,对方若同意建立连接,则应在响应报文段中使SYN=1和ACK=1。

终止FIN用来释放一个连接。当FIN=1时,表明此报文段的发送方的数据已发送完毕,并要求释放传输连接。

1.TCP的连接建立(三次握手

图示过程

三次握手建立TCP连接

过程分析

ROUND1:客户A发送连接请求报文段,无应用层数据;SYN=1,seq=x(随机)。

ROUND2:服务器B为该TCP连接分配缓冲和变量,并向客户A返回确认报文段,允许连接,无应用层数据;SYN=1,ACK=1,seq=y,ack=x+1。

ROUND3:客户A为该TCP连接分配缓冲和变量,并向服务器B返回确认的确认,可携带数据;ACK=1,seq=x+1,ack=y+1。

2.TCP的连接释放(四次挥手

图示过程

四次挥手释放TCP连接

过程分析

ROUND1:客户A发送连接释放报文段,停止发送数据,主动关闭TCP连接;FIN=1,seq=u。

ROUND2:服务器B回送一个确认报文段,客户到服务器这个方向的连接就释放了(半关闭状态);ACK=1,seq=v,ack=u+1。

ROUND3:服务器发送完数据,就发出连接释放报文段,主动关闭TCP连接;FIN=1,ACK=1,seq=w,ack=u+1。

ROUND4:客户回送一个确认报文段,再等到时间等待计时器设置的2MSL(最长报文段寿命)后,连接彻底关闭;ACK=1,seq=u+1,ack=w+1。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值