Event Log Message Descriptions for M580 CPUs (Firmware earlier than Version 4.0), BMENUA0100 and BMENOR2200H (Firmware earlier than Version 3.01)

Event Log Message Descriptions for M580 CPUs (Firmware earlier than Version 4.0), BMENUA0100 and BMENOR2200H (Firmware earlier than Version 3.01)

This topic presents event log message descriptions for:

  • M580 CPUs with firmware earlier than version 4.0 (abbreviated “CPU” in column Devices), and

  • BMENUA0100 OPC UA communication modules (abbreviated “NUA” in column Devices), and

  • BMENOR2200H remote terminal unit (abbreviated “eNOR” in column Devices)

Event Description Event additional Description Facility Severity MSGID MSG:peerAddr MSG:type MSG:appMsg Devices

Successful connection to or from a tool or a device:

* Successful login

* Successful TCP connection

Successful login (Data Storage via FTP, FDR Server via FTP, Firmware upload via FTP)

10

6

FTP

remote ip address

Li1: Successful connection(MNT_ENG_MSG_TYP_CNCTN_SUCCESS)

« Successful login »

CPU

Successful login (Web Server via HTTPS)

HTTPS

« (null) »

« Successful login »

NUA

Successful login (firmware upgrade via HTTPS)

HTTPS

« (null) »

« Successful login »

NUA

Successful login (OPC-UA)

OPC-UA

« (null) »

« Successful login »

NUA

Successful login (Unity Application password via Modbus-Umas)

DEVICE_MANAGER

« (null) »

« Successful login »

CPU

Successful login (Web Server via HTTP)

HTTP

« (null) »

« Successful login » OR « Successful connection » (if no User Login M580 Web pages)

CPU

Successful TCP connection (no user)

MODBUS

remote ip address

« Successful connection »

CPU

Successful TCP connection (no user)

EIP

« (null) »

« Successful connection »

CPU

Successful connection on DNP3 communication protocol (about DNP3 master and outstation)

DNP3

remote ip address

« Successful connection »

eNOR

Successful connection on IEC60870 communication protocol (about IEC60870 client and server)

IEC60870

remote ip address

« Successful connection »

eNOR

Connection problem to or from a tool or a device:

*TCP connection problem due to ACL check (source IP address/TCP port filtering)

* Login problem

Login problem ( Data Storage via FTP, FDR Server via FTP, Firmware upload via FTP)

10

4

FTP

remote ip address

Li2: Unsuccessful connection (wrong credential)(MNT_ENG_MSG_TYP_CNCTN_FAILURE)

« Failed login »

CPU

Login problem (Web Server via HTTPS)

HTTPS

« (null) »

« Failed login »

NUA

Login problem (firmware upgrade via HTTPS)

HTTPS

« (null) »

« Failed login »

NUA

Login problem (OPC-UA)

OPC-UA

« (null) »

« Failed login »

NUA

Login problem (Web Server via HTTP)

HTTP

remote ip address

« Failed login » OR « Failed connection » (if no User Login)

CPU

Login problem (Unity Application password via Modbus-Umas)

DEVICE_MANAGER

remote ip address

« Failed login »

CPU

TCP connection problem (no user)

MODBUS

remote ip address

« Failed connection »

CPU

TCP connection problem (no user)

EIP

remote ip address

« Failed connection »

CPU

Connection problem on DNP3 communication protocol (about DNP3 master and outstation)

DNP3

remote ip address

« Failed connection »

eNOR

Connection problem on IEC60870 communication protocol (about IEC60870 client and server)

IEC60870

remote ip address

« Failed connection »

eNOR

Disconnection triggered by local or peer:

* TCP disconnection

* On demand logout

disconnection triggered by either the peer/user/local

10

6

FTP

« (null) »

Li5: disconnection triggered by the peer/user(MNT_ENG_MSG_TYP_DISCONNECTION)

« Disconnection »

disconnection triggered by either the peer/user/local

HTTPS

« (null) »

« Disconnection »

NUA

disconnection triggered by either the peer/user/local

OPC-UA

« (null) »

« Disconnection »

NUA

disconnection triggered by either the peer/user/local

MODBUS

remote ip address

« Disconnection »

CPU

DNP3

« (null) » or remote ip address

« Disconnection »

eNOR

IEC60870

« (null) » or remote ip address

« Disconnection »

eNOR

Automatic logout (inactivity timeOut) HTTPS OPC-UA

Disconnection triggered by a timeout

10

6

HTTPS

« (null) »

Li6: Disconnection triggered by a timeout(MNT_ENG_MSG_TYP_DSCNCT_TIMEOUT)

« Auto logout »

NUA

Disconnection triggered by a timeout

OPC-UA

« Auto logout »

NUA

Major Changes in the system: Parameters run time change outside configuration

Major change of cycle time or watch dog PLC application parameters change (cycle time, watch dog)

13

5

DEVICE_MANAGER

« (null) »

Li87: System parameter update (MNT_ENG_MSG_TYP_PARAMETER_UPDATE)

« XXXX parameter update » (with XXXX that identifies the parameter)XXXX = « Cycle time » Example: Cycle time parameter update

CPU

Major Changes in the system:

* Application or Configuration download from the device

* Export (recording) cybersecurity configuration files from the device

Download of a configuration file from the device

13

6

MODBUS

« (null) »

Li8: Download of a configuration file from the device(MNT_ENG_MSG_TYP_CONF_DL)

« Application download » or « Configuration download »

CPU

HTTPS

« Cybersecurity configuration backup »

NUA

Major Changes in the system

Upload of Application/Configuration or Configuration only into the device (including CCOTF)

Import (restore) cybersecurity configuration file into the device

13

6

MODBUS

« (null) »

Li9: Upload of a configuration file into the device(MNT_ENG_MSG_TYP_CONF_UL)

« Application upload » or » Configuration upload »

CPU NUA

HTTPS

« Cybersecurity configuration restore »

NUA

Major Changes in the system

Upload of Web pages into the device

13

6

FTP

« (null) »

Li10: Upload of a new firmware in the device(MNT_ENG_MSG_TYP_FIRMWARE_UPDATE)

« Web pages upload »

CPU

Upload of new safety copro

FTP

« Safety copro firmware upload »

CPU

Upload of a new firmware in the device

FTP

« Firmware upload »

CPU

Upload of a new firmware in the device

HTTPS

« Firmware upload »

NUA

Major Changes in the system

Modification of the time of the device

13

6

DEVICE_MANAGER

« (null) »

LI15: Modification of the time of the IED

« Time major update »

NUA

Communication parameters run time Successful change outside configuration

Enable/disable of communication services

10

4

DEVICE_MANAGER

« (null) »

Li18: Any port, either physical (Serial, USB) or logical (telnet, FTP) activation/deactivation (MNT_ENG_MSG_TYP_PORT_MANAGEMENT)

« Major communication parameter update: XXXX YYYY »XXXX = « EIP » or « DHCP » or « FTP » or « MODBUS » or « SNMP » or « HTTP » or « SECURITY » or « NTP » or « IPSEC » or « DEVICE_MANAGER »

For NUA only:XXXX = « Control Expert Data Flows to CPU only » or « Control Expert Data Flows to Device Network » or « CPU to CPU Data Flows » For NOR only:XXXX = « DNP3 over TLS channel[« channel name »] » or « IEC60870 over TLS »YYYY= « enable » or « disable »Example: »Major communication parameter update: FTP enable »

CPU NUA eNOR

network physical port change: port link up/down

Any network physical port status change. Can be the simple status of a Ethernet port, or information gathered from RSTP / HSR / PRP algorithm for redundant systems

10

4

DEVICE_MANAGER

« (null) »

LI19: Any network physical port status change. Can be the simple status of a Ethernet port, or information gathered from RSTP / HSR / PRP algorithm for redundant systems (MNT_ENG_MSG_TYP_NETWK_PORT_CHG)

« Major network physical port status change: XXXX link YYYY » XXXX = « ETH » following by decimal number for the port or « FRONT port » YYYY = « link up » or « link down » Example: « Major network physical port status change: ETH1 link up)

CPU NUA

Any topology change detected:

Any topology change detected from RSTP / HSR / PRP

10

4

RSTP

« (null) »

LI20: Any topology change detected from RSTP / HSR / PRP algorithms for redundant systems (MNT_ENG_MSG_TYP_NTWK_TPLGY_CHG)

« Topology change detected » or « Topology change detected: XXXX YYYY » XXXX = « ETH » following by decimal number for the port or « FRONT port » YYYY = « enable », « disable », « learning », « forward », « blocking »

CPU NUA

Integrity check error:

* Digital Signature error,

* Integrity only (hash mac)

Firmware integrity error

10

6

DEVICE_MANAGER

« (null) »

LI84: Data Integrity Error MNT_ENG_MSG_DATA_INTEGRITY_ERROR

« Firmware integrity error »

CPU NUA

Data integrity error: CS Conf, cert, whitelist, or RBAC)

DEVICE_MANAGER

« Data integrity error »

NUA

Major Changes in the system: Reboot

Reboot after firmware upload

13

4

DEVICE_MANAGER

« (null) »

LI14: MNT_ENG_MSG_TYP_REBOOT_ORDER

« Restart »

CPU NUA

Major Changes in the system

PLC Operating Mode change (Run, Stop, Init, halt)

Maintenance Mode

Safety Operating Modes change (SafeRun, Stop Safe task)

13

5

DEVICE_MANAGER

« (null) »

LI85: Operating mode change MNT_ENG_MSG_OPERATING_MODE_CHANGE

« XXXX state update: YYYY » (with XXXX that identifies the object which state change and YYYY that identifies the new state ) XXXX = « PLC » or « PLC safe task » or « Device » YYYY = « INIT » or « STOP » or « RUN » or « HALT » or « Maintenance mode » or « Safe mode » EXAMPLES: « PLC state update: RUN » « PLC state update: Maintenance mode »

CPU

Major Changes in the system: Hardware change

operation on SDCard for module that have

13

6

DEVICE_MANAGER

« (null) »

LI26: Hardware change MNT_ENG_MSG_HARDWARE_CHANGE

« Hardware update: XXXX » (with XXXX that describes the update) XXXX = « SD card insertion » or « SD card extraction »

CPU

Rotary Wheel position change: Reset, Advanced

DEVICE_MANAGER

« Hardware update: XXXX » (with XXXX that describes the update) XXXX = « back to factory mode » or « secure mode »

NUA

Major change in Cybersecurity RBAC (done through Cybersecurity configuration web pages).

Create user account

Delete user account

Update user account

HTTPS

« (null) »

Li11: MNT_ENG_MSG_TYP_RBAC_UPDATE

« Update RBAC »

NUA

Major change in Cybersecurity Policy (done through Cybersecurity configuration web pages).

