Machine Communication at Resato
Total Page:16
File Type:pdf, Size:1020Kb
University of Groningen Integration Project Machine communication at Resato Supervisors: Author: 1st supervisor: Dr. ir. A.A. Geertsema Sanne van Kasteel 2nd supervisor: Dr. A.J. Bosch Company supervisor: R.J. Boer Bachelor Thesis Industrial Engineering & Management July 2, 2018 UNIVERSITY OF GRONINGEN Abstract Faculty of Science and Engineering Industrial Engineering & Management Machine communication at Resato by Sanne van Kasteel With the modern technology, many companies use data to predict and anticipate on events. This data has to be transported from one point to another in order to use it. Everything can be connected through the Internet of Things, but the connection is not always easily made due to security in compa- nies, such as a firewall. In order to let the connection run smoothly, methods are developed to bypass the firewall constructions and securely transport the data from one company to another. Resato International BV is a company that develops high pressure and waterjet technology. Resato has machines at customers all over the world but has problems with connecting to those machines. Methods for bypassing the firewall are necessary to allow for an easier connection to these machines. In this research, several methods are evaluated and ranked according to the requirements of Resato. One of the methods is tested to gain insight into the method and provide an example of implementa- tion. This method, STUN, provides the client with an open port and its IP address. From the tests, STUN is capable of communication in most situations. For the cases that STUN is inadequate, the advice for combining methods is given. iii Contents Abstract iii Terminology vi 1 Introduction 3 1.1 Resato.............................................3 1.2 Innovation Cluster Drachten.................................3 1.3 Project Motivation......................................4 1.4 Trade-offs...........................................5 1.4.1 Ethical limit.....................................5 1.4.2 Technical limit....................................5 1.5 Digitalisation at Resato...................................6 1.5.1 The OSI model....................................6 1.5.2 The TCP/IP model.................................7 1.5.3 TCP and UDP....................................9 1.5.4 NATs.........................................9 1.6 Use of TCP or UDP..................................... 11 1.7 PTC ThingWorx....................................... 12 1.8 Problem holder and stakeholders.............................. 12 1.8.1 Problem holder analysis............................... 13 1.8.2 Stakeholder analysis................................. 13 1.9 System description...................................... 14 1.10 Risk analysis......................................... 14 1.11 Planning............................................ 15 2 Research Design 17 2.1 Research Topic........................................ 17 2.2 Design goal and scope.................................... 17 2.2.1 The design goal.................................... 17 2.2.2 Scope......................................... 18 2.3 Research problem....................................... 18 2.4 Design steps.......................................... 18 2.5 Needed Resources....................................... 21 2.5.1 Literature resources................................. 21 2.5.2 Test design...................................... 22 3 Requirements 23 4 Methods 25 4.1 Introduction.......................................... 25 4.2 STUN............................................. 26 4.3 TURN............................................. 27 v 4.4 ICE.............................................. 28 4.5 PS-STUN........................................... 31 4.6 3G/4G/LTE.......................................... 31 4.7 SWEET............................................ 32 4.8 WANTS............................................ 33 4.9 CAN.............................................. 34 4.10 CODO............................................. 34 4.11 NSLP............................................. 35 4.12 Tunnelling........................................... 36 4.13 UPnP............................................. 38 4.14 Hole Punching........................................ 39 4.14.1 UDP hole punching................................. 39 4.14.2 TCP hole punching.................................. 40 4.14.3 Well behaved NAT.................................. 40 4.15 ALG.............................................. 41 4.16 Comparison Traversal Methods............................... 42 5 Test Design of Traversal Method 45 5.1 Setup............................................. 45 5.1.1 First setup...................................... 45 5.1.2 Second setup..................................... 46 5.2 Test Program......................................... 46 5.3 Results Tests......................................... 49 5.3.1 Test 1......................................... 49 5.3.2 Test 2......................................... 49 5.3.3 Test 3......................................... 49 5.3.4 Validation....................................... 49 6 Discussion 51 6.1 Results............................................. 51 6.2 Discussion........................................... 51 7 Conclusion and recommendations 53 7.1 Conclusion.......................................... 53 7.2 Recommendations...................................... 53 A Program Code 55 B Wireshark Screenshots 65 Bibliography 69 vi Terminology Auto IP is a method that automatically distributes IP addresses to devices without a router or server. In a Client-server network devices send information to one another through a centralised server. DCR is a direct connection rate. DHCP (Dynamic Host Configuration Protocol) is a protocol that can automatically assign IP addresses to devices in a network. DNS (Domain Name System) is a decentralised naming system for devices that are connected to a private network or the internet. It is used to translate names of devices to IP addresses and vice versa. Expedited data is urgent data. HIP (Host Identity Protocol) is a protocol that allows for forming and maintaining IP addresses as both \locators" and \identifiers”. [1] HTTP (Hypertext Transfer Protocol) is a protocol in place for communication between a client and server. ICE (Interactive Connectivity Establishment) is a method for direct communication between devices. IGD (Internet Gateway Device) is a protocol for port control in NATs. IoT (Internet of Things) is a system that allows devices with different IP addresses to connect. IP (Internet Protocol) is the main protocol for communication in the internet protocol suite. IP address is the numerical code given to a device in a network that uses the IP for communication. IPsec (Internet Protocol security) is a network protocol suite that encrypts and authenticates packets. Kernel is the core of an operating system. A log file is a record of every data activity that takes place in a system. Middlebox is a device that can manipulate data before traversing. Multihoming is a mechanism that allows to connect to more than one network or IP address. NAT (Network Address Translation) is a method where IP addresses are appointed and trans- lated. A Node is a device, structure or peer. NTT stands for NAT Traversal Technologies. Octet equals 8 bytes. Overhead is the network overload. Payload is the actual message sent in a network, the information without the data to make the transportation possible. In a Peer to Peer network devices (peers) send information directly to each other. Polling is a regular check for incoming data or changes. Protocol suite is a collection of communication protocols. Relaying is passing on data. SIP (Session Initiation Protocol) is a protocol for communication of multimedia. SOAP (Simple Object Access Protocol) is a messaging protocol that uses a XML format. SSH (Secure Shell) is the protocol that allows for a secure channel over an unsecured network. SSPR (Self-Service Password Reset) is the technology that one uses when, for example, one has to reset their password because of forgetting it. 1 2 STUN (Session Traversal Utilities for NAT) is a collection of methods for transport across NATs. Throughput is the absolute performance of a process. Tunnel is a manner to transport data while encapsulated. TURN (Traversal Using Relays around NAT) is a protocol for relaying packages of data from one IP address to another. VoIP (Voice over IP) is a method where the internet protocol is used to make telephone calls. XML (Extensible Markup Language) is a simple text format that uses code and is readable to both humans and machines. Chapter 1 Introduction Modern systems communicate in different networks and there are different techniques to do so. Re- sato and more organisations encounter problems with this communication, while at other organisations such as WhatsApp, it does work. The problems arise from the security surrounding the machines be- cause the machines are located at Resato's customers. These customers use firewalls to protect their network and prevent unwanted communication. Different techniques for communication need to be found and evaluated. In this chapter, the problem context is discussed, such that one can understand the background of Resato and its problem. Resato is part of a subsidised project where they are to provide knowledge on the subject of trans- portation and storage. Resato works together with a group of companies from Innovation Cluster Drachten. These companies