TRX钱包下载|ethernetip与tcp ip区别

作者: TRX钱包下载
2024-03-14 20:05:42

EthernetIP与TCP/IP的区别 - 技象科技

EthernetIP与TCP/IP的区别 - 技象科技

跳至内容

技象科技有限公司官方网站

技象天猫旗舰店技象天猫旗舰店

技象京东旗舰店技象京东旗舰店

IoT演示平台IoT演示平台

首页

解决方案

菜单切换

TPUNB®

城域物联网

菜单切换

智慧农业

环境监测

智慧停车

局域物联网

菜单切换

智慧楼宇

智慧养老

智慧照明

智慧能源

工业智控物联网

菜单切换

动环监控

终端自组网

菜单切换

自组网

产品终端

菜单切换

芯片产品

模组产品

网关产品

应用产品

云平台

关于我们

菜单切换

荣誉资质

合作伙伴

公司一览

招聘岗位

新闻资讯

菜单切换

公司新闻

下载专区

联系我们

首页

TPUNB®

物联网解决方案

菜单切换

城域物联网

局域物联网

工业智控物联网

终端自组网

物联网产品终端

菜单切换

芯片产品

模组产品

网关产品

物联网云平台

关于我们

菜单切换

荣誉资质

合作伙伴

公司新闻

联系我们

Main Menu

首页

TPUNB®

物联网解决方案

菜单切换

城域物联网

局域物联网

工业智控物联网

终端自组网

物联网产品终端

菜单切换

芯片产品

模组产品

网关产品

物联网云平台

关于我们

菜单切换

荣誉资质

合作伙伴

公司新闻

联系我们

技象科技首页 / 行业百科 / EthernetIP与TCP/IP的区别

EthernetIP与TCP/IP的区别作者:

技象物联网

/ 行业百科 / TCP协议 / 2023年9月30日 14:49:00 2023年9月30日 14:49:20

  EthernetIP和TCP/IP是两种不同的网络协议,它们在以太网网络中起着不同的作用。本文将探讨它们之间的差异,以便读者能够更好地了解它们。

EthernetIP

  EthernetIP(也称为Industrial Ethernet)是一种基于以太网的工业网络协议,它可以提供可靠性和实时性,可以应用于工业控制系统中。它由一组网络设备,如路由器,交换机,集线器和网络接口卡组成,可以提供高带宽,低延迟,高可靠性和实时性。

  EthernetIP的优势

  EthernetIP的优势在于它可以提供更高的数据传输速率,更低的延迟,更强的可靠性和实时性。它还可以通过更高的安全性和可靠性来保护数据,并且可以支持多种网络协议,如TCP/IP,UDP,HTTP等。

  EthernetIP的缺点

  EthernetIP的缺点在于它的成本比TCP/IP要高,因为它需要更多的网络设备来支持其功能。此外,它还需要一定的经验来配置和管理网络,因此可能不适合新手使用。

TCP/IP

  TCP/IP(传输控制协议/Internet协议)是一种常用的网络协议,它由一组计算机协议组成,可以在计算机网络中传输数据。它可以应用于各种网络,比如局域网,广域网等。

  TCP/IP的优势

  TCP/IP的优势在于它可以在不同的网络之间传输数据,并且可以支持多种协议,如HTTP,FTP,SMTP等。此外,它还可以提供更高的安全性和可靠性,以保护数据的完整性。

  TCP/IP的缺点

  TCP/IP的缺点在于它的数据传输速率较低,延迟较高,可靠性和实时性较差,因此不适合实时应用。此外,它也需要一定的经验来配置和管理网络,因此可能不适合新手使用。

总结

  EthernetIP和TCP/IP是两种不同的网络协议,它们在以太网网络中起着不同的作用。EthernetIP可以提供更高的数据传输速率,更低的延迟,更强的可靠性和实时性,但成本比TCP/IP要高。而TCP/IP可以在不同的网络之间传输数据,并可以支持多种协议,但数据传输速率较低,延迟较高,可靠性和实时性较差。因此,在选择网络协议时,应根据实际需求进行选择。

相关阅读:

Modbus TCP与TCP/IP的区别?

CAN和TCP/IP的区别

Modbus TCP与TCP/IP的区别

TCP/IP模型:网络交互的四层模型

原创声明:文章来自技象科技,如欲转载,请注明本文链接: https://www.techphant.cn/blog/44441.html

文章导航

← 前一篇文章后一篇文章 →

相关推荐

10月 2 2023

使用cmd接收tcp数据

11月 1 2023

Peofinet和TCP:区别和比较

10月 2 2023

Roboguide远程TCP设置

11月 4 2023

TCP快速重定向:简单、快捷的重定向方式

11月 4 2023

Codesys TCP:简介与应用

1月 12 2024

探索传输控制协议TCP

联系我们

广州技象科技有限公司聚焦物联网底层关键技术,打造100%自主知识产权的TPUNB物联专网,形成完备的物联感知系统参与各垂直行业的整体解决方案及项目建设。

品牌京东旗舰店

品牌天猫旗舰店

公司招聘岗位

免费技术咨询

站内资讯

喜欢组织和处理数据的艺术

2024年1月14日 20:31:52

物联网水泵远程控制系统原理

2023年7月1日 11:17:03

什么是Modbus串行协议?

2023年10月4日 07:43:05

智能电表到底准不准?

2023年10月11日 12:39:35

智慧畜牧是如何实现产品追溯的?

2023年6月11日 14:36:42

USB转232芯片:使用指南

2023年9月28日 16:31:49

处理UART通信中的小数

2023年10月31日 18:26:25

CAN标准帧与扩展帧区别

2024年1月3日 22:55:13

DTU和RTU的区别?

2023年5月24日 15:56:11

使用智慧灯杆照亮未来城市

2023年9月17日 16:03:35

站内标签

RS232

智慧农业

zigbee

RS422

通信系统

传感器

CAN通信

监测仪

无线通信

STM32

串口通信

无线模块

物联网

Modbus

DTU

RS485

电子技术

LoRa

UART

USB

最新资讯

频域特征参数有哪些

路径损耗公式中,路径损耗随传输距离如何变化

无线电波的发射和接收过程

工业数据采集器的作用有哪些

广域网采用什么拓扑结构

芯片封装工艺流程

物联网通信技术有哪些应用场景

ISP芯片和SoC芯片有什么区别

产品服务

TPUNB®

城域物联网

局域物联网

工业智控物联网

终端自组网

芯片产品

模组产品

网关产品

技象科技成立于2018年,是中国电子科技集团公司科技成果转化和混合所有制改革的科技企业。

服务条款隐私政策关于我们联系我们

© 2024  广州技象科技有限公司 版权所有 粤ICP备19000791号-2

首页 | 隐私政策 | 关于我们 | 联系我们 | 网站地图

免费咨询组网方案

百度知道 - 信息提示

百度知道 - 信息提示

百度首页

商城

注册

登录

网页

资讯

视频

图片

知道

文库

贴吧采购

地图更多

搜索答案

我要提问

百度知道>提示信息

知道宝贝找不到问题了>_

该问题可能已经失效。返回首页

15秒以后自动返回

帮助

 | 意见反馈

 | 投诉举报

京ICP证030173号-1   京网文【2023】1034-029号     ©2024Baidu  使用百度前必读 | 知道协议 

太厉害了,终于有人能把TCP/IP 协议讲的明明白白了 - 知乎