Network services

Event log

Security policy

Security banner

10

4

HTTPS

« (null) »

Li12:MNT_ENG_MSG_TYP_SECURITY_UPDATE_UPDATE

« Major Cyber Security parameter update: network services » « Major Cyber Security parameter update: event log » « Major Cyber Security parameter update: security policy » « Major Cyber Security parameter update: security banner »

NUA

Major change in Cybersecurity device specific parameters (done through Cybersecurity configuration web pages).

Enable/Disable & configure IPSEC

Enable/Disable & configure OPC-UA

Enable/Disable & configure DNP3

10

4

HTTPS

« (null) »

Li13: MNT_ENG_MSG_TYP_DSS_UPDATE

« Major Cyber Security parameter update: IPSEC » « Major Cyber Security parameter update: OPC-UA »

NUA

Authorization problem

An action on a resource from a user or machine is not authorized

10

4

HTTPS

« (null) »

Li21: MNT_ENG_MSG_TYP_AUTH_REQ

« Failed authorization »

Certificate Management

Add/remove Client certificate

10

4

HTTPS

« (null) »

Li89: Certificate Management (MNT_ENG_MSG_TYP_CERT_MGT)

« Add client certificate » « Remove client certificate »

NUA

Certificate Management:

* Certificate expired

server certificate expiration detection on restart

10

3

DEVICE_MANAGER

« (null) »

Li29: Certificate Management (MNT_ENG_MSG_TYP_CERT_EXPIRE)

« Certificate expired »

NUA

Specific for eNOR project:

Authentication problem

10

4

« DNP3_Master » or « DNP3_Outstation »

remote ip address

Li100:MNT_ENG_MSG_TYPE_AUTHENTICATION_FAILUE

« channel[« channel name« ] authentication failed »

eNOR

unexpected response

10

4

« DNP3_Master » or « DNP3_Outstation »

remote ip address

Li101:MNT_ENG_MSG_TYPE_UNEXPECTED_RESPONSE

« channel[« channel name« ] unexpected response »

eNOR

No response

10

4

« DNP3_Master » or « DNP3_Outstation »

remote ip address

Li102:MNT_ENG_MSG_TYPE_NO_RESPONSE

« channel[« channel name« ] no response »

eNOR

Aggressive mode not supported

10

4

« DNP3_Master » or « DNP3_Outstation »

remote ip address

Li103:MNT_ENG_MSG_TYPE_AGGRESSIVE_MODE_NOT_SUPPORTED

« channel[« channel name« ] aggressive mode not supported »

eNOR

MAC algorithm not supported

10

4

« DNP3_Master » or « DNP3_Outstation »

remote ip address

Li104:MNT_ENG_MSG_TYPE_MAC_ALGORITHM_NOT_SUPPORTED

« channel[« channel name« ] MAC algorithm not supported »

eNOR

Key wrap algorithm not supported

10

4

« DNP3_Master » or « DNP3_Outstation »

remote ip address

Li105:MNT_ENG_MSG_TYPE_KEYWRAP_ALGORITHM_NOT_SUPPORTED

« channel[« channel name« ] key wrap algorithm not supported »

eNOR

Authorization problem

10

4

« DNP3_Master » or « DNP3_Outstation »

remote ip address

Li86:MNT_ENG_MSG_TYP_AUTHORIZATION_FAILURE)

« channel[« channel name« ] authorization failed »

eNOR

Update key change method not permitted

10

4

« DNP3_Master » or « DNP3_Outstation »

remote ip address

Li106:MNT_ENG_MSG_TYPE_UPDATE_KEY_CHANGE_METHOD_NOT_PERMITTED

« channel[« channel name« ] update key change method not permitted »

eNOR

Invalid signature

10

4

« DNP3_Master » or « DNP3_Outstation »

remote ip address

Li107:MNT_ENG_MSG_TYPE_INVALID_SIGNATURE

« channel[« channel name« ] invalid signature »

eNOR

Invalid certification data

10

4

« DNP3_Master » or « DNP3_Outstation »

remote ip address

Li108:MNT_ENG_MSG_TYPE_INVALID_CERTIFICATION_DATA

« channel[« channel name« ] invalid certification data »

eNOR

Unknown User

10

4

« DNP3_Master » or « DNP3_Outstation »

remote ip address

Li109:MNT_ENG_MSG_TYPE_UNKNOWN_USER

« channel[« channel name« ] unknown user »

eNOR

Max session key status request exceed

10

4

« DNP3_Master » or « DNP3_Outstation »

remote ip address

Li110:MNT_ENG_MSG_TYPE_MAX_SESSION_KEY_STATUS_REQ_EXCEED

« channel[« channel name« ] max session key status request exceed »

eNOR

Session key change success

10

6

« DNP3_Master » or « DNP3_Outstation »

remote ip address

Li111:MNT_ENG_MSG_TYPE_SESSION_KEY_CHANGE_SUCCESS

« channel[« channel name« ] session key change success »

eNOR

NOTE: In addition to the structure described above, each message will also contain the following fields and values following the Severity field::

  • HOSTNAME = Local IP address or null.

  • APPNAME = Commercial reference name, for example, BMEP584040.

  • PROCID is not used.

  • MSG:IssuerAdress = Local IP Address.

  • MSG:Peer is not used.

Event Log Message Descriptions M580 CPUs (firmware V4.0 and later), BMECRA31310, and BMENOR2200H (firmware V3.01 and later)

Event Log Message Descriptions M580 CPUs (firmware V4.0 and later), BMECRA31310, and BMENOR2200H (firmware V3.01 and later)

This topic presents event log message descriptions for:

  • M580 CPUs with firmware version 4.0 and later (abbreviated “CPU” in column Devices), and

  • BMECRA31310 adapters (abbreviated “CRA” in column Devices)

  • BMENOR2200H RTU modules with firmware version 3.01 and later (abbreviated “eNOR” in column Devices)

Event Log Message Descriptions M580 CPUs (firmware V4.0 and later), BMECRA31310, and BMENOR2200H (firmware V3.01 and later)

Event Title Event Description Event additional Description Severity PROCID MSGID STRUCTURED-DATA MSG Devices

Successful connection

All successful connection from a user (human or a component) to a component whether through an encrypted protocol or through an unencrypted protocol if allowed by the customer security policy

Successful login (Web Server via HTTPS)

6

« HTTPS »

« CONNECTION_SUCCESS »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Logon »

CPU, eNOR

Successful login (Firmware upgrade via HTTPS)

6

« HTTPS »

« CONNECTION_SUCCESS »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Logon »

CPU CRA, eNOR

Successful login (OPC-UA)

6

« OPC-UA »

« CONNECTION_SUCCESS »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Socket connection »

CPU

Successful login (Unity Application password via Modbus-Umas)Mode standard only

6

« MODBUS-UMAS »

« CONNECTION_SUCCESS »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Logon »

CPU

Successful Modbus TCP connection (no user)

6

« MODBUS »

« CONNECTION_SUCCESS »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Socket connection »

CPU CRA, eNOR

Successful HTTP/DPWS connection

6

« HTTP »

« CONNECTION_SUCCESS »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Socket connection »

CPU

Successful EIP Explicit TCP connection (no user)

6

« EIP »

« CONNECTION_SUCCESS »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Socket connection »

CPU CRA

Successful DNP3 connection (no user)

6

« DNP3 »

« CONNECTION_SUCCESS »

« [meta sequenceId=num] [authn@3833 itf=localPort | localInterface peer=peerFQDN:peerPort user=username] »

« Socket connection »

eNOR

Successful IEC 60870 connection (no user)

6

« IEC60870 »

« CONNECTION_SUCCESS »

« [meta sequenceId=num] [authn@3833 itf=localPort | localInterface peer=peerFQDN:peerPort user=username] »

« Socket connection »

eNOR

Connection Problem

All unsuccesful connections from a user (human or a component) to a component whether through an encrypted protocol or through an unencrypted protocol if allowed by the customer security policy

Login problem (Unity Application password via Modbus-Umas)

5

« MODBUS-UMAS »

« CONNECTION_FAILURE »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Invalid password »

CPU

Modbus TCP connection problem (no user)

5

« MODBUS »

« CONNECTION_FAILURE »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Max connections reached » « Filtered data flow »

CPU CRA, eNOR

EIP Explicit TCP connection problem (no user)

5

« EIP »

« CONNECTION_FAILURE »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Max connections reached » « Filtered data flow »

CPU CRA

DNP3 connection problem (no user)

5

« DNP3 »

« CONNECTION_FAILURE »

« [meta sequenceId=num] [authn@3833 itf=localPort | localInterface peer=peerFQDN:peerPort user=username] »

« Max connections reached »

eNOR

IEC60870 connection problem (no user)

5

« IEC60870 »

« CONNECTION_FAILURE »

« [meta sequenceId=num] [authn@3833 itf=localPort | localInterface peer=peerFQDN:peerPort user=username] »

« Max connections reached »

eNOR

Human user account locking due to too many problems during the authentication attempts

The security policy may request to block a human user account after a configurable number of attempts. This event informs administrator about potential attack & that the human user account must be unlocked.

Login problem (Web Server via HTTPS). Human user account locking due to too many problems during the authentication attempts

1

« HTTPS »

« CONNECTION_FAILURE_AND_BLOCK »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Invalid certificate » « Invalid password »

CPU, eNOR

Login problem (firmware upgrade via HTTPS). Human user account locking due to too many unsuccessful authentication attempts

1

« HTTPS »

« CONNECTION_FAILURE_AND_BLOCK »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Invalid certificate » « Invalid password »

CPU CRA, eNOR

Login problem (OPC-UA). Human user account locking due to too many problems during the authentication attempts

1

« OPC-UA »

« CONNECTION_FAILURE_AND_BLOCK »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Invalid certificate » » Invalid password »

Denied login (account is blocked)

A human user tries to connect on an account already blocked.

Login problem (Web Server via HTTPS). Denied login (account is blocked)

1

« HTTPS »

« CONNECTION_FAILURE_ON_BLOCKED »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

«  »

CPU, eNOR

Login problem (firmware upgrade via HTTPS). Denied login (account is blocked)

1

« HTTPS »

« CONNECTION_FAILURE_ON_BLOCKED »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

«  »

CPU CRA

Login problem (OPC-UA). Denied login (account is blocked)

1

« OPC-UA »

« CONNECTION_FAILURE_ON_BLOCKED »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

«  »

Disconnection

A human or a component disconnect manually of after a timeout due to inactivity.

HTTPS disconnection (Web Server)

6

« HTTPS »

« DISCONNECTION »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Manual logout »

CPU, eNOR

HTTPS disconnection (Firmware Upgrade)

6

« HTTPS »

« DISCONNECTION »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Manual logout »

