0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

全硬件TCP/IP协议栈学习笔记(第三天:TCP/IP协议学习三)

学FPGA,慢慢来 来源:互联网 作者:佚名 2017-12-18 10:26 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

昨天我们结束时到了UDP协议,今天我们继续

<2>.UDP协议头

(1)UDP端口号:UDP协议通过端口号来区分不同程序的程序所需要的数据包。长度为16bit。

(2)UDP检验和:这是可选的选项,并不是所有系统都对UDP数据包加以检验,但是

RFC中标准要求发送端应该计算检验和。

UDP检验和覆盖UDP协议头和数据,这和IP的检验和不一样,IP的检验和只覆盖IP数据头,并不覆盖所有数据。UDP和TCP都包含一个伪首部,这是为了计算检验和而设置的。伪首部还包括IP地址这样的IP协议里都有的信息。目的是让两次检查数据是否已经正确到达目的地。

(3).UDP长度:它的长度可以达到65535字节。但是一般的网络在传输的时候,一次一般传送不了那么长的协议,就只好对数据分片。

<3>.IP分片:IP从上层接到数据之后,要根据IP地址来判断从哪个接口发送数据,并进行MTU的查询,如果数据大小超过MTU就进行数据分片。数据的分片是对上下层透明的,而数据也只是达到目的地还会被重新组装。IP层提供了足够多的信息进行数据的再组装。

在IP头内,16bit识别号唯一记录了一个IP包的ID,具有同一个ID的IP片将会被重新组装,而13位片偏移则记录了某IP片相对于整个包的位置;而这两个表示中间3bit标志表示着该分片后边是否还有新的分片。这三个标示就组成了IP分片的所有信息,接收方就可以利用这些信息对IP数据重新组织。

但是,由于分片技术在网络上经常被使用,所以伪造IP分片包进行流氓攻击的软件也就多了起来,可以使用Trancdroute程序来进行简单的MTU侦测。

<3>.UDP和ARP之间的交互使用

当ARP缓存还是空的时候,UDP在被发送之前需要发送一个ARP请求来获得目的主机的MAC地址,如果这个UDP的数据包足够大,大到IP层一定要对其进行分片的时候,该UDP数据包的第一个分片会发送一个ARP查询请求,但是有些系统会让每一个分片都发送一个ARP查询,所有的片都在等待,但是接受到第一个回应的时候,,主机却发送了最后一个数据片而抛弃了其他的...,这样的数据不能被及时组装,接收主机将会在一段时间内无法组装的IP数据包抛弃,并发送组装超时的ICMP报文。以保证接收主机不会自己的接收端缓存不会被那些总也得不到组装的分片装满。

3.TCP协议

UDP协议的优点是比较简单,容易实现,但是它的可靠性比较差,一旦数据包发出了,无法知道对方是否收到。

为了解决这个问题,提高网络的可靠性,TCP协议就诞生了,它可被近似认为是一个有确认机制的UDP协议,每发出一个数据包都被要求确认。如果有一个数据包遗失,就收不到确认,发出方就知道有必要重新发送这个数据包了。TCP协议能够确保数据不会遗失,但是他的缺点就是过程复杂,实现困难,消耗较多的资源。

