技术问答

网络协议与网络通信技术 网络协议和HTTP协议

小编 2024-10-06 技术问答 23 0

网络协议和HTTP协议

预计更新

爬虫技术概述1.1 什么是爬虫技术1.2 爬虫技术的应用领域1.3 爬虫技术的工作原理网络协议和HTTP协议2.1 网络协议概述2.2 HTTP协议介绍2.3 HTTP请求和响应Python基础3.1 Python语言概述3.2 Python的基本数据类型3.3 Python的流程控制语句3.4 Python的函数和模块3.5 Python的面向对象编程爬虫工具介绍4.1 Requests库4.2 BeautifulSoup库4.3 Scrapy框架数据存储和处理5.1 数据存储格式介绍5.2 数据库介绍5.3 数据处理和分析动态网页爬取6.1 动态网页概述6.2 Selenium工具介绍6.3 PhantomJS工具介绍反爬虫技术7.1 反爬虫技术概述7.2 User-Agent伪装7.3 IP代理池数据清洗和预处理8.1 数据清洗和去重8.2 数据预处理和分析分布式爬虫和高并发9.1 分布式爬虫概述9.2 分布式爬虫框架介绍9.3 高并发爬虫实现爬虫实战10.1 爬取豆瓣电影排行榜10.2 爬取天气数据10.3 爬取新闻网站数据网络协议和HTTP协议2.1 网络协议概述2.2 HTTP协议介绍2.3 HTTP请求和响应

网络协议概述

网络协议是互联网通信的基础,它规定了数据传输的格式、传输速率、传输控制、错误检测和纠正等内容。本文将详细介绍网络协议的概述,包括协议的分类、协议的层次结构、协议的功能和应用等方面,旨在帮助读者更好地了解网络协议。

一、协议的分类

根据协议的不同功能和应用领域,协议可以分为以下几类。

1.传输层协议

传输层协议是指在网络通信中负责传输数据的协议,包括TCP和UDP两种协议。TCP协议提供可靠的数据传输服务,保证数据的完整性和可靠性,适用于需要可靠传输的应用;UDP协议提供不可靠的数据传输服务,不保证数据的完整性和可靠性,但传输速度较快,适用于实时传输应用。

2.网络层协议

网络层协议是指在网络通信中负责路由和转发数据的协议,包括IP协议和ICMP协议。IP协议是互联网上最常用的协议,它为数据包添加IP地址和相关信息,以便在网络中进行路由和转发;ICMP协议用于网络中的错误检测和纠正,例如网络中的主机或路由器无法到达时,ICMP协议会返回相应的错误信息。

3.物理层协议

物理层协议是指在网络通信中负责传输物理信号的协议,包括以太网协议、无线协议等。以太网协议是一种广泛使用的有线局域网协议,它定义了数据传输的格式、速率、控制等内容;无线协议是一种无线局域网协议,包括Wi-Fi、蓝牙等,它们定义了无线信号的传输格式、速率、控制等内容。

4.应用层协议

应用层协议是指在网络通信中负责应用数据传输的协议,包括HTTP、FTP、SMTP、POP3等。HTTP协议是用于Web应用的协议,它定义了Web页面的传输格式和交互方式;FTP协议是用于文件传输的协议,它定义了文件的传输格式和控制方式;SMTP协议是用于电子邮件传输的协议,它定义了邮件的传输格式和交互方式;POP3协议是用于接收邮件的协议,它定义了邮件的接收格式和交互方式。

二、协议的层次结构

网络协议的层次结构是指将协议按照功能分成若干个层次,每个层次负责不同的功能,通过层与层之间的协议交互完成数据传输。常见的协议层次结构有OSI七层模型和TCP/IP四层模型。

1.OSI七层模型

OSI七层模型是一种理论模型,它将网络协议分为七层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

(1)物理层:负责物理信号的传输,如电压、频率等。

(2)数据链路层:负责数据帧的传输,包括数据的封装和解封装、帧的同步和错误检测等。

(3)网络层:负责数据包的传输,包括路由、寻址和分组等。

(4)传输层:负责传输数据流,包括数据的分段和重组、传输控制和错误检测等。

(5)会话层:负责建立、管理和终止会话,包括会话的开始、保持和结束等。

(6)表示层:负责数据的格式转换和编码,包括数据的加密和解密、数据格式的转换和压缩等。

(7)应用层:负责应用程序的交互和数据传输,包括HTTP、FTP、SMTP等应用协议。

2.TCP/IP四层模型

TCP/IP四层模型是一种实际应用的模型,它将网络协议分为四层,分别是网络接口层、网络层、传输层和应用层。

(1)网络接口层:负责将数据帧传输到物理层,并接收物理层传输的数据帧。

(2)网络层:负责数据包的传输和路由,包括IP协议和ICMP协议。

(3)传输层:负责传输数据流,包括TCP协议和UDP协议。