CPU CRA, eNOR

OPC-UA disconnection

6

« OPC-UA »

« DISCONNECTION »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Socket disconnection »

CPU

Modbus disconnection

6

« MODBUS »

« DISCONNECTION »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Socket disconnection »

CPU CRA

EIP Explicit disconnection

6

« EIP »

« DISCONNECTION »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Socket disconnection »

CPU CRA

HTTP disconnection (DPWS)

6

« HTTP »

« DISCONNECTION »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Socket disconnection »

CPU

HTTPS Disconnection triggered by a timeout

6

« HTTPS »

« DISCONNECTION »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Timeout logout »

CPU CRA, eNOR

OPC-UA Disconnection triggered by a timeout

6

« OPC-UA »

« DISCONNECTION »

« [meta sequenceId=num][authn@3833 itf=localPort | localInterfacepeer=peerFQDN:peerPort user=username] »

« Timeout logout »

DNP3 disconnection

6

« DNP3 »

« DISCONNECTION »

« [meta sequenceId=num] [authn@3833 itf=localPort | localInterface peer=peerFQDN:peerPort user=username] »

« Socket disconnection »

eNOR

IEC 60870 disconnection

6

« IEC60870 »

« DISCONNECTION »

« [meta sequenceId=num] [authn@3833 itf=localPort | localInterface peer=peerFQDN:peerPort user=username] »

« Socket disconnection »

eNOR

Major parameter change at Run Time

Major Parameters run time change that can cause significant impact on the system

PLC application parameters change: cycle time

6

« Configuration »

« PARAMETER_SET »

« [meta sequenceId=num] [config@3833 object= »PLC application » value=value] »

« Scan time »

CPU

Backup operation

Backup of part or total of component

Download of Application from the PLC

6

« Backup »

« BACKUP »

« [meta sequenceId=num] [backup@3833 object= »PLC application »] »

«  »

CPU

Export of Cybersecurity Configuration from BME NUA or BME NOR web pages

6

« Backup »

« BACKUP »

« [meta sequenceId=num] [backup@3833 object= »Cybersecurity configuration »] »

«  »

eNOR

Restore operation

Restore of part or total of component

Upload of a configuration inside a Module

6

« Configuration »

« CONFIGURATION_CHANGE »