太厉害了,终于有人能把TCP/IP 协议讲的明明白白了 - 知乎首发于iOS开发——BAT面试题/技术文章合集切换模式写文章登录/注册太厉害了,终于有人能把TCP/IP 协议讲的明明白白了iOSer本文篇幅也比较长,先来一张思维导图,带大家过一遍。一、 计算机网络体系结构分层再者就是资源共享作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:413038000,不管你是大牛还是小白都欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!推荐阅读iOS开发——最新 BAT面试题合集(持续更新中)不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。二、 TCP/IP 基础1. TCP/IP 的具体含义从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议。实际生活当中有时也确实就是指这两种协议。然而在很多情况下,它只是利用 IP 进行通信时所必须用到的协议群的统称。具体来说,IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都属于 TCP/IP 协议。他们与 TCP 或 IP 的关系紧密,是互联网必不可少的组成部分。TCP/IP 一词泛指这些协议,因此,有时也称 TCP/IP 为网际协议群。互联网进行通信时,需要相应的网络协议,TCP/IP 原本就是为使用互联网而开发制定的协议族。因此,互联网的协议就是 TCP/IP,TCP/IP 就是互联网的协议。2. 数据包包、帧、数据包、段、消息以上五个术语都用来表述数据的单位,大致区分如下:包可以说是全能性术语;帧用于表示数据链路层中包的单位;数据包是 IP 和 UDP 等网络层以上的分层中包的单位;段则表示 TCP 数据流中的信息;消息是指应用协议中数据的单位。每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址以及协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。在下一层的角度看,从上一层收到的包全部都被认为是本层的数据。网络中传输的数据包由两部分组成:一部分是协议所要用到的首部,另一部分是上一层传过来的数据。首部的结构由协议的具体规范详细定义。在数据包的首部,明确标明了协议应该如何读取数据。反过来说,看到首部,也就能够了解该协议必要的信息以及所要处理的数据。包首部就像协议的脸。3. 数据处理流程下图以用户 a 向用户 b 发送邮件为例子:① 应用程序处理首先应用程序会进行编码处理,这些编码相当于 OSI 的表示层功能;编码转化后,邮件不一定马上被发送出去,这种何时建立通信连接何时发送数据的管理功能,相当于 OSI 的会话层功能。② TCP 模块的处理TCP 根据应用的指示,负责建立连接、发送数据以及断开连接。TCP 提供将应用层发来的数据顺利发送至对端的可靠传输。为了实现这一功能,需要在应用层数据的前端附加一个 TCP 首部。③ IP 模块的处理IP 将 TCP 传过来的 TCP 首部和 TCP 数据合起来当做自己的数据,并在 TCP 首部的前端加上自己的 IP 首部。IP 包生成后,参考路由控制表决定接受此 IP 包的路由或主机。④ 网络接口(以太网驱动)的处理从 IP 传过来的 IP 包对于以太网来说就是数据。给这些数据附加上以太网首部并进行发送处理,生成的以太网数据包将通过物理层传输给接收端。⑤ 网络接口(以太网驱动)的处理主机收到以太网包后,首先从以太网包首部找到 MAC 地址判断是否为发送给自己的包,若不是则丢弃数据。如果是发送给自己的包,则从以太网包首部中的类型确定数据类型,再传给相应的模块,如 IP、ARP 等。这里的例子则是 IP 。⑥ IP 模块的处理IP 模块接收到 数据后也做类似的处理。从包首部中判断此 IP 地址是否与自己的 IP 地址匹配,如果匹配则根据首部的协议类型将数据发送给对应的模块,如 TCP、UDP。这里的例子则是 TCP。另外吗,对于有路由器的情况,接收端地址往往不是自己的地址,此时,需要借助路由控制表,在调查应该送往的主机或路由器之后再进行转发数据。⑦ TCP 模块的处理在 TCP 模块中,首先会计算一下校验和,判断数据是否被破坏。然后检查是否在按照序号接收数据。最后检查端口号,确定具体的应用程序。数据被完整地接收以后,会传给由端口号识别的应用程序。⑧ 应用程序的处理接收端应用程序会直接接收发送端发送的数据。通过解析数据,展示相应的内容。三、传输层中的 TCP 和 UDPTCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP。TCP 是面向连接的、可靠的流协议。流就是指不间断的数据结构,当应用程序采用 TCP 发送消息时,虽然可以保证发送的顺序,但还是犹如没有任何间隔的数据流发送给接收端。TCP 为提供可靠性传输,实行“顺序控制”或“重发控制”机制。此外还具备“流控制(流量控制)”、“拥塞控制”、提高网络利用率等众多功能。UDP 是不具有可靠性的数据报协议。细微的处理它会交给上层的应用去完成。在 UDP 的情况下,虽然可以确保发送消息的大小,却不能保证消息一定会到达。因此,应用有时会根据自己的需要进行重发处理。TCP 和 UDP 的优缺点无法简单地、绝对地去做比较:TCP 用于在传输层有必要实现可靠传输的情况;而在一方面,UDP 主要用于那些对高速传输和实时性有较高要求的通信或广播通信。TCP 和 UDP 应该根据应用的目的按需使用。1. 端口号数据链路和 IP 中的地址,分别指的是 MAC 地址和 IP 地址。前者用来识别同一链路中不同的计算机,后者用来识别 TCP/IP 网络中互连的主机和路由器。在传输层也有这种类似于地址的概念,那就是端口号。端口号用来识别同一台计算机中进行通信的不同应用程序。因此,它也被称为程序地址。1.1 根据端口号识别应用一台计算机上同时可以运行多个程序。传输层协议正是利用这些端口号识别本机中正在进行通信的应用程序,并准确地将数据传输。1.2 通过 IP 地址、端口号、协议号进行通信识别仅凭目标端口号识别某一个通信是远远不够的。① 和② 的通信是在两台计算机上进行的。它们的目标端口号相同,都是80。这里可以根据源端口号加以区分。③ 和 ① 的目标端口号和源端口号完全相同,但它们各自的源 IP 地址不同。此外,当 IP 地址和端口号全都一样时,我们还可以通过协议号来区分(TCP 和 UDP)。1.3 端口号的确定标准既定的端口号:这种方法也叫静态方法。它是指每个应用程序都有其指定的端口号。但并不是说可以随意使用任何一个端口号。例如 HTTP、FTP、TELNET 等广为使用的应用协议中所使用的端口号就是固定的。这些端口号被称为知名端口号,分布在 0~1023 之间;除知名端口号之外,还有一些端口号被正式注册,它们分布在 1024~49151 之间,不过这些端口号可用于任何通信用途。时序分配法:服务器有必要确定监听端口号,但是接受服务的客户端没必要确定端口号。在这种方法下,客户端应用程序完全可以不用自己设置端口号,而全权交给操作系统进行分配。动态分配的端口号范围在 49152~65535 之间。1.4 端口号与协议端口号由其使用的传输层协议决定。因此,不同的传输层协议可以使用相同的端口号。此外,那些知名端口号与传输层协议并无关系。只要端口一致都将分配同一种应用程序进行处理。2. UDPUDP 不提供复杂的控制机制,利用 IP 提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一刻,立即按照原样发送到网络上的一种机制。即使是出现网络拥堵的情况,UDP 也无法进行流量控制等避免网络拥塞行为。此外,传输途中出现丢包,UDP 也不负责重发。甚至当包的到达顺序出现乱序时也没有纠正的功能。如果需要以上的细节控制,不得不交由采用 UDP 的应用程序去处理。UDP 常用于一下几个方面:1.包总量较少的通信(DNS、SNMP等);2.视频、音频等多媒体通信(即时通信);3.限定于 LAN 等特定网络中的应用通信;4.广播通信(广播、多播)。3. TCPTCP 与 UDP 的区别相当大。它充分地实现了数据传输时各种控制功能,可以进行丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。而这些在 UDP 中都没有。此外,TCP 作为一种面向有连接的协议,只有在确认通信对端存在时才会发送数据,从而可以控制通信流量的浪费。根据 TCP 的这些机制,在 IP 这种无连接的网络上也能够实现高可靠性的通信( 主要通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现)。3.1 三次握手(重点)TCP 提供面向有连接的通信传输。面向有连接是指在数据通信开始之前先做好两端之间的准备工作。所谓三次握手是指建立一个 TCP 连接时需要客户端和服务器端总共发送三个包以确认连接的建立。在socket编程中,这一过程由客户端执行connect来触发。下面来看看三次握手的流程图:第一次握手:客户端将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给服务器端,客户端进入SYN_SENT状态,等待服务器端确认。第二次握手:服务器端收到数据包后由标志位SYN=1知道客户端请求建立连接,服务器端将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给客户端以确认连接请求,服务器端进入SYN_RCVD状态。第三次握手:客户端收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给服务器端,服务器端检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,客户端和服务器端进入ESTABLISHED状态,完成三次握手,随后客户端与服务器端之间可以开始传输数据了。3.2 四次挥手(重点)四次挥手即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。在socket编程中,这一过程由客户端或服务端任一方执行close来触发。由于TCP连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这一方向也发送了FIN。首先进行关闭的一方将执行主动关闭,而另一方则执行被动关闭。下面来看看四次挥手的流程图:中断连接端可以是客户端,也可以是服务器端。第一次挥手:客户端发送一个FIN=M,用来关闭客户端到服务器端的数据传送,客户端进入FIN_WAIT_1状态。意思是说"我客户端没有数据要发给你了",但是如果你服务器端还有数据没有发送完成,则不必急着关闭连接,可以继续发送数据。第二次挥手:服务器端收到FIN后,先发送ack=M+1,告诉客户端,你的请求我收到了,但是我还没准备好,请继续你等我的消息。这个时候客户端就进入FIN_WAIT_2 状态,继续等待服务器端的FIN报文。第三次挥手:当服务器端确定数据已发送完成,则向客户端发送FIN=N报文,告诉客户端,好了,我这边数据发完了,准备好关闭连接了。服务器端进入LAST_ACK状态。第四次挥手:客户端收到FIN=N报文后,就知道可以关闭连接了,但是他还是不相信网络,怕服务器端不知道要关闭,所以发送ack=N+1后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。服务器端收到ACK后,就知道可以断开连接了。客户端等待了2MSL后依然没有收到回复,则证明服务器端已正常关闭,那好,我客户端也可以关闭连接了。最终完成了四次握手。上面是一方主动关闭,另一方被动关闭的情况,实际中还会出现同时发起主动关闭的情况,具体流程如下图:3.3 通过序列号与确认应答提高可靠性在 TCP 中,当发送端的数据到达接收主机时,接收端主机会返回一个已收到消息的通知。这个消息叫做确认应答(ACK)。当发送端将数据发出之后会等待对端的确认应答。如果有确认应答,说明数据已经成功到达对端。反之,则数据丢失的可能性很大。在一定时间内没有等待到确认应答,发送端就可以认为数据已经丢失,并进行重发。由此,即使产生了丢包,仍然能够保证数据能够到达对端,实现可靠传输。未收到确认应答并不意味着数据一定丢失。也有可能是数据对方已经收到,只是返回的确认应答在途中丢失。这种情况也会导致发送端误以为数据没有到达目的地而重发数据。此外,也有可能因为一些其他原因导致确认应答延迟到达,在源主机重发数据以后才到达的情况也屡见不鲜。此时,源主机只要按照机制重发数据即可。对于目标主机来说,反复收到相同的数据是不可取的。为了对上层应用提供可靠的传输,目标主机必须放弃重复的数据包。为此我们引入了序列号。序列号是按照顺序给发送数据的每一个字节(8位字节)都标上号码的编号。接收端查询接收数据 TCP 首部中的序列号和数据的长度,将自己下一步应该接收的序列号作为确认应答返送回去。通过序列号和确认应答号,TCP 能够识别是否已经接收数据,又能够判断是否需要接收,从而实现可靠传输。3.4 重发超时的确定重发超时是指在重发数据之前,等待确认应答到来的那个特定时间间隔。如果超过这个时间仍未收到确认应答,发送端将进行数据重发。最理想的是,找到一个最小时间,它能保证“确认应答一定能在这个时间内返回”。TCP 要求不论处在何种网络环境下都要提供高性能通信,并且无论网络拥堵情况发生何种变化,都必须保持这一特性。为此,它在每次发包时都会计算往返时间及其偏差。将这个往返时间和偏差时间相加,重发超时的时间就是比这个总和要稍大一点的值。在 BSD 的 Unix 以及 Windows 系统中,超时都以0.5秒为单位进行控制,因此重发超时都是0.5秒的整数倍。不过,最初其重发超时的默认值一般设置为6秒左右。数据被重发之后若还是收不到确认应答,则进行再次发送。此时,等待确认应答的时间将会以2倍、4倍的指数函数延长。此外,数据也不会被无限、反复地重发。达到一定重发次数之后,如果仍没有任何确认应答返回,就会判断为网络或对端主机发生了异常,强制关闭连接。并且通知应用通信异常强行终止。3.5 以段为单位发送数据在建立 TCP 连接的同时,也可以确定发送数据包的单位,我们也可以称其为“最大消息长度”(MSS)。最理想的情况是,最大消息长度正好是 IP 中不会被分片处理的最大数据长度。TCP 在传送大量数据时,是以 MSS 的大小将数据进行分割发送。进行重发时也是以 MSS 为单位。MSS 在三次握手的时候,在两端主机之间被计算得出。两端的主机在发出建立连接的请求时,会在 TCP 首部中写入 MSS 选项,告诉对方自己的接口能够适应的 MSS 的大小。然后会在两者之间选择一个较小的值投入使用。3.6 利用窗口控制提高速度TCP 以1个段为单位,每发送一个段进行一次确认应答的处理。这样的传输方式有一个缺点,就是包的往返时间越长通信性能就越低。为解决这个问题,TCP 引入了窗口这个概念。确认应答不再是以每个分段,而是以更大的单位进行确认,转发时间将会被大幅地缩短。也就是说,发送端主机,在发送了一个段以后不必要一直等待确认应答,而是继续发送。如下图所示:窗口大小就是指无需等待确认应答而可以继续发送数据的最大值。上图中窗口大小为4个段。这个机制实现了使用大量的缓冲区,通过对多个段同时进行确认应答的功能。3.7 滑动窗口控制上图中的窗口内的数据即便没有收到确认应答也可以被发送出去。不过,在整个窗口的确认应答没有到达之前,如果其中部分数据出现丢包,那么发送端仍然要负责重传。为此,发送端主机需要设置缓存保留这些待被重传的数据,直到收到他们的确认应答。在滑动窗口以外的部分包括未发送的数据以及已经确认对端已收到的数据。当数据发出后若如期收到确认应答就可以不用再进行重发,此时数据就可以从缓存区清除。收到确认应答的情况下,将窗口滑动到确认应答中的序列号的位置。这样可以顺序地将多个段同时发送提高通信性能。这种机制也别称为滑动窗口控制。3.8 窗口控制中的重发控制在使用窗口控制中, 出现丢包一般分为两种情况:① 确认应答未能返回的情况。在这种情况下,数据已经到达对端,是不需要再进行重发的,如下图:② 某个报文段丢失的情况。接收主机如果收到一个自己应该接收的序列号以外的数据时,会针对当前为止收到数据返回确认应答。如下图所示,当某一报文段丢失后,发送端会一直收到序号为1001的确认应答,因此,在窗口比较大,又出现报文段丢失的情况下,同一个序列号的确认应答将会被重复不断地返回。而发送端主机如果连续3次收到同一个确认应答,就会将其对应的数据进行重发。这种机制比之前提到的超时管理更加高效,因此也被称为高速重发控制。四、网络层中的 IP 协议IP(IPv4、IPv6)相当于 OSI 参考模型中的第3层——网络层。网络层的主要作用是“实现终端节点之间的通信”。这种终端节点之间的通信也叫“点对点通信”。网络的下一层——数据链路层的主要作用是在互连同一种数据链路的节点之间进行包传递。而一旦跨越多种数据链路,就需要借助网络层。网络层可以跨越不同的数据链路,即使是在不同的数据链路上也能实现两端节点之间的数据包传输。IP 大致分为三大作用模块,它们是 IP 寻址、路由(最终节点为止的转发)以及 IP 分包与组包。1. IP 地址1.1 IP 地址概述在计算机通信中,为了识别通信对端,必须要有一个类似于地址的识别码进行标识。在数据链路中的 MAC 地址正是用来标识同一个链路中不同计算机的一种识别码。作为网络层的 IP ,也有这种地址信息,一般叫做 IP 地址。IP 地址用于在“连接到网络中的所有主机中识别出进行通信的目标地址”。因此,在 TCP/IP 通信中所有主机或路由器必须设定自己的 IP 地址。不论一台主机与哪种数据链路连接,其 IP 地址的形式都保持不变。IP 地址(IPv4 地址)由32位正整数来表示。IP 地址在计算机内部以二进制方式被处理。然而,由于我们并不习惯于采用二进制方式,我们将32位的 IP 地址以每8位为一组,分成4组,每组以 “.” 隔开,再将每组数转换成十进制数。如下:2828282810101100000101000000000100000001(2进制)10101100.00010100.00000001.00000001(2进制)172.20.1.1(10进制)1.2 IP 地址由网络和主机两部分标识组成如下图,网络标识在数据链路的每个段配置不同的值。网络标识必须保证相互连接的每个段的地址不相重复。而相同段内相连的主机必须有相同的网络地址。IP 地址的“主机标识”则不允许在同一个网段内重复出现。由此,可以通过设置网络地址和主机地址,在相互连接的整个网络中保证每台主机的 IP 地址都不会相互重叠。即 IP 地址具有了唯一性。如下图,IP 包被转发到途中某个路由器时,正是利用目标 IP 地址的网络标识进行路由。因为即使不看主机标识,只要一见到网络标识就能判断出是否为该网段内的主机。1.3 IP 地址的分类IP 地址分为四个级别,分别为A类、B类、C类、D类。它根据 IP 地址中从第 1 位到第 4 位的比特列对其网络标识和主机标识进行区分。A 类 IP 地址是首位以 “0” 开头的地址。从第 1 位到第 8 位是它的网络标识。用十进制表示的话,0.0.0.0~127.0.0.0 是 A 类的网络地址。A 类地址的后 24 位相当于主机标识。因此,一个网段内可容纳的主机地址上限为16,777,214个。B 类 IP 地址是前两位 “10” 的地址。从第 1 位到第 16 位是它的网络标识。用十进制表示的话,128.0.0.0~191.255.0.0 是 B 类的网络地址。B 类地址的后 16 位相当于主机标识。因此,一个网段内可容纳的主机地址上限为65,534个。C 类 IP 地址是前三位为 “110” 的地址。从第 1 位到第 24 位是它的网络标识。用十进制表示的话,192.0.0.0~223.255.255.0 是 C 类的网络地址。C 类地址的后 8 位相当于主机标识。因此,一个网段内可容纳的主机地址上限为254个。D 类 IP 地址是前四位为 “1110” 的地址。从第 1 位到第 32 位是它的网络标识。用十进制表示的话,224.0.0.0~239.255.255.255 是 D 类的网络地址。D 类地址没有主机标识,常用于多播。在分配 IP 地址时关于主机标识有一点需要注意。即要用比特位表示主机地址时,不可以全部为 0 或全部为 1。因为全部为 0 只有在表示对应的网络地址或 IP 地址不可以获知的情况下才使用。而全部为 1 的主机通常作为广播地址。因此,在分配过程中,应该去掉这两种情况。这也是为什么 C 类地址每个网段最多只能有 254( 28 - 2 = 254)个主机地址的原因。1.4 广播地址广播地址用于在同一个链路中相互连接的主机之间发送数据包。将 IP 地址中的主机地址部分全部设置为 1,就成了广播地址。广播分为本地广播和直接广播两种。在本网络内的广播叫做本地广播;在不同网络之间的广播叫做直接广播。1.5 IP 多播多播用于将包发送给特定组内的所有主机。由于其直接使用 IP 地址,因此也不存在可靠传输。相比于广播,多播既可以穿透路由器,又可以实现只给那些必要的组发送数据包。请看下图:多播使用 D 类地址。因此,如果从首位开始到第 4 位是 “1110”,就可以认为是多播地址。而剩下的 28 位可以成为多播的组编号。此外, 对于多播,所有的主机(路由器以外的主机和终端主机)必须属于 224.0.0.1 的组,所有的路由器必须属于 224.0.0.2 的组。1.6 子网掩码现在一个 IP 地址的网络标识和主机标识已不再受限于该地址的类别,而是由一个叫做“子网掩码”的识别码通过子网网络地址细分出比 A 类、B 类、C 类更小粒度的网络。这种方式实际上就是将原来 A 类、B 类、C 类等分类中的主机地址部分用作子网地址,可以将原网络分为多个物理网络的一种机制。子网掩码用二进制方式表示的话,也是一个 32 位的数字。它对应 IP 地址网络标识部分的位全部为 “1”,对应 IP 地址主机标识的部分则全部为 “0”。由此,一个 IP 地址可以不再受限于自己的类别,而是可以用这样的子网掩码自由地定位自己的网络标识长度。当然,子网掩码必须是 IP 地址的首位开始连续的 “1”。对于子网掩码,目前有两种表示方式。第一种是,将 IP 地址与子网掩码的地址分别用两行来表示。以 172.20.100.52 的前 26 位是网络地址的情况为例,如下:IP 地址172.20.100.52子网掩码255.255.255.192网络地址172.20.100.0子网掩码255.255.255.192广播地址172.20.100.63子网掩码255.255.255.192第二种表示方式是,在每个 IP 地址后面追加网络地址的位数用 “/ ” 隔开,如下:IP 地址172.20.100.52/ 26网络地址172.20.100.0/ 26广播地址172.20.100.63/ 26另外,在第二种方式下记述网络地址时可以省略后面的 “0” 。例如:172.20.0.0/26 跟 172.20/26 其实是一个意思。2. 路由发送数据包时所使用的地址是网络层的地址,即 IP 地址。然而仅仅有 IP 地址还不足以实现将数据包发送到对端目标地址,在数据发送过程中还需要类似于“指明路由器或主机”的信息,以便真正发往目标地址。保存这种信息的就是路由控制表。该路由控制表的形成方式有两种:一种是管理员手动设置,另一种是路由器与其他路由器相互交换信息时自动刷新。前者也叫做静态路由控制,而后者叫做动态路由控制。IP 协议始终认为路由表是正确的。然后,IP 本身并没有定义制作路由控制表的协议。即 IP 没有制作路由控制表的机制。该表示由一个叫做“路由协议”的协议制作而成。2.1 IP 地址与路由控制IP 地址的网络地址部分用于进行路由控制。路由控制表中记录着网络地址与下一步应该发送至路由器的地址。在发送 IP 包时,首先要确定 IP 包首部中的目标地址,再从路由控制表中找到与该地址具有相同网络地址的记录,根据该记录将 IP 包转发给相应的下一个路由器。如果路由控制表中存在多条相同网络地址的记录,就选择一个最为吻合的网络地址。3. IP 分包与组包每种数据链路的最大传输单元(MTU)都不尽相同,因为每个不同类型的数据链路的使用目的不同。使用目的不同,可承载的 MTU 也就不同。任何一台主机都有必要对 IP 分片进行相应的处理。分片往往在网络上遇到比较大的报文无法一下子发送出去时才会进行处理。经过分片之后的 IP 数据报在被重组的时候,只能由目标主机进行。路由器虽然做分片但不会进行重组。3.1 路径 MTU 发现分片机制也有它的不足。如路由器的处理负荷加重之类。因此,只要允许,是不希望由路由器进行 IP 数据包的分片处理的。为了应对分片机制的不足,“路径 MTU 发现” 技术应运而生。路径 MTU 指的是,从发送端主机到接收端主机之间不需要分片是最大 MTU 的大小。即路径中存在的所有数据链路中最小的 MTU 。进行路径 MTU 发现,就可以避免在中途的路由器上进行分片处理,也可以在 TCP 中发送更大的包。4. IPv6IPv6(IP version 6)是为了根本解决 IPv4 地址耗尽的问题而被标准化的网际协议。IPv4 的地址长度为 4 个 8 位字节,即 32 比特。而 IPv6 的地址长度则是原来的 4 倍,即 128 比特,一般写成 8 个 16 位字节。4.1 IPv6 的特点IP 得知的扩大与路由控制表的聚合。性能提升。包首部长度采用固定的值(40字节),不再采用首部检验码。简化首部结构,减轻路由器负担。路由器不再做分片处理。支持即插即用功能。即使没有DHCP服务器也可以实现自动分配 IP 地址。采用认证与加密功能。应对伪造 IP 地址的网络安全功能以及防止线路窃听的功能。多播、Mobile IP 成为扩展功能。4.2 IPv6 中 IP 地址的标记方法一般人们将 128 比特 IP 地址以每 16 比特为一组,每组用冒号(“:”)隔开进行标记。而且如果出现连续的 0 时还可以将这些 0 省略,并用两个冒号(“::”)隔开。但是,一个 IP 地址中只允许出现一次两个连续的冒号。4.3 IPv6 地址的结构IPv6 类似 IPv4,也是通过 IP 地址的前几位标识 IP 地址的种类。在互联网通信中,使用一种全局的单播地址。它是互联网中唯一的一个地址,不需要正式分配 IP 地址。未定义0000 ... 0000(128比特)::/ 128环回地址0000 ... 0001(128比特)::1 / 128唯一本地地址1111 110FC00:/ 7链路本地单播地址1111 1110 10FE80::/ 10多播地址1111 1111FF00::/ 8全局单播地址(其他)4.4 全局单播地址全局单播地址是指世界上唯一的一个地址。它是互联网通信以及各个域内部通信中最为常用的一个 IPv6 地址。格式如下图所示,现在 IPv6 的网络中所使用的格式为,n = 48,m = 16 以及 128 - n - m = 64。即前 64 比特为网络标识,后 64 比特为主机标识。4.5 链路本地单播地址链路本地单播地址是指在同一个数据链路内唯一的地址。它用于不经过路由器,在同一个链路中的通信。通常接口 ID 保存 64 比特版的 MAC 地址。4.6 唯一本地地址唯一本地地址是不进行互联网通信时所用的地址。唯一本地地址虽然不会与互联网连接,但是也会尽可能地随机生成一个唯一的全局 ID。L 通常被置为 1全局 ID 的值随机决定子网 ID 是指该域子网地址接口 ID 即为接口的 ID4.7 IPv6 分段处理IPv6 的分片处理只在作为起点的发送端主机上进行,路由器不参与分片。IPv6 中最小 MTU 为 1280 字节,因此,在嵌入式系统中对于那些有一定系统资源限制的设备来说,不需要进行“路径 MTU 发现”,而是在发送 IP 包时直接以 1280 字节为单位分片送出。4.8 IP 首部(暂略)5. IP 协议相关技术IP 旨在让最终目标主机收到数据包,但是在这一过程中仅仅有 IP 是无法实现通信的。必须还有能够解析主机名称和 MAC 地址的功能,以及数据包在发送过程中异常情况处理的功能。5.1 DNS我们平常在访问某个网站时不适用 IP 地址,而是用一串由罗马字和点号组成的字符串。而一般用户在使用 TCP/IP 进行通信时也不使用 IP 地址。能够这样做是因为有了 DNS (Domain Name System)功能的支持。DNS 可以将那串字符串自动转换为具体的 IP 地址。这种 DNS 不仅适用于 IPv4,还适用于 IPv6。5.2 ARP只要确定了 IP 地址,就可以向这个目标地址发送 IP 数据报。然而,在底层数据链路层,进行实际通信时却有必要了解每个 IP 地址所对应的 MAC 地址。ARP 是一种解决地址问题的协议。以目标 IP 地址为线索,用来定位下一个应该接收数据分包的网络设备对应的 MAC 地址。不过 ARP 只适用于 IPv4,不能用于 IPv6。IPv6 中可以用 ICMPv6 替代 ARP 发送邻居探索消息。RARP 是将 ARP 反过来,从 MAC 地址定位 IP 地址的一种协议。5.3 ICMPICMP 的主要功能包括,确认 IP 包是否成功送达目标地址,通知在发送过程当中 IP 包被废弃的具体原因,改善网络设置等。IPv4 中 ICMP 仅作为一个辅助作用支持 IPv4。也就是说,在 IPv4 时期,即使没有 ICMP,仍然可以实现 IP 通信。然而,在 IPv6 中,ICMP 的作用被扩大,如果没有 ICMPv6,IPv6 就无法进行正常通信。5.4 DHCP如果逐一为每一台主机设置 IP 地址会是非常繁琐的事情。特别是在移动使用笔记本电脑、只能终端以及平板电脑等设备时,每移动到一个新的地方,都要重新设置 IP 地址。于是,为了实现自动设置 IP 地址、统一管理 IP 地址分配,就产生了 DHCP(Dynamic Host Configuration Protocol)协议。有了 DHCP,计算机只要连接到网络,就可以进行 TCP/IP 通信。也就是说,DHCP 让即插即用变得可能。DHCP 不仅在 IPv4 中,在 IPv6 中也可以使用。5.5 NATNAT(Network Address Translator)是用于在本地网络中使用私有地址,在连接互联网时转而使用全局 IP 地址的技术。除转换 IP 地址外,还出现了可以转换 TCP、UDP 端口号的 NAPT(Network Address Ports Translator)技术,由此可以实现用一个全局 IP 地址与多个主机的通信。NAT(NAPT)实际上是为正在面临地址枯竭的 IPv4 而开发的技术。不过,在 IPv6 中为了提高网络安全也在使用 NAT,在 IPv4 和 IPv6 之间的相互通信当中常常使用 NAT-PT。5.6 IP 隧道如上图的网络环境中,网络 A 与网络 B 之间无法直接进行通信,为了让它们之间正常通信,这时必须得采用 IP 隧道的功能。IP 隧道可以将那些从网络 A 发过来的 IPv6 的包统合为一个数据,再为之追加一个 IPv4 的首部以后转发给网络 C。一般情况下,紧接着 IP 首部的是 TCP 或 UDP 的首部。然而,现在的应用当中“ IP 首部的后面还是 IP 首部”或者“ IP 首部的后面是 IPv6 的首部”等情况与日俱增。这种在网络层的首部后面追加网络层首部的通信方法就叫做“ IP 隧道”。作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:413038000,不管你是大牛还是小白都欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!作者:涤生_Woo链接:https://www.jianshu.com/p/9f3e879a4c9c编辑于 2020-09-08 13:30网络协议TCP/IP程序员​赞同 3654​​70 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录iOS开发——BAT面试题/技术文章合集iOS技术交流群:413038000 期待你的加入epol

Ethernet,TCP,IP协议简介_ethernetip与tcpip区别-CSDN博客

>

Ethernet,TCP,IP协议简介_ethernetip与tcpip区别-CSDN博客

Ethernet,TCP,IP协议简介

最新推荐文章于 2023-07-01 22:37:46 发布

Happy灬涛

最新推荐文章于 2023-07-01 22:37:46 发布

阅读量1.4w

收藏

51

点赞数

13

分类专栏:

协议

协议

专栏收录该内容

7 篇文章

2 订阅

订阅专栏

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 携带两个信息。

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

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

(图片说明:每个 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号数据包。)

七、参考链接

Network protocols for programmers who know at least one programming language

(完)

优惠劵

Happy灬涛

关注

关注

13

点赞

51

收藏

觉得还不错?

一键收藏

知道了

2

评论

Ethernet,TCP,IP协议简介

TCP 是互联网核心协议之一,本文介绍它的基础知识。一、TCP 协议的作用互联网由一整套协议构成。TCP 只是其中的一层,有着自己的分工。(图片说明:TCP 是以太网协议和 IP 协议的上层协议,也是应用层协议的下层协议。)最底层的以太网协议(Ethernet)规定了电子信号如何组成数据包(packet),解决了子网内部的点对点通信。

复制链接

扫一扫

专栏目录

Ethernet/ip协议

06-16

EtherNet/IP(ethernet/Industrial Protocol)是由洛克威尔自动化公司开发的工业以太网通讯协定,由开放DeviceNet厂商协会(ODVA)管理,可应用在程序控制及其他自动化的应用中,是通用工业协定(CIP)中的一部分.

Ethernet/IP允许工业设备实时的交换应用信息. 采用生产者/消费者模型实时交换控制数据。Ethernet/IP使用标准的IEEE802.3技术.采用TCP/IP技术传输CIP报文

EtherNet/IP开发:JAVA、C#和C++开发源代码

semisecs

01-20

577

示例使用VS2010开发EtherNet/IP开发语言使用C++C++开发出来的程序,提供C标准API后,将可以提供给Dlphi、Labview、VB、QT、C#、C\C++、C#、Java等几乎所有编程语言使用。① 在底层我们将采用socket和多线程方式开发,在数据处理方面使用指针为主。② EtherNet/IP在设计之初就是为高效,低延迟而设定③ 采用最基础的C++ 标准函数,单次效率可以做到1ms以内。

2 条评论

您还未登录,请先

登录

后发表或查看评论

二、TCP/IP---Ethernet和IP协议

看了都说刑的博客

01-11

1791

简析协议字段,抓包图解

[工业互联-12]:主流的工业以太网技术简介(PROFINET、POWERLINK、ETHERNET/IP、ETHERCAT、SERCOSIII、MODBUS TCP、CC-LINK IE)

文火冰糖(王文兵)的博客

07-01

4571

SERCOSIII是SERCOS的第三代,SERCOS于1985年被推向市场,是一个标准的遵循IEEE802.3的数据传输协议,这个通信系统最初使用在基于运动控制的自动化系统,一个已注册的协会:SERCOS国际协会,支持这项技术的发展并保持标准的一致性。节点通过硬件层进行同步,在通信循环的第一个报文初期,主站同步报文MST被嵌入到第一个报文来达到这个目的,确保在100nS以下的高精度时钟同步偏移,基于硬件的过程补偿了运行延迟和以太网硬件所造成的偏差,不同的网段使用不同的循环时钟仍然可实现所有的同步运行。

一文讲透TCP/IP协议 | 图解+秒懂+史上最全

青春木鱼的博客

05-06

1万+

TCP/IP协议包含了一系列的协议,也叫TCP/IP协议族(TCP/IP Protocol Suite,或TCP/IP Protocols),简称TCP/IP。TCP/IP协议族提供了点对点的连结机制,并且将传输数据帧的封装、寻址、传输、路由以及接收方式,都予以标准化。

各种工业以太网比较(EtherCAT,EtherNet/IP,ProfiNet,Modbus-TCP,Powerlink)

协议和协议转换网关知识分享

09-22

6830

EtherCAT(以太网控制自动化技术)是一个以以太网为基础的开放架构的现场总线系统,Ethernet/IP是一个面向工业自动化应用的工业应用层协议。PROFINET由PROFIBUS国际组织(PROFIBUS International,PI)推出,是新一代基于工业以太网技术的自动化总线标准。MODBUS/TCP是简单的、中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品。

TCP协议详解 (史上最全)

chentiebo的博客

04-28

1万+

网络拓扑图吧,请做好。

什么是TCP/IP协议?

热门推荐

软件测试技术交流分享

11-10

5万+

TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。

TCP协议(全面)

m0_61925333的博客

07-25

1万+

基于TCP协议的三大特性,对TCP协议进行了全面介绍

绕不开的TCP之三次握手

测试架构师养成记的博客

10-09

995

在面试过程中,无论是开发还是测试岗位,TCP都是一个绕不开的话题,而谈到TCP,大概率三次握手也会被提及,那应该如何回答这个问题呢?在回答这个问题之前,让我们先预热一波吧。

TCP的定义

TCP协议全称: 传输控制协议, 顾名思义, 就是要对数据的传输进行一定的控制,它是一种面向连接的、可靠的、基于字节流的传输层通信协议。