(4)应用层:负责应用程序的交互和数据传输,包括HTTP、FTP、SMTP等应用协议。

三、协议的功能

网络协议的主要功能包括数据传输、数据控制、错误检测和纠正等。

1.数据传输

数据传输是网络协议的主要功能之一,它负责数据的传输和交换。在数据传输过程中,协议需要确定数据的格式、传输速率、传输方式等内容,以确保数据能够正确地传输到目的地。

2.数据控制

数据控制是网络协议的另一个重要功能,它负责控制数据的传输和处理。在数据控制过程中,协议需要对数据进行分段、重组、排序和重传等操作,以确保数据能够按照正确的顺序传输并且不丢失。

3.错误检测和纠正

错误检测和纠正是网络协议的必要功能,它负责检测并纠正在传输过程中产生的错误。在错误检测和纠正过程中,协议需要使用差错检测码、校验和等技术来检测和纠正错误,以确保数据的完整性和正确性。

四、协议的应用

网络协议广泛应用于各个领域,包括互联网、局域网、无线网络等。

1.互联网

互联网是网络协议的主要应用领域之一,它使用TCP/IP协议来实现数据传输和交换。TCP/IP协议提供了可靠的数据传输服务,保证数据的完整性和可靠性,同时也提供了丰富的应用层协议,包括HTTP、FTP、SMTP等,为互联网的发展提供了强有力的支持。

2.局域网

局域网是指在一个局限范围内的计算机网络,它使用各种协议来实现数据传输和交换。常见的局域网协议包括Ethernet、WiFi、Token Ring等,它们提供了高速、可靠的数据传输服务,为企业和机构的信息化建设提供了支持。

3.无线网络

无线网络是指通过无线信号进行数据传输和交换的网络,它使用各种无线协议来实现数据传输和交换。常见的无线协议包括WiFi、蓝牙、Zigbee、NFC等,它们在不同的领域和场景下发挥着重要的作用,如WiFi在家庭、办公室、公共场所等提供无线网络服务,蓝牙在个人设备之间提供短距离通信服务,Zigbee在物联网等领域提供低功耗、低速率的无线网络服务,NFC在移动支付、智能门锁等领域提供近距离通信服务。

总之,网络协议在现代信息化社会中扮演着重要的角色,它们为计算机网络的发展和应用提供了强有力的支持,促进了信息的快速传输和共享,推动了人类社会的进步。

HTTP协议介绍

HTTP协议是一种应用层协议,用于在Web浏览器和Web服务器之间传输数据。HTTP协议最初由Tim Berners-Lee在1991年提出,并在1996年由IETF(Internet Engineering Task Force)标准化。HTTP协议是Web应用程序的基础,它定义了Web客户端和服务器之间的通信方式、消息格式、请求和响应的语义等。在这篇文章中,我们将详细介绍HTTP协议的各个方面。

一、HTTP协议的基础

1. HTTP协议的定义

HTTP(Hypertext Transfer Protocol)是一种基于请求/响应模型的应用层协议,用于在Web浏览器和Web服务器之间传输数据。HTTP协议是Web应用程序的基础,它定义了Web客户端和服务器之间的通信方式、消息格式、请求和响应的语义等。HTTP协议是一种无状态协议,即服务器不会保存客户端的状态信息,每个请求都是相互独立的。

2. HTTP协议的特点

HTTP协议的主要特点包括:

(1)简单:HTTP协议的消息格式简单,易于实现和调试。

(2)灵活:HTTP协议可以传输任意类型的数据,支持多种数据格式和传输方式。

(3)可扩展:HTTP协议支持扩展,可以通过添加头部、方法、状态码等来支持更多功能。

(4)无状态:HTTP协议是一种无状态协议,即服务器不会保存客户端的状态信息,每个请求都是相互独立的。

(5)可靠:HTTP协议使用TCP协议作为传输层协议,具有可靠性和保证数据完整性的特点。

3. HTTP协议的工作原理

HTTP协议的工作原理可以简单地描述为请求和响应模型。客户端向服务器发送HTTP请求,服务器收到请求后返回HTTP响应。客户端和服务器之间的通信通过TCP/IP协议进行,客户端发送请求时需要指定服务器的IP地址和端口号。

HTTP协议的请求和响应都是由消息组成的。HTTP消息由一个起始行、一些头部、一个空行和一个消息体组成。起始行包含请求或响应的方法、URI和HTTP版本,头部包含一些元数据,如cookie、user-agent等,消息体包含实际传输的数据。

二、HTTP协议的请求

HTTP协议的请求是由客户端向服务器发送的,它包含了客户端想要获取的资源、请求方法、请求头部等信息。HTTP协议定义了多种请求方法,如GET、POST、PUT、DELETE等,每种方法都有不同的语义和使用场景。

1. HTTP请求的格式