« [meta sequenceId=num] [config@3833 object= »Module »

«  »

CRA

Upload of PLC Application/Configuration inside the PLC

6

« Configuration »

« CONFIGURATION_CHANGE »

« [meta sequenceId=num] [config@3833 object=Object Object = « PLC application » or « PLC configuration »

«  »

CPU

Restore of PLC Application inside the PLC

6

« Backup »

« RESTORE »

« [meta sequenceId=num] [backup@3833 object= »PLC application »] »

«  »

CPU

Import of Cybersecurity Configuration from BME NUA or BME NOR web pages

6

« Backup »

« RESTORE »

« [meta sequenceId=num] [backup@3833 object= »Cybersecurity configuration »] »

«  »

eNOR

Firmware update

A new firmware has been successfully verified and installed.

Upload of a new firmware in the device PLC, Copro, Web pages

6

« Configuration »

« FIRMWARE_UPDATE »

« [meta sequenceId=num] [config@3833 object=Object value=version] »Object = « Firmware », « Safety copro », « Web pages »

«  »

CPU CRA, eNOR

Invalid firmware update

A new firmware was not installed due to an error.

A new firmware was not installed because of an incompatible version or invalid signature

1

« Configuration »

« FIRMWARE_INVALID »

« [meta sequenceId=num] [config@3833 object=Object value=version] »Object = « Firmware », « Safety copro », « Web pages »

« Incompatible version » « Invalid signature »

CPU CRA, eNOR

Modification of the time of the device

A human user request to change time and date.

5

« Configuration »

« TIME_CHANGE »

« [meta sequenceId=num] [config@3833 object=« Time » value=datetime] »

«  »

CPU

Time signal out of tolerance

The component shall validate time synchronization messages received through time synchronization channels and alarm if the time synchronization message is not within the tolerances of the component internal/local clock (time in the past, far away, …)

1

« Configuration »

« TIME_UNEXPECTED »

« [meta sequenceId=num] [config@3833 object= »Time » value=datetime] »

« Time signal out of tolerance »

Hardware change

Change detected in network topology

network physical port change: port link up/down

6

« System »

« HARDWARE_CHANGE »

[system@3833 object=Object ]Object = « eth » followed by decimal number

« Port link up » « Port link down »

CPU CRA

Any topology change detected from RSTP / HSR / PRP

6

« System »

« HARDWARE_CHANGE »

[system@3833 object=Object ]Object = « eth » followed by decimal number

Port enable Port disable Port learning Port forward Port blocking

CPU CRA

Change detected in Hardware

M580 SD card insertion/extraction

6

« System »

« HARDWARE_CHANGE »

[system@3833 object= »SDCard » ]

« Insertion » « Extraction »

CPU

Operating mode change

Program Operating Mode change (Run, Stop, Init, halt)Mode Maintenance / SafeRun / Stop SAFE Task

5

« System »

« OPERATING_MODE_CHANGE »

[system@3833 object=Object ]Object = « PLC » or « PLC safe task » or « Module »

« Init » « Run » « Stop » « Halt » « Maintenance mode » « Safe mode » « Hsby primary » « Hsby secondary » « Hsby wait » « Master » « Non master »

CPU CRA

Invalid configuration(Outside Cybersecurity)

A new (not cybersecurity) configuration was not installed due to an error.

Data integrity error (PLC Application, …)

1

« Configuration »

« CONFIGURATION_INVALID »

« [meta sequenceId=num] [config@3833 object=Object value=version] »Object= »PLC application » or « Module configuration »

« Invalid format » « Incompatible version »

Reboot

Hardware reset or automatic reset after firmware upload

1

« System »

« REBOOT »

« Firmware update » « Reset button »

CPU CRA

CRA does not implement Reboot event after Reset button.

Product certificate (and/or keys) modification

Certificate Management:SL1Product Self-Signed certificate creation

6

« Credential »

« CERTIFICATE_CHANGE »

« [meta sequenceId=num] [cred@3833 name=CommonName] »

« Certificate creation »

CPU CRA

NOTE: In addition to the structure described above, each message will also contain the following two fields and values:

  • Facility = 10

  • HOSTNAME = Fully Qualified Domain Name (FQDN) or local IP address

  • APPNAME = Commercial reference name, for example, BMEP584040

 

Event Log Message Descriptions for Control Expert CE V15.2

Event Log Message Descriptions for Control Expert

EventTitle Event Description Facility Severity MSG 1

Application action

Creation of a new Control Expert Application

10

6

create a new project

Opening of an existing Control Expert Application

10

6

open an existing project

Saving of the currently opened application

10

6

save a project

Saving of the currently opened application using a different file

10

6

save as a project

Importing of an application

10

6

import a project

Application build in offline mode

10

6

build offline

Application build in on-line mode PAC in Stop

10

6

build on-line stop

Application build in Offline mode PAC in RUN

10

6

build on-line run

Start / stop / initialize the PAC

10

6

start stop or initialize the PAC

Update initial values with current values

10

6

Update init values with current values

Upload of the application from the PAC

10

6

transfer project from PAC

Download of the application to the PAC

10

6

transfer project to PAC

transfer data values from file to PAC

10

6

transfer data values from file to PAC

restore project backup in PAC

10

6

restore project backup in PAC

to project backup in PAC

10

6

save to project backup in PAC

Change PAC address connection

10

6

Set address

Control Expert options modifications

10

6

Modify options

Variable value modification inside the PAC

10

6

Modify variable values

Variable forcing value modification inside the PAC: internal bits

10

6

Force internal bits

Variable forcing value modification inside the PAC: outputs

10

6

Force outputs

Variable forcing value modification inside the PAC: inputs

10

6

Force inputs

Task management

10

6

Task management

Task cycle time modification

10

6

Task cycle time modification

Suppress message in diag viewer

10

6

Suppress message in diag viewer

Debug executable

10

6

Debug executable

Replace project variable

10

6

Replace project variable

Create libraries or families inside the library

10

6

Create libraries or families

Delete libraries or families inside the library

10

6

Delete libraries or families

Copy element (DFB/DDT) from the application into the library

10

6

Put object into library

Delete element (DFB/DDT) into the library

10

6

Delete object from library

Copy element (DFB/DDT/EF/EFB) from the library into the application

10

6

Get object from library

Modify documentation (application printing)

10

6

Modify documentation

Modify functional view

10

6

Modify functional view

Modify animation tables

10

6

Modify animation tables

Modify constant values

10

6

Modify constant values

Modify program structure

10

6

Modify program structure

Modify program sections

10

6

Modify program sections

Modify Project settings

10

6

Modify Project settings

Variable created / removed into Data editor

10

6

Variable Add Remove

Variable attribute modified

10

6

Variable Main Attributes modification

Variable attribute modified

10

6

Variable Minor Attributes modification

DDT Created / Removed into Data Editor

10

6

DDT Add Remove

DDT Modified into Data Editor

10

6

DDT modification

DFB Created / Removed into Data Editor

10

6

DFB type Add Remove

DFB structure modified into Data Editor

10

6

DFB type structure modification

DFB sections modified

10

6

DFB type sections modification

DFB instance Modification into data editor

10

6

DFB instance Modification

DFB instance Minor Attributes modification into Data Editor

10

6

DFB instance Minor Attributes modification

PAC Configuration modification

10

6

Modify configuration

PAC I/O Sniffing

10

6

IO sniffing

PAC I/O Configuration modification

10

6

Modify the IO configuration

PAC I/O Configuration adjust

10

6

Adjust the IO

PAC I/O Configuration Save Param from I/O Screen

10

6

Save param

PAC I/O Configuration Save Param from I/O Screen

10

6

Restore param

Operator Screens modification

10

6

Modify screens

Modify messages

10

6

Modify messages

Operator Screens : Family / Screen added / removed

10

6

Add/Remove screens or families

Move FFB block

13

6

Move component

Move Contact/Coil

13

6

Move component

Insert FFB Block

13

6

Insert component

Insert Contact/Coil

13

6

Insert component

Delete FFB Block

13

6

Delete component

Delete Contact/Coil

13

6

Delete component

Set Effective parameter on FFB Block

13

6

Add variable

Set Effective parameter on Contact/Coil

13

6

Add variable

Remove Effective parameter on FFB Block

13

6

Delete variable

Remove Effective parameter on Contact/Coil

13

6

Delete variable

Change Effective parameter on FFB Block

13

6

Modify variable

Change Effective parameter on Contact/Coil

13

6

Modify variable

Make a link between two pins

13

6

Link pin

Change size of extensible FFB block

13

6

Scale component

Change size of vertical/horizontal link

13

6

Scale component

Rename effective parameter

13

6

Rename variable

Delete one single row

13

6

Delete row

Delete multiple rows

13

6

Delete rows from

Delete one single column

13

6

Delete column

Delete multiple columns

13

6

Delete columns from

Insert one single row

13

6

Insert row

Insert multiple rows

13

6

Insert rows from

Insert one single column

13

6

Insert column

Insert multiple columns

13

6

Insert columns from

DTM action

DTM Download parameter finished in error

9

6

Download parameters to device service finished in error

DTM Download parameter finished without error

9

6

Download parameters to device service finished without error

DTM Upload parameter finished in error

9

6

Upload parameters from device service finished in error

DTM Upload parameter finished without error

9

6

Upload parameters from device service finished without error

Connection to the DTM is not established

9

6

Go on-line service failed

Connection to the DTM succeeded

9

6

Go on-line service succeeded

Connection to the DTM is not closed

9

6

Go offline service failed

Connection to the DTM closed successfully

9

6

Go offline service succeeded

DTM FDR download parameters service is not performed

9

6

FDR download parameters service failed

DTM FDR download parameters service succeeded

9

6

FDR download parameters service succeeded

DTM FDR upload parameters service is not performed

9

6

FDR upload parameters service failed

DTM FDR upload parameters service succeeded

9

6

FDR upload parameters service succeeded

Download parameters to device service is not performed

9

6

Download parameters to device service failed

Download parameters to device service succeeded

9

6

Download parameters to device service succeeded

Upload parameters from device service is not performed

9

6

Upload parameters from device service failed

Upload parameters from device service succeeded

9

6

Upload parameters from device service succeeded

Audit Trail Function Event

9

6

Audit Trail Function Event

Audit Trail Device Status Event

9

6

Audit Trail Device Status Event

No device status message

9

6

No device status message

Status information

9

6

Status information

Access right : Read / Write

9

6

Access right : Read / Write

Enumerator entry

9

6

Enumerator entry

Password action

Problem at application PSW changing

2

6

CyberSecurity – Modifying Password > Incorrect Password

Problem at application PSW verification

2

6

CyberSecurity – Verifying Password > Incorrect Password

Problem at section PSW verification

2

6

CyberSecurity – Verifying Section Password > Incorrect Password

PSW « DataStorage » changed

2

6

CyberSecurity – Data Storage Password Modified

PSW « FW Download » changed

2

6

CyberSecurity – Firmware Password Modified

Problem at application PSW verification

2

6

CyberSecurity – Verifying Password > Incorrect Password

SYSLOG configuration changed

CyberSecurity – Event Logging project setting has changed – Event Logging, SYSLOG server address, port or protocol

SYSLOG address changed

File action

File XXXXX open

0

6

XXXXX file has been opened

PAC disconnected = @XXXXXX driver = YYYYYY

0

6

Disconnection from PAC @=XXXXXX dirver= YYYYY

Application XXXXXX close

0

6

Close application XXXXXX

Transfer from PAC to PC

0

6

project has been transfered from PAC to PC

1. MSG content includes the concatenation of the Username, the PID of Control Expert, plus the message.

NOTE: The fields HOSTNAME, APP-NAME, PROCID, MSGID, and STRUCTURED-DATA do not apply to Control Expert messages.

NTPV4 RefIDs et informations

Common time reference identifiers (refid) codes
Refid[27] Clock Source
GOES Geosynchronous Orbit Environment Satellite
GPS Global Positioning System
GAL Galileo Positioning System
PPS Generic pulse-per-second
IRIG Inter-Range Instrumentation Group
WWVB LF Radio WWVB Fort Collins, Colorado 60 kHz
DCF LF Radio DCF77 Mainflingen, DE 77.5 kHz
HBG LF Radio HBG Prangins, HB 75 kHz (ceased operation)
MSF LF Radio MSF Anthorn, UK 60 kHz
JJY LF Radio JJY Fukushima, JP 40 kHz, Saga, JP 60 kHz
LORC MF Radio Loran-C station, 100
TDF MF Radio Allouis, FR 162 kHz
CHU HF Radio CHU Ottawa, Ontario
WWV HF Radio WWV Fort Collins, Colorado
WWVH HF Radio WWVH Kauai, Hawaii
NIST NIST telephone modem
ACTS NIST telephone modem
USNO USNO telephone modem
PTB German PTB time standard telephone modem
MRS Multi Reference Sources
XFAC Inter Face Association Changed (IP address changed or lost)
STEP Step time change, the offset is less than the panic threshold (1000 s) but greater than the step threshold (125 ms)
GOOG Unofficial Google Refid used by google NTP servers as time4.google.com

Source de l’information

https://en.wikipedia.org/wiki/Network_Time_Protocol

Adresses IP de serveurs NTP IPV4 et IPV6 serveurs publiques

Nom : pool.ntp.org
Addresses: 37.187.104.44
62.210.244.146
194.57.169.1
51.15.191.239

Nom : time.google.com
Addresses: 2001:4860:4806::
2001:4860:4806:4::
2001:4860:4806:c::
2001:4860:4806:8::
216.239.35.4
216.239.35.8
216.239.35.12
216.239.35.0

Nom : ntp1.glb.nist.gov
Addresses: 2610:20:6f97:97::4
132.163.97.3
Aliases: time.nist.gov

Comment configurer un PC windows 10 en serveur NTP

Windows 10, en tant que serveur de temps NTP

Pour transformer votre machine Windows 10 en serveur de temps NTP, il vous suffit de passer la valeur de registre HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer\Enabled à 1
Ensuite pour en pas avoir de problèmes de synchronisation
dasn le dossier \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
LocalClockDispersion REG_DWORD à mettre à 0

relancer le service W32Time par la commande net stop W32Time puis net start W32Time

Comment configurer l’éditeur de sécurité de Control Expert pour générer les messages SYSLOG

Ouvir l’éditeur de sécurité
login supervisor mot de passe vide
Sélectionner l’onglet Profiles
créer un nouveau Profil : ADD->créer un Nom exemple BG_FOR_SYSLOG -> choisir Safety program
éditer le profil -> Cocher Display safety rights
Tout sélectionner et choisir Audit Yes
Aller dans l’onglet Policies
Cocher Security On, no login
Choisir le Profil créé en Fixed profile (BG_FOR_SYSLOG)
Cocher Audit
Valider par OK
A partir de là, les messages syslog seront tous envoyés de Control Exeprt vers le serveur syslog si l’application est configurée comme telle dans les options du Projet

Bases du BMENUA0100

En mode secure

après un BTF se connecter sur l’IP BS ou NS

désactiver IPSec et configurer eventlog, vérifier CA sur self signed only

Ensuite se reconnecter et c’est parti pour configurer les autres parties, roles names, UA expert, certificates (ne pas oublier de récupérer le certificat des PC qui devront se connecter par exemple si on est en self signed only par exemple

 

et pour faire du diagnostic, c’est ici

IPV6 sauvegarde article très intéressant de François Goffinet

Ce document a pour ambition de montrer la finesse et le confort que peut offrir un plan d’adressage IPv6. On commencera par définir ces identifiants encore trop peu connus. Ensuite, on apprendra à écrire, à simplifier et valider une adresse IPv6. Enfin, on montrera et expliquera comment reconnaître les différents types d’adresses. On trouvera des informations sur les plans d’adressage IPv6.

Ce document poursuit les objectifs ICND1 :

  • 1.12 Identifier le plan d’adressage IPv6 approprié pour satisfaire aux exigences d’adressage dans un environnement LAN/WAN
  • 1.15 Comparer et mettre en contraste les types d’adresses IPv6
    • 1.15.a Global unicast
    • 1.15.b Unique local
    • 1.15.c Link local
    • 1.15.d Multicast
    • 1.15.e Modified EUI 64
    • 1.15.f Autoconfiguration
    • 1.15.g Anycast
  • 1.13 Configurer, vérifier et dépanner l’adressage IPv6
  • 1.14 Configurer, vérifier le service IPv6 Stateless Address Auto Configuration

1. Introduction aux adresses IPv6

1.1. Définition et étendue d’une adresse IPv6

On rappellera utilement que le protocole IPv6 doit être activé volontairement sur les interfaces des routeurs Cisco contrairement aux systèmes d’exploitation courants comme Windows ou Linux pour lesquels IPv6 est activé par défaut.

Les adresses IPv6 sont des identifiants uniques d’interfaces :

  • codés sur 128 bits
  • et notés en hexadécimal en 8 mots de 16 bits (4 hexas) séparés par des « : ».

Le masque identifie la partie fixe d’une adresse qui correspond aussi au numéro de réseau de 64 bits (le préfixe). Le préfixe est l’élément commun à toutes les adresses d’une même plage (au sein d’un réseau).

Par exemple, pour l’adresse « Global Unicat » 2001:0db8:00f4:0845:ea82:0627:e202:24fe/64 dans son écriture extensive :

2001:0db8:00f4:0845:ea82:0627:e202:24fe/64
---- ---- ---- ---- ---- ---- ---- ---- --
16b  16b  16b  16b  16b  16b  16b  16b
------------------- ------------------- --
    Préfixe          Interface ID       Masque

Le préfixe ou la première adresse de la plage est 2001:0db8:00f4:0845::/64. Le /64 correspond aux 64 premiers bits de l’adresse que l’on peut aisément compter.

  • Contrairement à IPv4, cette première adresse peut être attribuée à une interface.
  • Une adresse IPv6 dispose dans 99% des cas d’un masque par défaut de 64 bits noté /64.
  • A priori, plus de calcul de masque exotique. La consigne est contraire à celle d’IPv4 conservatrice : « Jusqu’au gaspillage, réalisez des connexions en IPv6 ! »
  • Les 64 derniers bits appelés identifiants d’interface identifient l’interface dans le réseau.

À partir de l’exemple précédent, la valeur ea82:0627:e202:24fe correspond à l’identifiant d’interface.

La plage du bloc IPv6 s’étend sur 264 possibilités d’adresses, de la première adresse à la dernière :

2001:0db8:00f4:0845:0000:0000:0000:0000/64
2001:0db8:00f4:0845:ffff:ffff:ffff:ffff/64
---- ---- ---- ---- ---- ---- ---- ---- --
16b  16b  16b  16b  16b  16b  16b  16b
------------------- ------------------- --
    Préfixe          Interface ID       Masque

Les 64 premiers bits sont identiques pour toutes les adresses d’un même bloc (2001:0db8:00f4:0845). Les 64 derniers bits varient de 0000:0000:0000:0000 à ffff:ffff:ffff:ffff. Cette dernière partie de 64 bits est appelée Identifiant d’interface (IID Interface Identifier). Elle sert à identifier les interfaces au sein du réseau.

1.2. Ecriture résumée

Heureusement, on peut résumer l’écriture d’une adresse IPv6. Les systèmes sont obligés d’accepter ces simplifications d’écriture.

Par exemple, pour l’adresse « Global Unicat » 2001:0db8:00f4:0845:ea82:0627:e202:24fe/64 dans son écriture extensive :

2001:0db8:00f4:0845:ea82:0627:e202:24fe
---- ---- ---- ---- ---- ---- ---- ----
16b  16b  16b  16b  16b  16b  16b  16b
------------------- -------------------
    Préfixe          Interface ID

Voici l’écriture résumée qui respecte deux règles faciles à retenir :

  • Les zéros en en-tête de chaque mot peuvent être optimisés ;
  • Une seule fois seulement, une suite consécutive de mots tout-à-zéro peut être résumée par ::.
2001:0db8:00f4:0845:ea82:0627:e202:24fe
2001:-db8:--f4:-845:ea82:-627:e202:24fe
2001:db8:f4:845:ea82:627:e202:24fe

Ou encore l’adresse fe80:0000:0000:0000:bb38:9f98:0241:8a95 peut être résumée en fe80::bb38:9f98:241:8a95 :

fe80:0000:0000:0000:bb38:9f98:0241:8a95
fe80:----:----:----:bb38:9f98:-241:8a95
fe80::bb38:9f98:241:8a95

1.3. Méthodes de configuration

Une adresse IPv6 attribuée à une interface est constituée d’un préfixe de 64 bits et d’un identifiant d’interface de 64 bits.

Un identifiant d’interface peut être créé de différentes manières :

  • statiquement : 2001:db8:14d6:1::1/64, 2001:db8:14d6:1::254/64,
  • par autoconfiguration (SLAAC) en utilisant l’une de ces trois méthodes :
    1. MAC EUI-64, par défaut (RFC 4862)
    2. tirage pseudo-aléatoire, par défaut chez Microsoft, Ubuntu, Mac OSX (RFC 4941)
    3. CGA, peu implémenté (RFC 3972)
  • dynamiquement : DHCPv6 (RFC 3315) stateful, si le client est installé et activé (par défaut sur Microsoft Windows et Mac OSX)

Une interface IPv6 peut accepter plusieurs adresses dans un même préfixe mais aussi dans des préfixes distincts. L’idée est d’améliorer finement les politiques de routage et de filtrage en fonction de ces adresses.

1.4. Identifiant d’interface MAC EUI64 « Modified »

MAC EUI-64 est une est des méthodes de configuration automatique des ID d’interface qui se fonde sur l’adresse MAC IEEE 802 (48 bits).

On passe d’une adresse codée sur 48 bits à 64 bits en insérant 16 FF:FE au milieu de l’adresse MAC entre les 24 premiers bits et les 24 derniers bits. De plus, la méthode exige que le 7ième bits de poids fort de l’adresse soit inversé passant de la valeur « Local » à « Universal » d’où ce terme « EUI64 Modified ».

maceui64

2. Type d’adresses IPv6

En IPv6, il y a pas mal de nouveautés en matière d’adresses :

  • Le Broadcast disparaît d’IPv6. Il est remplacé par l’adressage Multicast plus fin.
  • Une adresse préexiste toujours sur chaque interface activée en IPv6.
  • Les adresses IPv6 rétablissent la connectivité globale (publique).
  • Le NAT en IPv6 ne semble pas indispensable. Il est même déconseillé.
  • Des adresses privées IPv6 restent néanmoins utiles pour transporter du trafic privé (sur des lignes privées, dans des tunnels VPN)

On trouvera plusieurs types d’adresses IPv6.

On distingue principalement les adresses Unicast des adresses Multicast.

2.1. Adresses Unicast

Une adresse Unicast est une adresse qui désigne une seule destination.

Parmi les adresses Unicast, on trouve plusieurs classes réservées à certains usages.

  • Unspecified ::/128 : route non spécifiée
  • Default Route ::/0 : route par défaut
  • Node-Local ::1/128 : adresse de bouclage
  • Link-Local fe80::/10 : adresse obligatoire et indispensable au bon fonctionnement du protocole
  • Global Unicast 2000::/3 : adresse publique
  • Unique Local fc00::/7fd00::/8 : adresse privée (aléatoire)

Une adresse Anycast ne se distingue pas d’une adresse Unicast ; ce terme « Anycast » désigne une adresse de livraison qui atteindra sa destination par une technique de routage au plus proche ou au plus efficient.

2.2. Adresses Multicast

Une adresse Multicast est une adresse qui désigne potentiellement plusieurs destinations. Les adresses Multicast remplacent utilement les adresses de Broadcast.

On trouvera deux types d’adresse Multicast que l’on reconnait par leur préfixe FF00::/8 :

  • Well-Know Multicast : adresses Multicast bien connues
  • Solicited-Node Multicast : adresses utilisées dans la découverte de voisinage (ND)

3. Comment reconnaître des adresses IPv6 ?

Comment reconnaître les adresses IPv6 d’une interface réseau ? Une approche pratique orientée sur l’interprétation des résultats de quelques commandes peut apporter des réponses. ifconfigipconfigip addrip linkip neighnet sh sont des commandes usuelles.

Le résultat de la commande ipconfig sous Windows 8 illustre trois types d’adresses IPv6 unicast (à destination d’une seule interface) que vous allez nécessairement rencontrer dans votre réseau :

  • Link-Local,
  • Global Unicast et
  • Unique Local.
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Users\User1>ipconfig

Windows IP Configuration
Ethernet adapter Ethernet0:

Connection-specific DNS Suffix  . : lan.org
IPv6 Address. . . . . . . . . . . : 2001:db8:acaf:fd00::2ae
IPv6 Address. . . . . . . . . . . : 2001:db8:acaf:fd00:b48a:c5e2:e5a3:1f3e
IPv6 Address. . . . . . . . . . . : fd26:44e1:8c70:fd00::2ae
IPv6 Address. . . . . . . . . . . : fd26:44e1:8c70:fd00:b48a:c5e2:e5a3:1f3e
Temporary IPv6 Address. . . . . . : 2001:db8:acaf:fd00:61a9:365c:2d95:898
Temporary IPv6 Address. . . . . . : fd26:44e1:8c70:fd00:61a9:365c:2d95:898
Link-local IPv6 Address . . . . . : fe80::b48a:c5e2:e5a3:1f3e%3
IPv4 Address. . . . . . . . . . . : 192.168.1.195
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : fe80::12fe:edff:fee5:a266%3
 192.168.1.1

On préférera franchement la commande « netsh interface ipv6 show address » plus précise.

C:\Users\user1>netsh int ipv6 show add

Interface 3: Ethernet0
Addr Type  DAD State   Valid Life Pref. Life Address
---------  ----------- ---------- ---------- ------------------------
Dhcp       Preferred    23h15m46s  23h15m46s 2001:db8:acaf:fd00::2ae
Temporary  Preferred     1h53m48s     23m48s 2001:db8:acaf:fd00:61a9:365c:2d95:898
Public     Preferred     1h53m48s     23m48s 2001:db8:acaf:fd00:b48a:c5e2:e5a3:1f3e
Dhcp       Preferred    23h15m46s  23h15m46s fd26:44e1:8c70:fd00::2ae
Temporary  Preferred     1h53m48s     23m48s fd26:44e1:8c70:fd00:61a9:365c:2d95:898
Public     Preferred     1h53m48s     23m48s fd26:44e1:8c70:fd00:b48a:c5e2:e5a3:1f3e
Other      Preferred     infinite   infinite fe80::b48a:c5e2:e5a3:1f3e%3

Sur votre connexion domestique ou professionnelle vous pourriez compter sept adresses IPv6 comme ici, voire plus encore. Quelles sont-elles ?

3.1. Adresse IPv6 unicast Link-Local

On identifiera en premier lieu une adresse Link-Local, obligatoire sur chaque interface activée en IPv6; elle est générée automatiquement et elle est censée être unique sur le lien. On la reconnaît par son préfixe fe80::/10. Cette destination est purement locale sur la liaison de l’interface. Les routeurs IPv6 ne transfèrent pas cette destination. Ici pour cette interface Ethernet0 dont l’identifiant d’interface est généré de manière aléatoire par Windows :

fe80::b48a:c5e2:e5a3:1f3e%3

Quel est leur usage ? On peut les comparer légèrement aux adresses APIPA IPv4 169.254.0.0/16. Mais Neighbor Discovery (ND) indispensable au fonctionnement d’IPv6, DHCPv6 (à des fins de gestion), les protocoles de routage utilisent aussi ces adresses. Leur usage est devenu un standard. On peut aussi les utiliser pour héberger un service local ou pour faire du diagnostic ICMPv6. Attention, une interface ne peut pas fonctionner sans disposer d’une telle adresse Link-Local ! Il est obligatoire au sens où elle est indispensable au fonctionnement ultérieur d’IPv6 sur la connexion. Chaque interface activée en IPv6 doit disposer de ce type d’interface.

Aussi, on remarquera le modulo % suivi du chiffre 3. Cette valeur identifie dans Windows l’interface ethernet0 sur mon PC. En effet, sur un ordinateur ou sur un routeur disposant de plusieurs interfaces, on trouvera le même bloc IPv6 fe80::/64 utilisé par plusieurs interfaces qui ne transfèrent pas ce trafic. Elles sont nécessairement associées par les systèmes avec leur interface de sortie. On trouvera plus bas un exemple avec une sortie Linux.

3.2. Adresse IPv6 Unicast Global Unicast

Ensuite on identifiera plusieurs adresses Global Unicast, soit l’équivalent de nos adresses IPv4 publiques. On les définira plus précisément comme des destinations publiées sur l’Internet. Les routeurs transfèrent le trafic vers ces destinations. Elles sont donc « globalement routables ». On les identifie par une valeur comprise entre 0x2000 à 0x3FFF sur les 4 premiers hexas de l’adresse. On remarquera qu’elles partagent ici le préfixe 2001:db8:acaf:fd00::/64 (on reconnaîtra le préfixe de documentation 2001:db8::/32. La première adresse a été attribuée de manière arbitraire par un service DHCPv6. Les deux suivantes sont des adresses dont l’identifiant d’interface a été généré aléatoirement.

2001:db8:acaf:fd00::2ae
2001:db8:acaf:fd00:b48a:c5e2:e5a3:1f3e
2001:db8:acaf:fd00:61a9:365c:2d95:898

Si l’on s’attarde sur les deux dernières adresses générées manifestement de manière aléatoire, elles disposent de durées de vie limitées. L’une, la « publique », sert de destination venant de l’Internet (activez et mettez à jour vos pare-feu IPv6); l’autre, l’adresse temporaire sert toujours comme adresse d’origine du trafic de l’interface pour le trafic à destination de l’Internet. Dans ce cas, l’adresse attribuée par DHCPv6 ne peut servir que comme adresse de destination. Je l’ai implémentée ici à des fins de gestion (résolution dynamique de noms).

3.3. Adresse IPv6 Unicast Unique Local (ULA)

De la même manière on identifiera un troisième type d’adresses : Unique Local Address (ULA). Comparables aux adresses privées IPv4 RFC1918 10.0.0.0/8172.16.0.0/12 et 192.168.0.0/16 dans le sens où elles ne sont pas« globalement routables », elles ne connaissent pas de destination sur l’Internet. On les reconnaît par leur préfixe FD00::/8 dont les 40 bits suivants ont été générés aléatoirement pour compléter un préfixe /48.

Cet adressage privé IPv6 est censé être unique afin d’éviter un chevauchement d’adresses identiques à chaque extrémité d’une connexion VPN par exemple.

fd26:44e1:8c70:fd00::2ae
fd26:44e1:8c70:fd00:b48a:c5e2:e5a3:1f3e
fd26:44e1:8c70:fd00:61a9:365c:2d95:898

Quel pourrait être leur usage au XXIe siècle avec un adressage global IPv6 aussi large ?

D’abord, elles sont recommandées par le RFC7084 « Basic Requirements for IPv6 Customer Edge Routers ».

On peut les utiliser pour identifier des destinations privées entre des sites distants entre Paris et Lille, entre Bruxelles et Londres ou entre le bâtiment de la rue du commerce et celui du Boulevard du Nord … à travers des connexions dédiées ou Internet sécurisées par IPSEC …. En deux mots, faciliter le routage privé.

Dans notre exemple, on trouve trois adresses IPv6 ULA : une adresse attribuée par un service DHCPv6 et deux aléatoires.

On remerciera les concepteurs de Microsoft Windows et Apple Mac OS X d’offrir une implémentation aussi complète d’IPv6.

Pour compléter le propos, on ne manquera pas d’observer les paramètres acquis par une station Linux Debian 7 qui offre un service plus « standard » dans les mêmes conditions :

root@debian:~# ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:59:70:f3  
          inet adr:192.168.1.119  Bcast:192.168.1.255  Masque:255.255.255.0
          adr inet6: fd26:44e1:8c70:fd00:ba27:ebff:fe59:70f3/64 Scope:Global
          adr inet6: fe80::ba27:ebff:fe59:70f3/64 Scope:Lien
          adr inet6: 2001:db8:acaf:fd00:ba27:ebff:fe59:70f3/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:93310 errors:0 dropped:49 overruns:0 frame:0
          TX packets:76990 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000
          RX bytes:11548535 (11.0 MiB)  TX bytes:14021689 (13.3 MiB)

lo        Link encap:Boucle locale  
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:17546 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17546 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0
          RX bytes:1199358 (1.1 MiB)  TX bytes:1199358 (1.1 MiB)

On trouvera sur cet ordinateur deux interfaces eth0 et lo. La sortie donne la portée de chaque adresse IPv6.

3.4. Identifiant d’interface MAC-EUI64

L’interface eth0 connectée au réseau local ne démarre pas par défaut un client DHCPv6, ce n’est pas erreur. Sur cette interface, on trouvera les trois types d’adresses. Pour chacune, l’identifiant d’interface est identique. Il est généré par la méthode MAC-EUI64 (méthode par défaut). MAC-EUI64 est une méthode standardisée qui vise à obtenir un identifiant d’interface de 64 bits à partir d’une adresse MAC de 48 bits. Aussi, ce n’est pas une erreur mais le comportement par défaut.

fe80::ba27:ebff:fe59:70f3
2001:db8:acaf:fd00:ba27:ebff:fe59:70f3
fd26:44e1:8c70:fd00:ba27:ebff:fe59:70f3

Avez-vous aperçu le souci de confidentialité ? On retrouve l’adresse MAC de l’interface dans l’identifiant d’interface de cette adresse. Cette portion significative de l’adresse permet d’identifier de manière certaine l’interface quel que soit son préfixe. De plus, les 24 premiers bits de l’adresse MAC (ici b8:27:eb) identifient le matériel; à vous de le retrouver.

Soit la méthode MAC-EUI64 insère 16 bits manquants FFFE après les 24 premiers bits de l’adresse MAC (OUI, Organizationally Unique Identifier) dont le 7e bit a été inversé :

de b8:27:eb:59:70:f3, on passe à ba27:ebff:fe59:70f3

16 bits ont été ajoutés et la valeur du deuxième hexa est passée de 8 à a soit augmenté de 1 bit. Ce renversement signifie que l’adresse est « administrée localement ».

Il est possible de modifier ce comportement par défaut quel que soit le système d’exploitation.

3.5. Adresse IPv6 Unicast de bouclage (loopback)

On distinguera enfin la notion d’interface de bouclage et de celle d’adresse de bouclage. L’interface lo ne dispose pas d’adresse IPv6 Link-Local : elle ne peut d’ailleurs communiquer qu’avec elle-même. En IPv6, le bouclage indispensable aux systèmes d’exploitation est adressé par une seule adresse spéciale ::1/128.

3.6. Comment tout cela fonctionne-t-il ?

Comment les adresses parviennent-elles à se configurer toutes seules ? Le routeur du réseau local envoie régulièrement des messages « Neighbor Discovery » (ND) (ICMPv6 type 134), appelés des « Router Advertisements » qui poussent ces paramètres de configuration auprès des machines du réseau local. C’est le routeur IPv6 qui configure le réseau et de manière très fine. Les interfaces s’autoconfigurent selon la méthode SLAAC (Stateless Address Autoconfiguration) qui implique un trafic « Neighbor Discovery » (ND) de vérification avec l’usage des adresses Link-Local et du Multicast (NUD et DAD).

Si le Broadcast disparait, ARP est remplacé par ND (ICMPv6). Ce n’est pas anodin et cette nouveauté mérite attention.

DHCPv6 est un nouveau protocole qui se décline en deux formules (avec et sans état) et qui peut se combiner à la méthode SLAAC d’autoconfiguration brièvement décrite ci-dessus. Cette dernière est juste activée par défaut sur tout hôte IPv6. L’usage de DHCPv6 nécessite un logiciel client DHCPv6 (déjà présent sous Windows et Mac) sur l’ordinateur client. Il est conseillé d’utiliser pleinement DHCPv6 dans un réseau bien géré. Il n’y a aucune obligation à laisser les hôtes terminaux s’autoconfigurer.

Enfin, c’est sans parler des comportements et configurations particulières sur Cisco IOS ou autres ou encore des stratégies et techniques de transition, DNS, la sécurité, le développement de code avec de l’IPv6.

3.7. Multicast

La seconde catégorie d’adresses IPv6 sont les adresses Multicast, à destination de certaines interfaces sensibles à une adresse dans laquelle elles se reconnaissent. Pour ce faire, on dit qu’une interface est inscrite dans un groupe Multicast. Une adresse Multicast est une seule adresse de destination à laquelle répondent une ou plusieurs interfaces. Une des intentions du Multicast est de remplacer le broadcast (disparu en IPv6) qui identifie toutes les interfaces des hôtes du réseau. Le trafic Multicast est traduit par une adresse MAC 33:33:00 et sera traité par les commutateurs comme du trafic de broadcast. Une optimisation consisterait à déployer des protocoles qui permettent d’identifier les ports inscrits dans des groupes Multicast. Toutefois, il semblerait que le nombre de groupes dans lequel pourrait s’inscrire chaque interface IPv6 ne permettrait pas aux commutateurs actuels de tenir la charge.

On trouvera deux types d’adresses Multicast :

  • Les adresses IPv6 Well-Know Multicast, connues d’avance, qui identifient des services bien connus,
  • Les adresses IPv6 Solicited-Node Multicast, qui servent à joindre une interface dont on veut connaître l’adresse MAC (Neighbor Solicitation).

La commande « netsh interface ipv6 show joins » nous présente les groupes Multicast auxquels l’interface ethernet0 a souscrit :

C:\Users\User1>netsh int ipv6 show joins

Interface 3: Ethernet0

Scope       References  Last  Address
----------  ----------  ----  ---------------------------------
0                    0  No    ff01::1
0                    0  No    ff02::1
0                    4  Yes   ff02::c
0                    1  Yes   ff02::1:3
0                    2  Yes   ff02::1:ff00:2ae
0                    0  No    ff02::1:ff3f:62e6
0                    2  Yes   ff02::1:ff95:898
0                    3  Yes   ff02::1:ffa3:1f3e

On reconnait les adresses Multicast par leur préfixe ff00::/8.

3.8. Well-Know Multicast

  • ff01::1 : tous les noeuds,
  • ff02::1 : tous les noeuds sur le réseau local,
  • ff02::2 : tous les routeurs sur le réseau local,
  • ff02::5 : tous les routeurs OSPF
  • ff02::6 : tous les routeurs OSPF DR/BDR
  • ff02::9 : tous les routeurs RIP
  • ff02::a : tous les routeurs EIGRP
  • ff02::1:2 : tous les serveurs DHCP sur le réseau local
  • ff02::fb : DNS Multicast sur le réseau local
  • ff02::101 : Tous les serveurs DNS sur le réseau local
  • ff02::c : SSDP (UPnP sous Windows)
  • ff02::1:3 : Link-local Multicast Name Resolution

3.9. Solicited-Node Multicast

Elle sert à joindre une interface dont on veut connaître l’adresse de couche 2. En IPv4, les tables ARP sont remplies grâce à des messages ARP Request directement adressés en adresse MAC de broadcast FF:FF:FF:FF:FF:FF. En IPv6 c’est ICMPv6 avec des messages Neighbor Solicitation/Neighbor Advertisements qui remplissent cette fonction. Etant donné que le broadcast n’existe plus en IPv6, quelle est l’adresse à utiliser pour désigner en IPv6 et en adresse de couche L2 l’hôte de destination puisqu’il s’agit justement de prendre connaissance de l’adresse L2 ?

Une adresse IPv6 Solicited-Node est composée de 104 bits de préfixe complété par les 24 derniers bits de l’adresse IPv6 à joindre.

Si l’adresse à joindre est 2001:db8:acaf:fd00::2ae ou fd26:44e1:8c70:fd00::2ae alors l’adresse Multicast correspondante est ff02::1:ff00:2ae.

Dans notre exemple, les 4 adresses IPv6 Solicited-Node Multicast correspondent :

  • à l’adresse lien local
  • aux adresses attribuées par DHCPv6
  • aux adresses autoconfigurées publiques
  • aux adresses autoconfigurées temporaire

et signifient que l’interface répondra à toutes ces adresses !

3.10. Résumé

Link-Local Global Unicast Unique Local
L’adressage Link-Local (Unicast) se reconnaît par : un préfixe FE80::/10 et un identifiant d’interface de 64 bits autoconfiguré (MAC-EUI64 ou aléatoire) ou fixé (Cisco) Préfixe : 2000::/3 Préfixe : FD00::/8adressage privé avec 32 bits de préfixe aléatoire
Est obligatoire sur toutes les interfaces quand IPv6 est activé optionnel optionnel
Ces destinations ne sont jamais transférées par les routeurs ! Connectivité de bout en bout nécessaire fonctionne dans un interréseau privé
Ces adresses sont utilisées dans le trafic de gestion comme ND, RA, dans les protocoles de routage. Trafic vers l’Internet Trafic sur des lignes privées (physiques ou virtuelles).

4. Plans d’adressage IPv6

4.1. Objectifs

  • Manipuler les bits, octets, mots en hexa
  • Concevoir des plans d’adressage simples
  • Concevoir des plans d’adressage hiérarchiques et évolutifs
  • Adresser une topologie de laboratoire

4.2. Avantages d’un plan d’adressage

  • Les tables de routage peuvent être réduites et être plus efficientes dans le processus de décision.
  • Les politiques de sécurité peuvent être déployées plus facilement.
  • Des politiques basées sur les applications peuvent être déployées.
  • La gestion et l’approvisionnement du réseau peuvent être facilités.
  • Le diagnostic est facilité, notamment par une meilleure identification.
  • Mise à l’échelle facilitée suite à l’ajout de périphériques ou de sites.

4.3. But d’un plan d’adressage

  • Fournir une capacité d’approvisionnement : connecter un nombre indéterminé de périphériques.
  • Activer (ou non) les capacités de communication des hôtes : à communiquer entre eux (BYOD), communication interréseau (VLANs).
  • Activer (ou non) la communication Internet : on peut orienter/filtrer le routage de certains préfixes ou de certains hôtes.
  • Activer ou non le support d’applications : le filtrage par préfixe permettrait de faciliter le traitement de trafic multimédia ou vocal par exemple (VLANs).
  • Permettre de mieux identifier les hôtes par niveau, emplacement géographique ou organisationnel, par fonction.

4.4. Principe

Le donné est toujours le même. On dispose d’un bloc d’adresses IP. On le découpe en sous-réseaux.

En IPv6 le masque le plus restrictif est un /64.

À la maison, chaque connexion domestique devrait disposer d’une connectivité publique avec un /64. Il est probable que vous ayez à gérer des blocs /48 attribués à votre connexion d’entreprise.

Avec un bloc /48, il reste un mot de 16 bits à découper en 1, en 16, en 256 ou en 4096 sous réseaux …

On travaille alors principalement sur le quatrième mot d’une adresse.

4.5. Plan d’adressage Simple

On vous livre un bloc fdd4:478f:0611::/48

On peut “conformer” les adresses IPv4 privées ou adresses IPv6, par exemple :

  • 172.16.1.0/24 => fdd4:478f:0611:1::/64,
  • 172.16.255.0/24 => fdd4:478f:0611:255::/64,

On peut utiliser un découpage plat, à la volée :

  • fdd4:478f:0611:0::/64,
  • fdd4:478f:0611:1::/64,
  • fdd4:478f:0611:2::/64,
  • fdd4:478f:0611:3::/64, …

4.6. Plan d’adressage à 2 ou 4 niveaux égaux

On vous livre un bloc fdd4:478f:0611::/48

Il reste 16 bits de libres, soit 4 hexas pour plusieurs stratégies hiérarchiques avec des niveaux géographiques, organisationnels, fonctionnels :

  • Stratégie A : en deux niveaux égaux :
    • Niveau 1 : 256 réseaux (8 bits)/56
    • Niveau 2 : 256 réseaux (8 bits)/64
  • Stratégie B : en quatre niveaux égaux :
    • Niveau 1 : 16 réseaux (4 bits) /52
    • Niveau 2 : 16 réseaux (4 bits) /56
    • Niveau 3 : 16 réseaux (4 bits) /60
    • Niveau 4 : 16 réseaux (4 bits) /64

Exemple : Stratégie A en deux niveaux égaux

  • fdd4:478f:0611::/48 fournit 256 réseaux fdd4:478f:0611:[0-f][0-f]00:/56 contenants eux-mêmes chacun 256 sous réseaux :
    • fdd4:478f:0611:00[0-f][0-f]:/64 ,
    • fdd4:478f:0611:01[0-f][0-f]:/64 ,
    • fdd4:478f:0611:02[0-f][0-f]:/64 ,
    • fdd4:478f:0611:03[0-f][0-f]:/64 ,
    • fdd4:478f:0611:fd[0-f][0-f]:/64 ,
    • fdd4:478f:0611:fe[0-f][0-f]:/64 ,
    • fdd4:478f:0611:ff[0-f][0-f]:/64

Exemple : Stratégie B en quatre niveaux égaux

fdd4:478f:0611::/48 fournit 16 réseaux fdd4:478f:0611:[0-f]000:/52

  • Contenants eux-mêmes chacun 16 sous réseaux fdd4:478f:0611:[0-f][0-f]00:/56
  • Contenants eux-mêmes chacun 16 sous réseaux fdd4:478f:0611:[0-f][0-f][0-f]0:/52
  • Contenants eux-mêmes chacun 16 sous réseaux fdd4:478f:0611:[0-f][0-f][0-f][0-f]:/64 ,

4.7. Plan d’adressage à plusieurs niveaux

En trois niveaux :

  • Niveau 1 : 16 (4 bits)/52
  • Niveau 2 : 256 (8 bits)/60
  • Niveau 3 : 16 (4 bits)/64

ou encore :

  • Niveau 1 : 256 (8 bits) /52
  • Niveau 2 : 16 (4 bits) /56
  • Niveau 3 : 16 (4 bits) /60

On trouvera un exemple de plan d’adressage dans le document IPv6 Subnetting – Overview and Case Study : https://supportforums.cisco.com/docs/DOC-17232

4.8. Plan d’adressage en niveaux inégaux

On vous livre un bloc fdd4:478f:0611::/48

Vous disposez d’un site de 4 bâtiments disposant de maximum 8 étages avec plusieurs dizaines de VLANs (/64) par étage.
4 bits pour les bâtiments et 4 bits pour les étages :

  • Bâtiment 1 : 0x0000 – 0x0FFF/52
    • Etage 1 : 0x0000 – 0x00FF/56
    • Etage 2 : 0x0100 – 0x01FF/56
    • Etage 3 : 0x0200 – 0x02FF/56
  • Bâtiment 2 : 0x1000 – 0x1FFF/52
    • Etage 1 : 0x1000 – 0x10FF/56
    • Etage 2 : 0x1100 – 0x11FF/56
    • Etage 3 : 0x1200 – 0x12FF/56

4.9. Attribution étalée

“Sparse” mode : attribution étalée

Comme on compte de manière séquentielle par la droite soit 0000, 0001, 0010, 0011,… ou 0, 1, 2, 3, on peut compter par la gauche soit 0000, 1000, 0100, 1100,… ou 0, 8, 4, c, … par exemple sur le premier hexa pour fdd4:478f:0611:[0-f]000:/52 :

  • fdd4:478f:0611::/52
  • fdd4:478f:0611:8000:/52
  • fdd4:478f:0611:4000:/52
  • fdd4:478f:0611:c000:/52
  • fdd4:478f:0611:2000:/52

Plan d’adressage évolutif réel
http://www.internetsociety.org/deploy360/resources/ipv6-address-planning-guidelines-for-ipv6-address-allocation/

Applications 1er Hexa Regions 2e Hexa Unité d’organisation 3e Hexa Sites 4e Hexa
Data 0 Est 0 Direction 0 Site 1 a
Voice 8 Nord 8 Marketing 1 Site 2 9
Video 4 Ouest 4 Finance 2 Site 3 e
Wireless c Sud c IT 3
Management 2 Support commercial 4

5. Considérations pratiques sur les adresses IPv6

Une connectivité de type entreprise reçoit un bloc /48 ou /56, par exemple 2001:db8:1ab::/48 ou 2001:db8:1ab:cd00::/56.

On divise et organise un bloc fixe /48 en 65536 réseaux /64 ou un bloc /56 en 256 réseaux /64.

Les 64 premiers bits, les 3 ou 4 premiers mots sont ceux du réseau (des sous-réseaux) de l’entreprise, qui ne changent jamais.

Toutes les adresses Unicast doivent avoir un masque de 64 bits. Utiliser un autre masque peut rompre le bon fonctionnement de Neighbor Discovery, Secure Neighbor Discovery (SEND), les Privacy Extensions, Mobile IPv6, Embedded-RP (multicast).

On manipule des données de 16 bits : « word » ou « mot », parfois « seizet » voire même « doublet » et pourquoi pas le « twoctet » (Wikipedia FR).

Un service DNS dynamique combiné à DHCPv6 sera utile dans un LAN contrôlé.

Les adresses des routeurs et des serveurs doivent être fixes et peuvent être simplifiées, par exemple fe80::88 ou 2001:0db8:00d6:3000::88.

La politique de filtrage du trafic et de sécurité est un enjeu dans un déploiement d’IPv6.

Le dual-stack (la double pile IPv4/IPv6) est toujours la méthode de transition préférée.

En conclusion, on constate en IPv6 :

  • Un fonctionnement similaire à IPv4 (préfixe/hôtes).
  • Une question de changement culturel :
  • On manipule au maximum 16 bits en hexas : C’est mieux que 32 bits en binaire.
  • On peut dépenser des adresses tant qu’on veut : on n’en manquera plus.
  • On utilise les masques de manière extensive (fixée à maximum /64 sur les réseaux) : il ne faut plus manipuler des masques restrictifs et illisibles
  • Il s’agit d’un changement inéluctable : il n’y a pas de protocole alternatif qui autorise la croissance de l’Internet

OPC UA : LA NORME D’INTER-OPÉRABILITÉ POUR L’INDUSTRIE DU FUTUR

Source : http://www.smart-industries.fr/fr/mag/11-novembre-2016/opc-ua-la-norme-inter-operabilite-pour-industrie-du-futur

OPC UA est une norme d’interopérabilité (IEC62541) développée par la Fondation OPC qui spécifie l’échange d’informations pour les communications industrielles… Explications.

L’un des principaux objectifs de l’Industrie de Futur est de moderniser l’outil industriel grâce aux technologies numériques. Les technologies d’automatisation jouent un rôle clé dans la mise en place d’usines dites « intelligentes » pour rendre la production plus flexible. Cette nouvelle flexibilité implique une totale interopérabilité au sein de l’usine, et donc une communication homogène pour le système d’information et l’outil de production.

OPC UA est une norme d’interopérabilité (IEC62541) développée par la Fondation OPC qui spécifie l’échange d’informations pour les communications industrielles. OPC UA permet le transport sécurisé de données simples ou complexes depuis des capteurs jusqu’aux systèmes de contrôle avancés, qu’ils soient locaux ou déportés.

Totalement ouvert, OPC UA est indépendant des fabricants de composants, du langage de programmation ou du système d’exploitation, et peut être utilisé sur toute les plateformes matérielles. OPC UA intègre de base des mécanismes de sécurité comme le contrôle d’accès, l’authentification et le cryptage.

Avec OPC UA, toutes les données du processus de production sont échangées de manière uniforme, aussi bien à l’intérieur d’une machine qu’entre machines, ou encore entre une machine et une application sur le cloud. OPC UA établit un pont entre le monde de l’IT et celui de la production.

Flexible et complètement indépendant, OPC UA est considéré comme la norme d’interopérabilité idéale pour la mise en œuvre de l’Industrie 4.0 et de l’Internet des objets industriels (IIoT).

Une relation client/serveur contractualisée

La relation entre client OPC UA et serveur OPC UA correspond à un contrat de service passé entre des composants logiciels. Ce contrat de service est défini par la fondation OPC. Il est l’objet de la spécification OPC UA : IEC62541, et le garant de l’interopérabilité.

La « plomberie »

La « plomberie » permet de distribuer un flux d’informations depuis un serveur vers un client. Ce dernier peut contacter simultanément plusieurs serveurs et un serveur peut être contacté par plusieurs clients en parallèle. La technologie OPC fonctionne par invocation de services. Le client invoque les services qui sont mis à sa disposition par le serveur. La spécification OPC UA définit une liste de 37 services. Ces services seront implémentés selon le profil du serveur OPC UA et du client OPC UA. Les services de base correspondent au profil « core » que doivent implémenter tous les serveurs OPC UA. Autour du profil de base « core »  sont construits par agrégation des profils fonctionnels plus complexes (« nano », « micro », « embedded », « standard », etc), chaque profil englobant intégralement le précédent.

Les éléments constitutifs d’une relation OPC UA

La connexion entre un client et un serveur n’est pas directe. Elle s’établit au travers d’un élément logiciel appelé stack OPC UA. Nous dirons que 3 composants sont mis en œuvre lors d’une connexion OPC UA : un client, un serveur et une stack. Le client invoque un service OPC UA, la stack transforme cet appel en une séquence d’octets  conformes au protocole OPC UA (on parle d’encodage), et le serveur exécute le service demandé par le client.

La modélisation

OPC UA est une technologie orientée objet basée sur des modèles. Un modèle de modèle ou méta-modèle est utilisé pour représenter les objets OPC UA. Le méta-modèle OPC UA est décrit dans la partie 3 de la spécification OPC UA (IEC 62541). On y retrouve des règles sémantiques et des objets permettant de fabriquer de nouveaux modèles. La modélisation consiste donc à utiliser le méta-modèle OPC UA pour créer des modèles.

Les spécifications complémentaires

Les modèles font l’objet de spécifications applicatives. Elles sont aussi appelées spécifications complémentaires ou « Companion Specification ». Elles permettent de représenter un savoir-faire métier en utilisant le méta-modèle OPC UA. Les modèles sont créés par les experts métier et non pas directement par la Fondation OPC.

Les spécifications complémentaires les plus célèbres sont les premières à avoir été publiées et normalisées par l’IEC. Il s’agit des parties 8 (Data Access), 9 (Alarm & Condition), 10 (Program) et 11 (Historical Access), conçues pour les systèmes automatisés.

D’autres spécifications complémentaires plus spécialisées ont été réalisées lors de collaborations avec des organisations de standardisation internationales. En font partie ADI (Analyzer Device Integration), le modèle d’information pour les spectromètres, PLCOpen (IEC61131-3), la norme relative à la programmation des automatismes, ISA S95 (IEC 62264), la norme définissant un modèle abstrait de l’entreprise, AutomationML, le modèle basé sur XML de représentation des données des procédés de fabrication,  AutoID, la méthode d’identification automatique des objets. D’autres spécifications en lien avec BACnet (Bâtiment intelligent), IEC61850 et IEC 61970 (SmartGrid) sont en cours de
définition.

Démultiplication de l’expertise de l’entreprise

Mais les possibilités de modélisation ne s’arrêtent pas aux normes. Elles s’adressent aussi aux modèles propriétaires réalisés pour un secteur d’activité très vertical. Il est ainsi possible de reprendre tous les modèles existants au sein d’une entreprise, sachant que ces modèles reflètent son savoir-faire et sont souvent le résultat de plusieurs dizaines d’années expérience.

Un maître mot dans la Fondation OPC : Collaboration

La collaboration avec les experts d’autres organisations est la clé du succès d’OPC UA. Cette collaboration permet d’établir des ponts avec d’autres secteurs d’activités en apportant toute la puissante, la flexibilité, la sécurité et la robustesse d’OPC UA.

TSN : le turbo pour OPC UA ?

La complexité des tâches d’automatisation industrielle ne cesse de croître, ce qui entraîne le développement de concepts de contrôle distribué. Connectés via un réseau Ethernet industriel, les équipements périphériques sont de plus en plus dotés d’une intelligence propre. Les technologies d’automatisation gagnent ainsi en flexibilité et modularité, d’où une meilleure adéquation avec les besoins de l’utilisateur.

Il n’est pas rare aujourd’hui que des modules de machine soient dotés de leurs propres contrôleurs et assemblés pour former une machine complète et unique. OPC UA assure que les contrôleurs provenant de différents fabricants peuvent être coordonnées facilement au sein d’un seul et même système. Néanmoins, lorsqu’il s’agit de process complexes avec des exigences de temps réel déterministe, TCP/IP atteint ses limites. OPC UA basé sur Time Sensitive Networking (TSN) pourrait bien changer la donne… En effet, de nombreux fabricants d’automatismes et de robots ont uni leurs forces pour doter OPC UA de capacités temps réel déterministe avec TSN(1).

OPC UA TSN est la solution parfaite pour toutes les applications d’automatisation au niveau de l’usine, autrement dit au-dessus du niveau des machines et avec des exigences de temps réel moins strictes. En font partie la synchronisation de ligne, les tâches de contrôle simples, ou encore le pilotage de convoyeurs. Toutes ces tâches requièrent des temps de cycle de 2 à 10 millisecondes et une gigue de quelques centaines de microsecondes. Le temps réel dur, qui concerne principalement les servo-variateurs et les connexions capteurs inférieures à la milliseconde, restera le domaine réservé des protocoles Ethernet industriels temps réel déterministes comme Powerlink ou Profinet-irt.

Dans les années à venir, l’extension d’OPC UA à l’automatisation des lignes aura de profondes répercussions sur la structure des machines et des installations industrielles.

Pub/Sub

Avec le modèle client/serveur, une architecture comportant un grand nombre de nœuds génère un trafic important, ce qui peut avoir une incidence sur les performances du système. Le modèle Publish/Subscribe, en revanche, permet les communications « one-to-many » et « many-to-many » en optimisant les performances et le flux de communication. Un serveur envoie ses données au réseau (publish) et chaque client peut recevoir ces données (subscribe). Ceci élimine le besoin de maintenir une connexion permanente, fortement consommatrice en ressources, entre client et serveur.

Le modèle de communication Pub/Sub est particulièrement adapté à l’Internet Industriel des Objets (IIoT). Dans ce type d’architecture, des producteurs de données, les Publishers, vont pousser de l’information vers un système intermédiaire appelé « broker ».  A son tour le broker redistribuera l’information aux systèmes qui  ont besoin de la consommer, les Subscribers. L’intérêt majeur du « broker » repose sur la notification en temps réel de la publication de nouvelles données, sans devoir constamment interroger un serveur.

La fondation OPC a retenu deux technologies Pub/Sub  mettant en œuvre un broker : AMQP, intégré au  cloud Azure de Microsoft  et à OpenStack, et MQTT, utilisé par Amazon Web Services.

Les cas d’utilisation de la technologie Pub/Sub sont nombreux, allant des bornes de charges des véhicules électriques à la maintenance les distributeurs de boissons. Pub/Sub concerne par exemple tous les objets qui peuvent avoir à communiquer de manière ponctuelle (messages de maintenance, notification d’état…) avec un système de supervision distant.

Cybersécurité

OPC UA est utilisé dans une grande diversité d’environnements opérationnels, souvent au sein d’architectures réseaux étendues et ouvertes. Pour cette raison, la sécurité a été l’exigence principale dans le développement de cette norme, et celle-ci  est complétement intégrée au protocole.

En s’appuyant sur ses nombreuses années d’expérience dans la sécurité des systèmes d’information, la fondation OPC a intégré les mesures de sécurité permettant de faire face aux menaces qui pèsent sur les systèmes industriels :

  •  Authentification et autorisation des applications et des utilisateurs
  •  Confidentialité des informations assurée par le cryptage des messages
  •  Contrôles d’intégrité des messages évitant la manipulation de leur contenu
  •  Auditabilité permettant de tracer les actions effectuées

OPC UA permet une communication sécurisée sur des architectures ouvertes

Ces mesures assurent une parfaite protection du canal de communication (SecureChannel) et offrent toutes les fonctionnalités nécessaires pour assurer la sécurité applicative (UserTokenIdentity). Différents niveaux de sécurité peuvent être sélectionnés selon les exigences de l’application concernée.

Recommandé dans les architectures de référence

Dans son modèle d’architecture de référence (RAMI4.0), la plateforme allemande Industrie 4.0 recommande l’utilisation d’OPC UA pour l’implémentation au niveau de la couche « communication ».

En France, la fondation OPC travaille étroitement avec le groupe de travail normalisation de l’Alliance pour l’Industrie du Futur dans la définition de son modèle de référence, dont les premières recommandations sont attendues d’ici la fin de l’année.

Outre-Atlantique, OPC UA est également au cœur de l’Industrial Internet of Things (IIoT). Les sociétés B&R, Bosch Rexroth, Cisco, GE, Intel, KUKA, Schneider Electric, National Instruments et TTTech annoncent leur collaboration pour vérifier l’inter-
opérabilité des composants de différents fabricants dans des réseaux OPC UA TSN, dans le cadre du « Time Sensitive Networking Testbed » de l’Industrial Internet Consortium (IIC).

 

Par Michel Condemine, représentant technique de la Fondation OPC en France et auteur d’OpenOpcUa et Stéphane Potier, représentant Marketing de la Fondation OPC en France et directeur Marketing France chez B&R Automation.