Java学习 - 网络TCP,UDP协议讲解

TCP协议

TCP协议特点

  • 面向连接

    • 应用程序在使用TCP协议之前,必须先建立TCP连接
    • 在数据传输完毕后,必须释放已经建立的TCP连接
    • 类似于打电话
  • 点对点通信

    • TCP协议就像打电话,只能一对一,不能一对多或多对多
  • 可靠传输

    • TCP协议能够保证传输的数据无差错,不丢失,不重复,不乱序
  • 全双工通信

    • TCP协议允许双方同时接收和发送数据
  • 面向字节流

    • TCP协议传输的数据以字节为单位,以流的形式传输

    在这里插入图片描述

TCP报文首部格式

  • 结构图

    在这里插入图片描述

  • 序号示意图

    在这里插入图片描述

<
组成 说明
序号 每个数据包的第一个字节位置在全数据中的位置
源端口 发送方端口
目的端口 接收方端口
确认号 期待接收的下一个数据包的序号
数据偏移 指TCP报文数据部分开始位置,即TCP报文首部占用空间大小
数据偏移占4位,单位为"4字节",即TCP报文首部最大为15*4=60字节
而TCP报文首部固定部分大小为20字节,即TCP首部可选部分最大为40字节
保留 保留,暂时没用
紧急URG 告诉发送发应优先发送
确认ACK ACK=1时有效,用于建立TCP连接
推送PUSH 告诉接收方应优先接收
窗口 占2字节,范围[0,2^16-1],用于TCP流量控制和拥塞控制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泡芙萝莉酱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值