HTTP请求由一个起始行、一些头部、一个空行和一个消息体组成。HTTP请求的格式如下:

```

<method> <request-uri> <http-version>

<header1>: <value1>

<header2>: <value2>

...

<headerN>: <valueN>

<message-body>

```

其中,`<method>`表示请求的方法,如GET、POST等,`<request-uri>`表示请求的URI,`<http-version>`表示HTTP协议的版本号,头部包含了一些元数据,如cookie、user-agent等,消息体包含实际传输的数据。

2. HTTP请求的方法

HTTP协议定义了多种请求方法,如GET、POST、PUT、DELETE等,每种方法都有不同的语义和使用场景。

(1)GET方法:用于获取指定资源的表示,不会对服务器上的资源产生任何影响。GET方法的请求可以被缓存,多个相同的GET请求可以共享同一个响应。

(2)POST方法:用于向服务器提交数据,可能会导致服务器上的资源发生变化。POST方法的请求不会被缓存,每个POST请求都会产生一个新的响应。

(3)PUT方法:用于创建或更新服务器上的资源,如果资源不存在则创建,否则更新。PUT方法的请求可以被缓存,多个相同的PUT请求可以共享同一个响应。

(4)DELETE方法:用于删除服务器上的资源。DELETE方法的请求不会被缓存,每个DELETE请求都会产生一个新的响应。

(5)HEAD方法:与GET方法类似,但只返回响应头部,不返回响应消息体。HEAD方法的请求可以被缓存,多个相同的HEAD请求可以共享同一个响应。

(6)OPTIONS方法:用于查询服务器支持的HTTP方法和其他选项。OPTIONS方法的请求可以被缓存,多个相同的OPTIONS请求可以共享同一个响应。

(7)TRACE方法:用于回显服务器收到的请求,用于调试和诊断。TRACE方法的请求不能被缓存,每个TRACE请求都会产生一个新的响应。

(8)CONNECT方法:用于建立与服务器的隧道,通常用于HTTPS协议。CONNECT方法的请求不能被缓存,每个CONNECT请求都会产生一个新的响应。

3. HTTP请求的头部

HTTP请求的头部包含了一些元数据,如cookie、user-agent等,用于描述请求的附加信息。HTTP请求的头部格式如下:

```

<header1>: <value1>

<header2>: <value2>

...

<headerN>: <valueN>

```

常用的HTTP请求头部包括:

(1)Host:指定请求的服务器主机名和端口号。

(2)User-Agent:指定客户端的浏览器类型和版本。

(3)Accept:指定客户端能够接受的响应的MIME类型。

(4)Cookie:指定客户端发送的Cookie信息。

(5)Referer:指定请求的来源页面。

(6)Authorization:指定客户端的身份认证信息。

4. HTTP请求的消息体

HTTP请求的消息体包含了实际传输的数据。HTTP请求的消息体格式取决于请求的方法和资源类型。

三、HTTP协议的响应

HTTP协议的响应是由服务器向客户端发送的,它包含了服务器返回的资源、状态码、响应头部等信息。

1. HTTP响应的格式

HTTP响应由一个起始行、一些头部、一个空行和一个消息体组成。HTTP响应的格式如下:

```

<http-version> <status-code> <reason-phrase>

<header1>: <value1>

<header2>: <value2>

...

<headerN>: <valueN>

<message-body>

```

其中,`<http-version>`表示HTTP协议的版本号,`<status-code>`表示响应的状态码,`<reason-phrase>`表示状态码的原因短语,头部包含了一些元数据,如cookie、user-agent等,消息体包含实际传输的数据。

2. HTTP响应的状态码

HTTP响应的状态码用于表示服务器处理请求的结果,可以分为5类,分别是1xx(信息响应)、2xx(成功响应)、3xx(重定向)、4xx(客户端错误)和5xx(服务器错误)。

常见的HTTP响应状态码包括:

(1)200 OK:表示请求成功,服务器已经成功处理了请求。

(2)201 Created:表示请求成功,服务器已经创建了新的资源。

(3)204 No Content:表示请求成功,但服务器没有返回任何内容。

(4)301 Moved Permanently:表示请求的资源已经被永久移动到新的URL。

(5)302 Found:表示请求的资源已经暂时移动到新的URL。

(6)304 Not Modified:表示客户端缓存的资源未过期,服务器未返回任何内容。

(7)400 Bad Request:表示客户端发送的请求有错误,服务器无法处理。

(8)401 Unauthorized:表示客户端未经授权,需要进行身份验证。

(9)403 Forbidden:表示客户端未被授权访问请求的资源。

(10)404 Not Found:表示服务器无法找到请求的资源。

(11)500 Internal Server Error:表示服务器处理请求时发生了错误。

(12)503 Service Unavailable:表示服务器暂时无法处理请求,一般是由于服务器过载或正在维护。