TCP连接全过程的状态

TCP连接全过程中,客户端及服务端存在的状态如下:...

五分钟读懂TCP协议——TCP协议简介

01-27

互联网由一整套协议构成。TCP只是其中的一层,有着自己的分工。(图片说明:TCP是以太网协议和IP协议的上层协议,也是应用层协议的下层协议。)

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

但是,以太网协议不能解决多个局域网如何互通,这由IP协议解决。(图片说明:IP协议可以连接多个局域网。

通用工业协议(EtherNet/IP) 例程_c++ ethernet,c++ profinet 协议

06-15

通用工业协议(EtherNet/IP) 例程_c++ ethernet,c++ profinet 协议

capture_tcp.zip_Capture_EtherNet/IP_tcp capture

09-24

对tcp/ip协议栈中的一些协议进行简单的分析,例如Ethernet II、IP、ARP、TCP、UDP。

Ethernet,ip,tcp,udp协议头详细说明

02-10

Ethernet,ip,tcp,udp协议头详细说明

vb串口通讯源码手机串口实现短信pdu编码方式

03-13

vb串口通讯源码这是一个通过手机串口实现短信发送的实例,采用pdu编码方式,VB开发语言实现的本资源系百度网盘分享地址

C语言并行爬虫(epoll)读写操作代码

03-13

c语言文件读写操作代码。在C语言中实现一个基于epoll的并行爬虫是一个相对复杂的任务,因为它涉及到网络编程、异步I/O、HTML解析等多个方面。下面我将给出一个简化的示例,说明如何使用epoll来并发地处理多个网络连接。

base.apk

最新发布

03-13

base.apk

东北农业大学902植物病虫害防治2020考研专业课初试大纲.pdf

03-13

东北林业大学

ethernet/IP 协议资料

06-06

Ethernet/IP是一种基于Ethernet的工业协议,它将标准的TCP/IP协议栈应用到了工业自动化领域。这种协议通常用于控制和数据采集,支持多种设备之间的通信。

以下是一些Ethernet/IP协议相关的资料:

1. Ethernet/IP规范:这是Ethernet/IP协议的官方规范,包含了协议的详细说明和实现细节。可以从ODVA官网上下载。

2. Ethernet/IP开发指南:这是一份由Rockwell Automation公司提供的Ethernet/IP开发指南,包含了如何使用Ethernet/IP协议进行通信的详细说明和示例代码。

3. Wireshark抓包工具:Wireshark是一款常用的网络抓包工具,可以用来分析Ethernet/IP协议的通信过程。

4. Ethernet/IP测试工具:这是一款由ODVA提供的Ethernet/IP测试工具,可以用来测试和验证Ethernet/IP协议的实现是否符合标准。

5. Ethernet/IP论坛:这是一个由ODVA维护的Ethernet/IP论坛,可以在这里与其他开发者交流和分享Ethernet/IP协议相关的经验和问题解决方案。

以上是一些关于Ethernet/IP协议的资料,希望对你有所帮助。

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

Happy灬涛

CSDN认证博客专家

CSDN认证企业博客

码龄9年

暂无认证

0

原创

109万+

周排名

48万+

总排名

10万+

访问

等级

1158

积分

25

粉丝

43

获赞

9

评论

190

收藏

私信

关注

热门文章

Ethernet,TCP,IP协议简介

14229

火焰图(flame graph)性能分析器

11556

malloc 函数详解,虚拟内存与物理内存的联系与区别

9002

SMTP 协议,验证 Email 地址

4780

双因素认证(2FA)教程

4403

分类专栏

js

17篇

linux

5篇

java

6篇

SQL

8篇

协议

7篇

其它

7篇

css

10篇

1篇

测试

1篇

版本控制

数据

3篇

容器

2篇

虚拟机

1篇

性能分析工具

1篇

THML

1篇

PHP

4篇

服务器

日志

架构

13篇

算法

Redis

1篇

队列

Mongodb

CDN/DNS

Nginx

1篇

设计模式

编码

1篇

加密

安全

1篇

面试

MQ

3篇

搜索

MAC

缓存

IO

1篇

Haproxy

2篇

LVS

2篇

socket

2篇

zookeeper

1篇

1篇

最新评论

Ethernet,TCP,IP协议简介

ww努力中:

写的非常明了,但是怎么没介绍Ethernet 的知识

php编写的抽奖程序中奖概率算法

aweii:

$randNum = mt_rand(1, $proSum);

这句好像应该放在循环外吧

Ethernet,TCP,IP协议简介

兴趣使然_:

清晰明了,太棒了

malloc 函数详解,虚拟内存与物理内存的联系与区别

۞边城浪子:

别太干了

malloc 函数详解,虚拟内存与物理内存的联系与区别

晨姐:

这明显就是拷贝了别人的东西,经典在哪里?

您愿意向朋友推荐“博客详情页”吗?

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

DNSSEC原理

Mysql分表和分区的区别、分库分表介绍与区别

mysql的分区

2019年34篇

2018年9篇

2017年51篇

目录

目录

分类专栏

js

17篇

linux

5篇

java

6篇

SQL

8篇

协议

7篇

其它

7篇

css

10篇

1篇

测试

1篇

版本控制

数据

3篇

容器

2篇

虚拟机

1篇

性能分析工具

1篇

THML

1篇

PHP

4篇

服务器

日志

架构

13篇

算法

Redis

1篇

队列

Mongodb

CDN/DNS

Nginx

1篇

设计模式

编码

1篇

加密

安全

1篇

面试

MQ

3篇

搜索

MAC

缓存

IO

1篇

Haproxy

2篇

LVS

2篇

socket

2篇

zookeeper

1篇

1篇

目录

评论 2

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

EthernetIP与TCP/IP之间的区别 - 技象科技

EthernetIP与TCP/IP之间的区别 - 技象科技

跳至内容

技象科技有限公司官方网站

技象天猫旗舰店技象天猫旗舰店

技象京东旗舰店技象京东旗舰店

IoT演示平台IoT演示平台

首页

解决方案

菜单切换

TPUNB®

城域物联网

菜单切换

智慧农业

环境监测

智慧停车

局域物联网

菜单切换

智慧楼宇

智慧养老

智慧照明

智慧能源

工业智控物联网

菜单切换

动环监控

终端自组网

菜单切换

自组网

产品终端

菜单切换

芯片产品

模组产品

网关产品

应用产品

云平台

关于我们

菜单切换

荣誉资质

合作伙伴

公司一览

招聘岗位

新闻资讯

菜单切换

公司新闻

下载专区

联系我们

首页

TPUNB®

物联网解决方案

菜单切换

城域物联网

局域物联网

工业智控物联网

终端自组网

物联网产品终端

菜单切换

芯片产品

模组产品

网关产品

物联网云平台

关于我们

菜单切换

荣誉资质

合作伙伴

公司新闻

联系我们

Main Menu

首页

TPUNB®

物联网解决方案

菜单切换

城域物联网

局域物联网

工业智控物联网

终端自组网

物联网产品终端

菜单切换

芯片产品

模组产品

网关产品

物联网云平台

关于我们

菜单切换

荣誉资质

合作伙伴

公司新闻

联系我们

技象科技首页 / 行业百科 / EthernetIP与TCP/IP之间的区别

EthernetIP与TCP/IP之间的区别作者:

技象物联网

/ 行业百科 / TCP协议 / 2023年10月3日 10:49:16 2023年10月3日 10:49:16

  EthernetIP和TCP/IP都是用于网络通信的协议,它们之间存在一些重要的区别。本文将比较两种协议的功能和特点,以帮助读者更好地理解它们之间的差异。

EthernetIP

  定义

  EthernetIP是一种基于以太网的工业网络协议,由美国自动化协会(Automation Association)开发。它主要用于工业控制系统,可以在不同的设备间传输数据。

  特点

  EthernetIP具有许多有利的特点,如:

它可以提供高速数据传输,可以达到100 Mbps。

它可以支持多种数据格式,如文本、图像、视频等。

它可以支持多种应用程序,如数据采集、远程监控、计算机视觉等。

它可以支持多种设备,如PLC、HMI、DCS等。

  应用

  EthernetIP可以用于工厂自动化、机器视觉、物联网等领域,可以提高生产效率,降低成本。

TCP/IP

  定义

  TCP/IP是一种通用的网络协议,由美国国防部开发。它用于在计算机网络中传输数据,可以在不同的网络设备之间传输数据。

  特点

  TCP/IP具有许多有利的特点,如:

它支持多种网络服务,如文件传输、电子邮件、远程登录等。

它可以支持多种网络类型,如局域网、广域网等。

它可以支持多种设备,如路由器、交换机等。

它可以支持多种协议,如HTTP、FTP、SMTP等。

  应用

  TCP/IP可以用于互联网、局域网、无线网络等领域,可以实现计算机之间的互联互通。

总结

  从上述内容可以看出,EthernetIP和TCP/IP两种协议之间存在一些明显的差异,它们各自都具有自己的特点和优势。EthernetIP主要用于工业控制系统,可以提高生产效率,降低成本;而TCP/IP则可以用于互联网、局域网、无线网络等领域,可以实现计算机之间的互联互通。因此,读者可以根据自己的需求来选择合适的协议。

相关阅读:

EthernetIP与TCP/IP的区别

Socket共享UDP和TCP

ESP8266AP模式下连接TCP

SomeIP与TCP的区别

原创声明:文章来自技象科技,如欲转载,请注明本文链接: https://www.techphant.cn/blog/46235.html

文章导航

← 前一篇文章后一篇文章 →

相关推荐

10月 2 2023

使用cmd接收tcp数据

10月 4 20232023年10月8日 15:29:16

SQL数据库转MODBUSTcp

1月 15 2024

TCP FIN攻击及防范

10月 3 2023

OPC与TCP的区别

10月 11 20232023年10月8日 15:28:06

MQTT协议与TCP协议的区别

1月 4 2024

TCP FIN PSH ACK: 网络通信中的核心关键词

联系我们

广州技象科技有限公司聚焦物联网底层关键技术,打造100%自主知识产权的TPUNB物联专网,形成完备的物联感知系统参与各垂直行业的整体解决方案及项目建设。

品牌京东旗舰店

品牌天猫旗舰店

公司招聘岗位

免费技术咨询

站内资讯

ESP32串口4G:一种新的物联网连接方式

2023年10月30日 13:29:53

LoRaWAN标准是什么?

2023年8月26日 11:35:58

RJ45 接口和 RS485 接口有什么区别?

2023年10月31日 15:43:22

点对点网络协议是什么?

2023年9月11日 15:34:28

工业物联网数据如何采集、传输和计算?

2023年7月27日 12:34:10

串行和并行通信的区别

2023年9月17日 12:00:24

智慧环保解决方案的优势

2023年9月6日 04:34:13

奇偶校验为什么码距为2

2023年12月22日 19:29:29

URAT接口EMC电路

2023年10月30日 19:29:29

能耗在线监测平台

2023年9月11日 16:07:48

站内标签

DTU

无线模块

LoRa

电子技术

Modbus

CAN通信

UART

物联网

传感器

RS422

USB

智慧农业

RS485

STM32

串口通信

zigbee

RS232

无线通信

通信系统

监测仪

最新资讯

频域特征参数有哪些

路径损耗公式中,路径损耗随传输距离如何变化

无线电波的发射和接收过程

工业数据采集器的作用有哪些

广域网采用什么拓扑结构

芯片封装工艺流程

物联网通信技术有哪些应用场景

ISP芯片和SoC芯片有什么区别

产品服务

TPUNB®

城域物联网

局域物联网

工业智控物联网

终端自组网

芯片产品

模组产品

网关产品

技象科技成立于2018年,是中国电子科技集团公司科技成果转化和混合所有制改革的科技企业。

服务条款隐私政策关于我们联系我们

© 2024  广州技象科技有限公司 版权所有 粤ICP备19000791号-2

首页 | 隐私政策 | 关于我们 | 联系我们 | 网站地图

免费咨询组网方案

百度知道 - 信息提示

百度知道 - 信息提示

百度首页

商城

注册

登录

网页

资讯

视频

图片

知道

文库

贴吧采购

地图更多

搜索答案

我要提问

百度知道>提示信息

知道宝贝找不到问题了>_

该问题可能已经失效。返回首页

15秒以后自动返回

帮助

 | 意见反馈

 | 投诉举报

京ICP证030173号-1   京网文【2023】1034-029号     ©2024Baidu  使用百度前必读 | 知道协议 

Ethernet,TCP,IP协议简介_ethernetip与tcpip区别-CSDN博客

>

Ethernet,TCP,IP协议简介_ethernetip与tcpip区别-CSDN博客

Ethernet,TCP,IP协议简介

最新推荐文章于 2024-01-20 16:40:20 发布

Happy灬涛

最新推荐文章于 2024-01-20 16:40:20 发布

阅读量1.4w

收藏

51

点赞数

13

分类专栏:

协议

协议

专栏收录该内容

7 篇文章

2 订阅

订阅专栏

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 携带两个信息。

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

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

(图片说明:每个 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号数据包。)

七、参考链接

Network protocols for programmers who know at least one programming language

(完)

优惠劵

Happy灬涛

关注

关注

13

点赞

51

收藏

觉得还不错?

一键收藏

知道了

2

评论

Ethernet,TCP,IP协议简介

TCP 是互联网核心协议之一,本文介绍它的基础知识。一、TCP 协议的作用互联网由一整套协议构成。TCP 只是其中的一层,有着自己的分工。(图片说明:TCP 是以太网协议和 IP 协议的上层协议,也是应用层协议的下层协议。)最底层的以太网协议(Ethernet)规定了电子信号如何组成数据包(packet),解决了子网内部的点对点通信。

复制链接

扫一扫

专栏目录

绕不开的TCP之三次握手

测试架构师养成记的博客

10-09

995

在面试过程中,无论是开发还是测试岗位,TCP都是一个绕不开的话题,而谈到TCP,大概率三次握手也会被提及,那应该如何回答这个问题呢?在回答这个问题之前,让我们先预热一波吧。

TCP的定义

TCP协议全称: 传输控制协议, 顾名思义, 就是要对数据的传输进行一定的控制,它是一种面向连接的、可靠的、基于字节流的传输层通信协议。

TCP连接全过程的状态

TCP连接全过程中,客户端及服务端存在的状态如下:...

五分钟读懂TCP协议——TCP协议简介

01-27

互联网由一整套协议构成。TCP只是其中的一层,有着自己的分工。(图片说明:TCP是以太网协议和IP协议的上层协议,也是应用层协议的下层协议。)

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

但是,以太网协议不能解决多个局域网如何互通,这由IP协议解决。(图片说明:IP协议可以连接多个局域网。

2 条评论

您还未登录,请先

登录

后发表或查看评论

EtherNet/IP开发:JAVA、C#和C++开发源代码

semisecs

01-20

577

示例使用VS2010开发EtherNet/IP开发语言使用C++C++开发出来的程序,提供C标准API后,将可以提供给Dlphi、Labview、VB、QT、C#、C\C++、C#、Java等几乎所有编程语言使用。① 在底层我们将采用socket和多线程方式开发,在数据处理方面使用指针为主。② EtherNet/IP在设计之初就是为高效,低延迟而设定③ 采用最基础的C++ 标准函数,单次效率可以做到1ms以内。

二、TCP/IP---Ethernet和IP协议

看了都说刑的博客

01-11

1791

简析协议字段,抓包图解

[工业互联-12]:主流的工业以太网技术简介(PROFINET、POWERLINK、ETHERNET/IP、ETHERCAT、SERCOSIII、MODBUS TCP、CC-LINK IE)

文火冰糖(王文兵)的博客

07-01

4571

SERCOSIII是SERCOS的第三代,SERCOS于1985年被推向市场,是一个标准的遵循IEEE802.3的数据传输协议,这个通信系统最初使用在基于运动控制的自动化系统,一个已注册的协会:SERCOS国际协会,支持这项技术的发展并保持标准的一致性。节点通过硬件层进行同步,在通信循环的第一个报文初期,主站同步报文MST被嵌入到第一个报文来达到这个目的,确保在100nS以下的高精度时钟同步偏移,基于硬件的过程补偿了运行延迟和以太网硬件所造成的偏差,不同的网段使用不同的循环时钟仍然可实现所有的同步运行。

一文讲透TCP/IP协议 | 图解+秒懂+史上最全

青春木鱼的博客

05-06

1万+

TCP/IP协议包含了一系列的协议,也叫TCP/IP协议族(TCP/IP Protocol Suite,或TCP/IP Protocols),简称TCP/IP。TCP/IP协议族提供了点对点的连结机制,并且将传输数据帧的封装、寻址、传输、路由以及接收方式,都予以标准化。

各种工业以太网比较(EtherCAT,EtherNet/IP,ProfiNet,Modbus-TCP,Powerlink)

协议和协议转换网关知识分享

09-22

6830

EtherCAT(以太网控制自动化技术)是一个以以太网为基础的开放架构的现场总线系统,Ethernet/IP是一个面向工业自动化应用的工业应用层协议。PROFINET由PROFIBUS国际组织(PROFIBUS International,PI)推出,是新一代基于工业以太网技术的自动化总线标准。MODBUS/TCP是简单的、中立厂商的用于管理和控制自动化设备的MODBUS系列通讯协议的派生产品。

Ethernet/ip协议

06-16

EtherNet/IP(ethernet/Industrial Protocol)是由洛克威尔自动化公司开发的工业以太网通讯协定,由开放DeviceNet厂商协会(ODVA)管理,可应用在程序控制及其他自动化的应用中,是通用工业协定(CIP)中的一部分.

Ethernet/IP允许工业设备实时的交换应用信息. 采用生产者/消费者模型实时交换控制数据。Ethernet/IP使用标准的IEEE802.3技术.采用TCP/IP技术传输CIP报文

TCP协议详解 (史上最全)

chentiebo的博客

04-28

1万+

网络拓扑图吧,请做好。

什么是TCP/IP协议?

热门推荐

软件测试技术交流分享

11-10

5万+

TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。

TCP协议(全面)

m0_61925333的博客

07-25

1万+

基于TCP协议的三大特性,对TCP协议进行了全面介绍

通用工业协议(EtherNet/IP) 例程_c++ ethernet,c++ profinet 协议

06-15

通用工业协议(EtherNet/IP) 例程_c++ ethernet,c++ profinet 协议

capture_tcp.zip_Capture_EtherNet/IP_tcp capture

09-24

对tcp/ip协议栈中的一些协议进行简单的分析,例如Ethernet II、IP、ARP、TCP、UDP。

Ethernet,ip,tcp,udp协议头详细说明

02-10

Ethernet,ip,tcp,udp协议头详细说明

vb串口通讯源码一个简单的VB串口发送程序(源码)

03-13

vb串口通讯源码一个简单的VB串口发送程序(源码)本资源系百度网盘分享地址

东北林业大学809园林花卉学(含园林植物遗传育种学)2021年考研专业课初试大纲.pdf

03-13

东北林业大学考研初试大纲

KC-104系列 有线版说明书

最新发布

03-13

Kananic_Keyboard_经典兰瑟 KC-104系列 有线版说明书

东北林业大学《工程管理硕士复试建设法规》2020考研专业课复试大纲.pdf

03-13

东北林业大学考研复试大纲

ethernet/IP 协议资料

06-06

Ethernet/IP是一种基于Ethernet的工业协议,它将标准的TCP/IP协议栈应用到了工业自动化领域。这种协议通常用于控制和数据采集,支持多种设备之间的通信。

以下是一些Ethernet/IP协议相关的资料:

1. Ethernet/IP规范:这是Ethernet/IP协议的官方规范,包含了协议的详细说明和实现细节。可以从ODVA官网上下载。

2. Ethernet/IP开发指南:这是一份由Rockwell Automation公司提供的Ethernet/IP开发指南,包含了如何使用Ethernet/IP协议进行通信的详细说明和示例代码。

3. Wireshark抓包工具:Wireshark是一款常用的网络抓包工具,可以用来分析Ethernet/IP协议的通信过程。

4. Ethernet/IP测试工具:这是一款由ODVA提供的Ethernet/IP测试工具,可以用来测试和验证Ethernet/IP协议的实现是否符合标准。

5. Ethernet/IP论坛:这是一个由ODVA维护的Ethernet/IP论坛,可以在这里与其他开发者交流和分享Ethernet/IP协议相关的经验和问题解决方案。

以上是一些关于Ethernet/IP协议的资料,希望对你有所帮助。

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

Happy灬涛

CSDN认证博客专家

CSDN认证企业博客

码龄9年

暂无认证

0

原创

109万+

周排名

48万+

总排名

10万+

访问

等级

1158

积分

25

粉丝

43

获赞

9

评论

190

收藏

私信

关注

热门文章

Ethernet,TCP,IP协议简介

14229

火焰图(flame graph)性能分析器

11556

malloc 函数详解,虚拟内存与物理内存的联系与区别

9002

SMTP 协议,验证 Email 地址

4780

双因素认证(2FA)教程

4403

分类专栏

js

17篇

linux

5篇

java

6篇

SQL

8篇

协议

7篇

其它

7篇

css

10篇

1篇

测试

1篇

版本控制

数据

3篇

容器

2篇

虚拟机

1篇

性能分析工具

1篇

THML

1篇

PHP

4篇

服务器

日志

架构

13篇

算法

Redis

1篇

队列

Mongodb

CDN/DNS

Nginx

1篇

设计模式

编码

1篇

加密

安全

1篇

面试

MQ

3篇

搜索

MAC

缓存

IO

1篇

Haproxy

2篇

LVS

2篇

socket

2篇

zookeeper

1篇

1篇

最新评论

Ethernet,TCP,IP协议简介

ww努力中:

写的非常明了,但是怎么没介绍Ethernet 的知识

php编写的抽奖程序中奖概率算法

aweii:

$randNum = mt_rand(1, $proSum);

这句好像应该放在循环外吧

Ethernet,TCP,IP协议简介

兴趣使然_:

清晰明了,太棒了

malloc 函数详解,虚拟内存与物理内存的联系与区别

۞边城浪子:

别太干了

malloc 函数详解,虚拟内存与物理内存的联系与区别

晨姐:

这明显就是拷贝了别人的东西,经典在哪里?

您愿意向朋友推荐“博客详情页”吗?

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

DNSSEC原理

Mysql分表和分区的区别、分库分表介绍与区别

mysql的分区

2019年34篇

2018年9篇

2017年51篇

目录

目录

分类专栏

js

17篇

linux

5篇

java

6篇

SQL

8篇

协议

7篇

其它

7篇

css

10篇

1篇

测试

1篇

版本控制

数据

3篇

容器

2篇

虚拟机

1篇

性能分析工具

1篇

THML

1篇

PHP

4篇

服务器

日志

架构

13篇

算法

Redis

1篇

队列

Mongodb

CDN/DNS

Nginx

1篇

设计模式

编码

1篇

加密

安全

1篇

面试

MQ

3篇

搜索

MAC

缓存

IO

1篇

Haproxy

2篇

LVS

2篇

socket

2篇

zookeeper

1篇

1篇

目录

评论 2

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

EthernetIP与TCP/IP的区别 - 技象科技

EthernetIP与TCP/IP的区别 - 技象科技

跳至内容

技象科技有限公司官方网站

技象天猫旗舰店技象天猫旗舰店

技象京东旗舰店技象京东旗舰店

IoT演示平台IoT演示平台

首页

解决方案

菜单切换

TPUNB®

城域物联网

菜单切换

智慧农业

环境监测

智慧停车

局域物联网

菜单切换

智慧楼宇

智慧养老

智慧照明

智慧能源

工业智控物联网

菜单切换

动环监控

终端自组网

菜单切换

自组网

产品终端

菜单切换

芯片产品

模组产品

网关产品

应用产品

云平台

关于我们

菜单切换

荣誉资质

合作伙伴

公司一览

招聘岗位

新闻资讯

菜单切换

公司新闻

下载专区

联系我们

首页

TPUNB®

物联网解决方案

菜单切换

城域物联网

局域物联网

工业智控物联网

终端自组网

物联网产品终端

菜单切换

芯片产品

模组产品

网关产品

物联网云平台

关于我们

菜单切换

荣誉资质

合作伙伴

公司新闻

联系我们

Main Menu

首页

TPUNB®

物联网解决方案

菜单切换

城域物联网

局域物联网

工业智控物联网

终端自组网

物联网产品终端

菜单切换

芯片产品

模组产品

网关产品

物联网云平台

关于我们

菜单切换

荣誉资质

合作伙伴

公司新闻

联系我们

技象科技首页 / 行业百科 / EthernetIP与TCP/IP的区别

EthernetIP与TCP/IP的区别作者:

技象物联网

/ 行业百科 / TCP协议 / 2023年9月30日 14:49:00 2023年9月30日 14:49:20

  EthernetIP和TCP/IP是两种不同的网络协议,它们在以太网网络中起着不同的作用。本文将探讨它们之间的差异,以便读者能够更好地了解它们。

EthernetIP

  EthernetIP(也称为Industrial Ethernet)是一种基于以太网的工业网络协议,它可以提供可靠性和实时性,可以应用于工业控制系统中。它由一组网络设备,如路由器,交换机,集线器和网络接口卡组成,可以提供高带宽,低延迟,高可靠性和实时性。

  EthernetIP的优势

  EthernetIP的优势在于它可以提供更高的数据传输速率,更低的延迟,更强的可靠性和实时性。它还可以通过更高的安全性和可靠性来保护数据,并且可以支持多种网络协议,如TCP/IP,UDP,HTTP等。

  EthernetIP的缺点

  EthernetIP的缺点在于它的成本比TCP/IP要高,因为它需要更多的网络设备来支持其功能。此外,它还需要一定的经验来配置和管理网络,因此可能不适合新手使用。

TCP/IP

  TCP/IP(传输控制协议/Internet协议)是一种常用的网络协议,它由一组计算机协议组成,可以在计算机网络中传输数据。它可以应用于各种网络,比如局域网,广域网等。

  TCP/IP的优势

  TCP/IP的优势在于它可以在不同的网络之间传输数据,并且可以支持多种协议,如HTTP,FTP,SMTP等。此外,它还可以提供更高的安全性和可靠性,以保护数据的完整性。

  TCP/IP的缺点

  TCP/IP的缺点在于它的数据传输速率较低,延迟较高,可靠性和实时性较差,因此不适合实时应用。此外,它也需要一定的经验来配置和管理网络,因此可能不适合新手使用。

总结

  EthernetIP和TCP/IP是两种不同的网络协议,它们在以太网网络中起着不同的作用。EthernetIP可以提供更高的数据传输速率,更低的延迟,更强的可靠性和实时性,但成本比TCP/IP要高。而TCP/IP可以在不同的网络之间传输数据,并可以支持多种协议,但数据传输速率较低,延迟较高,可靠性和实时性较差。因此,在选择网络协议时,应根据实际需求进行选择。

相关阅读:

Modbus TCP与TCP/IP的区别?

CAN和TCP/IP的区别

Modbus TCP与TCP/IP的区别

TCP/IP模型:网络交互的四层模型

原创声明:文章来自技象科技,如欲转载,请注明本文链接: https://www.techphant.cn/blog/44441.html

文章导航

← 前一篇文章后一篇文章 →

相关推荐

10月 2 2023

使用cmd接收tcp数据

11月 1 2023

Peofinet和TCP:区别和比较

10月 2 2023

Roboguide远程TCP设置

11月 4 2023

TCP快速重定向:简单、快捷的重定向方式

11月 4 2023

Codesys TCP:简介与应用

1月 12 2024

探索传输控制协议TCP

联系我们

广州技象科技有限公司聚焦物联网底层关键技术,打造100%自主知识产权的TPUNB物联专网,形成完备的物联感知系统参与各垂直行业的整体解决方案及项目建设。

品牌京东旗舰店

品牌天猫旗舰店

公司招聘岗位

免费技术咨询

站内资讯

喜欢组织和处理数据的艺术

2024年1月14日 20:31:52

物联网水泵远程控制系统原理

2023年7月1日 11:17:03

什么是Modbus串行协议?

2023年10月4日 07:43:05

智能电表到底准不准?

2023年10月11日 12:39:35

智慧畜牧是如何实现产品追溯的?

2023年6月11日 14:36:42

USB转232芯片:使用指南

2023年9月28日 16:31:49

处理UART通信中的小数

2023年10月31日 18:26:25

CAN标准帧与扩展帧区别

2024年1月3日 22:55:13

DTU和RTU的区别?

2023年5月24日 15:56:11

使用智慧灯杆照亮未来城市

2023年9月17日 16:03:35

站内标签

RS232

智慧农业

zigbee

RS422

通信系统

传感器

CAN通信

监测仪

无线通信

STM32

串口通信

无线模块

物联网

Modbus

DTU

RS485

电子技术

LoRa

UART

USB

最新资讯

频域特征参数有哪些

路径损耗公式中,路径损耗随传输距离如何变化

无线电波的发射和接收过程

工业数据采集器的作用有哪些

广域网采用什么拓扑结构

芯片封装工艺流程

物联网通信技术有哪些应用场景

ISP芯片和SoC芯片有什么区别

产品服务

TPUNB®

城域物联网

局域物联网

工业智控物联网

终端自组网

芯片产品

模组产品

网关产品

技象科技成立于2018年,是中国电子科技集团公司科技成果转化和混合所有制改革的科技企业。

服务条款隐私政策关于我们联系我们

© 2024  广州技象科技有限公司 版权所有 粤ICP备19000791号-2

首页 | 隐私政策 | 关于我们 | 联系我们 | 网站地图

免费咨询组网方案

工业以太网三剑客之——EtherNet/IP - 知乎

工业以太网三剑客之——EtherNet/IP - 知乎首发于编程456切换模式写文章登录/注册工业以太网三剑客之——EtherNet/IPPou光明Linux 、嵌入式 C 、Qt1、什么是EtherNet/IP ?EtherNet/IP 是通用工业协议 (CIP) 的名称,通过标准实现以太网(IEEE 802.3 和 TCP/IP 协议套件)。EtherNet/IP 于 2001 年推出,如今已成为最成熟、最成熟、最完整的工业协议EtherNet/IP 是以下家族的成员在其上层实施 CIP 的网络(图1)。EtherNet/IP 和 CIP 由 ODVA 管理。 ODVA 发布 EtherNet/IP™ 规范并帮助通过一致性测试确保合规性。DeviceNet, CompoNet & ControlNet share the same CIP application layer with EtherNet/IP2、什么是CIP ?Common Industrial Protocol (CIP)是一个独立于媒体、基于连接、面向对象的协议,专为自动化应用而设计。CIP为用户提供了整个制造企业的统一通信架构。“EtherNet/IP”中的“IP”指的是Industrial Protocol(工业协议)。 EtherNet/IP 在标准 IEEE 802.3 和 TCP/IP 协议套件上利用 CIP(图2)。CIP完全兼容以太网和互联网协议支持多协议EtherNet/IP和OSI 对比3、什么是ODVA ?ODVA 是一个国际协会,成员来自世界领先的自动化公司。 总的来说,ODVA 和其成员支持基于通用协议的网络技术工业协议 (CIP™)。ODVA 本身成立于 1995 年,是一个由 Rockwell Automation(罗克韦尔.美国)、Cisco(思科.美国)、Schneider Electric(施耐德.法国)、Omron(欧姆龙.日本) 和 Bosch Rexroth(博世力士乐.德国) 等自动化公司组成的联合体,旨在推动工业自动化的开放和可互操作通信。根据 ODVA 的数据,EtherNet/IP 在工业以太网采用中处于领导地位,2017 年占 25% 的市场份额,2018 年占 28% 的市场份额。4、逐鹿世界2023年,PROFINET和EtherNet/IP各占18%并列第一,EtherCAT以12%紧随其后。在欧洲和中东地区,EtherNet/IP、PROFINET和EtherCAT处于领先地位,其次是PROFIBUS和Modbus-TCP。美国市场由EtherNet/IP主导,EtherCAT发展势头强劲,市场份额不断扩大。亚洲市场相对分化,PROFINET的市场份额最高,其次是EtherNet/IP,而CC-Link/CC-Link IE Field、EtherCAT、PROFIBUS和Modbus(RTU/TCP)也是强有力的竞争者。5、实际使用对于PLC而言,直接加载eds文件就行了。刚刚现场负责集成的兄弟打电话在沟通问题,中国制造业的工程师很辛苦,追赶之路道阻且长。最后,前3个问题均摘自于《PUB00213R0_EtherNetIP_Developers_Guide》。有需要的小伙伴可在公众号后台留言。发布于 2023-08-01 20:36・IP 属地江苏工业以太网​赞同​​添加评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录编程456分享我的编程

太厉害了,终于有人能把TCP/IP 协议讲的明明白白了 - 知乎

太厉害了,终于有人能把TCP/IP 协议讲的明明白白了 - 知乎首发于iOS开发——BAT面试题/技术文章合集切换模式写文章登录/注册太厉害了,终于有人能把TCP/IP 协议讲的明明白白了iOSer本文篇幅也比较长,先来一张思维导图,带大家过一遍。一、 计算机网络体系结构分层再者就是资源共享作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:413038000,不管你是大牛还是小白都欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!推荐阅读iOS开发——最新 BAT面试题合集(持续更新中)不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。二、 TCP/IP 基础1. TCP/IP 的具体含义从字面意义上讲,有人可能会认为 TCP/IP 是指 TCP 和 IP 两种协议。实际生活当中有时也确实就是指这两种协议。然而在很多情况下,它只是利用 IP 进行通信时所必须用到的协议群的统称。具体来说,IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都属于 TCP/IP 协议。他们与 TCP 或 IP 的关系紧密,是互联网必不可少的组成部分。TCP/IP 一词泛指这些协议,因此,有时也称 TCP/IP 为网际协议群。互联网进行通信时,需要相应的网络协议,TCP/IP 原本就是为使用互联网而开发制定的协议族。因此,互联网的协议就是 TCP/IP,TCP/IP 就是互联网的协议。2. 数据包包、帧、数据包、段、消息以上五个术语都用来表述数据的单位,大致区分如下:包可以说是全能性术语;帧用于表示数据链路层中包的单位;数据包是 IP 和 UDP 等网络层以上的分层中包的单位;段则表示 TCP 数据流中的信息;消息是指应用协议中数据的单位。每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址以及协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。在下一层的角度看,从上一层收到的包全部都被认为是本层的数据。网络中传输的数据包由两部分组成:一部分是协议所要用到的首部,另一部分是上一层传过来的数据。首部的结构由协议的具体规范详细定义。在数据包的首部,明确标明了协议应该如何读取数据。反过来说,看到首部,也就能够了解该协议必要的信息以及所要处理的数据。包首部就像协议的脸。3. 数据处理流程下图以用户 a 向用户 b 发送邮件为例子:① 应用程序处理首先应用程序会进行编码处理,这些编码相当于 OSI 的表示层功能;编码转化后,邮件不一定马上被发送出去,这种何时建立通信连接何时发送数据的管理功能,相当于 OSI 的会话层功能。② TCP 模块的处理TCP 根据应用的指示,负责建立连接、发送数据以及断开连接。TCP 提供将应用层发来的数据顺利发送至对端的可靠传输。为了实现这一功能,需要在应用层数据的前端附加一个 TCP 首部。③ IP 模块的处理IP 将 TCP 传过来的 TCP 首部和 TCP 数据合起来当做自己的数据,并在 TCP 首部的前端加上自己的 IP 首部。IP 包生成后,参考路由控制表决定接受此 IP 包的路由或主机。④ 网络接口(以太网驱动)的处理从 IP 传过来的 IP 包对于以太网来说就是数据。给这些数据附加上以太网首部并进行发送处理,生成的以太网数据包将通过物理层传输给接收端。⑤ 网络接口(以太网驱动)的处理主机收到以太网包后,首先从以太网包首部找到 MAC 地址判断是否为发送给自己的包,若不是则丢弃数据。如果是发送给自己的包,则从以太网包首部中的类型确定数据类型,再传给相应的模块,如 IP、ARP 等。这里的例子则是 IP 。⑥ IP 模块的处理IP 模块接收到 数据后也做类似的处理。从包首部中判断此 IP 地址是否与自己的 IP 地址匹配,如果匹配则根据首部的协议类型将数据发送给对应的模块,如 TCP、UDP。这里的例子则是 TCP。另外吗,对于有路由器的情况,接收端地址往往不是自己的地址,此时,需要借助路由控制表,在调查应该送往的主机或路由器之后再进行转发数据。⑦ TCP 模块的处理在 TCP 模块中,首先会计算一下校验和,判断数据是否被破坏。然后检查是否在按照序号接收数据。最后检查端口号,确定具体的应用程序。数据被完整地接收以后,会传给由端口号识别的应用程序。⑧ 应用程序的处理接收端应用程序会直接接收发送端发送的数据。通过解析数据,展示相应的内容。三、传输层中的 TCP 和 UDPTCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP。TCP 是面向连接的、可靠的流协议。流就是指不间断的数据结构,当应用程序采用 TCP 发送消息时,虽然可以保证发送的顺序,但还是犹如没有任何间隔的数据流发送给接收端。TCP 为提供可靠性传输,实行“顺序控制”或“重发控制”机制。此外还具备“流控制(流量控制)”、“拥塞控制”、提高网络利用率等众多功能。UDP 是不具有可靠性的数据报协议。细微的处理它会交给上层的应用去完成。在 UDP 的情况下,虽然可以确保发送消息的大小,却不能保证消息一定会到达。因此,应用有时会根据自己的需要进行重发处理。TCP 和 UDP 的优缺点无法简单地、绝对地去做比较:TCP 用于在传输层有必要实现可靠传输的情况;而在一方面,UDP 主要用于那些对高速传输和实时性有较高要求的通信或广播通信。TCP 和 UDP 应该根据应用的目的按需使用。1. 端口号数据链路和 IP 中的地址,分别指的是 MAC 地址和 IP 地址。前者用来识别同一链路中不同的计算机,后者用来识别 TCP/IP 网络中互连的主机和路由器。在传输层也有这种类似于地址的概念,那就是端口号。端口号用来识别同一台计算机中进行通信的不同应用程序。因此,它也被称为程序地址。1.1 根据端口号识别应用一台计算机上同时可以运行多个程序。传输层协议正是利用这些端口号识别本机中正在进行通信的应用程序,并准确地将数据传输。1.2 通过 IP 地址、端口号、协议号进行通信识别仅凭目标端口号识别某一个通信是远远不够的。① 和② 的通信是在两台计算机上进行的。它们的目标端口号相同,都是80。这里可以根据源端口号加以区分。③ 和 ① 的目标端口号和源端口号完全相同,但它们各自的源 IP 地址不同。此外,当 IP 地址和端口号全都一样时,我们还可以通过协议号来区分(TCP 和 UDP)。1.3 端口号的确定标准既定的端口号:这种方法也叫静态方法。它是指每个应用程序都有其指定的端口号。但并不是说可以随意使用任何一个端口号。例如 HTTP、FTP、TELNET 等广为使用的应用协议中所使用的端口号就是固定的。这些端口号被称为知名端口号,分布在 0~1023 之间;除知名端口号之外,还有一些端口号被正式注册,它们分布在 1024~49151 之间,不过这些端口号可用于任何通信用途。时序分配法:服务器有必要确定监听端口号,但是接受服务的客户端没必要确定端口号。在这种方法下,客户端应用程序完全可以不用自己设置端口号,而全权交给操作系统进行分配。动态分配的端口号范围在 49152~65535 之间。1.4 端口号与协议端口号由其使用的传输层协议决定。因此,不同的传输层协议可以使用相同的端口号。此外,那些知名端口号与传输层协议并无关系。只要端口一致都将分配同一种应用程序进行处理。2. UDPUDP 不提供复杂的控制机制,利用 IP 提供面向无连接的通信服务。并且它是将应用程序发来的数据在收到的那一刻,立即按照原样发送到网络上的一种机制。即使是出现网络拥堵的情况,UDP 也无法进行流量控制等避免网络拥塞行为。此外,传输途中出现丢包,UDP 也不负责重发。甚至当包的到达顺序出现乱序时也没有纠正的功能。如果需要以上的细节控制,不得不交由采用 UDP 的应用程序去处理。UDP 常用于一下几个方面:1.包总量较少的通信(DNS、SNMP等);2.视频、音频等多媒体通信(即时通信);3.限定于 LAN 等特定网络中的应用通信;4.广播通信(广播、多播)。3. TCPTCP 与 UDP 的区别相当大。它充分地实现了数据传输时各种控制功能,可以进行丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。而这些在 UDP 中都没有。此外,TCP 作为一种面向有连接的协议,只有在确认通信对端存在时才会发送数据,从而可以控制通信流量的浪费。根据 TCP 的这些机制,在 IP 这种无连接的网络上也能够实现高可靠性的通信( 主要通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现)。3.1 三次握手(重点)TCP 提供面向有连接的通信传输。面向有连接是指在数据通信开始之前先做好两端之间的准备工作。所谓三次握手是指建立一个 TCP 连接时需要客户端和服务器端总共发送三个包以确认连接的建立。在socket编程中,这一过程由客户端执行connect来触发。下面来看看三次握手的流程图:第一次握手:客户端将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给服务器端,客户端进入SYN_SENT状态,等待服务器端确认。第二次握手:服务器端收到数据包后由标志位SYN=1知道客户端请求建立连接,服务器端将标志位SYN和ACK都置为1,ack=J+1,随机产生一个值seq=K,并将该数据包发送给客户端以确认连接请求,服务器端进入SYN_RCVD状态。第三次握手:客户端收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给服务器端,服务器端检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,客户端和服务器端进入ESTABLISHED状态,完成三次握手,随后客户端与服务器端之间可以开始传输数据了。3.2 四次挥手(重点)四次挥手即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。在socket编程中,这一过程由客户端或服务端任一方执行close来触发。由于TCP连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这一方向也发送了FIN。首先进行关闭的一方将执行主动关闭,而另一方则执行被动关闭。下面来看看四次挥手的流程图:中断连接端可以是客户端,也可以是服务器端。第一次挥手:客户端发送一个FIN=M,用来关闭客户端到服务器端的数据传送,客户端进入FIN_WAIT_1状态。意思是说"我客户端没有数据要发给你了",但是如果你服务器端还有数据没有发送完成,则不必急着关闭连接,可以继续发送数据。第二次挥手:服务器端收到FIN后,先发送ack=M+1,告诉客户端,你的请求我收到了,但是我还没准备好,请继续你等我的消息。这个时候客户端就进入FIN_WAIT_2 状态,继续等待服务器端的FIN报文。第三次挥手:当服务器端确定数据已发送完成,则向客户端发送FIN=N报文,告诉客户端,好了,我这边数据发完了,准备好关闭连接了。服务器端进入LAST_ACK状态。第四次挥手:客户端收到FIN=N报文后,就知道可以关闭连接了,但是他还是不相信网络,怕服务器端不知道要关闭,所以发送ack=N+1后进入TIME_WAIT状态,如果Server端没有收到ACK则可以重传。服务器端收到ACK后,就知道可以断开连接了。客户端等待了2MSL后依然没有收到回复,则证明服务器端已正常关闭,那好,我客户端也可以关闭连接了。最终完成了四次握手。上面是一方主动关闭,另一方被动关闭的情况,实际中还会出现同时发起主动关闭的情况,具体流程如下图:3.3 通过序列号与确认应答提高可靠性在 TCP 中,当发送端的数据到达接收主机时,接收端主机会返回一个已收到消息的通知。这个消息叫做确认应答(ACK)。当发送端将数据发出之后会等待对端的确认应答。如果有确认应答,说明数据已经成功到达对端。反之,则数据丢失的可能性很大。在一定时间内没有等待到确认应答,发送端就可以认为数据已经丢失,并进行重发。由此,即使产生了丢包,仍然能够保证数据能够到达对端,实现可靠传输。未收到确认应答并不意味着数据一定丢失。也有可能是数据对方已经收到,只是返回的确认应答在途中丢失。这种情况也会导致发送端误以为数据没有到达目的地而重发数据。此外,也有可能因为一些其他原因导致确认应答延迟到达,在源主机重发数据以后才到达的情况也屡见不鲜。此时,源主机只要按照机制重发数据即可。对于目标主机来说,反复收到相同的数据是不可取的。为了对上层应用提供可靠的传输,目标主机必须放弃重复的数据包。为此我们引入了序列号。序列号是按照顺序给发送数据的每一个字节(8位字节)都标上号码的编号。接收端查询接收数据 TCP 首部中的序列号和数据的长度,将自己下一步应该接收的序列号作为确认应答返送回去。通过序列号和确认应答号,TCP 能够识别是否已经接收数据,又能够判断是否需要接收,从而实现可靠传输。3.4 重发超时的确定重发超时是指在重发数据之前,等待确认应答到来的那个特定时间间隔。如果超过这个时间仍未收到确认应答,发送端将进行数据重发。最理想的是,找到一个最小时间,它能保证“确认应答一定能在这个时间内返回”。TCP 要求不论处在何种网络环境下都要提供高性能通信,并且无论网络拥堵情况发生何种变化,都必须保持这一特性。为此,它在每次发包时都会计算往返时间及其偏差。将这个往返时间和偏差时间相加,重发超时的时间就是比这个总和要稍大一点的值。在 BSD 的 Unix 以及 Windows 系统中,超时都以0.5秒为单位进行控制,因此重发超时都是0.5秒的整数倍。不过,最初其重发超时的默认值一般设置为6秒左右。数据被重发之后若还是收不到确认应答,则进行再次发送。此时,等待确认应答的时间将会以2倍、4倍的指数函数延长。此外,数据也不会被无限、反复地重发。达到一定重发次数之后,如果仍没有任何确认应答返回,就会判断为网络或对端主机发生了异常,强制关闭连接。并且通知应用通信异常强行终止。3.5 以段为单位发送数据在建立 TCP 连接的同时,也可以确定发送数据包的单位,我们也可以称其为“最大消息长度”(MSS)。最理想的情况是,最大消息长度正好是 IP 中不会被分片处理的最大数据长度。TCP 在传送大量数据时,是以 MSS 的大小将数据进行分割发送。进行重发时也是以 MSS 为单位。MSS 在三次握手的时候,在两端主机之间被计算得出。两端的主机在发出建立连接的请求时,会在 TCP 首部中写入 MSS 选项,告诉对方自己的接口能够适应的 MSS 的大小。然后会在两者之间选择一个较小的值投入使用。3.6 利用窗口控制提高速度TCP 以1个段为单位,每发送一个段进行一次确认应答的处理。这样的传输方式有一个缺点,就是包的往返时间越长通信性能就越低。为解决这个问题,TCP 引入了窗口这个概念。确认应答不再是以每个分段,而是以更大的单位进行确认,转发时间将会被大幅地缩短。也就是说,发送端主机,在发送了一个段以后不必要一直等待确认应答,而是继续发送。如下图所示:窗口大小就是指无需等待确认应答而可以继续发送数据的最大值。上图中窗口大小为4个段。这个机制实现了使用大量的缓冲区,通过对多个段同时进行确认应答的功能。3.7 滑动窗口控制上图中的窗口内的数据即便没有收到确认应答也可以被发送出去。不过,在整个窗口的确认应答没有到达之前,如果其中部分数据出现丢包,那么发送端仍然要负责重传。为此,发送端主机需要设置缓存保留这些待被重传的数据,直到收到他们的确认应答。在滑动窗口以外的部分包括未发送的数据以及已经确认对端已收到的数据。当数据发出后若如期收到确认应答就可以不用再进行重发,此时数据就可以从缓存区清除。收到确认应答的情况下,将窗口滑动到确认应答中的序列号的位置。这样可以顺序地将多个段同时发送提高通信性能。这种机制也别称为滑动窗口控制。3.8 窗口控制中的重发控制在使用窗口控制中, 出现丢包一般分为两种情况:① 确认应答未能返回的情况。在这种情况下,数据已经到达对端,是不需要再进行重发的,如下图:② 某个报文段丢失的情况。接收主机如果收到一个自己应该接收的序列号以外的数据时,会针对当前为止收到数据返回确认应答。如下图所示,当某一报文段丢失后,发送端会一直收到序号为1001的确认应答,因此,在窗口比较大,又出现报文段丢失的情况下,同一个序列号的确认应答将会被重复不断地返回。而发送端主机如果连续3次收到同一个确认应答,就会将其对应的数据进行重发。这种机制比之前提到的超时管理更加高效,因此也被称为高速重发控制。四、网络层中的 IP 协议IP(IPv4、IPv6)相当于 OSI 参考模型中的第3层——网络层。网络层的主要作用是“实现终端节点之间的通信”。这种终端节点之间的通信也叫“点对点通信”。网络的下一层——数据链路层的主要作用是在互连同一种数据链路的节点之间进行包传递。而一旦跨越多种数据链路,就需要借助网络层。网络层可以跨越不同的数据链路,即使是在不同的数据链路上也能实现两端节点之间的数据包传输。IP 大致分为三大作用模块,它们是 IP 寻址、路由(最终节点为止的转发)以及 IP 分包与组包。1. IP 地址1.1 IP 地址概述在计算机通信中,为了识别通信对端,必须要有一个类似于地址的识别码进行标识。在数据链路中的 MAC 地址正是用来标识同一个链路中不同计算机的一种识别码。作为网络层的 IP ,也有这种地址信息,一般叫做 IP 地址。IP 地址用于在“连接到网络中的所有主机中识别出进行通信的目标地址”。因此,在 TCP/IP 通信中所有主机或路由器必须设定自己的 IP 地址。不论一台主机与哪种数据链路连接,其 IP 地址的形式都保持不变。IP 地址(IPv4 地址)由32位正整数来表示。IP 地址在计算机内部以二进制方式被处理。然而,由于我们并不习惯于采用二进制方式,我们将32位的 IP 地址以每8位为一组,分成4组,每组以 “.” 隔开,再将每组数转换成十进制数。如下:2828282810101100000101000000000100000001(2进制)10101100.00010100.00000001.00000001(2进制)172.20.1.1(10进制)1.2 IP 地址由网络和主机两部分标识组成如下图,网络标识在数据链路的每个段配置不同的值。网络标识必须保证相互连接的每个段的地址不相重复。而相同段内相连的主机必须有相同的网络地址。IP 地址的“主机标识”则不允许在同一个网段内重复出现。由此,可以通过设置网络地址和主机地址,在相互连接的整个网络中保证每台主机的 IP 地址都不会相互重叠。即 IP 地址具有了唯一性。如下图,IP 包被转发到途中某个路由器时,正是利用目标 IP 地址的网络标识进行路由。因为即使不看主机标识,只要一见到网络标识就能判断出是否为该网段内的主机。1.3 IP 地址的分类IP 地址分为四个级别,分别为A类、B类、C类、D类。它根据 IP 地址中从第 1 位到第 4 位的比特列对其网络标识和主机标识进行区分。A 类 IP 地址是首位以 “0” 开头的地址。从第 1 位到第 8 位是它的网络标识。用十进制表示的话,0.0.0.0~127.0.0.0 是 A 类的网络地址。A 类地址的后 24 位相当于主机标识。因此,一个网段内可容纳的主机地址上限为16,777,214个。B 类 IP 地址是前两位 “10” 的地址。从第 1 位到第 16 位是它的网络标识。用十进制表示的话,128.0.0.0~191.255.0.0 是 B 类的网络地址。B 类地址的后 16 位相当于主机标识。因此,一个网段内可容纳的主机地址上限为65,534个。C 类 IP 地址是前三位为 “110” 的地址。从第 1 位到第 24 位是它的网络标识。用十进制表示的话,192.0.0.0~223.255.255.0 是 C 类的网络地址。C 类地址的后 8 位相当于主机标识。因此,一个网段内可容纳的主机地址上限为254个。D 类 IP 地址是前四位为 “1110” 的地址。从第 1 位到第 32 位是它的网络标识。用十进制表示的话,224.0.0.0~239.255.255.255 是 D 类的网络地址。D 类地址没有主机标识,常用于多播。在分配 IP 地址时关于主机标识有一点需要注意。即要用比特位表示主机地址时,不可以全部为 0 或全部为 1。因为全部为 0 只有在表示对应的网络地址或 IP 地址不可以获知的情况下才使用。而全部为 1 的主机通常作为广播地址。因此,在分配过程中,应该去掉这两种情况。这也是为什么 C 类地址每个网段最多只能有 254( 28 - 2 = 254)个主机地址的原因。1.4 广播地址广播地址用于在同一个链路中相互连接的主机之间发送数据包。将 IP 地址中的主机地址部分全部设置为 1,就成了广播地址。广播分为本地广播和直接广播两种。在本网络内的广播叫做本地广播;在不同网络之间的广播叫做直接广播。1.5 IP 多播多播用于将包发送给特定组内的所有主机。由于其直接使用 IP 地址,因此也不存在可靠传输。相比于广播,多播既可以穿透路由器,又可以实现只给那些必要的组发送数据包。请看下图:多播使用 D 类地址。因此,如果从首位开始到第 4 位是 “1110”,就可以认为是多播地址。而剩下的 28 位可以成为多播的组编号。此外, 对于多播,所有的主机(路由器以外的主机和终端主机)必须属于 224.0.0.1 的组,所有的路由器必须属于 224.0.0.2 的组。1.6 子网掩码现在一个 IP 地址的网络标识和主机标识已不再受限于该地址的类别,而是由一个叫做“子网掩码”的识别码通过子网网络地址细分出比 A 类、B 类、C 类更小粒度的网络。这种方式实际上就是将原来 A 类、B 类、C 类等分类中的主机地址部分用作子网地址,可以将原网络分为多个物理网络的一种机制。子网掩码用二进制方式表示的话,也是一个 32 位的数字。它对应 IP 地址网络标识部分的位全部为 “1”,对应 IP 地址主机标识的部分则全部为 “0”。由此,一个 IP 地址可以不再受限于自己的类别,而是可以用这样的子网掩码自由地定位自己的网络标识长度。当然,子网掩码必须是 IP 地址的首位开始连续的 “1”。对于子网掩码,目前有两种表示方式。第一种是,将 IP 地址与子网掩码的地址分别用两行来表示。以 172.20.100.52 的前 26 位是网络地址的情况为例,如下:IP 地址172.20.100.52子网掩码255.255.255.192网络地址172.20.100.0子网掩码255.255.255.192广播地址172.20.100.63子网掩码255.255.255.192第二种表示方式是,在每个 IP 地址后面追加网络地址的位数用 “/ ” 隔开,如下:IP 地址172.20.100.52/ 26网络地址172.20.100.0/ 26广播地址172.20.100.63/ 26另外,在第二种方式下记述网络地址时可以省略后面的 “0” 。例如:172.20.0.0/26 跟 172.20/26 其实是一个意思。2. 路由发送数据包时所使用的地址是网络层的地址,即 IP 地址。然而仅仅有 IP 地址还不足以实现将数据包发送到对端目标地址,在数据发送过程中还需要类似于“指明路由器或主机”的信息,以便真正发往目标地址。保存这种信息的就是路由控制表。该路由控制表的形成方式有两种:一种是管理员手动设置,另一种是路由器与其他路由器相互交换信息时自动刷新。前者也叫做静态路由控制,而后者叫做动态路由控制。IP 协议始终认为路由表是正确的。然后,IP 本身并没有定义制作路由控制表的协议。即 IP 没有制作路由控制表的机制。该表示由一个叫做“路由协议”的协议制作而成。2.1 IP 地址与路由控制IP 地址的网络地址部分用于进行路由控制。路由控制表中记录着网络地址与下一步应该发送至路由器的地址。在发送 IP 包时,首先要确定 IP 包首部中的目标地址,再从路由控制表中找到与该地址具有相同网络地址的记录,根据该记录将 IP 包转发给相应的下一个路由器。如果路由控制表中存在多条相同网络地址的记录,就选择一个最为吻合的网络地址。3. IP 分包与组包每种数据链路的最大传输单元(MTU)都不尽相同,因为每个不同类型的数据链路的使用目的不同。使用目的不同,可承载的 MTU 也就不同。任何一台主机都有必要对 IP 分片进行相应的处理。分片往往在网络上遇到比较大的报文无法一下子发送出去时才会进行处理。经过分片之后的 IP 数据报在被重组的时候,只能由目标主机进行。路由器虽然做分片但不会进行重组。3.1 路径 MTU 发现分片机制也有它的不足。如路由器的处理负荷加重之类。因此,只要允许,是不希望由路由器进行 IP 数据包的分片处理的。为了应对分片机制的不足,“路径 MTU 发现” 技术应运而生。路径 MTU 指的是,从发送端主机到接收端主机之间不需要分片是最大 MTU 的大小。即路径中存在的所有数据链路中最小的 MTU 。进行路径 MTU 发现,就可以避免在中途的路由器上进行分片处理,也可以在 TCP 中发送更大的包。4. IPv6IPv6(IP version 6)是为了根本解决 IPv4 地址耗尽的问题而被标准化的网际协议。IPv4 的地址长度为 4 个 8 位字节,即 32 比特。而 IPv6 的地址长度则是原来的 4 倍,即 128 比特,一般写成 8 个 16 位字节。4.1 IPv6 的特点IP 得知的扩大与路由控制表的聚合。性能提升。包首部长度采用固定的值(40字节),不再采用首部检验码。简化首部结构,减轻路由器负担。路由器不再做分片处理。支持即插即用功能。即使没有DHCP服务器也可以实现自动分配 IP 地址。采用认证与加密功能。应对伪造 IP 地址的网络安全功能以及防止线路窃听的功能。多播、Mobile IP 成为扩展功能。4.2 IPv6 中 IP 地址的标记方法一般人们将 128 比特 IP 地址以每 16 比特为一组,每组用冒号(“:”)隔开进行标记。而且如果出现连续的 0 时还可以将这些 0 省略,并用两个冒号(“::”)隔开。但是,一个 IP 地址中只允许出现一次两个连续的冒号。4.3 IPv6 地址的结构IPv6 类似 IPv4,也是通过 IP 地址的前几位标识 IP 地址的种类。在互联网通信中,使用一种全局的单播地址。它是互联网中唯一的一个地址,不需要正式分配 IP 地址。未定义0000 ... 0000(128比特)::/ 128环回地址0000 ... 0001(128比特)::1 / 128唯一本地地址1111 110FC00:/ 7链路本地单播地址1111 1110 10FE80::/ 10多播地址1111 1111FF00::/ 8全局单播地址(其他)4.4 全局单播地址全局单播地址是指世界上唯一的一个地址。它是互联网通信以及各个域内部通信中最为常用的一个 IPv6 地址。格式如下图所示,现在 IPv6 的网络中所使用的格式为,n = 48,m = 16 以及 128 - n - m = 64。即前 64 比特为网络标识,后 64 比特为主机标识。4.5 链路本地单播地址链路本地单播地址是指在同一个数据链路内唯一的地址。它用于不经过路由器,在同一个链路中的通信。通常接口 ID 保存 64 比特版的 MAC 地址。4.6 唯一本地地址唯一本地地址是不进行互联网通信时所用的地址。唯一本地地址虽然不会与互联网连接,但是也会尽可能地随机生成一个唯一的全局 ID。L 通常被置为 1全局 ID 的值随机决定子网 ID 是指该域子网地址接口 ID 即为接口的 ID4.7 IPv6 分段处理IPv6 的分片处理只在作为起点的发送端主机上进行,路由器不参与分片。IPv6 中最小 MTU 为 1280 字节,因此,在嵌入式系统中对于那些有一定系统资源限制的设备来说,不需要进行“路径 MTU 发现”,而是在发送 IP 包时直接以 1280 字节为单位分片送出。4.8 IP 首部(暂略)5. IP 协议相关技术IP 旨在让最终目标主机收到数据包,但是在这一过程中仅仅有 IP 是无法实现通信的。必须还有能够解析主机名称和 MAC 地址的功能,以及数据包在发送过程中异常情况处理的功能。5.1 DNS我们平常在访问某个网站时不适用 IP 地址,而是用一串由罗马字和点号组成的字符串。而一般用户在使用 TCP/IP 进行通信时也不使用 IP 地址。能够这样做是因为有了 DNS (Domain Name System)功能的支持。DNS 可以将那串字符串自动转换为具体的 IP 地址。这种 DNS 不仅适用于 IPv4,还适用于 IPv6。5.2 ARP只要确定了 IP 地址,就可以向这个目标地址发送 IP 数据报。然而,在底层数据链路层,进行实际通信时却有必要了解每个 IP 地址所对应的 MAC 地址。ARP 是一种解决地址问题的协议。以目标 IP 地址为线索,用来定位下一个应该接收数据分包的网络设备对应的 MAC 地址。不过 ARP 只适用于 IPv4,不能用于 IPv6。IPv6 中可以用 ICMPv6 替代 ARP 发送邻居探索消息。RARP 是将 ARP 反过来,从 MAC 地址定位 IP 地址的一种协议。5.3 ICMPICMP 的主要功能包括,确认 IP 包是否成功送达目标地址,通知在发送过程当中 IP 包被废弃的具体原因,改善网络设置等。IPv4 中 ICMP 仅作为一个辅助作用支持 IPv4。也就是说,在 IPv4 时期,即使没有 ICMP,仍然可以实现 IP 通信。然而,在 IPv6 中,ICMP 的作用被扩大,如果没有 ICMPv6,IPv6 就无法进行正常通信。5.4 DHCP如果逐一为每一台主机设置 IP 地址会是非常繁琐的事情。特别是在移动使用笔记本电脑、只能终端以及平板电脑等设备时,每移动到一个新的地方,都要重新设置 IP 地址。于是,为了实现自动设置 IP 地址、统一管理 IP 地址分配,就产生了 DHCP(Dynamic Host Configuration Protocol)协议。有了 DHCP,计算机只要连接到网络,就可以进行 TCP/IP 通信。也就是说,DHCP 让即插即用变得可能。DHCP 不仅在 IPv4 中,在 IPv6 中也可以使用。5.5 NATNAT(Network Address Translator)是用于在本地网络中使用私有地址,在连接互联网时转而使用全局 IP 地址的技术。除转换 IP 地址外,还出现了可以转换 TCP、UDP 端口号的 NAPT(Network Address Ports Translator)技术,由此可以实现用一个全局 IP 地址与多个主机的通信。NAT(NAPT)实际上是为正在面临地址枯竭的 IPv4 而开发的技术。不过,在 IPv6 中为了提高网络安全也在使用 NAT,在 IPv4 和 IPv6 之间的相互通信当中常常使用 NAT-PT。5.6 IP 隧道如上图的网络环境中,网络 A 与网络 B 之间无法直接进行通信,为了让它们之间正常通信,这时必须得采用 IP 隧道的功能。IP 隧道可以将那些从网络 A 发过来的 IPv6 的包统合为一个数据,再为之追加一个 IPv4 的首部以后转发给网络 C。一般情况下,紧接着 IP 首部的是 TCP 或 UDP 的首部。然而,现在的应用当中“ IP 首部的后面还是 IP 首部”或者“ IP 首部的后面是 IPv6 的首部”等情况与日俱增。这种在网络层的首部后面追加网络层首部的通信方法就叫做“ IP 隧道”。作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:413038000,不管你是大牛还是小白都欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!作者:涤生_Woo链接:https://www.jianshu.com/p/9f3e879a4c9c编辑于 2020-09-08 13:30网络协议TCP/IP程序员​赞同 3654​​70 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录iOS开发——BAT面试题/技术文章合集iOS技术交流群:413038000 期待你的加入epol

EtherNET/IP和TCP的区别 - CSDN文库

rNET/IP和TCP的区别 - CSDN文库

首页EtherNET/IP和TCP的区别 EtherNET/IP和TCP的区别 时间: 2023-05-23 14:06:17 浏览: 1007 A:Ethernet/IP是一种基于以太网的工业通信协议,而TCP是传输控制协议。Ethernet/IP是建立在TCP/IP上的协议之一,它使用一种称为Industrial Protocol(IP)的标准通信协议,可以支持实时控制和数据传输。而TCP是一种可靠的传输协议,它负责把数据分段并封装成IP数据包,并在传输过程中保证数据的可靠性,从而确保数据的准确性和完整性。因此,Ethernet/IP和TCP是在不同的层次上工作,并且有着不同的作用。Ethernet/IP用于在工业控制系统中实现实时数据通信和控制,而TCP则用于在普通的计算机网络中实现可靠的数据传输。 相关问题 ethernet和ethernet/ip有什么区别 Ethernet是一种局域网技术,它定义了物理层和数据链路层规范,用于在局域网中传输数据。Ethernet/IP是一种基于Ethernet的工业自动化协议,它是一种工业通信协议,用于在工业自动化领域中传输数据。

主要区别如下:

1. Ethernet是一种通用的局域网技术,而Ethernet/IP是专门针对工业自动化领域的协议。

2. Ethernet只定义了物理层和数据链路层规范,而Ethernet/IP定义了更高层次的协议,包括网络层和应用层。

3. Ethernet主要用于互联网络设备,而Ethernet/IP主要用于工业自动化设备之间的通信。

4. Ethernet支持各种传输速率和物理媒介,而Ethernet/IP通常使用TCP/IP协议栈进行数据传输。

5. Ethernet/IP支持实时数据传输和工业控制应用,而Ethernet主要用于普通数据传输和网络连接。EtherNet/IP 协议结构和TCPIP区别 EtherNet/IP是一种用于工业 相关推荐 EtherNet-IP(中文版)_Edition1.2 关于EtherNet/IP报文格式和CIP的适配 中文版!花了不少人民币翻译的,翻译的很靠谱!

EtherNet/IP Adaptation of CIP Ethernet/ip协议 EtherNet/IP(ethernet/Industrial Protocol)是由洛克威尔自动化公司开发的工业以太网通讯协定,由开放DeviceNet厂商协会(ODVA)管理,可应用在程序控制及其他自动化的应用中,是通用工业协定(CIP)中的一部分.

Ethernet/IP允许工业设备实时的交换应用信息. 采用生产者/消费者模型实时交换控制数据。Ethernet/IP使用标准的IEEE802.3技术.采用TCP/IP技术传输CIP报文 工业以太网协议EtherNetIP 工业以太网协议EtherNetIP ethernet/IP 教程 2. 了解TCP/IP协议:Ethernet/IP是一种应用层协议,其下层协议是TCP/IP。因此需要先了解TCP/IP协议的基本知识。 3. 学习Ethernet/IP协议的基本概念:包括网络拓扑结构、设备间通信方式、消息格式、寻址方式等。 4.... ethernet/IP 协议资料 Ethernet/IP是一种基于Ethernet的工业协议,它将标准的TCP/IP协议栈应用到了工业自动化领域。这种协议通常用于控制和数据采集,支持多种设备之间的通信。 以下是一些Ethernet/IP协议相关的资料: 1. Ethernet/IP... EtherNet/IP 协议规范 EtherNet/IP(Ethernet Industrial Protocol)是一种工业以太网协议,它是基于TCP/IP协议并使用以太网作为物理层的开放式工业网络协议。EtherNet/IP协议规范包含以下内容: 1. 介绍:介绍了EtherNet/IP的概念和目标... ethernet/ip开发 他们需要熟悉以太网和TCP/IP协议的原理,了解工业领域常用的控制系统和通信协议,以及工业自动化设备的工作原理和要求。此外,开发人员还需要掌握相应的开发工具和编程语言,如C++、Java等,以及相关的网络编程技术... ethernet/IP 协议栈 Ethernet/IP协议栈是指实现了Ethernet/IP协议规范的软件组件,用于在工业自动化设备中实现以太网通讯。...Ethernet/IP协议栈的实现通常基于开源或商业软件,例如开源的OpenEtherCAT和商业的EtherNet/IP协议栈等。 Ethernet/IP协议内容 1. 通信协议:Ethernet/IP 是基于 TCP/IP 协议栈的应用层协议,使用标准的以太网硬件和网络设备进行通信。 2. 数据传输方式:Ethernet/IP 支持多种数据传输方式,包括实时控制数据、配置数据和诊断数据。它提供了... c++实现ethernet/ip协议 回答1:
Ethernet/IP协议是...总的来说,实现Ethernet/IP协议需要在底层实现以太网和TCP/IP协议堆栈,通过Ethernet/IP协议在各个工业控制设备之间进行数据传输,同时实现各种设备配置文件以确保通信的正确性。 yrc1000ethernet/ip 它基于以太网技术,使用TCP/IP协议进行数据传输,支持实时和可靠的通信,能够实现高效的设备连接和数据交换。 YRC1000Ethernet/IP广泛应用于机器人控制系统、自动化生产线和工业设备等领域,可以实现设备之间的实时... ethernet/ip协议栈 Ethernet/IP协议栈由以太网协议、传输控制协议(TCP/IP)、用户数据报协议(UDP)和设备描述文件(EDS)等组成。 Ethernet/IP协议栈基于开放标准,能够确保不同设备之间的互操作性。它提供了一种通用的通信框架,... Ethernet/IP协议 它基于TCP/IP协议栈,并利用标准的以太网硬件和网络设备进行通信。Ethernet/IP提供了一系列的网络服务和功能,如设备发现、连接管理、数据交换和安全性等。 Ethernet/IP协议具有以下特点: - 实时性:支持实时控制... ethernet/ip 书籍 这本书对Ethernet/IP技术进行了详细的介绍,包括协议分析、应用开发、网络配置、诊断和故障排除等方面。适合初学者和有一定基础的工程师阅读。 2.《Industrial Ethernet, Second Edition》作者:Perry S. Marshall ... ethernet/ip 报文解析 Ethernet/IP报文由头部和数据两部分组成,头部包括以太网头部、IP头部和TCP/UDP头部,数据部分包括了Ethernet/IP应用层协议的消息体。 2. 报文解析 在以太网头部中,目的MAC地址和源MAC地址指定了报文的目的和来源... ethernet/ip协议 csdn 该协议采用CIP(Common Industrial Protocol)作为其核心协议,支持多种数据类型和协议,包括TCP/IP、UDP/IP、ARP、ICMP和DHCP等通用的网络协议,同时还支持多种传输控制方式,例如广播、多播和单播等。 Ethernet/... ethernet/IP 协议详解 Ethernet/IP协议在物理层和数据链路层使用标准的以太网技术,而在网络层和传输层使用TCP/IP协议。它支持多种通信方式,包括点对点、多播和广播。Ethernet/IP协议还支持多种通信类型,包括控制、配置和数据传输。 在... CSDN会员 开通CSDN年卡参与万元壕礼抽奖 海量 VIP免费资源 千本 正版电子书 商城 会员专享价 千门 课程&专栏 全年可省5,000元 立即开通 全年可省5,000元 立即开通 最新推荐 中泰证券-索辰科技(688507)锻造核心竞争力,受益国产化锐意进取-230614.pdf 中泰证券对索辰科技(股票代码:688507)进行了首次覆盖评级,建议投资者买入。目前该股市价为204.61元,流通市值为1,857百万元。根据公司盈利预测及估值,预计2021年营业收入将达到193百万元,2022年将增长至268百万元,2023年将达到357百万元,2024年将增至469百万元,2025年预计将达到606百万元,年均增长率约为30%。净利润方面,2021年预计为50百万元,2022年为54百万元,2023年将达到79百万元,2024年将增至90百万元,2025年预计将达到105百万元。这一预测显示公司未来五年盈利稳健增长,具有良好的发展潜力。随着国产化进程的加快,索辰科技将进一步锻造核心竞争力,从而获得更多的行业机会和市场份额。

索辰科技是一家高新技术企业,主要致力于数字智能终端设备及其相关技术的研发、生产和销售。公司拥有独立的研发团队和完善的生产线,产品覆盖智能手机、平板电脑、物联网设备等多个领域。公司在行业内具有较高的知名度和市场份额,拥有多项自主知识产权和专利技术。同时,公司致力于技术创新和产品升级,不断推出具有领先水平的新品,赢得了用户的信赖和好评。

目前,公司的市场表现与行业整体走势相比,相对稳定。根据市场走势对比分析,公司持有的股票比例处于较为稳定的状态,具备较高的投资价值。同时,公司在国产化方面锐意进取,充分受益于国内市场的政策利好和行业发展动力。在国家政策的扶持下,公司的产品逐步替代了一些进口产品,具有较强的竞争力和市场占有率。

在未来的发展规划中,公司将继续加大研发投入,提升产品技术含量和品质水平,巩固和拓展在智能终端设备领域的市场地位。同时,公司将积极布局物联网、5G通讯等新兴领域,谋求更广阔的发展空间。在产业链的深度整合和资源优化配置方面,公司也将加大力度,提升整体运营效率和综合竞争力。

综合以上分析,中泰证券认为索辰科技(688507)具有良好的发展基础和广阔的市场前景,建议投资者买入。公司具有稳健的盈利增长潜力和较高的市场投资价值,值得投资者重点关注。随着国产化进程的不断深化,公司将获得更多的发展机会,成为行业领先企业之一。需要特别注意的是,投资者在进行投资决策时应充分考虑公司的财务状况、行业竞争情况等因素,谨慎对待投资风险,做出理性的投资选择。 管理建模和仿真的文件 管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire Vue.js的服务器端通信:Ajax、Axios及RESTful API # 1. Vue.js的服务器端通信简介

## 1.1 Vue.js和服务器端通信的必要性

在现代Web应用程序中,前端与服务器端的通信变得至关重要。Vue.js作为一种流行的前端框架,需要与服务器进行数据交换以实现动态内容加载、响应用户操作、获取实时数据等功能。因此,理解Vue.js和服务器端通信之间的必要性是开发人员的基本素养。

## 1.2 服务器端通信的基本原理

Vue.js通过HTTP协议与服务器进行通信,从而实现数据的交换和更新。在客户端发起请求,服务器端接收请求并处理,然后返回相应的数据给客户端。这种基本原理是前后端数据交互的基础,也是Vue.js与服务器端通信的核心机制。

如何查看JDK的绝对路径 你可以通过以下命令来查看JDK的绝对路径:

在Windows系统中,打开命令提示符窗口,输入命令:

```

where java

```

在Linux或Mac系统中,打开终端窗口,输入命令:

```

which java

```

这些命令会输出JDK的绝对路径,例如:

```

C:\Program Files\Java\jdk1.8.0_221\bin\java.exe

```

或者

```

/usr/local/java/jdk1.8.0_221/bin/java

```

其中,路径中的“jdk1.8.0_221”表示JDK的版本号,具体路径根据你的JDK安装位置而定。 基于单片机的跑马灯课程设计-学位论文.doc 本学位论文是基于单片机的跑马灯课程设计,主要内容包括在以STC89C52RC单片机为基础上扩展,使其能更方便地运用于测试系统中。通过扩展I/O口,复位电路,晶振电路,2LED显示电路并编写底层程序,设计出能应用于跑马灯的最小系统。关键词包括最小系统,STC89C52RC和跑马灯。该课程设计旨在通过实践操作,加深学生对单片机系统和跑马灯原理的理解,提高学生的动手能力和实际应用能力。通过本次课程设计,学生将有机会掌握单片机的运用技术,并且提高对跑马灯的理解与应用。通过本次设计,学生将学会在单片机的实际应用中解决问题的能力,对单片机的特性和应用特点有了更深入的认识和理解。同时,本论文还对STC89C52RC单片机进行了深入的介绍和分析。

第一章是绪论,主要介绍了该课程设计的背景与意义,分析了课程设计的目的与任务,同时对现有的单片机与跑马灯的研究现状进行了梳理和归纳。

第二章是STC89C52RC单片机的介绍,主要包括了单片机的基本原理和结构,对STC89C52RC单片机的特性进行了深入的分析和阐述,结合实际的应用实例加深了对单片机的理解。

第三章是跑马灯的原理与设计,通过理论知识的介绍,结合实际的跑马灯电路设计,深入浅出地讲解了跑马灯的工作原理,以及跑马灯的设计方法与技巧。

第四章是基于单片机的跑马灯设计,主要是将第二章和第三章的知识与实际单片机跑马灯系统的设计相结合,详细阐述了单片机跑马灯设计的具体步骤与方法,以及设计过程中遇到的问题与解决方案。

第五章是课程设计的实施与效果分析,通过对课程设计实施过程的分析和实际效果的评估,总结了本次课程设计的优点与不足之处,并提出了改进意见和建议。

第六章是结论与展望,通过对全文的总结,再次强调了本次课程设计的意义与价值,同时对未来课程设计的方向和重点进行了展望和设想。

总体来说,本学位论文通过对基于单片机的跑马灯课程设计的深入研究,对单片机与跑马灯的原理、设计、应用进行了系统的分析与探讨,通过理论与实践相结合的方式,加深了学生对单片机系统和跑马灯原理的理解,提高了学生的动手能力和实际应用能力。同时,也为相关领域的研究与应用提供了有益的参考和借鉴。 "互动学习:行动中的多样性与论文攻读经历" 多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依 Vue.js的过渡和动画:让页面更生动 # 1. 简介

## 1.1 Vue.js简介

Vue.js是一款流行的开源JavaScript框架,用于构建用户界面和单页面应用。它的核心库只关注视图层,易于上手,同时为复杂应用提供了更高的可扩展性。

## 1.2 过渡和动画的重要性

在现代web应用中,页面的过渡和动画效果对于提升用户体验至关重要。合理的过渡动画可以增加页面的交互性,提升用户留存和激活度。

## 1.3 本文导读

本文将介绍Vue.js中过渡和动画的基本概念和使用方法,以及如何利用Vue.js提升用户体验的技巧。同时也会展望Vue.js过渡和动画的未来发展趋势。

接下来, 我们将深入了解Vue.js基础知识, 定义一个动物( Animal )基类,具有 Age 、 Weight 等数据成员, Walk 、 Breath 等成员函数,其中 Breath 是虚函数。由 Animal 派生出鱼( Fish )类和陆地动物( TerrestrialAnimal )类。 Fish 类有鳍( Fim )数据成员, TerrestrialAnimal 类有腿( Leg )数据成员。在 Fish 类和 TerrestrialAnimal 类中重载成员函数 Walk 实现静态多态, Breath 利用 virtual 实现动态多态性,并测试类的多态性。c++程序。 以下是符合要求的 C++ 代码:

```cpp

#include

using namespace std;

class Animal{

protected:

int Age;

int Weight;

public:

void Walk(){

cout<<"Animal can walk."<

}

virtual void Breath(){

cout<<"Animal can breath."<

}

};

class Fish:public Animal{

priv 电子商务下快递包裹外包装回收对策浅析毕业论文.doc 本文主要针对电子商务下快递包裹外包装回收对策进行了深入分析和探讨。首先对快递包裹外包装处理现状进行了介绍,包括快递业的历程和货物外包装回收的必要性。然后从快递包裹外包装回收的可行性分析入手,从现状、成本角度和宏观经济环境分析了其可行性。接着对快递包裹外包装回收的管理对策进行了分析,包括回收模式、企业、政府、社会和学术研究的管理对策。最后对本文的不足和未来的研究方向进行了展望。该研究具有一定的理论和现实意义,为电子商务下快递包裹外包装回收提供了一定的参考和借鉴价值。

本文首先介绍了电子商务下快递包裹外包装回收对策的背景和意义,随后从不同的角度对其进行了分析和论证。在可行性分析中,作者深入挖掘了快递包裹外包装回收的现状、成本和宏观经济环境因素,为其可行性提供了全面的论证和支撑。在管理对策分析中,作者提出了快递包裹外包装回收的模式和各方面的管理对策,为相关行业和管理部门提供了具体的建议和倡导。此外,作者还对本文的不足和未来研究方向进行了展望,进一步拓展了研究的深度和广度。

但是,需要指出的是,本文在一些方面还存在一定的不足和局限性。例如,在对快递包裹外包装回收的现状分析中,可能还有一些数据和案例的不足,导致对其全面性和客观性有所影响。另外,在管理对策的提出和分析中,可能还存在一定的主观性和局限性,需要更多的实证研究和数据支撑。

未来的研究方向可以从以下几个方面展开:首先,可以进一步深入挖掘快递包裹外包装回收的现状和实际情况,通过更多的实证研究和案例分析,提高研究的客观性和科学性。其次,可以对快递包裹外包装回收的成本和效益进行更深入的研究和分析,寻找最优的管理对策和可行的模式。另外,还可以深入探讨快递包裹外包装回收在环境保护和可持续发展方面的意义和作用,拓展研究的深度和广度。

总之,本文对电子商务下快递包裹外包装回收对策进行了深入的分析和探讨,具有一定的理论和现实意义。然而,也需要进一步完善和深化研究,为相关行业和管理部门提供更具体和有效的建议和倡导。希望该研究能够为相关领域的研究和实践提供一定的参考和借鉴,推动快递包裹外包装回收工作的进一步发展和完善。 关系数据表示学习 关系数据卢多维奇·多斯桑托斯引用此版本:卢多维奇·多斯桑托斯。关系数据的表示学习机器学习[cs.LG]。皮埃尔和玛丽·居里大学-巴黎第六大学,2017年。英语。NNT:2017PA066480。电话:01803188HAL ID:电话:01803188https://theses.hal.science/tel-01803188提交日期:2018年HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaireUNIVERSITY PIERRE和 MARIE CURIE计算机科学、电信和电子学博士学院(巴黎)巴黎6号计算机科学实验室D八角形T HESIS关系数据表示学习作者:Ludovic DOS SAntos主管:Patrick GALLINARI联合主管:本杰明·P·伊沃瓦斯基为满足计算机科学博士学位的要求而提交的论文评审团成员:先生蒂埃里·A·退休记者先生尤尼斯·B·恩

EtherNet/IP 协议结构和TCPIP区别 - CSDN文库

rNet/IP 协议结构和TCPIP区别 - CSDN文库

首页EtherNet/IP 协议结构和TCPIP区别 EtherNet/IP 协议结构和TCPIP区别 时间: 2023-12-20 09:03:38 浏览: 44 EtherNet/IP是一种用于工业自动化领域的通信协议,基于以太网和TCP/IP协议栈。它包括三个部分:以太网层、IP层和应用层。其中以太网层负责数据链路层的传输,IP层负责网络层的传输,应用层则负责应用层协议的处理,如控制器区域网络(CAN)、设备描述符(EDS)等。

TCP/IP协议栈是一种通用的网络协议,包括四个层次:应用层、传输层、网络层和数据链路层。与EtherNet/IP不同的是,TCP/IP协议栈在网络层使用的是IP协议,而不是EtherNet/IP中的以太网协议。此外,TCP/IP协议栈还包括传输层,使用的是TCP或UDP协议。

总体来说,EtherNet/IP协议结构与TCP/IP协议栈类似,但在实现上有所不同。EtherNet/IP更加适用于工业自动化领域,而TCP/IP则更加适用于互联网和其他通用网络。 相关问题 如何基于tcpip协议实现ethernetip A:要基于tcpip协议实现ethernetip,需要遵循以下步骤:

1. 理解Ethernet/IP协议的结构和工作原理,了解其可以通过TCP/IP进行通讯的方式;

2. 实现TCP连接,并建立连接到Ethernet/IP服务器;

3. 在TCP连接上发送UCMM(单播一次信息)和命令,以请求数据和执行对PLC(可编程逻辑控制器)的控制操作;

4. 接收和处理服务器响应的数据和错误信息,并根据需要将响应数据解析为可读取的格式。

在实现过程中,需要注意复杂的协议结构,并确保遵守所需的规范和标准。此外,还需要进行测试和调试,以确保连接和数据交换正常运行。

总之,基于TCP/IP协议实现Ethernet/IP需要具备一定的网络编程和协议知识,并且需要tcp/ip协议电子书 相关推荐 TCPIP网络协议.rar_22SZ_TCP/IP_antspjy_tcpip 编程_网络协议 这是一个基于TCP/IP网络协议的网口通讯协议编程 TCP/IP协议教程.zip TCPIP教程.zip 本教程内容包括: 以太网 TCP/IP协议: 三次握手,四次握手,keepalive选项 DNS协议 UDP协议 RPC原理 NFC协议 链路层介绍 tcp/ip 协议 卷一 tcp/ip 协议学习的圣经,详细的介绍了tcp ip协议,欢迎大家下载学习 java服务器tcpip协议,Java 实现TCP/IP协议的收发数据(服务端) 首先,我们需要了解TCP/IP协议的基本原理和Java中实现TCP/IP协议的方式。TCP/IP协议是一种网络协议,它用于在Internet上进行数据传输。在这种协议中,数据被分成小的数据包,并通过网络传输到目的地。 在Java中,... 如何使用tcpip协议和vb.net实现通信 使用TCP/IP协议和VB.NET编程语言实现通信的步骤如下: 1. 创建一个VB.NET应用程序,并引入System.Net命名空间。 2. 建立一个TCP客户端套接字,并指定服务器的IP地址和端口号。使用ClientSocket对象来实现与服务器... tcpip stack/tcpip.h 而tcpip.h是TCP/IP协议栈头文件之一,用于定义TCP/IP协议栈中各种数据结构、常量和函数的声明。 在tcpip.h文件中,我们可以找到一些常见的数据结构,如TCP头部(tcp_header)和IP头部(ip_header)等。这些数据结构定义... tcpip协议详解pdf下载 TCP/IP是Internet的基础协议,而TCP/IP协议详解则是系统地介绍了TCP/IP协议,对于理解和掌握TCP/IP协议体系结构、各个协议的功能、通信流程以及实现方法等相关知识是非常必要的。 TCP/IP协议详解这本书从简单到复杂... tcpip协议工作原理 1. 分层结构:TCP/IP协议按照不同的功能划分为多个层次,每个层次都有特定的功能和责任。常见的TCP/IP协议层次包括物理层、数据链路层、网络层、传输层和应用层。 2. 数据封装:在发送数据时,TCP/IP协议将数据进行... fpga rtl8212 tcp/ip TCP/IP协议栈是一种网络协议栈,包含了ARP、ICMP、UDP、TCP、IP和MAC全过程的传输。在设计TCPIP协议栈时可能会遇到一些困难和问题,需要不断查阅资料和参考其他协议栈的设计。 #### 引用[.reference_title] - *1* ... tcpip发送json协议 TCP/IP 协议是网络通讯中最重要的协议之一,而 JSON(JavaScript Object Notation)是一种基于文本的轻量级数据交换格式,通常用于在客户端和服务器之间传输数据。 要在 TCP/IP 上发送 JSON 协议,首先需要建立一个... tcpip协议详解卷一第二版 pdf 这本书分为多个章节,全面介绍了TCP/IP协议的原理、结构和应用。 在这本书中,作者从理论和实践的角度深入探讨了TCP/IP协议族的各个层次和组成部分。读者可以学习到TCP/IP协议的架构、数据传输的过程、网络编程的... ntrip和tcpip 通过TCP/IP协议,NTRIP可以将差分数据以数据包的形式分割、传输和重组,保证数据的完整性和准确性。 在NTRIP中,用户可以通过TCP/IP协议建立与基准站的连接,并请求差分数据。基准站将差分数据按照NTRIP协议分割成... tcpip协议详解卷一pdf 本书的第一卷主要涵盖了网络层和传输层,主要内容包括IP协议、ICMP协议、ARP协议、UDP协议、TCP协议等。这些协议是计算机网络中最基础的协议之一,是网络通信、数据传输的核心。 本书以深入浅出的方式介绍了这些... tcpip协议簇课后答案 此外,TCP/IP协议簇还包括其他协议,如UDP(用户数据报协议)和ICMP(Internet控制报文协议)。UDP提供无连接的数据包传输,适用于实时应用程序,如音频和视频流。ICMP用于发送网络错误消息和请求。 TCP/IP协议簇的... qt中tcpip协议创建客户端和服务端 在Qt中创建TCP/IP客户端和服务器,需要用到Qt的网络模块。以下是基本的步骤: 1. 引入网络模块:在.pro文件中添加QT += network。 2. 创建服务器: c++ QTcpServer *server = new QTcpServer(this); // 监听... C# tcpip协议 在C#中,我们可以使用TcpClient类和TcpListener类来实现TCP/IP协议的通信。 TcpClient是一个用于创建TCP客户端的类,它可以连接到远程服务器并发送和接收数据。我们可以通过实例化TcpClient类,并使用Connect方法... 未来可能取代TCPIP的协议 在当前的技术发展趋势下,未来可能会出现一些新的...相比于TCP/IP协议,QUIC更加适合用于移动设备和高带宽网络。 这些协议可能会在未来的网络中得到广泛应用,但是它们是否能够完全取代TCP/IP协议还需要时间来验证。 CSDN会员 开通CSDN年卡参与万元壕礼抽奖 海量 VIP免费资源 千本 正版电子书 商城 会员专享价 千门 课程&专栏 全年可省5,000元 立即开通 全年可省5,000元 立即开通 最新推荐 KUKA机器人通过EtherNetIP与工业相机通讯配置实例 最近做了一个库卡机器人通过EtherNet/IP与工业相机进行通讯的项目,分享供大家参考 协议分析试题tcp/ip 协议分析试题tcp/ip tcpip协议分析试题与答案 《TCP/IP协议分析》模拟测试试题 TCPIP应用协议FTP的使用 TCPIP应用协议FTP的使用 一、实验目的  1. 了解认识TCP/IP网络应用协议FTP。  2. 学习掌握通过FTP方式下载分享网络资源的方法。  3. 学习FTP的常用命令的使用。  二、实验相关理论  TCP/IP网络提供了多种... Modbus协议中文版(完整).pdf 该标准包括两个通信规程中使用的 MODBUS 应用层协议和服务规范: ·串行链路上的 MODBUS MODBUS 串行链路取决于 TIA/EIA 标准:232-F 和 485-A。 ·TCP/IP 上的 MODBUS MODBUS TCP/IP 取决于 IETF 标准:RFC793 和 ... 非常经典TCPIP协议栈 非常经典TCPIP协议栈,非常详细介绍了TCPIP协议的结构,对移植TCPIP协议栈有很大帮助 中泰证券-索辰科技(688507)锻造核心竞争力,受益国产化锐意进取-230614.pdf 中泰证券对索辰科技(股票代码:688507)进行了首次覆盖评级,建议投资者买入。目前该股市价为204.61元,流通市值为1,857百万元。根据公司盈利预测及估值,预计2021年营业收入将达到193百万元,2022年将增长至268百万元,2023年将达到357百万元,2024年将增至469百万元,2025年预计将达到606百万元,年均增长率约为30%。净利润方面,2021年预计为50百万元,2022年为54百万元,2023年将达到79百万元,2024年将增至90百万元,2025年预计将达到105百万元。这一预测显示公司未来五年盈利稳健增长,具有良好的发展潜力。随着国产化进程的加快,索辰科技将进一步锻造核心竞争力,从而获得更多的行业机会和市场份额。

索辰科技是一家高新技术企业,主要致力于数字智能终端设备及其相关技术的研发、生产和销售。公司拥有独立的研发团队和完善的生产线,产品覆盖智能手机、平板电脑、物联网设备等多个领域。公司在行业内具有较高的知名度和市场份额,拥有多项自主知识产权和专利技术。同时,公司致力于技术创新和产品升级,不断推出具有领先水平的新品,赢得了用户的信赖和好评。

目前,公司的市场表现与行业整体走势相比,相对稳定。根据市场走势对比分析,公司持有的股票比例处于较为稳定的状态,具备较高的投资价值。同时,公司在国产化方面锐意进取,充分受益于国内市场的政策利好和行业发展动力。在国家政策的扶持下,公司的产品逐步替代了一些进口产品,具有较强的竞争力和市场占有率。

在未来的发展规划中,公司将继续加大研发投入,提升产品技术含量和品质水平,巩固和拓展在智能终端设备领域的市场地位。同时,公司将积极布局物联网、5G通讯等新兴领域,谋求更广阔的发展空间。在产业链的深度整合和资源优化配置方面,公司也将加大力度,提升整体运营效率和综合竞争力。

综合以上分析,中泰证券认为索辰科技(688507)具有良好的发展基础和广阔的市场前景,建议投资者买入。公司具有稳健的盈利增长潜力和较高的市场投资价值,值得投资者重点关注。随着国产化进程的不断深化,公司将获得更多的发展机会,成为行业领先企业之一。需要特别注意的是,投资者在进行投资决策时应充分考虑公司的财务状况、行业竞争情况等因素,谨慎对待投资风险,做出理性的投资选择。 管理建模和仿真的文件 管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire Vue.js的服务器端通信:Ajax、Axios及RESTful API # 1. Vue.js的服务器端通信简介

## 1.1 Vue.js和服务器端通信的必要性

在现代Web应用程序中,前端与服务器端的通信变得至关重要。Vue.js作为一种流行的前端框架,需要与服务器进行数据交换以实现动态内容加载、响应用户操作、获取实时数据等功能。因此,理解Vue.js和服务器端通信之间的必要性是开发人员的基本素养。

## 1.2 服务器端通信的基本原理

Vue.js通过HTTP协议与服务器进行通信,从而实现数据的交换和更新。在客户端发起请求,服务器端接收请求并处理,然后返回相应的数据给客户端。这种基本原理是前后端数据交互的基础,也是Vue.js与服务器端通信的核心机制。

如何查看JDK的绝对路径 你可以通过以下命令来查看JDK的绝对路径:

在Windows系统中,打开命令提示符窗口,输入命令:

```

where java

```

在Linux或Mac系统中,打开终端窗口,输入命令:

```

which java

```

这些命令会输出JDK的绝对路径,例如:

```

C:\Program Files\Java\jdk1.8.0_221\bin\java.exe

```

或者

```

/usr/local/java/jdk1.8.0_221/bin/java

```

其中,路径中的“jdk1.8.0_221”表示JDK的版本号,具体路径根据你的JDK安装位置而定。 基于单片机的跑马灯课程设计-学位论文.doc 本学位论文是基于单片机的跑马灯课程设计,主要内容包括在以STC89C52RC单片机为基础上扩展,使其能更方便地运用于测试系统中。通过扩展I/O口,复位电路,晶振电路,2LED显示电路并编写底层程序,设计出能应用于跑马灯的最小系统。关键词包括最小系统,STC89C52RC和跑马灯。该课程设计旨在通过实践操作,加深学生对单片机系统和跑马灯原理的理解,提高学生的动手能力和实际应用能力。通过本次课程设计,学生将有机会掌握单片机的运用技术,并且提高对跑马灯的理解与应用。通过本次设计,学生将学会在单片机的实际应用中解决问题的能力,对单片机的特性和应用特点有了更深入的认识和理解。同时,本论文还对STC89C52RC单片机进行了深入的介绍和分析。

第一章是绪论,主要介绍了该课程设计的背景与意义,分析了课程设计的目的与任务,同时对现有的单片机与跑马灯的研究现状进行了梳理和归纳。

第二章是STC89C52RC单片机的介绍,主要包括了单片机的基本原理和结构,对STC89C52RC单片机的特性进行了深入的分析和阐述,结合实际的应用实例加深了对单片机的理解。

第三章是跑马灯的原理与设计,通过理论知识的介绍,结合实际的跑马灯电路设计,深入浅出地讲解了跑马灯的工作原理,以及跑马灯的设计方法与技巧。

第四章是基于单片机的跑马灯设计,主要是将第二章和第三章的知识与实际单片机跑马灯系统的设计相结合,详细阐述了单片机跑马灯设计的具体步骤与方法,以及设计过程中遇到的问题与解决方案。

第五章是课程设计的实施与效果分析,通过对课程设计实施过程的分析和实际效果的评估,总结了本次课程设计的优点与不足之处,并提出了改进意见和建议。

第六章是结论与展望,通过对全文的总结,再次强调了本次课程设计的意义与价值,同时对未来课程设计的方向和重点进行了展望和设想。

总体来说,本学位论文通过对基于单片机的跑马灯课程设计的深入研究,对单片机与跑马灯的原理、设计、应用进行了系统的分析与探讨,通过理论与实践相结合的方式,加深了学生对单片机系统和跑马灯原理的理解,提高了学生的动手能力和实际应用能力。同时,也为相关领域的研究与应用提供了有益的参考和借鉴。

以太网与 TCP/IP_以太网和tcpip协议关系-CSDN博客

>

以太网与 TCP/IP_以太网和tcpip协议关系-CSDN博客

以太网与 TCP/IP

最新推荐文章于 2024-03-10 17:51:01 发布

sandonz

最新推荐文章于 2024-03-10 17:51:01 发布

阅读量5k

收藏

22

点赞数

4

分类专栏:

计组原、操作系统,网络

文章标签:

以太网

网络

网关

原文链接:https://deerchao.cn/blog/posts/network.html

版权

计组原、操作系统,网络

专栏收录该内容

5 篇文章

0 订阅

订阅专栏

以太网(Ethernet)

以太网是一套标准,制定了相当于 OSI 模型 中第一层(物理层)和第二层(数据链路程)的技术规范。

在物理层上,以太网采用 RJ45 接口和双铰线,光纤,电磁波等方式来传递信号。

在数据链路层上,每个通信节点(主机的网络接口)都有 48 位(bit)全局唯一的 MAC 地址。通信数据流被切分并打包成帧(Frame)来发送,每帧都包含来源节点和目的节点的 MAC 地址。 网段(Network Segment)

中继器,集线器是和网线一样工作在物理层的硬件设备。被它们连接在一起的部分被称为网段(日常所说的网段,意义可能与本文中不同,一般指子网)。网段是冲突域,每次通信时,数据帧会被发送到同网段所有的节点,但只有目的节点(由帧中的目的节点MAC定义)会处理该帧,其它节点则将其忽略。

中继器(Repeater)用于延长网络传输的有效距离。

集线器(Hub)可被视为多口的中继器,用于接通多个节点。由于处于同一冲突域,节点间的通信会互相影响,产生性能问题,现在集线器基本上已经被交换机取代了。 网络(Network)

网桥,交换机是工作在数据链路层的硬件设备,被它们连接在一起的部分被称为网络。网络是广播域,其中各个节点都能通过数据链路层直接相互通信。

网桥(Bridge)用于连接两个网段,可以过滤不同网段间的流量。

交换机(Switch)可被视为多口的网桥。它可以动态地为通信双方构造单独的网段,保障通信不受其它节点的干扰。网桥和交换机的端口不需要有 MAC 地址。 网际协议(IP, Internet Protocol)

网际协议(IP)也称互联网协议, 位于 OSI 第三层,网络层。它负责在不同的网络中的节点之间传输数据。

在 IP 中,节点拥有IP 地址,数据被打包成数据报(Datagram),通过网络间的路由过程,从一个地址传输另外一个地址。数据报头部包含了来源及目的地的 IP 地址。

IPv6 是 IP 协议的新版本,最终目标是取代 IPv4。它带来了更大的地址空间,更方便的配置管理,更高效的网际路由,更安全的通信技术。 IP 地址

IP 地址是一个数字,用于对 IP 网络中的节点进行标识和寻址。

IPv4 地址是 32 位(bit)无符号整数。为方便记忆和沟通,通常把这 32 位划分为 4 组 8 位,分别写成一个十进制整数(其中每个整数的范围在 0 ~ 255 之间),用小数点连接起来。如地址 3232248321 可写为 192.168.50.1。

IPv6 地址是 128 位无符号整数。通常划分为 8 组 16 位,分别写成一个十六进制整数(其中每个整数的范围在 0000 ~ ffff 之间),用冒号连接起来。如地址 42540766464534556858822563802705297408 可写为 2001:0DB8:AC10:FE01:0000:0000:0000:0000。这种写法可以按照标准进行简化:字母写成小写,省略每组中的前导 0 ,多个连续的值为 0 的组可以用两个冒号代替(但是一个 IP 地址中只有最长的连续 0 组能代替一次)。按这样的规则,上面的地址可以简化为:2001:db8:ac10:fe01::。

单个 IP 地址可划分为两部分,前一部分是网络标识,后一部分是主机标识。 网络ID

为正常通信,同一个网络内的节点,其 IP 地址中的网络标识应该相同,这部分被称为网络ID。因为出现在主机标识的前方,所以也称为网络前缀。同时,它在路由的过程中使用到了,因此又称为路由前缀。同一网络内,主机标识不应重复。

在 IPv4 中网络 ID 的长度可以用网络掩码描述,如掩码 255.255.0.0 代表一个前 16 位为 1,后面为 0 的 32 位数字,因而它描述的网络 ID 长度为 16 位。

网络 ID 长度也可以使用 CIDR 形式描述。这种格式包含了 IP 地址和网络 ID 长度,如 192.168.1.0/24 代表 ID 长度为 24 位。CIDR 格式可用于表示单个 IP 地址配置, 也可以代表整个 IP 地址块。

在 IPv6 中,表示网络信息只能使用 CIDR 格式,不能使用掩码格式。 子网(Subnet)

大部分情况下,子网等同于网络。子网有时也被人称为“网段”。

在大型网络中,节点较多,出于性能,安全或管理方面的原因,可以将单个网络划分为多个较小的子网络。这种场景下才有必要区分子网与网络。子网的 ID 以网络的 ID 为起始,后面包含额外的若干位。如网络的 ID 为 200.100.0.0,子网的 ID 可以为 200.100.1.0,200.100.2.0 等。VLAN就是一种子网划分技术。

子网本身也是单独的网络。划分为子网后,不同子网间的通信需要使用到路由器,或三层交换机等网关设备。 地址解析协议(ARP, Address Resolution Protocol)

ARP 用于在网络层地址(IPv4 地址)和链路层地址(以太网中就是 MAC 地址)间进行翻译。它工作在二层和三层之间,如果一定要安排到七层之中的话,ARP 只能算二层协议。

以太网中两个节点通信需要知道对方的 MAC 地址。因此,为使用 IP 协议,每个节点会缓存一个 ARP 表,记录已知的 MAC 地址和 IP 地址的对应关系。需要与同网某个 IP 通信时,如果缓存表中无法找到对应的 MAC 地址,节点就会发出一条 ARP 请求,广播到网络中所有的节点。该 IP 对应的节点会进行回复,原节点根据回复提供的 MAC 地址继续通信,同时将信息记入缓存表。除了这样的请求应答方式以外,每个节点也可以主动发送广播,声明自己的 IP 和 MAC 地址,以更新其它节点的缓存表。

ARP 不对各个节点进行身份验证,因此可能产生 ARP 欺骗问题,即某节点假装自己是其它节点,进行信息窃取或欺骗;或实施拒绝服务攻击。对应的解决方案可以是静态配置 MAC/IP 对应关系,或者缩小网络的范围(如划分成子网)等。

IPv6 中,邻居发现协议(NDP, Neighbor Discovery Protocol)取代了 ARP。NDP 中区分了路由器和普通节点。它不仅能在 IP 地址和链路层地址间进行翻译,还可以为节点配置网络参数如IP地址,网络ID,DNS 等(SLAAC, Stateless address autoconfiguration)。 路由(Routing)

同一网络内部的通信,在 ARP 的辅助下,使用工作于OSI 模型二层及以下的网络硬件进行传输,如交换机,集线器,中继器,网桥等。

跨网络的通信,根据 IP 协议的规定,需要逻辑上的网关参与。网关同时连接到本地网络和外部网络,拥有两个分别属于不同网络的 IP 地址。每台主机的网络协议软件栈中都包含一个路由表,用于配置路由规则,即哪些接收方使用哪个网络接口,发送到哪个网关。当所有的路由规则都不匹配时,数据会被发送到默认网关。网关全权负责对网络外部的通信。现实场景下,网关设备有可能进行网络地址翻译(NAT)。如果不同的网络间数据传输方式有区别,网关设备还负责将数据翻译为对应的格式。调制解调器(俗称猫),如ADSL猫,光猫等,都属于网关设备。

路由器是一种多口网关。网关与路由器的关系,类似于网桥与交换机的关系,或中继器与集线器的关系。集线器直接转发所有的信号,交换机根据二层地址(MAC 地址)进行转发,路由器则根据三层地址(IP 地址)来转发。和普通的主机一样,它也配置有路由表。常见的单 WAN 口家用路由器,实际上是双口路由器+交换机+其它功能的集成设备。 TCP 与 UDP

这是两种基于 IP 协议的传输层协议。

用户数据报协议(UDP, User Datagram Protocol)是 IP 层的简单封装。它提供了可选的数据错误检测机制,还增加了端口概念,以区分同一主机上的不同应用或会话。与底层的 IP 一样,它不保证通信数据是否重复,乱序或丢失。

传输控制协议(TCP, Transmission Control Protocol) 提供了可靠的,有序的数据流传输服务。它也同样提供端口概念。TCP 将数据流切分包装成段(Segment,也称包, Packet),交给 IP 传输。TCP 通过确认,重传,重新组合等方式,解决数据段丢失,重复,乱序等问题,将接收到的数据重新整合为数据流,提供给应用层协议。TCP 面向连接,因此通信前,双方需要先建立连接。

这两种协议中,双方各自通过一个端口与对方通信。端口使用 16 位正整数(范围 0 ~ 65535)来标识,称为端口号。服务器主动侦听固定的端口,客户端通常不关注自己的端口号,因此经常使用临时端口。 动态主机设置协议(DHCP, Dynamic Host Configuration Protocol)

DHCP 用于动态配置IPv4网络节点。它是一种应用层协议,基于传输层协议 UDP。

节点加入网络时,可以使用手工配置的网络和节点信息(IP 地址,网络ID,DNS 等)。也可以根据 DHCP 协议,临时用空IP(0.0.0.0)以 UDP 协议向网络广播特定的请求消息。DHCP 服务器会直接将回复关联到节点的 MAC 地址(这个过程实际上也是跨越协议层次工作的)。节点获得回复后即可根据配置信息进行正常的通信了。

IPv6 中,相关功能主要由 NDP 完成,但是也可以同时使用 DHCPv6 来提供更多其它信息。 网络地址翻译(NAT, Network Address Translation)

NAT 是网关在传输数据的过程中改写其中发送方/接收方 IP 地址(很可能还有端口号)的技术,它大规模应用于缓解 IPv4 地址空间不足的问题。

处于内网的主机,需要与外界通信时,发出的数据包通过拥有外网地址的网关。网关将包中的发送方地址替换为自己的外网地址,同时还可能将端口号替换为新的端口号,然后再转发出去,接收方只能看到替换后的地址和端口号。网关会记录发送方的内网地址,更改前后的端口号,以及接收方的地址和端口号。收到对方回复时,网关根据记录的信息,将数据包中的接收方IP(目前是网关的外网IP)和端口号替换为内网IP和原发起端口,然后转发回内网主机。

通常,处于内网的主机只能作为客户端发起通信,无法作为服务器被动等待外界通信。除非网关配置了端口转发,将外网 IP 某些端口的通信转发给它。网关也有可能配置了 DMZ 主机选项,所有来自外网且未明确指定转发规则的端口通信,都会转发给 DMZ 主机。如果用户从 ISP (电信运营商)那里只能得到内网地址,这意味着 NAT 网关由 ISP 管理 ,此时用户无法配置端口转发等选项,设备也无法作为对外服务器使用。 Windows 中的公用/专用网络

Windows 中可以把单个网络设置为“公用”或“专用”等不同的类型,并针对各个类型执行独自的防火墙规则。

这里的公用网络并不代表外网。和专用网络一样,它也是由二层设备连接起来的网络,只是任何人都可能连接进来,不像家庭/工作网络那样用户相对固定。由于公用网络上更有可能存在恶意节点,所以安全规则需要比在专用网上更严密。

Windows 用以区分不同网络的依据是 DNS 域名后缀和默认网关的 MAC 地址。

优惠劵

sandonz

关注

关注

4

点赞

22

收藏

觉得还不错?

一键收藏

知道了

0

评论

以太网与 TCP/IP

以太网(Ethernet)以太网是一套标准,制定了相当于 OSI 模型 中第一层(物理层)和第二层(数据链路程)的技术规范。在物理层上,以太网采用 RJ45 接口和双铰线,光纤,电磁波等方式来传递信号。在数据链路层上,每个通信节点(主机的网络接口)都有 48 位(bit)全局唯一的 MAC 地址。通信数据流被切分并打包成帧(Frame)来发送,每帧都包含来源节点和目的节点的 MAC 地址。网段(Network Segment)中继器,集线器是和网线一样工作在物理层的硬件设备。被它们连接在一起的部分

复制链接

扫一扫

专栏目录

TCP/IP与以太网

11-09

通俗介绍以太网和TCP/IP协议以及两者的关系,描述通俗易懂,适合初学者学习。

网络篇三---以太网和tcp/ip协议

jxdl6655的博客

09-20

4681

1、以太网络:一种网络硬件技术,经过发展,已经是一项公认的标准介面了,如此一来,大家都可以依据这个标准来配置与开发自己的硬件, 只要硬件符合这个标准,理论

上,他就能够加入以太网络的世界

2、INTERNET:以软件技术将硬件整合,该网络系统称为 ARPANET, 这个咚咚就是目前熟知的 TCP/IP 技术的雏形了!在 1975 年左右, ARPANET 已可以在常见

的 Ethernet

参与评论

您还未登录,请先

登录

后发表或查看评论

以太网与TCP/IP体系

扬帆远航的博客

02-06

494

TCP是一个可靠的协议,它可以检测IP传送的数据中可能发生的丢失、失序等错误,并。(接收数据时,先将数据储存在本地,接收完一帧后,在转发到目的网络接口)。⛱️ 以太网交换机是一种有多个以太网接口的。在接收到错误的IP信息中对其进行恢复。 IP地址:IPv4的地址是一个。,平均分成四份,每份用十进制表示。 以太网的MAC的地址是一个。 UDP协议,在通信时,

以太网、IP、TCP、HTTP协议概述

猪哥的专栏

10-24

8793

以下内容转自:http://www.ruanyifeng.com/blog/2017/06/tcp-protocol.html     这个老师讲的很好,言简意赅。

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

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

 二、IP协议(internet protocol)

     以太网的...

通信协议:TCP/IP

焊武大帝的专栏

06-02

868

考虑最简单的情况:两台主机之间的通信。这个时候只需要一条网线把两者连起来,规定好彼此的硬件接口,如都用USB、电压10v、频率2.4GHz等,这一层就是物理层,这些规定就是物理层协议 。我们当然不满足于只有两台电脑连接,因此我们可以使用交换机把多个电脑连接起来,如下图:这样连接起来的网络,称为局域网,也可以称为以太网(以太网是局域网的一种)。在这个网络中,我们需要标识每个机器,这样才可以指定要和哪个机器通信。这个标识就是硬件地址MAC。硬件地址随机器的生产就被确定,永久性唯一。在局域网中,我们需要和另外的机

TCP/IP协议详解

zhoupenghui168的博客

04-10

4367

TCP_IP协议详解

图解以太网 TCP 协议

Life_I的博客

03-20

1071

无论在互联网领域还是汽车以太网领域,TCP/IP 协议族中传输层的传输控制协议(Transmission Control Protocol,TCP)都有举足轻重的作用和大量的应用场景。TCP 是一种面向连接的、可靠的、基于字节流的通信协议,最初由 IETF RFC 793 定义,后续在 RFC 1122、RFC 2581 等文档中都进行了修订和补充。

以太网,OSI与TCP/IP

weixin_42490436的博客

07-21

1703

以太网

以太网(Ethernet)是一种计算机局域网技术,目前应用最普遍的局域网技术。

IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。

以太网的标准拓扑结构为总线型拓扑,但目前的快速以太网(100BASE-T、1000BASE-T标准)为了减少冲突,将能提高的网络速度和使用效率最大化,使用集线器来进行网络连接和组织。如此一来...

五分钟读懂TCP 协议——TCP协议简介

热门推荐

Bigstar的博客

06-11

11万+

TCP 是互联网核心协议之一,本文介绍它的基础知识。一、TCP 协议的作用互联网由一整套协议构成。TCP 只是其中的一层,有着自己的分工。(图片说明:TCP 是以太网协议和 IP 协议的上层协议,也是应用层协议的下层协议。)最底层的以太网协议(Ethernet)规定了电子信号如何组成数据包(packet),解决了子网内部的点对点通信。(图片说明:以太网协议解决了局域网的点对点通信。)但是,以太网协议

TCP/IP网络参考模型(端口号、TCP滑动窗口、TCP拥塞控制、IP协议号、以太网帧)

m0_49864110的博客

11-06

1万+

运行在MAC层之上在以太网链路上传输的数据包成为以太帧。

应用层常见协议——传输数据PDU

传输层协议——传输数据段

端口号

TCP面向连接服务CONS

TCP报文格式

TCP数据传输——ACK确认机制

TCP会话建立——三次握手

TCP会话结束——四次握手

TCP流量控制——滑动窗口协议

TCP可靠传输机制

TCP拥塞控制UDP无面向连接服务DLNS

网络层协议——传输数据包

IP协议

数据链路层——传输数据帧

Ethernet_II帧格式

IEEE802.3帧格式

以太网 TCP三次握手、TCP四次挥手详细介绍与报文简要分析。

Hades_Ling的CSDN博客

12-03

1944

1、客户端访问FTP服务器进行下载文件,由于FTP是基于TCP协议进行工作的,所以客户端在访问FTP服务器时必然会进行建立TCP连接。

2、通过在交换机上对任意端口进行抓包,来`分析TCP的三次握手建立连接过程`,以及`TCP连接断开时的四次挥手过程`。

三菱FX5UJ和艾莫迅远程模块实现TCP/IP通讯,程序包含多种功能吗的实现

05-25

三菱FX5UJ和艾莫迅远程模块实现TCP/IP通讯,程序包含多种功能吗的实现

TCP/IP协议详解卷二:实现

09-24

《TCP/IP详解·卷2:实现》完整而详细地介绍了TCP/IP协议是如何实现的。书中给出了约500个图例,15000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现。《TCP/IP详解·卷2:实现》不仅说明了插口API和协议族的关系以及主机实现与路由器实现的差别。还介绍了4.4BSD-Lite版的新的特点。《TCP/IP详解·卷2:实现》适用于希望理解TCP/IP协议如何实现的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员。

目录 · · · · · ·

第一章 概述

1.1 引言

1.2 源代码表示

1.3 历史

1.4 应用编程接口

1.5 程序示例

1.6 系统调用和库函数

1.7 描述符

1.8 网络实现概述

1.9 mbuf与输出处理

1.10 输入处理

1.11 网络实现概述

1.12 中断级别与并发

1.13 源代码组织

1.14 测试网络

1.15 小结

第二章 mduf:存储器缓存

2.1 引言

2.2 代码介绍

2.3 mduf的定义

2.4 mduf结构

2.5 简单的mduf宏和函数

2.6 m_devget和m_pullup函数

2.7 mduf宏和函数的小结

2.8 Net/3联网数据结构小结

2.9 m_copy和簇引用记数

2.10 其他选择

2.11 小结

第三章 接口层

3.1 引言

3.2 代码介绍

3.3 ifnet结构

3.4 ifaddr结构

3.5 sockaddr结构

3.6 ifnet与ifaddr的专用化

3.7 网络初始化概述

3.8 以太网初始化

3.9 SLIP初始化

3.10 环回初始化

3.11 if_attach函数

3.12 ifinit函数

3.13 小结

第四章 接口:以太网

4.1 引言

4.2 代码介绍

4.3 以太网接口

4.4 ioctl系统调用

4.5 小结

第五章 接口:SLIP和环回

5.1 引言

5.2 代码介绍

5.3 SLIP接口

5.4 环回接口

5.5 小结

第六章 IP编址

6.1 引言

6.2 代码介绍

6.3 接口和地址小结

6.4 sockaddr_in结构

6.5 in_ifaddr结构

6.6 地址指派

6.7 接口ioctl处理

6.8 internet实用函数

6.9 ifnet实用函数

6.10 小结

第七章 域和协议

7.1 引言

7.2 代码介绍

7.3 domain结构

7.4 protosw结构

7.5 IP的domain和protosw结构

7.6 pffindproto和pffindtype函数

7.7 pfctlinput函数

7.8 IP初始化

7.9 sysctl系统调用

7.10 小结

第八章 IP:网际协议

8.1 引言

8.2 代码介绍

8.3 IP分组

8.4 输入处理:ipintr函数

8.5 转发:ip_forward函数

8.6 输出处理:ip_output函数

8.7 Internet检验和:in_cksum函数

8.8 setsockopt和getsockopt系统调用

8.9 ip_sysctl函数

8.10 小结

第九章 IP选项处理

9.1 引言

9.2 代码介绍

9.3 选项格式

9.4 ip_dooptions函数

9.5 记录路由选项

9.6 源站和记录路由选项

9.7 时间戳选项

9.8 ip_insertoptions函数

9.9 ip_pcbopts函数

9.10 一些限制

9.11 小结

第十章 IP的分片与重装

10.1 引言

10.2 代码介绍

10.3 分片

10.4 ip_optcopy函数

10.5 重装

10.6 ip_optcopy函数

10.7 ip_slowtimo函数

10.8 小结

第十一章 ICMP:Internet控制报文协议

第十二章 IP多播

第十三章 IGMP:Internet组管理协议

第十四章 IP多播选路

第十五章 插口层

第十六章 插口I/O

第十七章 插口选项

第十八章 Radix树路由表

第十九章 选路请求和选路消息

第二十章 选路接口

第二十一章 ARP:地址解析协议

第二十二章 协议控制块

第二十三章 UDP:用户数据报协议

第二十四章 TCP:传输控制协议

第二十五章 TCP的定时器

第二十六章 TCP输出

第二十七章 TCP的函数

第二十八章 TCP的输入

第二十九章 TCP的输入(续)

第三十章 TCP的用户需求

第三十一章 BPF:BSD分组过滤程序

第三十二章 原始IP

结束语

附录A 部分习题的解答

附录B 源代码的获取

附录C RFC 1122的有关内容

参考文献

Intouch与西门子200,300PLC以太网通讯TCP/IP驱动

08-21

亲测可用。放心下载。使用方法百度文库有。另若需要与西门子SMART200PLC通讯,见我另一个附件。没办法,没积分我下载不了东西,请多多支持!

TCP/IP协议教程.zip

12-16

TCPIP教程.zip 本教程内容包括: 以太网 TCP/IP协议: 三次握手,四次握手,keepalive选项 DNS协议 UDP协议 RPC原理 NFC协议 链路层介绍

车载诊断协议DoIP系列 —— AL IPv6地址分配&通用DoIP报头结构

最新发布

Soly_kun的博客

03-10

210

### 本文大体如下:

### 1、系列文章目的

### 2、AL IPv6地址分配

### 3、通用DoIP报头结构

trunk

2301_79947226的博客

03-10

447

当两台交换机之间需要互相传送多个 VLAN 的数据时,就需要使用 trunk 端口。Trunk 端口会将属于不同 VLAN 的数据进行打标记(通常是 IEEE 802.1Q 协议中定义的 VLAN 标识符),从而使得在传输过程中能够正确区分和处理不同 VLAN 的数据。在华为企业级网络模拟平台(eNSP)中,“trunk” 是指用于在交换机之间传送多个 VLAN 数据的端口。在 eNSP 中,您可以通过配置交换机的接口将其设置为 trunk 端口,从而实现跨交换机的 VLAN 数据传输和通信。

【网络层】IPv6引进的主要变化(湖科大慕课自学笔记)

2301_77185537的博客

03-08

457

我们知道因特网使用的是TCP/IP四层体系结构,其中网际层的网际协议IP是因特网的核心协议,目前常用的是版本4(IPv4):IPv6引进的主要变化。下一代网际协议IPv6。:IPv6的诞生背景。

如何做好企业的网络安全运营?(附资料下载)

goodxianping的专栏

03-10

388

总之,做好企业的网络安全运营需要企业在多个方面加强管理和投入,不断提升网络安全防护能力,确保企业网络系统的安全和稳定。做好企业的网络安全运营是一个综合性的任务,需要企业在多个方面加强管理和投入。

以太网和TCP/IP区别

07-25

以太网(Ethernet)和TCP/IP是计算机网络领域中两个不同的概念,它们在不同的层次上发挥作用:

1. 以太网(Ethernet):以太网是一种局域网(LAN)技术,是一种用于在局域网内传输数据的标准。它定义了物理层和数据链路层的规范,包括传输介质、数据帧格式、MAC地址等。以太网通常使用双绞线或光纤作为传输介质,通过交换机进行数据包转发。

2. TCP/IP协议:TCP/IP是一组用于互联网络的通信协议,它是互联网的基础协议。TCP/IP协议是一个分层的协议栈,包括网络接口层、网络层、传输层和应用层等多个层次。其中,以太网通常用于网络接口层,提供物理连接和数据链路层功能。

区别如下:

1. 作用层次:以太网是一种物理和数据链路层的技术,用于在局域网内传输数据。而TCP/IP是一个协议栈,涵盖了更高层次的网络、传输和应用层。

2. 范围:以太网通常用于局域网内部的数据传输,而TCP/IP是一种广域网(WAN)和互联网的协议,用于连接不同局域网和广域网。

3. 功能:以太网提供了数据帧格式、MAC地址等物理和数据链路层的功能,而TCP/IP协议栈提供了更高层次的网络编址、数据传输和应用层协议,如IP、TCP、UDP、HTTP等。

4. 技术标准:以太网和TCP/IP有各自的技术标准。以太网的标准由IEEE组织制定,如IEEE 802.3标准。而TCP/IP协议是由互联网工程任务组(IETF)制定的一组协议。

需要注意的是,以太网通常作为TCP/IP协议栈的底层传输技术,提供物理和数据链路层的支持。在实际网络中,以太网和TCP/IP往往是一起使用的,以太网提供了物理连接和数据链路层功能,而TCP/IP协议栈提供了更高层次的网络功能。

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

sandonz

CSDN认证博客专家

CSDN认证企业博客

码龄4年

暂无认证

37

原创

12万+

周排名

141万+

总排名

6万+

访问

等级

557

积分

407

粉丝

40

获赞

8

评论

261

收藏

私信

关注

热门文章

WSL(Ubuntu20.04)与其图形界面安装配置

21698

以太网与 TCP/IP

5091

Debian10(xfce4)Linux换源中文输入法sudo等常用软件安装配置

4164

python3网络爬虫开发实战(配置踩坑及学习备忘)

3990

三角函数公式

3763

分类专栏

算法和数据结构

3篇

计组原、操作系统,网络

5篇

笔记

3篇

常用公式与单位转换

6篇

编程语言

5篇

Linux

9篇

Windows

2篇

最新评论

WSL(Ubuntu20.04)与其图形界面安装配置

@鹏:

方法2 连接上了,登录账号密码,无法进入桌面,蓝色空白的界面,无法继续操作

WSL(Ubuntu20.04)与其图形界面安装配置

Tougher_LZ:

方法一最后启动xrdp的时候,报错

Job for xrdp.service failed because the control process exited with error code.

See "systemctl status xrdp.service" and "journalctl -xe" for details.

请问怎么解决

WSL(Ubuntu20.04)与其图形界面安装配置

看起来不太聪明的Jolin:

方式二,无法远程连接怎么办呢?输入了ip地址为169.254.112.161

WSL(Ubuntu20.04)与其图形界面安装配置

itboone:

注:ubuntu2204选方法2安装桌面

数据结构笔记Data Structure

CSDN-Ada助手:

动态规划难学么?

您愿意向朋友推荐“博客详情页”吗?

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

编程的智慧

开源项目预览

windows实用工具软件

2022年3篇

2021年26篇

2020年13篇

目录

目录

分类专栏

算法和数据结构

3篇

计组原、操作系统,网络

5篇

笔记

3篇

常用公式与单位转换

6篇

编程语言

5篇

Linux

9篇

Windows

2篇

目录

评论

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

工业通信之何谓EtherNet/IP - 知乎

工业通信之何谓EtherNet/IP - 知乎切换模式写文章登录/注册工业通信之何谓EtherNet/IP邵胖胖工业自动化软件开发这是自动化圈的第 8 篇文章,本文主要介绍工业通信基础以及重点分析EtherNet/IP原理。在介绍EtherNet/IP之前,先扯一点通信的东西,EtherNet/IP是众多通信方式之一,先介绍通信知识,让我们先有一个全局的视角再去看待EtherNet/IP。1 通信模型下面图片是通信最基本的模型:一个完整的通信应该包括发信方、收信方、传送的途径和传送方式。通信的目的是传送信息,信息是有载体的,信息的载体具有不同的形式,如文字、声音、图像、手势等。发信方发出信息,通信系统以不同的方式(如电信号、光信号)将它们传送到收信方,变成收信方可以理解的信息,这就完成了通信的全过程。上面是有一个简单的过程,真实世界还要考虑干扰等因素。因此,人们不断在上述环节展开研究、改进,以满足不同的应用场合,才形成了当今复杂的通信系统。在自动化行业中,经常需要两台机器的通信,根据上面模型,要实现一个通信就必须要具有以下3个条件:1.发信方和收信方,也就是要有两台机器设备,比如PLC和PLC,PLC与变频器、PLC与机器人等。总之,通信首先要清楚通信对象,是谁和谁之间通信。比如当一个PLC与多台相同的变频器通信,就容易混淆。2.连接途径;连接途径是连接发信方和收信方的方法。连接途径可以是串口线(使用RS485、RS232通信),也可以是网线(使用ProfiNet、EtherNet/IP等通信),也可以无线等。无论采用什么通信,都必须要有连接途径,也就是要有路可走。这种连接途径是实实在在的,看见的硬件连接。3.传送方式;传送方式是收信方和发信方约定的协议,只有拥有相同的协议的机器才能通信,比如一人说中文,另一个说英文是没法交流的。常见的协议有RS485、RS232、ProfiNet、EtherNet/IP等。这些协议是软件编写的,设备出厂时就已经写在设备里。通信协议非常多,有些是通用公开的,而有些是各个自动化公司自己推出的。2 各种通讯方法之间区别根据上面的模型,各种通信的区别就是连接途径和传送方式的不同,即硬件连接线和通信协议的区别。比如串口和以太网使用的电缆是不一样的,也就是连接途径区别。还比如Profinet、EtherNet/IP、Modbus TCP/IP虽然连接途径一样,都是网线,但他们的协议不同,互相之间仍不能交流。此外,连接途径和传送方式是一一对应的,也就是通信协议和硬件电缆是绑定的,比如工作中常听到Profinet,Profibus,虽然说的是协议,并没有说使用的电缆,因为知道协议也就确定了使用什么电缆。具体到通信协议原理是很复杂的东西,在此不做深究。只需要知道Profinet、EtherNet/IP、Modbus TCP/IP等都是一种发送、接收信息的约定规范,只有发信方、收信方都支持这种协议时才能互相通信。3 EtherNet/IP简介EtherNet/IP是由 ODVA规范管理并公开的的工业通信网络。ODVA是一家国际标准开发组织,由世界领先的自动化供应商成员组成,EtherNet/IP正是这个组织的代表作。EtherNet/IP通过将 CIP 协议、 TCP/IP、以太网这三者组合之后得以实现。由此可知,连接途径仍是网线,传送方式是CIP协议及组合。EtherNet/IP 通信中,扫描器和适配器是十分重要的概念。当开始 EtherNet/IP 通信时,一台设备相对于另一台设备,需要打开被称为 “ 连接 ” 的通信线路。打开连接的一侧称为 “ 扫描器 ”,类似主站;被打开的一侧称为 “ 适配器 ”,类似从站。EtherNet/IP 具有定时收发数据的周期通信 (Implicit 信息)和不定时收发指令 / 响应的信息通信 (Explicit 信息)两种方式。在周期通信中,可按照收发数据的优先程度来设定 RPI(通信周期),从而可以调整整体的通信量来收发数据。在信息通信中,可在必要时间通信所需的指令/响应。信息通信无需循环通信的定时性,例如,可用于读写适配器设备的设定用途等。EtherNet/IP通信通常是在扫描器中设置设置适配器的参数,如图新增一个适配器:Name:适配器唯一的名称;IP Address:适配器的IP地址Input Assembly instance /size:输入实例/大小,根据适配器实际设置Output Assembly instance /size:输出实例/大小,根据适配器实际设置Configuration Assembly instance /size:配置实例/大小,根据适配器实际设置上述输入实例、输出实例、配置实例是指传送数据的格式,比如数据中标志位和状态位的规定。有些设备是出厂时就指定这些参数,扫描器和适配器的这三个参数一定是对应的。发布于 2019-08-15 08:45工业自动化PLC 编程电气自动化​赞同 37​​5 条评论​分享​喜欢​收藏​申请