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

    文章

    91

    浏览量

    12070
  • 大数据
    +关注

    关注

    64

    文章

    8883

    浏览量

    137407
收藏 人收藏

    评论

    相关推荐

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

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

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

    10GBe/40GBe UDP 协议 IP 核、10GbE TCP/IP 协议
    的头像 发表于 10-30 17:39 293次阅读
     芯驿电子 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 562次阅读

    TCP协议是什么

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

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

    /IP转Modbus TCP从站协议网关,可以实现对这些设备的集中管理和控制。 二,典型应用拓扑图 ,设备威廉希尔官方网站 参数 捷米特JM-EIP-TCP
    的头像 发表于 09-04 11:09 392次阅读
    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>)

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

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

    一文了解TCP/IP协议

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

    华纳云:TCP IP协议的发展和优势

    TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网协议)是互联网和现代计算机网络的基础
    的头像 发表于 07-25 16:49 490次阅读

    TCP IP协议属性设置中的IP配置

    在现代网络中,TCP/IP协议是基础架构的重要组成部分。掌握TCP/IP协议属性设置中的
    的头像 发表于 07-23 10:10 493次阅读

    TCP/IP协议的设计与实现_中文

    电子发烧友网站提供《TCP/IP协议的设计与实现_中文.pdf》资料免费下载
    发表于 07-03 11:28 4次下载

    LwIP协议源码详解—TCP/IP协议的实现

    电子发烧友网站提供《LwIP协议源码详解—TCP/IP协议的实现.pdf》资料免费下载
    发表于 07-03 11:22 3次下载

    从表象到本质:深入探究TCP/IP协议

    在信息威廉希尔官方网站 飞速发展的今天,网络已成为人类社会不可或缺的部分。实现网络中计算机相互通信的关键之一便是TCP/IP协议。作为互联网的基础,TCP/IP
    的头像 发表于 06-15 09:12 516次阅读
    从表象到本质:深入探究<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>协议</b>

    Microchip TCP/IP 协议应用笔记

    电子发烧友网站提供《Microchip TCP/IP 协议应用笔记.pdf》资料免费下载
    发表于 04-17 14:16 1次下载

    ethernetif_input和tcpip协议线程的作用

    tcpip协议线程是lwIP协议的核心线程,负责处理TCP/IP
    的头像 发表于 03-20 10:01 1319次阅读

    TCP/IP协议数据的处理流程

    TCP/IP协议的设计目标是提供一种通用、灵活且可扩展的协议体系,使得不同种类的设备和系统能够互相通信,实现互联网的互联互通。
    发表于 02-03 16:30 1594次阅读
    <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>协议</b>数据的处理流程