3. HTTP响应的头部

HTTP响应的头部包含了一些元数据,如cookie、Content-Type等,用于描述响应的附加信息。HTTP响应的头部格式如下:

```

<header1>: <value1>

<header2>: <value2>

...

<headerN>: <valueN>

```

常用的HTTP响应头部包括:

(1)Content-Type:指定响应消息体的MIME类型。

(2)Content-Length:指定响应消息体的长度。

(3)Set-Cookie:指定服务器发送的Cookie信息。

(4)Expires:指定响应的过期时间。

(5)Cache-Control:指定响应的缓存策略。

(6)Location:指定重定向的目标URL。

4. HTTP响应的消息体

HTTP响应的消息体包含了服务器返回的实际数据。HTTP响应的消息体格式取决于响应的状态码和资源类型。

四、HTTP协议的缺点和改进

虽然HTTP协议已经成为Web通信的标准协议,但它也存在一些缺点,需要不断改进。

1. 安全性问题

HTTP协议的数据传输是明文的,容易被中间人攻击者窃取、篡改或伪造数据。为了解决这个问题,HTTPS协议应运而生,通过采用SSL/TLS协议对HTTP协议进行加密,保证数据传输的安全性。

2. 性能问题

HTTP协议的性能问题主要体现在以下几个方面:

(1)HTTP请求和响应的数据量大,导致网络带宽占用高。

(2)HTTP请求和响应是逐个发送和接收的,导致请求和响应的延迟高。

为了解决这个问题,HTTP/2协议应运而生,通过采用多路复用、二进制分帧、头部压缩等技术,提高了HTTP协议的性能。

3. 可扩展性问题

HTTP协议的可扩展性问题主要体现在以下几个方面:

(1)HTTP协议的头部信息很多,导致HTTP请求和响应的数据量大。

(2)HTTP协议的头部信息不易扩展,导致HTTP协议的可扩展性受到限制。

为了解决这个问题,HTTP/3协议应运而生,通过采用QUIC协议、二进制分帧、头部压缩等技术,提高了HTTP协议的可扩展性。

五、总结

HTTP协议是Web通信的标准协议,它采用了客户端-服务器模式,可以传输各种类型的数据,支持多种请求方法和响应状态码,具有广泛的应用和重要的意义。虽然HTTP协议存在一些缺点,但随着技术的不断发展,HTTP协议的性能和可扩展性得到了极大的提高,将继续发挥重要的作用。

HTTP请求和响应

HTTP请求和响应是Web通信的基础,也是HTTP协议的核心内容。在本文中,我将详细介绍HTTP请求和响应的具体内容,包括请求方法、请求头、请求消息体、响应状态码、响应头和响应消息体等方面,希望能够帮助读者深入了解HTTP协议的实现原理和应用场景。

一、HTTP请求

HTTP请求是客户端向服务器发送的请求消息,它包含了请求方法、请求头、请求消息体等内容。HTTP请求的格式如下:

```

<method> <request-target> <version>

<header1>: <value1>

<header2>: <value2>

...

<headerN>: <valueN>

<entity-body>

```

其中,<method>表示请求方法,<request-target>表示请求目标,<version>表示HTTP协议的版本号。下面分别介绍HTTP请求的各个部分。

1. 请求方法

HTTP协议定义了多种请求方法,常用的有以下几种:

(1)GET:请求指定的资源。

(2)POST:提交数据,如果请求成功,会创建新的资源。

(3)PUT:上传文件,如果资源已经存在,则会更新资源。

(4)DELETE:删除指定的资源。

(5)HEAD:请求指定资源的头部信息。

(6)OPTIONS:获取服务器支持的HTTP方法。

(7)TRACE:回显服务器收到的请求,用于测试和诊断。

(8)CONNECT:用于代理服务器,将连接转换为管道方式。

不同的请求方法有不同的语义,客户端需要根据实际情况选择合适的请求方法。

2. 请求头

HTTP请求头包含了客户端发送的附加信息,用于描述请求的元数据。HTTP请求头的格式如下:

```

<header1>: <value1>

<header2>: <value2>

...

<headerN>: <valueN>

```

常用的HTTP请求头包括:

(1)Host:指定服务器的主机名和端口号。

(2)User-Agent:指定客户端的类型和版本号。

(3)Accept:指定客户端接受的MIME类型。

(4)Accept-Language:指定客户端接受的语言。

(5)Accept-Encoding:指定客户端接受的压缩算法。

(6)Referer:指定发送请求的URL。

(7)Cookie:指定客户端发送的Cookie信息。

(8)Authorization:指定客户端发送的身份验证信息。

(9)Content-Type:指定请求消息体的MIME类型。

(10)Content-Length:指定请求消息体的长度。

3. 请求消息体

HTTP请求的消息体包含了客户端发送的实际数据。HTTP请求的消息体格式取决于请求的方法和资源类型。

