【黑金云课堂】FPGA技术教程Vitis开发:TCP以太网通信

描述

一、以太网与 TCP 基础概述

  1. TCP 定位 :TCP 是 TCP/IP 传输层核心协议,介于应用层与 IP 网络层之间,具备面向连接、可靠传输、字节流服务三大特性,依托三次握手建连、四次挥手断连、序号 + ACK + 超时重传实现无损有序传输,支撑 HTTP、FTP 等上层协议。

以太网

以太网

  1. 层级架构 :TCP/UDP 位于传输层,下层为 IP、ARP 等网络层协议,再往下是以太网数据链路与物理层。

以太网

  1. 以太网帧格式 :由 8B 前导码、6B 目的 MAC、6B 源 MAC、2B 类型、46~1500B 数据、4B FCS 校验组成,类型字段区分 IP/ARP 协议,FCS 采用 32 位 CRC 校验。

以太网

  1. IPv4 报文头 :含版本、首部长度、总长度、协议号(TCP 协议号为 6)、分片标志、IP 地址等关键字段,IP 报文不能超出链路 MTU。

二、TCP 首部

TCP 首部最小 20 字节(固定区)+ 可变选项区,是可靠传输控制核心:

  1. 基础字段 :源 / 目的端口、32 位序列号、32 位确认号;序列号标识字节位置,解决报文乱序、重复接收问题,连接初始化采用随机 ISN 序号。

以太网

  1. 6 位标志位 :URG 紧急、ACK 确认、PSH 推送、RST 重置、SYN 同步、FIN 断开,分别管控紧急数据、连接建立与关闭等行为。

以太网

  1. 窗口字段 :实现滑动窗口流量控制,接收方通过 ACK 通告剩余缓存容量,限制发送速率;原生 16 位窗口上限 65535 字节,依靠窗口扩大因子扩容。
  2. 校验和 & 紧急指针 :校验和含 TCP 正文 + IP 伪首部,校验报文完整性;URG 置 1 时紧急指针标记紧急数据末尾,实现高优先级数据插队传输。
  3. 关键可选参数
    • MSS :以太网常用 1460B (MTU1500 - IP 头 20 - TCP 头 20),握手协商单段最大载荷,规避 IP 分片;
    • 窗口扩大因子 :握手协商,突破原生窗口大小限制,适配高速网络。

三、连接机制

TCP 依靠 三次握手(SYN / SYN+ACK / ACK) 建立连接,四次挥手(FIN / ACK / FIN / ACK) 断开连接,由 SYN、FIN 等标志位控制流程。


审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分