博客
关于我
TCP/IP协议头
阅读量:369 次
发布时间:2019-03-05

本文共 842 字,大约阅读时间需要 2 分钟。

IP协议是网络层的核心协议,为上层的传输层提供无连接、无状态、不可靠的服务。其优点在于简单且高效,但由于无状态的特点,容易出现重复和乱序等问题。为了确保数据的可靠传输,传输层的TCP协议通过三次握手、四次挥手机制等方式提供可靠性保证。

TCP协议是面向连接的协议,通过以下几个机制确保数据传输的可靠性:

  • 三次握手:建立连接时,双方通过交换SYN和ACK报文进行三次握手,确保连接的建立。
  • 四次挥手:断开连接时,双方通过FIN和ACK报文进行四次握手,确保数据的完整发送。
  • 流量控制:通过窗口大小字段,发送方根据接收方的反馈控制数据传输量,避免数据过载。
  • 拥塞控制:通过算法检测网络拥塞,调整发送速率,减少数据丢失。
  • 超时重传:如果发送方在一定时间内未收到确认报文,会重传数据以确保传输成功。
  • 确认报文:接收方会发送确认报文告知发送方数据是否正确接收。
  • IP数据包头部通常包含以下字段:

    • 4位版本:表示IP协议版本,通常为4或6。
    • 4位首部长度:表示IP头部的长度,以4字节为单位,最大值为60字节。
    • 8位服务类型:包含优先权、吞吐量、可靠性等字段。
    • 16位总长度:表示整个IP数据包的长度。
    • 16位标识:系统边发送边赋值。
    • 3位标志:包括保留区、禁止分片和更多分片标志。
    • 13位片偏移:表示分片的位置。
    • 8位生存时间:表示数据包到达目的网络前的最大跳数。
    • 8位协议:区分上层协议如TCP和UDP。
    • 16位首部校验和:用于校验头部是否损坏。
    • 32位源IP地址:发送方的IP地址。
    • 32位目的IP地址:接收方的IP地址。

    TCP头部字段包括:

    • 16位源端口号:发送方的端口号。
    • 16位目的端口号:接收方的端口号。
    • 4位头部长度:表示TCP头部的大小。
    • 32位序列号:确保数据有序传输。
    • 32位确认号:确认接收方接收到的数据。
    • 6位保留:留空以供未来扩展。
    • URG、ACK、PSH、SYN、FIN:控制字母位用于各种特殊情况。
    • 16位窗口大小:流量控制手段。
    • 16位校验和:确保数据完整性。

    转载地址:http://pqeg.baihongyu.com/

    你可能感兴趣的文章
    vue 不常见操作
    查看>>
    jQuery的事件绑定与触发 - 学习笔记
    查看>>
    解决页面加载闪白问题-背景图片加载优化
    查看>>
    Python处理接口测试的签名
    查看>>
    测试流程规范--测试报告模板
    查看>>
    测试流程规范--提测规范(钉钉、邮件)
    查看>>
    Linux上TCP的几个内核参数调优
    查看>>
    解Bug之路-dubbo流量上线时的非平滑问题
    查看>>
    记一次讲故事机器人的开发-我有故事,让机器人来读
    查看>>
    从Linux源码看Socket(TCP)的listen及连接队列
    查看>>
    高德网络定位算法的演进
    查看>>
    高德算法工程一体化实践和思考
    查看>>
    为亿级用户的美好出行而战!高德地图首届算法大赛落幕 95后北邮在读博士带队夺冠
    查看>>
    重温网络编程——常识(三)
    查看>>
    判断一个数是否是2的幂
    查看>>
    js 闭包(新)
    查看>>
    vscode 编辑python 如何格式化
    查看>>
    正则表达针对html(九)
    查看>>
    seo 回忆录百度基本概念(一)
    查看>>
    重新整理数据结构与算法(c#)—— 算法套路二分法[二十四]
    查看>>