二、HTTP响应

HTTP响应是服务器向客户端返回的响应消息,它包含了响应状态码、响应头、响应消息体等内容。HTTP响应的格式如下:

```

<version> <status-code> <reason-phrase>

<header1>: <value1>

<header2>: <value2>

...

<headerN>: <valueN>

<entity-body>

```

其中,<version>表示HTTP协议的版本号,<status-code>表示响应状态码,<reason-phrase>表示响应状态码的文本描述。下面分别介绍HTTP响应的各个部分。

1. 响应状态码

HTTP协议定义了多种响应状态码,常用的有以下几种:

(1)200 OK:表示请求成功,服务器已经成功处理了请求。

(2)201 Created:表示请求成功,服务器已经创建了新的资源。

(3)204 No Content:表示请求成功,服务器已经成功处理了请求,但没有返回任何内容。

(4)301 Moved Permanently:表示请求的资源已经永久移动到新的位置。

(5)302 Found:表示请求的资源已经暂时移动到新的位置。

(6)304 Not Modified:表示客户端缓存的资源仍然有效,服务器没有返回新的内容。

(7)400 Bad Request:表示客户端请求有误,服务器无法理解。

(8)401 Unauthorized:表示客户端未经授权访问资源。

(9)403 Forbidden:表示客户端没有权限访问资源。

(10)404 Not Found:表示请求的资源不存在。

(11)500 Internal Server Error:表示服务器发生了错误。

不同的响应状态码有不同的含义,客户端需要根据响应状态码处理响应。

2. 响应头

HTTP响应头包含了服务器发送的附加信息,用于描述响应的元数据。HTTP响应头的格式如下:

```

<header1>: <value1>

<header2>: <value2>

...

<headerN>: <valueN>

```

常用的HTTP响应头包括:

(1)Content-Type:指定响应消息体的MIME类型。

(2)Content-Length:指定响应消息体的长度。

(3)Server:指定服务器的类型和版本号。

(4)Set-Cookie:指定服务器发送的Cookie信息。

(5)Location:指定重定向的URL。

(6)Cache-Control:指定缓存策略。

(7)Expires:指定响应过期时间。

(8)Last-Modified:指定资源的最后修改时间。

3. 响应消息体

HTTP响应的消息体包含了服务器返回的实际数据。HTTP响应的消息体格式取决于响应的状态码和资源类型。

三、HTTP请求和响应的交互过程

HTTP请求和响应的交互过程包括了多个步骤,如下所示:

1. 建立TCP连接

客户端需要先建立TCP连接,才能向服务器发送HTTP请求。建立TCP连接的过程包括三次握手,即客户端向服务器发送SYN包,服务器向客户端发送SYN+ACK包,客户端再向服务器发送ACK包,完成连接的建立。

2. 发送HTTP请求

客户端向服务器发送HTTP请求,包括请求方法、请求头和请求消息体等内容。客户端将HTTP请求发送给服务器的IP地址和端口号。

3. 服务器处理HTTP请求

服务器接收到HTTP请求后,根据请求方法和请求目标等信息,处理请求并生成HTTP响应。服务器需要根据请求的资源类型,选择合适的处理方式。

4. 发送HTTP响应

服务器向客户端发送HTTP响应,包括响应状态码、响应头和响应消息体等内容。服务器将HTTP响应发送给客户端的IP地址和端口号。

5. 关闭TCP连接

HTTP请求和响应完成后,客户端和服务器都可以关闭TCP连接,释放资源。

以上就是HTTP请求和响应的详细介绍,包括请求方法、请求头、请求消息体、响应状态码、响应头和响应消息体等内容,以及HTTP请求和响应的交互过程。HTTP协议是Web通信的基础,对于Web开发者来说,深入了解HTTP协议的实现原理和应用场景非常重要。

点击以下链接,学习更多技术!

Kali与编程:黑客渗透与网络安全 - 网易云课堂

最全工业网络通讯技术与协议总结—总线、工业以太网、工业无线

写在前面(文中超链接,PPT等仅在微信公众号“智能制造之家”有效)

大家好,我是小智,智能制造之家号主~

工业网络协议构成了工业网络设备之间通信的基础,而在过去的几十年里人们开发了很多工业特有的网络协议,每种协议都针对特定用途和环境而设计。

前面我们总结了工业领域常用的一些总线与协议:最全整理工业通讯上的领域各种总线+协议+规范+接口—数据采集与控制

史上最全网络通讯(IIOT、工业控制、5G、区块链)协议全景图

对于很多非专业人士或者行业小白来说,可能不够体系,因此今天我们再从现场总线,工业以太网,工业无线三个方面,来整体阐述工业网络与常用协议,期待让IT和OT专业人士和小白都能有一个比较清晰的认识~

01 工业网络与协议综述

