TCP简介

本文详细介绍了TCP协议提供的服务,包括面向连接、可靠传输等特性,并解析了TCP首部字段的含义,如端口号、序号、确认序号等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、TCP提供的服务

TCP提供面向连接可靠字节流服务。

  1. 面向连接
    使用两个TCP的应用在彼此交换数据之前必须建立一个TCP连接
    仅有双方可以彼此通信,广播和多播不能用于TCP。
  2. 可靠
    利用下面技术保证可靠性
    • 应用数据被分隔为TCP认为最适合发送的数据块
    • 定时及重传机制
    • 收到以后发送确认
    • 首部保持端到端的校验和
    • TCP会处理IP层的乱序
    • TCP会丢弃IP层的重复包
    • TCP提供了流量控制
  3. 字节流
    两个应用程序通过TCP连接交换8 bit字节构成的字节流。TCP不在字节流中插入记录标识符。我们称之为字节流服务(byte stream service)。
    TCP不对字节流作任何解释。TCP不知道传输的数据字节流是二进制数据、ASCII字符、EBCDIC字符还是其他类型数据。

二、TCP首部

如果不计选项字段,通常是20字节。

  1. 源端和目的端端口号
    用于寻找发端和收端应用进程。这两个值加上IP首部中的源端IP和目的端IP地址唯一确定一个TCP连接。
    一个IP地址和一个端口号称为一个socket。socket pair可以唯一确定互联网络中的每个TCP连接的双方。
  2. 序号
    用来标识从TCP发端向TCP收端发送的数据字节流,表示在这个报文段中的第一个数据字节。
  3. SYN
    新建立一个连接时,SYN标志变为1。
  4. 确认序号
    发送确认的一端所期望收到的下一个序号,即上次已成功收到的数据字节序号加1
  5. ACK
    只有ACK标志位1时,确认序号才有效。
    由于ACK字段总是TCP首部的一部分,因此发送ACK无需任何代价,一旦一个连接建立起来,这个标志总是被设置。
  6. PSH
    接收方应该尽快把这个报文交给应用层
  7. RST
    重置连接
  8. FIN
    发端完成发送任务
  9. 首部长度
    首部中32 bit字的数目。
  10. 窗口大小
    用于TCP流量控制
  11. 校验和
    覆盖了整个TCP报文段:TCP首部和TCO数据

转载于:https://www.cnblogs.com/huahuahu/p/TCP-jian-jie.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值