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

    文章

    83

    浏览量

    12002
  • 大数据
    +关注

    关注

    64

    文章

    8631

    浏览量

    136568
收藏 人收藏

    评论

    相关推荐

    Microchip TCP/IP 协议栈应用笔记

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

    tcp/ip协议包含哪几层?tcp和udp有什么区别?

    tcp/ip协议包含哪几层?tcp和udp有什么区别? TCP/IP
    的头像 发表于 11-29 17:40 550次阅读

    TCP/IP协议和OPC协议的区别

    随着计算机网络技术的飞速发展,网络通信已经成为现代工业自动化控制系统中不可或缺的一部分。在众多的网络通信协议中,传输控制协议TCP)和网际协议I
    的头像 发表于 10-20 17:34 1690次阅读

    TCP/IP协议是什么?TCP/IP参考模型的结构是怎样的?

    TCP/IP协议组在OSI模型之前流行。最初的TCP/IP有四层,显然与OSI模型的层不匹配。当OSI模型被引入时,人们相信它将在商业上压倒
    的头像 发表于 08-11 15:26 1407次阅读
    <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>协议</b>是什么?<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b>参考模型的结构是怎样的?

    TCP/IP协议不止是两个协议

    TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的
    的头像 发表于 07-31 23:07 772次阅读
    <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>协议</b>不止是两个<b class='flag-5'>协议</b>

    TCP/IP协议进阶课程:5、UDP协议

    电子发烧友网站提供《TCP/IP协议进阶课程:5、UDP协议.pdf》资料免费下载
    发表于 07-31 11:48 0次下载
    <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>协议</b>进阶课程:5、UDP<b class='flag-5'>协议</b>

    TCP/IP协议进阶课程:6、TCP协议

    电子发烧友网站提供《TCP/IP协议进阶课程:6、TCP协议.pdf》资料免费下载
    发表于 07-31 11:47 1次下载
    <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>协议</b>进阶课程:6、<b class='flag-5'>TCP</b><b class='flag-5'>协议</b>

    初级课程-tcp ip协议

    电子发烧友网站提供《初级课程-tcp ip协议.pdf》资料免费下载
    发表于 07-31 11:04 0次下载
    初级课程-<b class='flag-5'>tcp</b> <b class='flag-5'>ip</b><b class='flag-5'>协议</b>

    TCP/IP协议模型的五层处理流程简介

    TCP/IP是一种分层模型,它将通信协议分解为五个层次,每个层次都有特定的功能和任务。以下是TCP/IP五层的处理流程:
    的头像 发表于 07-21 16:31 1035次阅读

    TCP/IP协议包括哪些协议 一文详解TCP/IP协议

    TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的
    发表于 07-21 09:56 6430次阅读
    <b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>协议</b>包括哪些<b class='flag-5'>协议</b> 一文详解<b class='flag-5'>TCP</b>/<b class='flag-5'>IP</b><b class='flag-5'>协议</b>

    TCPIP协议详解

    此文档详细讲述了TCP-IP协议内容,有想了解的可以看看,丰富自己的知识。
    发表于 07-13 14:25 2次下载

    网络通信OSI协议TCP/IP协议

    TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的
    发表于 05-06 17:06 1766次阅读

    TCP/IP协议的特点

    可靠性和性能: TCP/IP协议的传输层TCP协议,提供了高可靠的数据传输服务,保证数据的完整性和顺序性,并且具有流量控制和拥塞控制等机制。
    发表于 05-06 15:15 7415次阅读

    TCP/IP协议的组成

    TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议
    发表于 05-06 15:05 1768次阅读

    什么是TCP/IP协议

    TCP/IP是Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/网际互联协议,又名网络通讯
    发表于 05-06 15:01 2481次阅读