02 现场总线、工业以太网和工业无线总结

03 IT/OT网络与工业网络的规划与选型

01 工业网络与协议综述

工业网络对于工厂的运营而言至关重要。工业网络汇集了成千上万用于控制和监测的终端节点,通常会在恶劣的环境下运行,所以对于连接性能和通信有着严格的要求。

下图概括出它的主要应用领域以及今天在这些领域中的各种可用协议。工业物联网 (IIoT) 的出现以及无线和以太网的全新连接能力,正在改变这类协议的环境。

但是对于非业内人士和小白来说,面对各种杂乱的工业协议,总是充满了无奈,因此在今天的入门介绍中,我们将探究工业环境中所使用的一些关键协议,并对促使这类协议演变从而支持下一代工业环境的新兴趋势进行评价。

首先,工业网络最典型的架构还是下图的制造业金字塔,美国标准院推荐了一种常用的参考模型(ISA-95),用于开发自动化企业和控制系统之间的接口。它为信息交换提供了标准,减少了 MES- ERP 集成的费用,与产品的生命周期管理协同工作。由于可以提供生产能力和状态,提高了生产制造的灵活性,提供了一套信息集成的架构和标准模型。这样定义了 ERP 和 MES 的界限和信息流。

关于其中的工业网络层级,我们前面就专门进行了介绍,让大家先有一个比较宏观的概念,对于理解自动化,信息化和数字化也有很好的帮助~

工业通讯网络层级全解读,解析工业网络的自动化金字塔

总的来说,可以分为以下几个层级:

1.现场层——这个层面由大量的传感器和执行器节点构成。传感器节点通常会收集环境或过程控制信息,并将它们传送回控制器或用于监控。执行器会将从控制器接收的指令转化为现场设备电机的实际动作。2.控制层——即逻辑控制器,可以是分布式的,也可以是集中式的,它们对传感器/执行器的数据进行汇总,然后输送到更大规模的工厂控制系统。通常还可以使用可编程逻辑控制器 (PLC) 或分布式控制系统 (DCS) 为工厂中的特定域组提供局部控制。它们会执行逻辑、排序、计时、计数和计算等各类机器或过程指令,通过数字或模拟模块进行控制。3.SCADA层——这个层面包括配备人机界面的各类工厂控制系统,用于管理工厂运营。监控和数据采集 (SCADA) 系统向操作人员报告各类信息,提供针对警报的连续远程监控以及整个托管系统的综合视图。这个层面的主要功能还包括数据处理、日志记录和历史趋势分析等。4.执行与规划层——负责工程和生产的执行。生产执行系统 (MES) 会负责执行资源和设备调度,并制定在制品 (WIP) 操作规范以及一般工作计划。这个层面是业务优先级和操作系统之间的接口。采购、库存、需求规划以及预测管理等与企业和规划相关的职能,是这个层面中企业资源规划 (ERP) 系统所负责的关键职能。

02 现场总线、工业以太网和工业无线总结

工业网络的严格要求在历史上推动了各种私有协议和应用专属协议的产生。有线和无线网络都有专属的协议集。尽管可用的协议有很多,但大多数有线协议都遵循两个标准:现场总线或者工业以太网。

在当代,无线连接降低网络成本的潜力日益凸显,Wi-Fi、蜂窝网络、蓝牙以及 ZigBee 等协议都得到不同程度的应用。 此外,IO-Link,一种串行接口点对点协议,在智能传感器之类的应用中也在逐渐普及。不过随着工业互联网、工业4.0等概念的深入人心,纷繁复杂的各种工业总线,协议等制约了整个设备联网,数据采集的进程~

下面列举了一些工业领域非常想见的工业通讯协议。整体上讲,工业通讯分为有线通信和无线通信。其中有线通讯技术包括了现场总线,工业以太网等工业无线则包括了Wi-FI、LoRA等等我们常见的协议下面我们就现场总线、工业以太网和工业无线三个方面来和大家探究下~

现场总线

现场总线是一系列工业网络协议的总称,主要用于实时分布式控制,目前的工业总线网络可归为485网络和FieldBUS现场总线网络。我们先说一说RS 485和与它关系密切的RS 422和RS 2325之间的特点:

现场总线相比传统I/O通信的最大优势在于它可以大幅缩减工厂的供电线路。下表罗列出了常见现场总线各种协议及其相应特点。它们各自的优点、缺点以及适用性也有提及。简单可靠是现场总线最重要的特征,在工业以太网兴起之前,它成为了工业网络的首选

工业以太网:

经过多年的发展,工业以太网已经成为了主流,根据HMS的报告,其市场份额超过了现场总线:

2020工业网络市场份额报告:主流工业以太网、现场总线、工业无线份额对比

