Do-more Technical Training

Slides:



Advertisements
Similar presentations
CCNA – Network Fundamentals
Advertisements

Communication Protocols II Ninth Meeting. TCP/IP family.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Introduction 1 Lecture 7 Application Layer (FTP, ) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering.
Lecturer : Ms.Trần Thị Ngọc Hoa Chapter 8 File Transfer Protocol – Simple Mail Transfer Protocol.
Introduction 1-1 Chapter 2 FTP & Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 IC322 Fall.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Application Layer Functionality and Protocols Network Fundamentals – Chapter 3.
TCP/IP protocols Communication over Internet is mostly TCP/IP (Transmission Control Protocol over Internet Protocol) TCP/IP "stack" is software which allows.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 2: Application.
Intro to Computer Networks Bob Bradley The University of Tennessee at Martin.
Network Protocols. Why Protocols?  Rules and procedures to govern communication Some for transferring data Some for transferring data Some for route.
Sending and Receiving Mails
A+ Guide to Software: Managing, Maintaining, and Troubleshooting, 5e
9/15/2015© 2008 Raymond P. Jefferis IIILect Application Layer.
Simple Mail Transfer Protocol (SMTP)
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols.
1 Version 3.0 Module 11 TCP Application and Transport.
Dynamic Host Configuration Protocol (DHCP). History Diskless workstations –needed to know configuration parameters like IP address, netmask, gateway address.
File Transfer Protocol (FTP)
Application Layer Khondaker Abdullah-Al-Mamun Lecturer, CSE Instructor, CNAP AUST.
Data Communications and Networks Chapter 5 – Network Services DNS, DHCP, FTP and SMTP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
TFTP: Trivial file transfer protocol
GPRS functionality overview in Horner OCS. GPRS functionality – Peer to Peer communication over GPRS – CSCAPE connectivity over GPRS – Data exchange using.
SMTP Tapu Ahmed Jeremy Nunn. Basics Responsible for electronic mail delivery. Responsible for electronic mail delivery. Simple ASCII protocol that runs.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Application Layer Functionality and Protocols.
CITA 310 Section 6 Providing Services (Textbook Chapter 8)
Slides based on Carey Williamson’s: FTP & SMTP1 File Transfer Protocol (FTP) r FTP client contacts FTP server at port 21, specifying TCP as transport protocol.
Do-more Technical Training Communications ( ).
Do-more Technical Training Communications (Modbus TCP)
Application Layer instructors at St. Clair College in Windsor, Ontario for their slides. Special thanks to instructors at St. Clair College in Windsor,
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
Do-more Technical Training
Do-more Technical Training
Application Layer Functionality and Protocols Abdul Hadi Alaidi
Do-more Technical Training
Do-more Technical Training
Application Layer Functionality and Protocols
Do-more Technical Training
Do-more Technical Training
Do-more Technical Training
Do-more Technical Training
Do-more Technical Training
Do-more Technical Training
Do-more Technical Training
Do-more Technical Training
Application layer 1 Principles of network applications 2 Web and HTTP
Implementing TCP/IP.
Do-more Technical Training
Networking for Home and Small Businesses – Chapter 6
Working at a Small-to-Medium Business or ISP – Chapter 7
TCP/IP Networking An Example
Chapter 10: Application Layer
Networking for Home and Small Businesses – Chapter 6
Working at a Small-to-Medium Business or ISP – Chapter 7
CCNA 2 v3.1 Module 10 Intermediate TCP/IP
Working at a Small-to-Medium Business or ISP – Chapter 7
Process-to-Process Delivery:
Chapter 2: Application layer
Message Queuing Telemetry Transport (Internet of Things)
The Application Layer: SMTP, FTP
Module 12 Network Configuration
Do-more Technical Training
Networking for Home and Small Businesses – Chapter 6
Chapter 7 Network Applications
Network Addressing.
Process-to-Process Delivery: UDP, TCP
Chapter 2 Application Layer
Computer Networks Protocols
Data Communications and Networks
MESSAGE ACCESS AGENT: POP AND IMAP
Presentation transcript:

Do-more Technical Training Communications (Email)

Communications – Email Built-in Ethernet Port Supports sending SMTP Email requests to a known SMTP server (MSA/MTA) via the EMAIL instruction MUA – Mail User Agent MX – Mail Exchanger MSA – Mail Submission Agent MDA – Mail Delivery Agent MTA – Mail Transfer Agent POP / IMAP Internet SMTP

Communications – Email (Connect) @MyEmailClient (MUA) TCP Protocol Email Server (MSA/MTA) SYN TCP Connection Established TCP Connection Established SYN, ACK ACK

