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

    浏览量

    12501
  • 大数据
    +关注

    关注

    64

    文章

    8963

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    在工业自动化与物联网领域,TCP/IP(Socket)协议作为应用最广泛的网络通信标准,是实现设备间数据交互的核心技术。GraniStudio 软件作为工业级零代码开发平台,其内置的 TCP
    的头像 发表于 08-03 22:20 ?41次阅读
    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 ?417次阅读
    什么是Modbus <b class='flag-5'>TCP</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 ?449次阅读
    EtherNet/<b class='flag-5'>IP</b>转Modbus <b class='flag-5'>TCP</b>:新能源风电监控与分析实用案例

    什么是socket编程 socket与tcp/ip协议的关系

    基于TCP/IP协议族,这是一组用于网络通信的协议,包括传输控制协议TCP)和互联网
    的头像 发表于 11-01 16:01 ?1298次阅读

    芯驿电子 ALINX 推出全新 IP 核产品线,覆盖 TCP/UDP/NVMe AXI IP

    10GBe/40GBe UDP 协议 IP 核、10GbE TCP/IP 协议
    的头像 发表于 10-30 17:39 ?955次阅读
     芯驿电子 ALINX 推出全新 <b class='flag-5'>IP</b> 核产品线,覆盖 <b class='flag-5'>TCP</b>/UDP/NVMe AXI <b class='flag-5'>IP</b> 核

    Modbus RTU协议与Modbus TCP/IP协议的区别

    Modbus RTU和Modbus TCP/IP的本质都是Modbus协议,都是通过Modbus寄存器地址来交换数据的,那么它们之间有什么区别呢?今天我们从以下几个方面来探讨一下。
    的头像 发表于 10-18 17:44 ?2081次阅读

    TCP协议是什么

    在网络通信的广阔领域中,TCP(Transmission Control Protocol,传输控制协议)扮演着举足轻重的角色。作为TCP/IP协议
    的头像 发表于 10-09 13:54 ?1927次阅读

    EtherNet/IP主站转Modbus-TCP协议网关

    捷米特JM-EIPM-TCP网关实现连接EtherNet/IP设备和网络到Modbus TCP网络系统。该网关可实现双向数据交换,既允许现有的、低成本的EtherNet/IP设备集成到
    的头像 发表于 09-25 11:49 ?551次阅读
    EtherNet/<b class='flag-5'>IP</b>主站转Modbus-<b class='flag-5'>TCP</b><b class='flag-5'>协议</b>网关

    EtherNet/IP转Modbus-TCP协议转换网关

    在工业自动化领域中,EtherNet/IP转Modbus-TCP这两种网络协议的互通互联非常重要。有一款优秀的设备——远创智控YC-EIP-TCP,能够出色地解决这一难题。此设备性能优
    的头像 发表于 09-06 16:54 ?606次阅读
    EtherNet/<b class='flag-5'>IP</b>转Modbus-<b class='flag-5'>TCP</b><b class='flag-5'>协议</b>转换网关

    EtherNet/IP转Modbus-TCP协议网关(EtherNet/IP转Modbus-TCP

    /IP转Modbus TCP从站协议网关,可以实现对这些设备的集中管理和控制。 二,典型应用拓扑图 ,设备技术参数 捷米特JM-EIP-TCP
    的头像 发表于 09-04 11:09 ?939次阅读
    EtherNet/<b class='flag-5'>IP</b>转Modbus-<b class='flag-5'>TCP</b><b class='flag-5'>协议</b>网关(EtherNet/<b class='flag-5'>IP</b>转Modbus-<b class='flag-5'>TCP</b>)

    EtherNet/IP转Modbus-TCP协议网关(JM-EIP-TCP

    转Modbus TCP从站协议网关,可以实现对这些设备的集中管理和控制。 二,典型应用拓扑图 ,设备技术参数 捷米特JM-EIP-TCP设备在Eth
    的头像 发表于 08-26 14:39 ?632次阅读
    EtherNet/<b class='flag-5'>IP</b>转Modbus-<b class='flag-5'>TCP</b><b class='flag-5'>协议</b>网关(JM-EIP-<b class='flag-5'>TCP</b>)

    串口服务器和TCP/IP协议是什么关系

    串口服务器与TCP/IP协议之间存在着紧密而复杂的关系。这种关系主要体现在串口服务器如何利用TCP/I
    的头像 发表于 08-25 17:35 ?2178次阅读

    简述TCP协议次握手机制

    TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它主要用于在IP网络中进行数据传输。
    的头像 发表于 08-16 10:57 ?2232次阅读

    一文了解TCP/IP协议

    TCP/IP协议是现代计算机网络通信的基础,是互联网及局域网广泛使用的一套协议TCP/IP
    的头像 发表于 08-07 15:38 ?3665次阅读
    一文了解<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>协议</b>