TCP和UDP传输特点

1.1TCP传输特点:
  1. 端到端通信:客户应用程序在一端,服务器在另一端
  2. 建立可靠连接:建立连接时会测试网络的连通性
  3. 可靠交付:建立连接后会发送数据是可靠的,除非因为故障而不能可靠交付,发送方会得到通知
  4. 具有流控的传输:TCP控制数据传输的速率,防止发送方传送数据的速率快于接收方的接收速率,TCP可以用于从快速计算及向慢速计算机发送数据
  5. 双工传输:单个TCP连接允许同时双向传送数据
  6. 流模式:TCP从发送方向接收方发送没有报文边界的字节流
1.2TCP的首部

在这里插入图片描述
在这里插入图片描述
TCP首部各字段的含义如下:

  • 源、目的端口号:用于寻找发送端和接收端的应用程序
  • 首部长度:这个字段占4位,因此TCP最多有60字节的首部。如果没有选项字段,正常的长度是20字节
  • 标志位:在TCP首部中有6个标志位
    ACK:确认序号
    SYN:同步序号用来发起一个连接
    FIN:发送方完成发送任务
1.3TCP连接的建立和终止

在这里插入图片描述
连接步骤:

  • 客户端发送一个SYN报文段指明客户打算连接的服务器端口,发送后,客户进去SYN_SENT状态
  • 服务器启动后首先进去LISTEN状态,当它接收到客户端发来的SYN后,进入SYN_RCV状态,并发送SYN报文作为应答,同时将确认序号设置为客户的初始号+1,对客户的SYN进行确认。
  • 客户端收到确认报文后进入ESTABLISHED状态,表明本方连接已经成功建立,客户将确认序号设置为服务器ISN+1,对服务器的SYN报文段进行确认,当服务器接收到确认报文后,也进入ESTABLISHED状态。

在这里插入图片描述
关闭步骤:

  • 客户的应用进程发起关闭连接请求,它将导致TCP客户发送一个FIN报文段,用来关闭客户到服务器的数据传送,此时客户进入FIN_WAIT_1状态
  • 当服务器收到这个FIN,它发回一个ACK,进入CLOSE_WAIT状态,确认序号收到的序号+1。客户收到该确认后进入FIN_WAIT_2状态,表明本方连接已经关闭,但是仍然能够接收服务器发来的数据
  • 接着服务器程序关闭本方连接,其TCP端发送一个FIN报文段,进入LAST_AC状态,当客户接收到该报文段后进入TIME_WAIT状态
  • 客户在收到服务端发送的FIN请求后,发回一个确认,并将确认号设置为收到的序号+1,发送FIN将导致应用程序关闭他们的的连接,服务器收到确认后,连接关闭,这些FIN的ACK是有TCP软件自动产生的
1.4流式套接字的交互模型

在这里插入图片描述

2.1UDP传输特点
  1. 多对多通信:多个发送方可以向一个接收方发送报文,一个发送方也可以向多个接收方发送报文
  2. 不可靠服务:报文可能丢失,重复或者无序,并且它没有重传措施,如果发生故障,也不会通知对方
  3. 缺乏流量控制:当数据包到达的速度比接收系统或应用的处理速度快时,只是将其丢弃而不会发出警告或者提示
  4. 报文模式
2.2UDP的首部

在这里插入图片描述
在这里插入图片描述
UDP各字段的含义:

  • UDP校验和:UDP校验和是端到端的校验和,它由发送端计算,然后由接收端验证,其目的是发现UDP首部和数据在发送端到接收端之间发生的任何改动。
2.2数据报套接字的交互模型

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值