TCP数据包和UDP数据包都是内嵌在IP数据包的数据部分。TCP数据包没有长度限制,;理论上可以无限长。通常TCP数据包不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

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

    关注

    1

    文章

    101

    浏览量

    12709
  • 大数据
    +关注

    关注

    64

    文章

    9029

    浏览量

    143061
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为什么会有TCP/IP协议

    见了面,完全不能交流信息。因而他们需要定义一些共通的东西来进行交流,TCP/IP就是为此而生。TCP/IP不是一个协议,而是一个
    发表于 12-03 06:28

    EtherNet/IP转Modbus TCP网关,让设备对话更简单!

    的SCADA、仪表、传感器无缝通信?格电子全新推出的 EtherNet/IP转Modbus TCP协议网关 ,型号:SG-EIP-TCP-
    的头像 发表于 09-19 16:30 546次阅读
    EtherNet/<b class='flag-5'>IP</b>转Modbus <b class='flag-5'>TCP</b>网关,让设备对话更简单!

    rtthread网络接口设备 轻量级tcp/ip 堆栈 这两个冲突吗?

    需要使用 lwip 上图中 网络接口设备 需要使能么? 上图中 网络接口设备 是干嘛用的?是一个比lwip 功能弱的tcp/ip 协议么?
    发表于 09-18 06:16

    GraniStudio : TCP/IP(Socket)协议深度剖析

    在工业自动化与物联网领域,TCP/IP(Socket)协议作为应用最广泛的网络通信标准,是实现设备间数据交互的核心技术。GraniStudio 软件作为工业级零代码开发平台,其内置的 TCP
    的头像 发表于 08-03 22:20 896次阅读
    GraniStudio : <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b>(Socket)<b class='flag-5'>协议</b>深度剖析

    什么是Modbus TCP协议

    TCP/IP协议,通过以太网进行通信,并支持多个设备同时访问同一个Modbus TCP服务器。 一、
    的头像 发表于 07-23 17:18 3269次阅读
    什么是Modbus <b class='flag-5'>TCP</b><b class='flag-5'>协议</b>

    生物制药自动化升级:Modbus TCP与Ethernet/IP协议转换实践

    Ethernet/IP),直接通信存在障碍。为此通过稳联技术的Modbus TCP与Ethernet/IP网关,实现两种协议的无缝转换,确保数据实时交互和设备精准控制。 1、打开RSL
    的头像 发表于 06-17 18:34 413次阅读
    生物制药自动化升级:Modbus <b class='flag-5'>TCP</b>与Ethernet/<b class='flag-5'>IP</b><b class='flag-5'>协议</b>转换实践

    51+单片机TCP-IP+协议ZLIP源码

    概述 单片机上网技术,是当前的一个热门技术。单片机上网技术中的一个重要部分是在单片上实现 TCP/IP 协议。现在可获得的 TCP/
    发表于 04-22 15:11

    EtherNet/IP转Modbus TCP:新能源风电监控与分析实用案例

    的控制系统、变流器等采用 MODBUS TCP 协议的设备以及基于 EtherNet/IP 协议的远程监控系统和数据分析系统均已正常运行且网络连接正常。 二、
    的头像 发表于 02-17 15:54 691次阅读
    EtherNet/<b class='flag-5'>IP</b>转Modbus <b class='flag-5'>TCP</b>:新能源风电监控与分析实用案例

    EtherNet/IP转Modbus TCP实现菱变频器与制造执行系统连接通讯的配置案例

    的主轴电机。工厂的制造执行系统(MES)采用 MODBUS TCP 协议,需要获取变频器的运行数据和状态信息,以便进行生产调度和设备管理。 二、硬件设备 菱变频器: 支持标准的Eth
    的头像 发表于 02-11 10:26 1082次阅读
    EtherNet/<b class='flag-5'>IP</b>转Modbus <b class='flag-5'>TCP</b>实现<b class='flag-5'>三</b>菱变频器与制造执行系统连接通讯的配置案例

    EtherNet/IP转Modbus TCP在新能源风力发电场远程监控与数据分析的配置案例

    到风电场的局域网。确保风力发电机组的控制系统、变流器等采用 MODBUS TCP 协议的设备以及基于 EtherNet/IP 协议的远程监控系统和数据分析系统均已正常运行且网络连接正常
    的头像 发表于 02-10 15:54 613次阅读
    EtherNet/<b class='flag-5'>IP</b>转Modbus <b class='flag-5'>TCP</b>在新能源风力发电场远程监控与数据分析的配置案例

    EtherNet/IP-Modbus TCP转换秘籍:菱变频器牵手西门子PLC配置

    JM-TCP-EIPM 网关。 二、硬件设备 菱变频器: 支持标准的EtherNet/IP协议 西门子1200 PLC 捷米
    的头像 发表于 02-10 14:28 776次阅读
    EtherNet/<b class='flag-5'>IP</b>-Modbus <b class='flag-5'>TCP</b>转换秘籍:<b class='flag-5'>三</b>菱变频器牵手西门子PLC配置<b class='flag-5'>全</b>解

    TCP协议的性能测试与评估方法

    在现代网络通信中,TCP协议的性能对用户体验至关重要。性能测试与评估可以帮助我们了解TCP协议在不同网络条件下的表现,从而优化网络配置和提高服务质量。
    的头像 发表于 01-22 10:03 2208次阅读

    如何优化TCP协议的性能

    优化TCP协议的性能可以从多个方面入手,以下是一些关键的策略和方法: 一、调整TCP参数 TCP窗口大小 : 重要性 :TCP窗口大小是衡量
    的头像 发表于 01-22 09:52 1456次阅读

    TCP协议与UDP协议的区别

    1. 连接性 TCP(传输控制协议) : 面向连接 :在数据传输之前,TCP需要建立一个连接,这通过次握手过程完成。 可靠性 :一旦连接建立,TC
    的头像 发表于 01-22 09:44 1741次阅读

    TCP次握手协议的作用

    在计算机网络中,数据的传输需要在发送方和接收方之间建立一个稳定的连接,以确保数据的完整性和顺序。TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,它通过次握
    的头像 发表于 01-03 17:15 1438次阅读