工业以太网持续推动工厂的工业互联,并不断蚕食着现场总线的市场份额,总的来说常见的PROFINET、ETHERNET/IP、POWERLINK、ETHERCAT、MODBUS TCP等工业以太网背后都有着西门子、罗克韦尔、施耐德、倍福、三菱、菲尼克斯等传统工业巨头的身影

但无论是以上哪一种工业以太网,我们都可以将他们分为三类:

1.完全基于TCP\UDP\IP,硬件层未更改,采用传统以太网控制器,典型的有标准PROFINET、ETHERNET/IP、MODBUS TCP

2.部分基于TCP\UDP\IP,硬件层未更改,具有Process Data协议,直接由以太网帧进行传输,TCP/UDP依然存在,不过由Timing Layer控制,典型的有PROFINET RT、POWERLINK

3.硬件层更改,使用实时以太网控制器,典型的有PROFINET IRT、CC-LINK IE 、SERCOS III 、ETHERCAT

更详细的解读,前面我们的文章:

技术解读PROFINET、Ethernet/IP等7种主流工业以太网

当中就曾经详细解读过,再次不再赘述,当然不论怎么样,前提你得先对以太网有一定的基础认识~

无线协议:

无线技术为节省网络运营成本和简化安装带来了新的机遇。虽然这类协议仍处于发展的早期阶段,但是越来越多的人认为它会是工业网络的未来。它的主要优点是不需要布置供电线路,而且能够连接更多监测和控制点。如今,传感器和测量装置是无线协议的主要使用对象。

最常见的工业自动化无线技术包括 802.11.x Wi-Fi、蓝牙、蜂窝网络、无需许可证的私有 ISM 频段无线电以及 WirelessHART、ISA100.11a、WIA-PA 以及 ZigBee 等基于802.15.4 的协议。Wi-Fi 的使用通常伴随着工业以太网的部署,并且通常作为通信的第二支柱与以太网共存。蓝牙则用于替代点对点(如在 HMI 解决方案和现场设备之间)的布线。蜂窝网络通常用于工厂之间的远程通信,远程SCADA 应用中远程设备的连接,以及机械设备和机器人的第三方访问。下表罗列出了各种协议及其相应特点。随着数据分析和物联网带来新的可能性,无线协议将在工业环境中继续增长。

前面我们也专门系统的分析了工业互联网时代的一些无线协议:

比较工业物联网中的几种主流无线技术

03 IT/OT网络与工业网络的规划与选型

IT、OT与CT的不断融合是这个时代不变的主题,网络作为贯穿IT和OT各个层级的基础,不论是企业网络,工厂网络,控制网络还是现场网络(如下图),也不论是ERP、PLM、SRM、MES/MOM、WMS、SCADA/DCS等等,都需要构建强大的网络,因此网络的规划和选型显得尤为重要~

前面我们就已经分享了工业网络的规划与设计:

如何进行工业网络规划与设计?从工业系统层级谈工业网络的规划原则

总体来说,协议和网络连接要求会随整个网络层次上的应用需求、可靠性要求以及带宽等因素发生变化。在进行网络的规划、设计的时候,都需要考虑以下因素:

•实时/确定性 :部分工业应用不允许通信过程有任何延迟。那些非实时或者不能将数据包立即传送出去的协议都不符合此类要求。工业网络与传统IT网络对于网络延时的敏感差异很大,尤其是在一些运动控制的场景下(如下图)显得尤为重要~

•可伸缩性、可扩展性和拓扑 :可伸缩性和可扩展性也是需要考虑的重要因素。当需要频繁添加新节点或者改变网络配置时,某些实施过程可能会耗费大量的资金。此外,可以将某些网络(如 ZigBee)的架构设计成出现故障后立即进行自组织和自我修复,从而让增加或者删除新节点的过程变得既快速又廉价。除此之外,在不同的环境和应用下,需要不同的网络架构和拓扑(如下图),因此这也是必须考虑的因素~

•运行环境 :工业基础设施和设备经常会遭受日晒雨淋或者暴露在腐蚀性环境中。此外,随着工业互联网时代的到来,安全性和风险需要作专门的考虑。必须选择那些既不影响通信可靠性,又能够承受这类环境要求的网络和总线。适宜的工作温度范围,振动和噪声的影响,抗干扰能力以及湿度的负面影响,这些都是对应的总线、网络和协议选择时需要考虑的重要因素。

•终端节点电源 :传感器和执行器的终端节点是工厂控制系统的关键输入,需要持续供电。因此会同时使用来自电池和电源的电力。由于某些网络、总线或协议会比其他协议消耗更多的电力,因此能否使用电源会影响到这些协议的使用。•供电线路 :现代化工厂的面积可达几平方公里,如果使用超长的电线连接终端节点,费用通常会很高昂。由于控制层和传感器层的网络、总线与协议通常并不通用,所以他们的选择可能会受到工厂中间控制程度的影响。•丢包率 :某些协议与其他协议相比具有更强的适应性,可以极大地缓解由于数据拥塞、误码或连接不良等传输问题导致的数据丢失。虽然丢失部分数据不会对非关键的应用或节点造成负面影响,但对于某些关键应用而言,传输过程中则不能出现数据丢失。•吞吐量 :数据传输的类型和大小对协议的选择有着极大的影响。如果是用于传递开/关状态的简单二进制数据,可以将就使用低成本、低吞吐量的协议。然而,传输相机中的图像数据则需要能容纳更多数据的协议。