Communications – Email (Authorize) @MyEmailClient (MUA) SMTP Protocol Email Server (MSA/MTA) 220 “Ready” TCP Connection Established EHLO TCP Connection Established 250-Hello 250-SIZE Connection Authenticated Connection Authenticated 250-AUTH LOGIN Server asks Client for Password using BASE64 encoding AUTH LOGIN Server tells Client maximum size 334 VXNlcm5hbWU6 Server tells Client what Authorizations are available for use (e.g. LOGIN, PLAIN, CRAM-MD5) Client tells Server which Authorization he chooses adlxdkej BASE64 Encoding 334 UGFzc3dvcmQ6 Server asks Client for Username using BASE64 encoding lkujsefxlj 235 “Successful”

Communications – Email (Exchange) SMTP Protocol @MyEmailClient (MUA) MAIL FROM:<bob> Email Server (MSA/MTA) 250-OK TCP Connection Established RCPT TO:<alice> TCP Connection Established 250-OK DATA Connection Authenticated Connection Authenticated 354 “End with .” Email Sent “From: <bob>” Email Received Client tells Server a data stream is to follow Server tells Client to end data stream with a period “.” on a line by itself [body of email] “.” Client sends Server all of the email body text (could be several telegrams) 250-OK QUIT Client sends Server the period “.” (end of data) 221-Bye

Communications – Email (Disconnect) @MyEmailClient (MUA) TCP Protocol Email Server (MSA/MTA) FIN, ACK TCP Connection Established TCP Connection Established FIN, ACK ACK Connection Authenticated Connection Authenticated Email Sent Email Received

Communications – Email CPU’s Built-in Ethernet Port must have IP address CPU must have a properly configured SMTP Client Device Must know SMTP Server’s (MSA/MTA) IP address or the DNS Lookup name Some SMTP Servers have IP addresses that periodically change for security reasons. In this case, the DNSLOOKUP instruction can be used with DEVWRITE instruction to read the IP address dynamically and write it to the CPU’s SMTP Client Device just before doing the EMAIL instruction SMTP Server (MSA/MTA) must either use no Authentication (Disabled) or one of the following types: AUTH LOGIN AUTH PLAIN POP before SMTP If Authentication is used, the Username & Password must be known for the email account Must use EMAIL instruction to send

Communications – Email CPU’s Built-in Ethernet Port must have IP address: Manual config:

Communications – Email CPU’s Built-in Ethernet Port must have IP address: Programmatic configuration: SETUPIP – “Setup TCP/IP Parameters” SETUPNOD – “Setup Ethernet Node Parameters”

