精华内容
下载资源
问答
  • WIZnet,是全球第一家专注于全硬件TCP/IP协议栈技术(iOffloadTM Tech)的半导体公司,精心为用户提供高速稳定的以太网解决方案,广泛应用在工业自动化、智能电网、安防门禁、金融机具等众多领域。该方案有效地卸载...
  • WIZnet,是全球第一家专注于全硬件TCP/IP协议栈技术(iOffloadTM Tech)的半导体公司,精心为用户提供高速稳定的以太网解决方案,广泛应用在工业自动化、智能电网、安防门禁、金融机具等众多领域。该方案有效地卸载...
    

    WIZnet,是全球第一家专注于全硬件TCP/IP协议栈技术(iOffloadTM Tech)的半导体公司,精心为用户提供高速稳定的以太网解决方案,广泛应用在工业自动化、智能电网、安防门禁、金融机具等众多领域。该方案有效地卸载了主控芯片对于TCP/IP处理的负载,非常适应于物联网行业高速稳定,简单易用,移植性强的要求。

    WIZnet以太网核心技术,说到底就是:全硬件TCP/IP协议栈。今天就给大家剖析一下核心技术。

    首先,来说一下TCP/IP协议中的四大层:应用层(Application);传输层(Transport);网络层(IP);网络接口层。其中,应用层中支持FTP、HTTP、SMTP、DNS等应用协议,对应到传输层中TCP及UDP不同的传输方式,在网络层中,提供ICMP、IP、IGMP、ARP和RARP等网络协议。如上协议就构成了网络通信中丰富的通信方式及功能。WIZnet以太网芯片中,在网络接口上仅提供以太网接口。

    以太网技术4

    下面我们看一下WIZnet以太网芯片的结构:(全硬件协议栈)将TCP/IP协议中的传输层和网络层集成到了一颗以太网芯片中(WIZnet以太网芯片中大部分集成了MAC和PHY),实现了一片解决联网,真正实现了TCP/IP卸载引擎技术(ToE),为单片机减负,缩短了开发周期。

    以太网技术3

     

    好,那我们看一下全硬件TCP/IP的优势都体现在哪里?

    首先,我们和市场上常见的以太网方案(用软件协议栈实现)对比一下:

    以太网技术1

    下面是WIZnet以太网方案(全硬件协议栈):

    以太网技术2

    从方案结构图就可以看出,TCP/IP+MAC+PHY的集成为开发者省去了繁琐的软件协议栈移植,缩短了开发的周期,同时卸载了MCU的负载,稳定程度也可见一斑,下图就是相关测试性能对比:

    以太网技术5

    图中,我们可以清楚看到,同款ARM9 MCU上,软件协议栈和硬件协议栈网络芯片,体现出来的巨大的性能差异,全硬件TCP/IP协议栈卸载MCU 63%的负载,TCP/IP传输速率提高一倍之多。

    所以,穹顶之下,数据之上的剖析,才为每一个开发者带来福音。

     

    感谢阅读!

    WIZnet官方网站:http://www.iwiznet.cn

    WIZnet官方微博:http://weibo.com/wiznet2012

    关注WIZnet微信公众号:

    WIZnet微信二维码

    展开全文
  • 为了解决工业远程控制设备的软件更新带来的成本和效率问题,在研究了以TMS320C6670为核心的DSP系统的结构和程序启动的基础上,提出了基于以太网的DSP程序远程加载方法。该方法主要基于BOOTP协议的广播和以太网UDP...
  • 以太网完整协议(二)

    千次阅读 2017-05-05 14:14:51
    IP是整个TCP/IP协议核心,传输层协议,如UDP和TCP都需要IP提供服务,而像ICMP和IGMP等网络层协议也是基于IP来传送协议数据。常见的广域网络路由器就工作在IP层,它们负责将IP数据报从源主机发送至目的主机,主机间...

    三、网际协议(IP)

    IP是整个TCP/IP协议的核心,传输层协议,如UDP和TCP都需要IP提供服务,而像ICMP和IGMP等网络层协议也是基于IP来传送协议数据。常见的广域网络路由器就工作在IP层,它们负责将IP数据报从源主机发送至目的主机,主机间的区分是通过IP地址来实现的。主机上的IP协议需要完成的工作很多,最基本的是数据报发送和递交,在特殊情况下它还要完成数据报的分片和重装的功能,在更特殊的情况下,它还要完成数据报的转发等工作。

    展开全文
  • 10G以太网核心技术【转】

    千次阅读 2016-05-07 14:50:49
    在国际标准组织开放式系统互联(OSI)参考模型下,以太网是第二层协议。10G以太网使用IEEE(电气与电子工程师学会)802.3以太网介质访问控制协议(MAC)、IEEE802.3以太网帧格式以及IEEE802.3最小和最大帧长度。正如...
     
      在国际标准组织开放式系统互联(OSI)参考模型下,以太网是第二层协议。10G以太网使用IEEE(电气与电子工程师学会)802.3以太网介质访问控制协议(MAC)、IEEE802.3以太网帧格式以及IEEE802.3最小和最大帧长度。正如1000Base-X和1000Base-T(吉比以太网)都属于以太网一样,10G以太网是以太网技术发展中的一个阶段。因为它只适用于全双工模式,且只能使用光纤,所以它不需要带有冲突检测的载波侦听多路访问协议(CS-MA/CD)。除此之外,10G以太网与原来的以太网模型完全相同。
      在以太网中,PHY表示以太网的物理层设备,它对应于OSI模型的第一层。PHY通过连接介质(光纤或铜线)与MAC相连,而MAC层对应的是OSI模型中的第二层。在以太网的体系结构中,PHY(第一层)进一步划分为物理介质子层(PMD)、物理介质附加子层(PMA)和物理编码子层(PCS)。例如,光纤收发机属于PMD,PMA使物理介质与编码相匹配PCS由编码器和一个并串转换器或复用功能组成。802.3a规范定义了局域网PHY和广域网PHY两种PHY类型。广域网PHY是在局域网PHY功能的基础上增加了一个扩展特性集。
      1.芯片接口(XAUI)
      在10G以太网特别工作组的诸多创新中,有一个被称作XAUI的接口。其中的"AUI"部分指的是以太网连接单元接口(Ethernet Atachment Unit Interface)。"X"代表罗马数字10,它意味着每秒10G。XAUI被设计成一个接口扩展器,它扩展的接口就是XGMII(与介质无关的10G接口)。XGMII是一个74位信号宽带接口(发送与接收用的数据路径各占32位),可用于把以太网MAC层与PHY层相连。在大多数典型的以太网MAC和PHY相连的芯片对芯片的应用中,XAUI可用来代替或者扩展XGMII。
      XAUI是一个从1000Base-X10G以太网的物理层直接发展而来的低针数、自发时钟串行总线。XAUI接口的速度为1000Base-X的2.5倍。通过调整4根串行线,这种4bit的XAUI接口可以支持10G以太网10倍于吉比以太网的数据吞吐量。XAUI使用与1000Base-X同样的8B/10B传输编码,并通过印刷电路板上的铜线等常用介质提供高质量的完整数据。XAUI还包括其他一些优势:由于采用自发时钟,所以产生的电磁干扰EMI)极小,具有强大的多位总线变形补偿能力;可实现更远距离的芯片对芯片的传输;具备较强的错误检测和故障隔离功能;功耗低,能够将XAUI输入/输出集成到CMOS中等。
      XAUI的具体应用目标包括:从MAC到物理层芯片之间的互联,以及从MAC到光纤收发器模块之间的直接连接。XAUI是标准草案建议中10G可插式光纤模块(XGP)的接口。将XAUI解决方案与XGP集成为一体后,10G以太网的多个端口便可以实现MAC与光纤模块之间的互联。这种连接方式成本低、效率高,而且只需要通过印刷线路的铜导线便可实现MAC与光纤模块之间的连接。
      2.相关物理介质子层(PMD)
      IEEE802.3ae特别工作组已经提出了一个标准草案,它所提供的物理层可以支持光纤传输介质。
      为了达到特定的距离,特别工作组共选择了4个PMD。其中,特别工作组选择了1310nm串联PMD来实现2km和10km单模式光纤(SMF)的连接;选择1550纳米的串联方案来实现(或者超越)40KM的SMF目标。对40km PMD的支持说明,吉比以太网已经能够成功地应用在城域网和局域网的远距离通信中。特别工作组还选用串行850nm收发器,在多模光纤上使用850nm的PMD实现65m的传输目标。
      另外,特别工作组选择了两种宽波分复用(WWDM)的PMD,其中一种是1310nm的单模光纤,用于10km范围的应用;另一种1310nm PMD用在已安装的多模光纤上实现300m的传输目标。
      3.物理介质附加子层(PMA)
      PMA提供连续不断的数据传输。PMA支持各种可靠的编码方案,每个PMD都可用一个编码来支持并且与特殊介质适配。
      4.物理编码子层(PCS)
      PCS提供信息包描绘和局域网物理层扰码。在特别工作组考虑中有多种建议,如吉比以太网用8B/10B编码和采用ANSI标准光纤通道。
      5.介质访问控制子层(MAC)
      MAC子层是以太网标准的最高层定义,为了维护兼容现有的局域网技术,必须符合存在的以太网标准。在IEEE802.3标准工作范围内定义MAC参数,必要的话,对MAC子层可现有一些很小的改动,使10G以太网帧结构在LLC(逻辑链路控制层)实现全双工工作方式。
      6.物理层(PHY)
      局域网物理层和广域网物理层将在共同的PMD上工作,因此,它们支持的距离也相同。这些物理层的唯一共别在于物理编码子层(PCS)各有不同。10G局域网物理层的用途是以10倍的带宽来支持现有的吉比以太网应用,这也是目前性价比最高的解决方案。随着时间的推移,预计LAN PHY将被用于纯光纤交换网络环境中,并且可以扩展到广域网的范围。然而,为了能与现有的广域网兼容,10G以太网WAN PHY将会支持现有的和未来将要安装的SONET/SDH(同步光纤网络/同步数字层)电路交换话音接入设备
      广域网物理层(WAN PHY)与局域网物理层(LAN PHY)的区别在于广域网接口子层(WIS)包含一个简化的SONET/SDH帧编制器。因为SONET OC192/SDH STM-64的运行速率只有10G以太网的百分之几,所以要想实施一个能够与局域网物理层以10Gbit/s和谐工作的MAC也较为简单。同样,也可以以较为简单的方式实施能够与广域网特刊层配合工作的MAC,其有效速率大约为9.29Gbit/s。
    展开全文
  • TCP 是互联网核心协议之一

    千次阅读 2017-11-07 20:05:53
    TCP 是互联网核心协议之一 一、TCP 协议的作用 互联网由一整套协议构成。TCP 只是其中的一层,有着自己的分工。 (图片说明:TCP 是以太网协议和 IP 协议的上层协议,也是应用层协议的下层协议。) 最底层的...

    TCP 是互联网核心协议之一


    一、TCP 协议的作用

    互联网由一整套协议构成。TCP 只是其中的一层,有着自己的分工。

    这里写图片描述

    (图片说明:TCP 是以太网协议和 IP 协议的上层协议,也是应用层协议的下层协议。)

    最底层的以太网协议(Ethernet)规定了电子信号如何组成数据包(packet),解决了子网内部的点对点通信。

    这里写图片描述

    (图片说明:以太网协议解决了局域网的点对点通信。)

    但是,以太网协议不能解决多个局域网如何互通,这由 IP 协议解决。

    这里写图片描述

    (图片说明:IP 协议可以连接多个局域网。)

    IP 协议定义了一套自己的地址规则,称为 IP 地址。它实现了路由功能,允许某个局域网的 A 主机,向另一个局域网的 B 主机发送消息。

    这里写图片描述

    (图片说明:路由器就是基于 IP 协议。局域网之间要靠路由器连接。)

    路由的原理很简单。市场上所有的路由器,背后都有很多网口,要接入多根网线。路由器内部有一张路由表,规定了 A 段 IP 地址走出口一,B 段地址走出口二,……通过这套”指路牌”,实现了数据包的转发。

    这里写图片描述

    图片说明:本机的路由表注明了不同 IP 目的地的数据包,要发送到哪一个网口(interface)。)

    IP 协议只是一个地址协议,并不保证数据包的完整。如果路由器丢包(比如缓存满了,新进来的数据包就会丢失),就需要发现丢了哪一个包,以及如何重新发送这个包。这就要依靠 TCP 协议。

    简单说,TCP 协议的作用是,保证数据通信的完整性和可靠性,防止丢包。

    二、TCP 数据包的大小

    以太网数据包(packet)的大小是固定的,最初是1518字节,后来增加到1522字节。其中, 1500 字节是负载(payload),22字节是头信息(head)。

    IP 数据包在以太网数据包的负载里面,它也有自己的头信息,最少需要20字节,所以 IP 数据包的负载最多为1480字节。

    这里写图片描述

    (图片说明:IP 数据包在以太网数据包里面,TCP 数据包在 IP 数据包里面。)

    TCP 数据包在 IP 数据包的负载里面。它的头信息最少也需要20字节,因此 TCP 数据包的最大负载是 1480 - 20 = 1460 字节。由于 IP 和 TCP 协议往往有额外的头信息,所以 TCP 负载实际为1400字节左右。

    因此,一条1500字节的信息需要两个 TCP 数据包。HTTP/2 协议的一大改进, 就是压缩 HTTP 协议的头信息,使得一个 HTTP 请求可以放在一个 TCP 数据包里面,而不是分成多个,这样就提高了速度。

    这里写图片描述

    (图片说明:以太网数据包的负载是1500字节,TCP 数据包的负载在1400字节左右。)

    三、TCP 数据包的编号(SEQ)

    一个包1400字节,那么一次性发送大量数据,就必须分成多个包。比如,一个 10MB 的文件,需要发送7100多个包。

    发送的时候,TCP 协议为每个包编号(sequence number,简称 SEQ),以便接收的一方按照顺序还原。万一发生丢包,也可以知道丢失的是哪一个包。

    第一个包的编号是一个随机数。为了便于理解,这里就把它称为1号包。假定这个包的负载长度是100字节,那么可以推算出下一个包的编号应该是101。这就是说,每个数据包都可以得到两个编号:自身的编号,以及下一个包的编号。接收方由此知道,应该按照什么顺序将它们还原成原始文件。

    这里写图片描述

    (图片说明:当前包的编号是45943,下一个数据包的编号是46183,由此可知,这个包的负载是240字节。)

    四、TCP 数据包的组装

    收到 TCP 数据包以后,组装还原是操作系统完成的。应用程序不会直接处理 TCP 数据包。

    对于应用程序来说,不用关心数据通信的细节。除非线路异常,收到的总是完整的数据。应用程序需要的数据放在 TCP 数据包里面,有自己的格式(比如 HTTP 协议)。

    TCP 并没有提供任何机制,表示原始文件的大小,这由应用层的协议来规定。比如,HTTP 协议就有一个头信息Content-Length,表示信息体的大小。对于操作系统来说,就是持续地接收 TCP 数据包,将它们按照顺序组装好,一个包都不少。

    操作系统不会去处理 TCP 数据包里面的数据。一旦组装好 TCP 数据包,就把它们转交给应用程序。TCP 数据包里面有一个端口(port)参数,就是用来指定转交给监听该端口的应用程序。

    这里写图片描述

    (图片说明:系统根据 TCP 数据包里面的端口,将组装好的数据转交给相应的应用程序。上图中,21端口是 FTP 服务器,25端口是 SMTP 服务,80端口是 Web 服务器。)

    应用程序收到组装好的原始数据,以浏览器为例,就会根据 HTTP 协议的Content-Length字段正确读出一段段的数据。这也意味着,一次 TCP 通信可以包括多个 HTTP 通信。

    五、慢启动和 ACK

    服务器发送数据包,当然越快越好,最好一次性全发出去。但是,发得太快,就有可能丢包。带宽小、路由器过热、缓存溢出等许多因素都会导致丢包。线路不好的话,发得越快,丢得越多。

    最理想的状态是,在线路允许的情况下,达到最高速率。但是我们怎么知道,对方线路的理想速率是多少呢?答案就是慢慢试。

    TCP 协议为了做到效率与可靠性的统一,设计了一个慢启动(slow start)机制。开始的时候,发送得较慢,然后根据丢包的情况,调整速率:如果不丢包,就加快发送速度;如果丢包,就降低发送速度。

    Linux 内核里面设定了(常量TCP_INIT_CWND),刚开始通信的时候,发送方一次性发送10个数据包,即”发送窗口”的大小为10。然后停下来,等待接收方的确认,再继续发送。

    默认情况下,接收方每收到两个 TCP 数据包,就要发送一个确认消息。”确认”的英语是 acknowledgement,所以这个确认消息就简称 ACK。

    ACK 携带两个信息。

    期待要收到下一个数据包的编号
    
    接收方的接收窗口的剩余容量
    • 1
    • 2
    • 3

    发送方有了这两个信息,再加上自己已经发出的数据包的最新编号,就会推测出接收方大概的接收速度,从而降低或增加发送速率。这被称为”发送窗口”,这个窗口的大小是可变的。

    这里写图片描述

    (图片说明:每个 ACK 都带有下一个数据包的编号,以及接收窗口的剩余容量。双方都会发送 ACK。)

    注意,由于 TCP 通信是双向的,所以双方都需要发送 ACK。两方的窗口大小,很可能是不一样的。而且 ACK 只是很简单的几个字段,通常与数据合并在一个数据包里面发送。

    这里写图片描述

    图片说明:上图一共4次通信。第一次通信,A 主机发给B 主机的数据包编号是1,长度是100字节,因此第二次通信 B 主机的 ACK 编号是 1 + 100 = 101,第三次通信 A 主机的数据包编号也是 101。同理,第二次通信 B 主机发给 A 主机的数据包编号是1,长度是200字节,因此第三次通信 A 主机的 ACK 是201,第四次通信 B 主机的数据包编号也是201。)

    即使对于带宽很大、线路很好的连接,TCP 也总是从10个数据包开始慢慢试,过了一段时间以后,才达到最高的传输速率。这就是 TCP 的慢启动。

    六、数据包的遗失处理

    TCP 协议可以保证数据通信的完整性,这是怎么做到的?

    前面说过,每一个数据包都带有下一个数据包的编号。如果下一个数据包没有收到,那么 ACK 的编号就不会发生变化。

    举例来说,现在收到了4号包,但是没有收到5号包。ACK 就会记录,期待收到5号包。过了一段时间,5号包收到了,那么下一轮 ACK 会更新编号。如果5号包还是没收到,但是收到了6号包或7号包,那么 ACK 里面的编号不会变化,总是显示5号包。这会导致大量重复内容的 ACK。

    如果发送方发现收到三个连续的重复 ACK,或者超时了还没有收到任何 ACK,就会确认丢包,即5号包遗失了,从而再次发送这个包。通过这种机制,TCP 保证了不会有数据包丢失。

    这里写图片描述

    (图片说明:Host B 没有收到100号数据包,会连续发出相同的 ACK,触发 Host A 重发100号数据包。)


    展开全文
  • 以太网的CSMA/CD协议

    千次阅读 2018-10-19 09:30:49
    Ethernet的核心的技术就是载波侦听访问协议(carrier sense Multiple access with collision detection,CSMA/CD) CSMA/CD协议 基本原理:站在发送数据之前,先侦听信道上是否有其他站发送的载波信号,若有,说明...
  • 以太网接口TCP/IP协议介绍

    千次阅读 2016-12-30 16:40:04
    本文来自CSDN博客,转载请... 时间回放到1983年1月1日,在这天,互联网的前身Arpanet中,TCP/IP协议取代了旧的网络核心协议NCP(Network Core Protocol),从而成为今天的互联网的基石。最早的的TCP/IP由Vinton Cerf和R
  • STM32上移植MQTT协议使用W5500以太网芯片连接阿里云前言正题核心代码结论 前言 有机会做这次项目很开心,学到了很多东西,但刚开始的时候是真的从零开始,网上找的资料都大相径庭,很多代码都有问题,而且把别人做的...
  • 1概述英特尔®以太网 800系列是新一代英特尔®以太网控制器和网络适配器,采用增强的可编程报文处理引擎,可实现更深入、更多样化的报文协议头处理。这种片上功能称为动态设备个性化(DDP...
  • IP是TCP/IP协议中最核心协议,所有的TCP,UDP,ICMP,IGMP数据都是以IP数据报的格式传输的。如果发生错误,IP会丢失该数据,然后发送ICMP信息给信源端。IP数据报可以不按发送顺序接收。 IP数据报格式 IP数据报...
  • 1.以太网口的发展前景以太网是现有局域网中最通用的通讯协议标准,同时随着人们对网络数据流量速度的不断追求,为快速以太网标准的形成提供了方向,同时更快的前兆以太网技术也相继形成,并为用户带来了提高核心网络...
  • 目录 一、TCP/IP概述 ...TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。从字面意义上讲,有人可能会认为 T
  • 五分钟读懂TCP 协议——TCP协议简介

    万次阅读 多人点赞 2017-06-11 23:48:03
    TCP 是互联网核心协议之一,本文介绍它的基础知识。一、TCP 协议的作用互联网由一整套协议构成。TCP 只是其中的一层,有着自己的分工。(图片说明:TCP 是以太网协议和 IP 协议的上层协议,也是应用层协议的下层协议...
  • 继WIZnet公司推出W7100, W7100A之后, 2012年WIZnet再接再厉发布了新的ARM 32位的Cortex M3芯片(STM32)+ 全硬件TCP/IP协议...iMCU W7200单片式以太网控制芯片,它集成了Cortex-M3,20KB SRAM和全硬件TCP / IP核心(W5200
  • TCP协议

    2018-07-01 16:45:37
    TCP 是互联网核心协议之一,本文介绍它的基础知识。一、TCP 协议的作用互联网由一整套协议构成。TCP 只是其中的一层,有着自己的分工。(图片说明:TCP 是以太网协议和 IP 协议的上层协议,也是应用层协议的下层协议...
  • 以太网基础知识

    2015-04-16 16:06:00
    以太网以太网是当今现有局域网采用的最通用的通信协议标准。...以太网的拓扑结构有总线型、星型(以集线器和交换机为核心),星型网络管理方便、容易扩展、需要专用的网络设备作为网络的核心节点、需要更多的网线...
  • ZLSN3103基于ZLSN2003核心模块设计,具有功能强大,支持网口升级程序等优点。ZLSN3103可以方便地使得串口设备连接到以太网和Internet,实现串口设备的网络化升级。 ZLSN3103是一款高性价比的联网模块,RS422接口...
  • 为了解决工业远程控制设备的软件更新带来的成本和效率问题,在研究了以TMS320C6670为核心的DSP系统的结构和程序启动的基础上,提出了基于以太网的DSP程序远程加载方法。该方法主要基于BOOTP协议的广播和以太网UDP...
  • TCP 协议简介

    2019-03-30 20:58:32
    TCP 是互联网核心协议之一,本文介绍它的基础知识。 一、TCP 协议的作用 互联网由一整套协议构成。TCP 只是其中的一层,有着自己的分工。 (图片说明:TCP 是以太网协议和 IP 协议的上层协议,也是应用层协议...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 425
精华内容 170
关键字:

以太网核心协议