•网络范围、负载和架构 :数据在网络中传输的距离,网络中节点的数量以及网络架构本身都会对协议的选择产生重大的影响。在某些网络架构中,网络拥塞、吞吐量和数据丢失等问题都会变得突出。网络与协议的选择往往决定了工厂能否高效地运营。•安全性 :工业网络需要同时防范无意和恶意的威胁。与网站和其他 IT 宕机不同,安全漏洞损害的不仅仅是金钱和声誉。如果网络没有受到足够的保护(如未被加密),而又网络遭受攻击时,人类安全和国家安全都有可能会受到威胁。

好了,今天就到这里,欢迎拍砖,但是拒绝喷子和杠精,保持空杯心态,保持对新事物的敏感~

硬核专辑

工业热点 | 数据采集 | 应用与库(西门子、罗克韦尔、倍福等)

WinCC技术 | 工业网络 | MES技术相关| 工业巨头战略布局 | 工业通讯案例

仿真与虚拟调试 | 职业感悟、认知提升 | 自动化控制标准合集

西门子、ABB、霍尼韦尔、中控、力控...中国SCADA&DCS市场报告

2021-03-09

100大产业链全景图(2020版)及智能制造50大产业链

2021-03-04

中国ERP软件行业研究—SAP、金蝶、用友、浪潮、鼎捷哪家强

2021-03-02

自动化早已不是原来的自动化,为何你却还是原来的你

2021-02-27

GE、西门子、PTC、SAP、阿里、腾讯、海尔..工业互联网的『未来战争』

2021-02-21

全球智能仓储物流自动化行业深度研究报告

2021-02-20

库卡数字化工厂仿真软件VC十分钟快速搭建的3D虚拟产线

2021-02-05

TIA+MCD+SIMIT+CMVM:西门子机床行业仿真与虚拟调试解决方案

2021-02-23

MES/MOM与WMS系统集成应用案例-系统接口、交互数据分析

2021-02-24

物料编码、BOM、ERP基础知识学习—企业信息化基础

2021-02-28

相关问答

什么和什么以及 网络协议 和网络软件等组成?

计算机网络由计算机系统,通信线路,通信设备以及网络协议和网络软件等组成。计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信...

通信协议 网络协议 的区别?

通信协议和网络协议的区别主要体现在以下几个方面:1.定义层面:通信协议是用于描述两个或多个设备之间在进行数据通信时所遵循的一套规则、标准或约定,主要关...

通信技术通信协议 区别?

通信技术,又称通信工程(也作信息工程、电信工程,旧称远距离通信工程、弱电工程)是电子工程的重要分支,同时也是其中一个基础学科。该学科关注的是通信过程中...

网络协议 分析的意义,也就是作用,_作业帮

[最佳回答]网络协议网络协议的定义:为计算机网络中进行数据交换而建立的规则、标准或约定的集合.例如,网络中一个微机用户和一个大型主机的操作员进行通信,由...

网络通信 包含哪些 协议 - lululin_ 的回答 - 懂得

开放系统互连参考模型是计算机网络通信的基本协议,该协议分成7层,由低到高:物理层:物理层(physicallayer)的主要功能是完成相邻结点之间原始比特流...

网络协议 有哪三部分组成?

计算机网络协议是有关计算机网络通信的一整套规则,或者说是为完成计算机网络通信而制订的规则、约定和标准。网络协议由语法、语义和时序三大要素组成。语...

网络协议 的含义?

网络协议指的是计算机网络中互相通信的对等实体之间交换信息时所必须遵守的规则的集合。就像我们说话用某种语言一样,在网络上的各台计算机之间也有一种语言,...

网络通信协议 是什么意思?

网络通信协议是指在计算机网络中,为了使得不同的计算机或设备能够相互通信而制定的一种规则或标准。它规定了数据传输的格式、传输速率、传输控制、差错检测...

网络 工程和计算机 网络 是一个专业嘛?

网络工程是计算机科学的一个分支,涉及计算机网络、数据通信、网络协议、网络设计、网络安全等方面的知识和技术。网络...网络工程和计算机网络是两个不同的专...

【Internet网中不同 网络与 不同计算机相互通讯的基础是?A:ATM...

[最佳回答]B,tcp/ipTCP/IP(TransmissionControlProtocol/InternetProtocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议...

猜你喜欢