Instruction Set (Ethernet) SETUPIP “Setup TCP/IP Parameters” Configures TCP/IP networking parameters for onboard Ethernet port Fully asynchronous instruction (red triangle) Parameters: Ethernet Device: @IntEthernet IP Address Fixed: Regular IP address format Variable: D-memory format (double-word) Subnet Mask: (Fixed / Variable) Gateway Address: (Fixed / Variable On Success: (Set bit / JMP to Stage) On Error: (Set bit / JMP to Stage) Input leg leading-edge-triggered System data words reflect current settings: $IPAddress (DST18) $NetMask (DST19) $Gateway (DST20) NOTE: Writes to ROM. Could take several seconds to complete. Use sparingly due to ROM’s limited writes (≈100K). Double-words are used with “unsigned byte” casting to make the line containing the IP address octet in the INIT instruction more readable

Instruction Set (Ethernet) SETUPNOD “Setup Ethernet Node Parameters” Configures node parameters for onboard Ethernet port Fully asynchronous instruction (red triangle) Parameters: Ethernet Device: @IntEthernet Node Number: 32-bit signed (0 to 2,147,483,647) Node Name: 0 to 256 alphanumeric characters Also stored in system parameter string SysName Node Description: 0 to 256 alphanumeric characters Also stored in system parameter string SysDesc On Success: (Set bit / JMP to Stage) On Error: (Set bit / JMP to Stage) Input leg leading-edge-triggered NOTE: Writes to ROM. Could take several seconds to complete. Use sparingly due to ROM’s limited writes (≈100K).

Communications – Email Built-in Ethernet Port To send Email requires an SMTP Client Device Use Device Configuration to create Follow Configuration Notes DNS Lookup button

Instruction Set (Ethernet) PING “Ping Ethernet Device” Sends an ICMP ping to see if a particular IP Address is reachable from the Do-more PLC Fully asynchronous instruction (red triangle) Parameters: Device: @IntEthernet Remote Address: Fixed IP Address Variable IP Address – D-memory double-word Slave ID – (Module ID) Network Timeout: How long to wait in ms (0-65,535) Round Trip Time (optional): Time in ms the response took On Success: (Set bit / JMP to Stage) On Error: (Set bit / JMP to Stage) Input leg leading-edge-triggered

Instruction Set (Ethernet) EMAIL “Send EMail” Sends email Fully asynchronous instruction (red triangle) Parameters: SMTP Device: @MyEmailClient To / Cc / Bcc: pertinent email addresses (max 1024 characters) Subject: text for the subject line (max 1024 characters) Automatically insert space after each term (optional): for use if sending embedded terms in email message Message: text body of the email with optional embedded fields (text, control characters, strings, elements, formatting & string selection functions, raw data) – See next slide On Success: (Set bit / JMP to Stage) On Error: (Set bit / JMP to Stage) Input leg leading-edge-triggered

Instruction Set (Ethernet) EMAIL “Send EMail” Parameters: Message: text body of the email String Literals – ASCII text in double quotes (e.g. “Hi!”) Data Elements – (e.g. “The current count is” CT0.Acc) Control Characters $$  $ $”  “ $L  <LF> (line feed) $N  <CR><LF> (carriage return, line feed) $P  <FF> (form feed) $R  <CR> (carriage return) $T  <TAB> (tab) $hh  hh (any one-byte hex value) Formatting Functions [see Do-more Designer Help Topic DMD0168] FmtString – Sets length and/or justifies text within a string FmtBit – Formats bits’ values as a text instead of just 0 or 1 FmtInt – Formats how an integer is represented in a string FmtReal – Formats how real numbers are represented in a string FmtTMR – Formats how Timer Accumulator values are represented in a string FmtDate – Formats how a Date stamp is represented in a string FmtTime – Formats how a Time stamp is represented in a string Lookup – Selects a string in a list to represent a value Raw – Places bytes of data from a data block into a string

Instruction Set (Ethernet) DNSLOOKUP “Name to IP Address” Finds IP address assigned to a device using DNS protocol. Fully asynchronous instruction (red triangle) Parameters: Device: @IntEthernet Preferred DNS Server (Fixed / Variable): IP address to contact for resolving the name. Default is 8.8.8.8 (Google’s public DNS Server) Alternate DNS Server (No / Fixed / Variable): IP address to contact if the preferred one fails. Default is the secondary DNS Server IP address from the network setup on the PC running Do-more Designer Name: the name that is to be resolved to an IP address (e.g. mail.google.com) IP Address Result: where to store the result On Success: (Set bit / JMP to Stage) On Error: (Set bit / JMP to Stage) Input leg leading-edge-triggered

Instruction Set (Ethernet) DEVWRITE “Write Device Register” Writes a configuration value to a register in a Device Parameters: Device: @MySMTPClient Write Register (pull-down selection): valid registers for chosen Device Value: valid value for the register chosen

Communications – Email DNSLOOKUP  DEVWRITE  EMAIL Stage0 uses a DNSLOOKUP instruction to query the DNS server for Gmail’s IP address. Google’s email server changes IP addresses for security purposes but their domain name doesn’t. The new IP address is stored in D112, and Stage1 is jumped to Stage2 sends the email The new IP address is written to the SMTP Client’s IP Address parameter Stage2 is jumped to

Training Station Communication Serial Comms PLC: 10.1.1.110 EC: 10.1.1.111 EBC: 10.1.1.112 Comm PLC: 10.1.1.200 Stepper, encoder, 2 limit switches TCP, UDP & Serial Comms PLC: 10.1.1.120 EC: 10.1.1.121 EBC: 10.1.1.122 Ethernet Switch PLC: 10.1.1.130 EC: 10.1.1.131 EBC: 10.1.1.132 PLC: 10.1.1.140 EC: 10.1.1.141 EBC: 10.1.1.142 Raspberry Pi: 10.1.1.8 SNTP, DNS, Email & DHCP PLC: 10.1.1.150 EC: 10.1.1.151 EBC: 10.1.1.152 SNTP, DNS, Email… To laptops’ Ethernet Switch

Communications – Email Email (SNTP) & DNS Server: Raspberry Pi  10.1.1.8 Valid emails: test0@adcsmiley.tld test1@adcsmiley.tld test2@adcsmiley.tld test3@adcsmiley.tld test4@adcsmiley.tld test5@adcsmiley.tld Web Email Client: http://adcsmiley.tld Login Name: test0, test1, test2, test3, test4, test5 Password: test