INTERNET COMMUNICATION THROUGH POINT-TO-POINT PROTOCOL ON LINUX OPERATING SYSTEM ABDOULIE F. BADJIE UNIVERSITI TEKNOLOGI MALAYSIA

Size: px
Start display at page:

Download "INTERNET COMMUNICATION THROUGH POINT-TO-POINT PROTOCOL ON LINUX OPERATING SYSTEM ABDOULIE F. BADJIE UNIVERSITI TEKNOLOGI MALAYSIA"

Transcription

1 INTERNET COMMUNICATION THROUGH POINT-TO-POINT PROTOCOL ON LINUX OPERATING SYSTEM ABDOULIE F. BADJIE UNIVERSITI TEKNOLOGI MALAYSIA

2 PSZ 19:16 (Pind. 1/97) UNIVERSITI TEKNOLOGI MALAYSIA BORANG PENGESAHAN STATUS TESIS JUDUL: INTERNET COMMUNICATION THROUGH POINT-TO- POINT PROTOCOL ON LINUX OPERATING SYSTEM SESI PENGAJIAN: 2004/2005 Saya ABDOULIE F. BADJIE, (HURUF BESAR) mengaku membenarkan tesis (PSM / Sarjana / Doktor Falsafah)* ini disimpan di Perpustakaan Universiti Teknologi Malaysia dengan syarat-syarat kegunaan seperti berikut: 1. Tesis adalah hakmilik Universiti Teknologi Malaysia. 2. Perpustakaan Universiti Teknologi Malaysia dibenarkan membuat salinan untuk tujuan pengajian sahaja. 3. Perpustakaan dibenarkan membuat salinan tesis ini sebagai bahan pertukaran antara institusi pengajian tinggi. 4. ** Sila tandakan ( ) SULIT TERHAD (Mengandungi maklumat yang berdarjah keselamatan atau kepentingan Malaysia seperti yang termaktub di dalam AKTA RAHSIA RASMI 1972) (Mengandungi maklumat TERHAD yang telah ditentukan oleh organisasi/badan di mana penyelidikan dijalankan) TIDAK TERHAD Disahkan oleh (TANDATANGAN PENULIS) Alamat Tetap: #521-G29, KOLEJ RAHMAN PUTRA UTM, 81310, SKUDAI, JOHOR MALAYSIA (TANDATANGAN PENYELIA) PM DR. NORSHEILA BT FISAL, Nama Penyelia Tarikh: Tarikh: CATATAN * Potong yang tidak berkenaan. ** Jika tesis ini SULIT atau TERHAD, sila lampirkan surat daripada pihak berkuasa/organisasi berkenaan dengan menyatakan sekali sebab dan tempoh tesis ini perlu dikelaskan sebagai SULIT atau TERHAD. Tesis dimaksudkan sebagai tesis bagi Ijazah Doktor Falsafah dan Sarjana secara penyelidikan, atau disertai bagi pengajian secara kerja kursus dan penyelidikan, atau Laporan Projek Sarjana Muda (PSM).

3 SUPERVISOR DECLARATION I hereby declare that I have read this thesis and in my opinion this thesis is sufficient in terms of scope and quality for the award of the degree of Master of Electrical Engineering. Signature : Name of Supervisor : Associate Professor Dr. Norsheila Binti Fisal Date :

4 INTERNET COMMUNICATION THROUGH POINT-TO-POINT PROTOCOL ON LINUX OPERATING SYSTEM ABDOULIE F. BADJIE A thesis submitted in fulfilment of the requirements for the award of the degree of Master of Engineering (Electrical-Electronics and Telecommunications) Faculty of Electrical Engineering Universiti Teknologi Malaysia MARCH 2005

5 ii DECLARATION I declare that this thesis entitled Internet Communication Through Point-to-Point Protocol on Linux Operating System is the result of my own research except as cited in the references. The thesis has not been accepted for any degree and is not concurrently submitted in candidature of any other degree. Signature : Name : ABDOULIE F. BADJIE Date :

6 iii This project is dedicated to my beloved parents, brothers, sisters and friends. In addition, my thanks go out to the Islamic Development Bank for providing me the opportunity to study this program. Thanks are also extended to the Gambia Civil Aviation Authority for giving me the study leave to pursue this program. Last but not the least a lot of thanks is extended to all my friends at the University Technology Malaysia especially KRP G29 Hostel.

7 iv ACKNOWLEDGEMENT In preparing this thesis, I got a lot of feedback from different people. First I wish to express my sincere appreciation to my main thesis supervisor, Associate Professor Dr. Norsheila bt Fisal, for the encouragement, guidance, critics and advice she give to me to complete this project. I am also indebted to Mr Adel Ali of the Telecoms Lab for lots of advice and guidance in the preparation of the project. Thanks also to Mr Muladi and all students of the same lab.

8 v ABSTRACT The growth of the internet has meant that different devices are connected together and data has to be exchanged from one place to another. Since the internet consists of many networks connected together using different protocols, there is the need for a single independent protocol which can transport the data from one end to another irrespective of the type of protocol of the origin or destination of the connection. The Point-to-Point Protocol is such a protocol and is designed for simple links which transport packets between two peers. These links provide full-duplex simultaneous bi-directional operation, and are assumed to deliver packets in order. The use of sockets in the internet communication eliminates the reconfiguration of the link between the server and client. It also enables multiple access of a server by many clients. This project demonstrates the processes that s takes place when accessing a website or doing some client/server computing in the form of a link connecting two computers. The computers communicate through the use of sockets in Point-to-Point Protocol as the Media Access Control in the Data link Layer. Data communication takes place in the form of a Graphic User Interface using text and audio through the two computers.

9 vi ABSTRAK Perkembangan internet juga bermakna pelbagai peranti yang berbeza telah diintegrasikan bersama dan data boleh ditukar daripada suatu tempat ke tempat yang lain. Semenjak internat mengandungi banyak rangkaian yang tersambung bersama dengan menggunakan protocol berbeza, suatu protokol bebas tunggal diperlukan dimana ianya boleh membawa data daripada suatu titik akhir ke suatu yang lain berdasarkan jenis protokol asal atau destinasi sambungan. Protokol titik-ke-titik merupakan suatu protokol yang telah direkabentuk untuk hubungan mudah yang membawa paket diantara dua komputer. Hubungan ini menyediakan operasi duplekspenuh serentak dua-arah, dan diandaikan untuk menghantar paket berdasarkan arahan. Penggunaan soket dalam komunikasi internat menghapuskan pengkonfigurasian semula hubungan diantara pelayan dan pelanggan. La juga membolehkan pelbagai akses pelayan oleh ramai pelanggan. Projek ini telah mendemonstrasikan proses yang digunakan apabila pengaksesan laman web atau sebahagian perkomputeran pelanggan/pelayan dalam format hubungan sambungan dua komputer. Komputer berkomunikasi melalui penggunaan soket dalam Protokol Titik-ke-Titik sabagai Kawalan Akses Media dalam Lapisan Hubungan Data. Komunikasi data mengambil tempat dalam format Pengantaramuka Grafik Pengguna dengan menggunakan teks dan audio melalui dua komputer

10 vii TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION ii DEDICATION iii ACKNOWLEDGEMENT iv ABSTRACT v ABSTRAK vi CONTENTS vii LIST OF TABLES xi LIST OF FIGURES xii LIST OF ABBREVIATION xv LIST OF APPENDICES xvii 1 INTRODUCTION Background Problem Statement Objectives Scope Importance of Research Research Methodology Thesis Organization 6

11 viii 2 LITERATURE REVIEW Introduction TCP/IP Model Layers Network Interface layer Internet Layer Host-to-Host Transport Layer Application Layer Overview of Data Link Functions Data Link Layer Sublayers Data Link Layer Functions Services Provided to the Network Layer Why TCP/IP Needs Network Interface Layer Protocols TCP/IP Network Interface Layer Protocol: SLIP and PPP Serial Line Internet Protocol (SLIP) Point-to-Point Protocol How PPP Negotiate for Connection Setup Socket Programming Socket types Socket Connection Principles Socket Creation Socket Connection Establishment Socket Data Transfer Discarding Sockets Serial Communication Serial Connection Going with the flow 38 3 NETWORK SETUP AND CONFIGURATION Introduction Configuring Network Interface For PPP Communication 41

12 ix 3.3 GUI with TCL/TK Programming Language Compiling And Installing Tcl Application Services 47 4 RESULTS AND ANALYSIS Introduction Results Analysis 55 5 CONCLUSION AND FUTURE WORK Conclusion Future Work 57 REFERENCES 60 APPENDIX A PROGRAM CODE FOR SERVER SIDE 62 APPENDIX B PROGRAM CODE FOR CLIENT SIDE 65 APPENDIX C PROGRAM CODE FOR THE GUI USING TCL.TK 68

13 x LIST OF TABLES TABLE NO. TITLE PAGE 2.1 Comparison between SLIP and PPP Option parameters in PPP configuration 43

14 xvii LIST OF FIGURES FIGURE NO. TITLE PAGE 2.1 TCP/IP in relation to the OSI layer model General Frame Format for Data Link Layer Block diagram of virtual and actual communication in TCP/IP Block diagram of TCP/IP with reference to the OSI model General PPP frame format Simplified phase diagram for bringing a line up and down Client and Server applications connect via sockets across a Network Client/server TCP socket programming flow RS 232 pin out diagram Block diagram of a two way network model and the stages taken to access the resources of a server from a client Client and Server Linked by Serial Cable Through Serial port GUI Frame Format for Both Client and Server Different Network Interface Cards in the computer Result from PING COMMAND GUI data communication results from client to server computers GUI data communication results from client to server computers when the server is made client and vice versa 54

15 xviii LIST OF ABBREVIATIONS AF_INET ATM ARP BGP BSD CDDI CLNP CRC CSMA/CD CTS DCD DHCP DLL DNS DSL DSR DTR FDDI FTP GCC GUI Open Transport Reference Asynchronous Transfer Mode Address Resolution Protocol Border Gateway Protocol Berkeley Software Distribution Copper Distributed Data Interface Connectionless Network Protocol Cyclic Redundancy Check Carrier Sense Multiple Access/Collision Detection Clear To Sense DCD (Data Carrier Detect Dynamic Host Configuration Protocol Data Link Layer Domain Name Server Digital Subscriber Line Data Set Ready Data Terminal Ready Data Fiber Distributed Data Interface File Transfer Protocol GNU C Compiler Graphical User Interface

16 xix HDLC HomePNA HTTP ICMP IDP IEEE I/O IP IPC IPX IRQ ISDN ISP LAN LCP LLC MAC NCP NIC OSI PEX PPP PPPoA PPPoE RFC RIP RTS SLIP SMTP SNMP SONET SPP Tcl TCP High Level Data Link Control Home Phoneline Networking Alliance HyperText Transfer Protocol Internet Control Message Protocol Intrusion Detection and Prevention Institute of Electrical and Electronics Engineers Input/ Output Internet Protocol Interprocess Communication Internetwork Packet exchange Interrupt Request Integrated Services Digital Network Internet Service Provider Local Area Network Link Control Protocol Logical Link Control Media Access Control Network Control Protocol Network Interface Card Open System Interconnect Xerox's Packet Exchange Protocol Point-to-Point protocol PPP over ATM PPP over Ethernet Requests for Comments Routing Information Protocol Ready To Sense Serial Line Internet Protocol Simple Mail Transfer Protocol Simple Network Management Protocol Synchronous Optical NETwork Standard Parallel Port Tool command language Transmission Control Protocol

17 xx Tk TTL UART UDP UUCP XNS Wi- Fi WAN WWW Toolkit Time To Live Universal Asynchronous Receiver/ Transmitter User Datagram Protocol Unix-to-Unix CoPy Xerox Network Systems Wireless Fidelity Wide Area Network World Wide Web

18 CHAPTER 1 INTRODUCTION 1.1 Background Before the advent of the Internet, the only way to connect to the outside world using a modem was to talk directly to the modem. This was a confusing and complex mess. For an idea of all the settings one had to have, just look at a serial control. Though there was a lot one could do with a modem, there were still a few things that were impossible, like being connected to two places at once. The internet changed all that. Now, any person can have multiple connections open at the same time. And as an extra bonus, one does not have to fiddle with all those cryptic settings. Simply transmitting data is pointless though. One have to send it in some type of format in the form of 0s and 1s which are then transported through the physical layer such as an RS 232 by using serial cable, through wireless connection or through the telephone cable using an Ethernet card. TCP/IP (Transmission Control Protocol/ Internet Protocol) is the basic communication language or protocol of the internet. It can also be used as a communications protocol in a private network (either as intranet or an extranet).

19 2 When you are set up with direct access to the internet, your computer is provided with a copy of the TCP/IP program just as every other computer that one may send messages or get information, also has a copy of TCP/IP. TCP/IP is a two layer protocol. The higher layer, Transmission Control Protocol manages the assembling of a message or file into smaller packets that are transmitted over the internet and received by a TCP layer that reassembles the packets into the original message. The lower layer, Internet Protocol, handles the address part of each packet so that it gets to the right destination. Each gateway computer on the network checks this address to see where to forward the message. Even though some packets from the same message are routed differently than others, they will be reassembled at the destination. TCP/IP uses the client/server model of communication in which a computer user (a client) requests and is provided a service (such as sending a web page) by another computer (a server) in the network. TCP/IP communication is primarily point- to-point, meaning each communication is from one point (or host computer) in the network to another point or host computer. TCP/IP and the higher-level applications that use it are collectively said to be stateless because each client request is considered a new request unrelated to any previous one (unlike ordinary phone conversations that require a dedicated connection for the call duration). Being stateless frees network paths so that everyone can use them continuously. For TCP layer the connection remains in place until all packets in a message have been received [7]. Personal computer users usually get to the internet through the Serial Line Internet Protocol (SLIP) or the Point-to-Point Protocol (PPP). These protocols encapsulate the IP packets so that they can be sent over a dial-up phone connection to an access provider s modem. PPP is part of the data link layer of the OSI or TCP/IP model. TCP is a connection-oriented transport protocol that sends data as an unstructured stream of bytes. By using sequence numbers and acknowledgment

20 3 messages, TCP can provide a sending node with delivery information about packets transmitted to a destination node. Where data has been lost in transit from source to destination, it can retransmit the data until either a timeout condition is reached or until successful delivery has been achieved. It can also recognize duplicate messages and will discard them appropriately. If the sending computer is transmitting too fast for the receiving computer, it can employ flow control mechanisms to slow data transfer. TCP can also communicate delivery information to the upper-layer protocols and applications it supports. The use of sockets in TCP/IP communication enables the creation of many clients accessing the server at the same time. The socket layer provides an application with a programming interface to the network that looks like a file. When an application writes to the socket, the socket layer sends data to an application on a remote host. When an application reads from a socket, the socket layer provides data received from a remote host. The server application is the most important part of a protocol. It will do most of the work, and has to be in near-constant communication with multiple people. Sockets can either listen or connect. If a socket is listening, then it waits for other sockets to connect to it. If they're not listening, then they can connect to any other server that is listening. For a server naturally, all the sockets should be listening. That way, when a client connects, they can respond correctly. 1.2 Problem Statement The Point-to-Point Protocol (PPP) originally emerged as an encapsulation protocol for transporting IP traffic over point-to-point links. PPP also established a standard for the assignment and management of IP addresses asynchronous (start/stop) and bit-oriented synchronous encapsulation, network protocol

21 4 multiplexing, link configuration, link quality testing, error detection, and option negotiation for such capabilities as network layer address negotiation and datacompression negotiation. PPP supports these functions and is use more effectively in dialup networking, for example, say home computer to ISP connection for internet access by using Ethernet as the Network Interface Card. So to use in a two way direct cable RS232 connection one has to think of the speed disparity and the method of connecting the serial cable to the Ethernet card in the server for internet access. Also when data is traveling on serial communication lines, it can happen that data arrives faster than a computer can handle it (the computer may be busy doing something else, as, Linux is a multi-user, multi- tasking operating system). In order to ensure that data is not lost (data does not over run in the input buffer and hence get lost), some method of controlling the flow of data is necessary. There are two ways of doing this; either by using hardware signals (Clear To Send/Request to Send - CTS/RTS) or by using software signals (control S and control Q, also known as XON/XOFF). Whilst the later may be fine for a terminal (text) link, data on a PPP link uses all 8 bits - and it is quite probable that somewhere in the data there will be data bytes that translate as control S and control Q. So, if a modem is set up to use software flow control, things can rapidly go berserk. For high speed links using PPP (which uses 8 bits of data) hardware flow control is vital and it is for this reason that we must use hardware flow control. 1.3 Objectives The objectives of the thesis are: To configure the Linux kernel for Point-to-Point Protocol communication To create a client/server TCP/IP communication through Point-to-Point Protocol link. To augment the TCP/IP link with a Graphical User Interface at both ends.

22 5 The Linux kernel will be configured to allow for PPP protocol communication with the various parameters specifying RS232 physical media. For data communication services a GUI is developed with TCL/TK programming language so that text messages can be exchanged from client to server. Audio files will also be sent through the link. 1.4 Scope The scope of research will include establishing TCP/IP client/server communication through PPP for data communication. As a client/ server network, the communication will be bidirectional, i.e. any computer can be server or client. Using socket programming to write client and server side of the network. A GUI is created as the application layer for text and audio communication. The internet can be accessed through serial port from client with the server acting as the gateway by using Mozilla or any Linux compatible web browser. 1.5 Importance of Research This project utilizes the Point-to-Point Protocol to communicate through the serial port to access the internet. This will be done in the form of client/server by using a GUI as the application layer. An internet access is done easily by everyone but very few know about sockets and how they operate, for example when a client queries a server to access server resources. Also the creation of the GUI and the different parameters to include in the configuration of the kernel makes it more interesting in knowing the principles of TCP/IP networking.

23 6 1.6 Research Methodology The project is divided into two phases; Configuring the Linux kernel In this part, the commands are written at the Linux prompt to get the desired parameters like speed at which data communication will take place, hardware flow control and how long the line should stay trying to connect if it fails in the initial connection phase. Also the IP addresses are assigned to both the server and client in the kernel configuration. Testing is done to see whether the connection is setup finally before any data communication takes place. Also the internet can be accessed through the client via the RS232 connector Programming for Data Communication In this phase, the socket programs for client and server are written by using C language. The GUI is developed using TCL/TK programming language. Finally data communication services are provided through a client and server. Testing is also done with audio files across the connection. 1.7 Thesis Organization This thesis consists of five chapters. Chapter 1 serves as an introduction to the thesis. It covers topics such as problem statement, objective of the research, scope of the project and the importance of the project. Chapter 2 provides the relevant background for Point-to-Point Protocol, Data link Layer Services, How PPP negotiate for a line, Socket Programming, principles of Serial Communication.

24 7 Chapter 3 describes the implementation process which includes how to configure the network interface for PPP communication, server and client programming with sockets, and how to develop the GUI with TCL/TK language. Chapter 4 describes the results and analysis of the project. Finally, Chapter 5 concludes the thesis with a summary of the work that has been done, along with suggestions for future work.

25 8 CHAPTER 2 LITERATURE REVIEW 2.1 Introduction TCP/IP stands for Transmission Control Protocol and Internet Protocol. As the name suggests TCP/IP in fact consists of dozens of different protocols, but only a few are the main protocols that define the core operation of the suite. Of these key protocols, two are usually considered the most important. The Internet Protocol (IP) is the primary OSI network layer (layer three) protocol that provides addressing, datagram routing and other functions in an internetwork. The Transmission Control Protocol (TCP) is the primary transport layer (layer four) protocol, and is responsible for connection establishment and management and reliable data transport between software processes on devices. Due to the importance of these two protocols, their abbreviations have come to represent the entire suite: TCP/IP. IP and TCP are important because many of TCP/IP's most critical functions are implemented at layers three and four. However, there is much more to TCP/IP than just TCP and IP. The protocol suite as a whole requires the work of many different protocols and technologies to make a functional network that can properly provide users with the applications they need.

26 9 TCP/IP uses its own four-layer architecture that corresponds roughly to the OSI Reference Model and provides a framework for the various protocols that comprise the suite. It also includes numerous high-level applications, some of which are wellknown by Internet users who may not realize they are part of TCP/IP, such as HTTP (which runs the World Wide Web) and FTP. The TCP/IP protocol suite was generally designed to provide implementation of the networking stack from the network layer (layer three) and above. The core protocols of TCP/IP operate at layers three and four of the OSI model, corresponding to the Internet layer and Host-to-Host Transport layer of the TCP/IP architecture model. Other support protocols are defined at these two layers, and many application protocols run there too, as well as at the upper layers of the protocol stack. However, the TCP/IP architectural model also defines the Network Interface layer, which corresponds to the data link layer (layer two) in the OSI scheme. In most classical networks, TCP/IP doesn't define any protocols operating at this layer. TCP/IP assumes that layer two functionality is provided by a WAN or LAN technology like Ethernet, Token Ring, or IEEE These technologies are responsible for the classical layer two functions: physical layer addressing, media access control, and especially, layer two framing of datagrams received from layer three TCP/IP Model Layers The TCP/IP model uses four layers that logically span the equivalent of the top six layers of the OSI reference model; this is shown in figure. The physical layer

27 10 is not covered by the TCP/IP model because the data link layer is considered the point at which the interface occurs between the TCP/IP stack and the underlying networking hardware.) The following are the TCP/IP model layers, starting from the bottom Network Interface Layer As its name suggests, this layer represents the place where the actual TCP/IP protocols running at higher layers interface to the local network. This layer is somewhat controversial in that some people don't even consider it a legitimate part of TCP/IP. This is usually because none of the core IP protocols run at this layer. Despite this, the network interface layer is part of the architecture. It is equivalent to the data link layer (layer two) in the OSI Reference Model and is also sometimes called the link layer. You may also see the name network access layer. On many TCP/IP networks, there is no TCP/IP protocol running at all on this layer, because it is simply not needed. For example, if you run TCP/IP over an Ethernet, then Ethernet handles layer two (and layer one) functions. However, the TCP/IP standards do define protocols for TCP/IP networks that do not have their own layer two implementation. These protocols, the Serial line Interface Protocol (SLIP) and the Point-to-Point Protocol (PPP), serve to fill the gap between the network layer and the physical layer. They are commonly used to facilitate TCP/IP over direct serial line connections (such as dial-up telephone networking or RS232 connectors) and other technologies that operate directly at the physical layer.

28 Internet Layer This layer corresponds to the network layer in the OSI Reference Model (and for that reason is sometimes called the network layer even in TCP/IP model discussions). It is responsible for typical layer three jobs, such as logical device addressing, data packaging, manipulation and delivery, and last but not least, routing. At this layer we find the Internet Protocol (IP), arguably the heart of TCP/IP, as well as support protocols such as ICMP and the routing protocols (RIP, BGP, etc) The new version of IP, called IP version 6, will be used for the Internet of the future and is of course also at this layer. Figure 2.1 shows TCP/IP in relation to the OSI layer model

29 Host-to-Host Transport Layer This primary job of this layer is to facilitate end-to-end communication over an internetwork. It is in charge of allowing logical connections to be made between devices to allow data to be sent either unreliably (with no guarantee that it gets there) or reliably (where the protocol keeps track of the data sent and received to make sure it arrives, and re-sends it if necessary). It is also here that identification of the specific source and destination application process is accomplished The formal name of this layer is often shortened to just the transport layer; the key TCP/IP protocols at this layer are the Transmission Control protocol (TCP) and User datagram Protocol (UDP). The TCP/IP transport layer corresponds to the layer of the same name in the OSI model (layer four) but includes certain elements that are arguably part of the OSI session layer. For example, TCP establishes a connection that can persist for a long period of time, which some people say makes a TCP connection more like a session Application Layer This is the highest layer in the TCP/IP model. It is a rather broad layer, encompassing layers five through seven in the OSI model. The TCP/IP model better reflects the blurry nature of the divisions between the functions of the higher layers in the OSI model, which in practical terms often seem rather arbitrary. It really is hard to separate some protocols in terms of which of layers five, six or seven they encompass. Numerous protocols reside at the application layer. These include application protocols such as HTTP, FTP and SMTP for providing end-user services, as well as administrative protocols like SNMP, DHCP and DNS.

30 Overview of Data Link Layer Functions The Point-to-Point Protocol is part of the second layer protocol of the OSI protocol model. The second-lowest layer (layer 2) in the OSI Reference Model stack is the data link layer, often abbreviated as DLL. The data link layer, also sometimes just called the link layer, is where many wired and wireless local area networking (LAN) technologies primarily function. For example, Ethernet, Token Ring, FDDI and ( wireless Ethernet or Wi-Fi ) are all sometimes called data link layer technologies. The set of devices connected at the data link layer is what is commonly considered a simple network [5]. The data link layer has a number of specific functions it can carry out. These functions include Provide a well-defined service interface to the network layer Dealing with transmission errors. Regulating the flow of data so that slow receivers are not swamped by the fast senders. To accomplish these goals, the data link layer takes the packets it gets from the network layer and encapsulates them into frames for transmission. Each frame contains a frame header, a payload field for holding the packet, and a frame trailer, as illustrated in the figure 2.2 Figure 2.2 shows the General Frame Format for Data Link Layer

31 Data Link Layer Sublayers: The data link layer is often conceptually divided into two sublayers: logical link control (LLC) and media access control (MAC). This split is based on the architecture used in the IEEE 802 Project, which is the IEEE working group responsible for creating the standards that define many networking technologies By separating LLC and MAC functions, interoperability of different network technologies is made much easier Data Link Layer Functions The following are the key tasks performed at the data link layer: Logical Link Control (LLC): Logical link control refers to the functions required for the establishment and control of logical links between local devices on a network. As mentioned above, this is usually considered a DLL sublayer; it provides services to the network layer above it and hides the rest of the details of the data link layer to allow different technologies to work seamlessly with the higher layers. Most local area networking technologies use the IEEE LLC protocol. Media Access Control (MAC): This refers to the procedures used by devices to control access to the network medium. Since many networks use a shared medium (such as a single network cable, or a series of cables that are electrically connected into a single virtual medium) it is necessary to have rules for managing the medium to avoid conflicts. For example, Ethernet uses the CSMA/CD method of media access control, while Token Ring uses token passing. Data Framing: The data link layer is responsible for the final encapsulation of higherlevel messages into frames that are sent over the network at the physical layer.

32 15 Addressing: The data link layer is the lowest layer in the OSI model that is concerned with addressing: labelling information with a particular destination location. Each device on a network has a unique number, usually called a hardware address or MAC address, which is used by the data link layer protocol to ensure that data intended for a specific machine gets to it properly. Error Detection and Handling: The data link layer handles errors that occur at the lower levels of the network stack. For example, a cyclic redundancy check (CRC) field is often employed to allow the station receiving data to detect if it was received correctly. The requirements for the physical layer of a network are often part of the data link layer definition of a particular technology. Certain physical layer hardware and encoding aspects are specified by the DLL technology being used. The best example of this is the Ethernet standard, IEEE 802.3, which specifies not just how Ethernet works at the data link layer, but also its various physical layers. Since the data link layer and physical layer are so closely related, many types of hardware are associated with the data link layer. Network interface cards (NICs) typically implement a specific data link layer technology, so they are often called Ethernet cards, Token Ring cards, and so on. There are also a number of network interconnection devices that are said to operate at layer 2 ; in whole or in part, because they make decisions about what to do with data they receive by looking at data link layer frames. These devices include most bridges, switches and barters, though the latter two also encompass functions performed by layer three. Some of the most popular technologies and protocols generally associated with layer 2 are Ethernet, Token Ring, FDDI (plus CDDI), HomePNA, IEEE , ATM, and TCP/IP's Serial Link Interface Protocol (SLIP) and Point-To-Point Protocol (PPP).

33 Services Provided to The Network Layer The function of the data link is to provide services to the network layer. The principal service is transferring data from the network layer on the source machine to the network layer on the destination machine. On the source machine is an entity, call it a process, in the network layer that hands some bits to the data link layer for transmission to the destination. The job of the data link layer is to transmit the bits to the destination machine so they can be handed over to the network layer there, as shown in figure 2.3(a). The actual transmission follows the path of figure2.3 (b). The data link layer can be designed to offer various services. The actual services offered can vary from system to system. Three reasonable possibilities that are commonly provided are: Unacknowledged connectionless service. Acknowledged connectionless services. Acknowledged connection-oriented service. Figure 2.3(a) shows the virtual Figure 2.3 (b) shows actual communication communication Figure 2.3 Block diagram of virtual and actual communication in TCP/IP

34 17 Unacknowledged connectionless service consists of having the source machine send independent frames to the destination machine without having the destination machine acknowledge them. No logical connection is established beforehand or released afterward. If a frame is lost due to noise on the line, no attempt is made to detect the loss or recover from it in the data link layer. This class of service is appropriate when the error rate is very low so that recovery is left to higher layers. It is appropriate for real time traffic, such as voice, in which late data are worse than bad data. Most LANs use unacknowledged connectionless service in the data link layer. The next step up in terms of reliability is acknowledged connectionless service. When this service is offered, there are still no logical connections used, but each frame sent is individually acknowledged. In this way, the sender knows whether a frame has arrived correctly. If it has not arrived within a specified time interval, it can be sent again. This service is useful over unreliable channels, such as wireless systems. Connection-oriented is the best service the data link layer can offer to the network layer. With this service, the source and destination machines establish a connection before any data are transferred. Each frame sent over the connection is numbered. And the data link layer guaranteed that each frame sent is indeed received. Furthermore, it guarantees that each frame is received exactly once and that all frames are received in the right order. With connectionless service, in contrast, it is conceivable that a lost acknowledgement causes a packet to be sent several times and thus received several times. Connection-oriented service, in contrast, provides the network layer processes with the equivalent of a reliable bit stream. When connection-oriented service is used, transfers go through three distinct phases. In the first phase, the connection is established by having both sides initialize variables and counters needed to keep track of which frames have been received and which ones have not. In the second phase, one or more frames are actually transmitted. In the third and final phase, the connection is released, freeing up the variables, buffers, and other resources used to maintain the connection.

35 Why TCP/IP Needs Network Interface Layer Protocols There's a problem with the assumption that IP can run on top of an existing layer two protocols: sometimes there isn't one. There are certain technologies that establish only a basic, low-level connection at the physical layer. The most common example of this is a simple serial connection established between two devices. Years ago, it was fairly common for two computers to just be connected using serial ports instead of a full-fledged LAN protocol. Today, we see this much less, but there's another type of serial connection that is very popular: serial dial-up networking. When you use a modem to connect to a modem at your Internet Service Provider, the modems negotiate a connection that architecturally exists only at the physical layer. Since the Internet Protocol assumes certain services will be provided at layer two, there is no way to make it operate directly over a serial line or other physical layer connection. The most important layer two functions that is required at a minimum is some mechanism for framing the IP datagram for transmission that is, providing the necessary data packaging to let datagrams be transmitted over the physical layer network. Without this, IP datagrams cannot be sent over the link. 2.4 TCP/IP Network Interface Layer Protocols: SLIP and PPP We need something to fill the gap between IP at layer three and the physical connection at layer one. To this end, pair of special protocols has been defined that operate at layer two and provide the services that IP requires to function. These are: Serial Line Internet Protocol (SLIP): A very simple layer two protocol that provides only basic framing for IP.

36 19 Point-to-Point Protocol (PPP): A more complex, full-featured data link layer protocol that provides framing as well as many additional features that improve security and performance. Table 2.1 shows a comparison between SLIP and PPP Protocol Name Serial Line Internet Protocol (SLIP) Protocol Description Abbreviation SLIP Provides basic TCP/IP functionality by creating a layer-two connection between two devices over serial line Point-to-Point Protocol PPP Provides layer-two connectivity like SLIP, but is much more sophisticated and capable. PPP is itself a suite of protocols ( subprotocols ) that allow for functions such as authentication, data encapsulation, encryption and aggregation, facilitating TCP/IP operation over WAN links 2.5 Serial Line Internet Protocol (SLIP) The need for a data link layer protocol to let IP operate over serial links was identified very early on in the development of TCP/IP. Engineers working on the Internet Protocol needed a way to send IP datagrams over serial connections linking

37 20 computers together. To solve the problem they created a very simple protocol that would frame IP datagrams for transmission across the serial line. This protocol is called the Serial Line Internet Protocol, or SLIP for short. SLIP is different from most TCP/IP protocols in that it has never been defined as a formalized standard. It was created informally in the early 1980s and its use spread as a de facto standard before it was ever described in an RFC document. Even when it was eventually published, in 1988, the decision was specifically made that SLIP would not be designated an official Internet standard [8, 11]. 2.6 Point-to-Point Protocol The problem with the Serial Line Internet Protocol was that it was too simple and didn't include enough features. The Point-to-Point Protocol (PPP) corrects the lack of features in SLIP, but you could figure out, without really trying, what the cost is: significantly more complexity. Where the operation of SLIP can be explained in a few paragraphs, PPP is much more involved, including a number of specific processes that need to be explained.

38 21 Figure 2.4 shows the block diagram of TCP/IP with reference to the OSI model The internet needs a point to point protocol for a variety of reasons, including router-to-route traffic and home user-to-isp traffic. This protocol is called as PPP (Point-to-Point Protocol). PPP handles error detection, supports multiple protocols, allows IP addresses to be negotiated at connection time, permits authentication, and has many other features. PPP provides three main features: A framing method that unambiguously delineates the end of one frame and the start of the next one. The frame format also handles error detection. A link control protocol for bringing lines up, testing them, negotiating options, and bringing them down again gracefully when they are no longer needed. This protocol is called LCP (Link Control Protocol). It supports synchronous and asynchronous circuits and byte-oriented and bit-oriented encodings.

39 22 A way to negotiate network-layer options in a way that is independent of the network layer protocol to be used. The method chosen is to have a different NCP (Network Control Protocol) for each network layer supported. The PPP frame format was chosen to closely resemble the HDLC frame format, since there was no reason to reinvent the wheel. The major difference between PPP and HDLC is that PPP is character oriented rather than bit oriented. In particular, PPP uses byte stuffing on the dial-up modem lines, so all frames are an integral number of bytes. Not only can PPP frames be sent over dial-up telephones lines, but they can also be sent over SONET or true bit-oriented HDLC lines (e.g. for router-router connections) [5,6,12]. The PPP frame format is shown in Figure below. Figure 2.5: The general PPP frame format All PPP frames begin with the standard HDLC flag byte ( ), which is byte stuffed if it occurs within the payload field, then comes the Address field, which is always set to the binary value to indicate that all stations are to accept the frame format. Using this value avoids the issue of having to assign data link addresses. The Address field is followed by the Control field, the default value of which is This value indicates an unnumbered frame. In other words, PPP does not provide reliable transmission using sequence numbers and acknowledgements as the default. In noisy environments, such as wireless networks, reliable transmission using numbered mode can be used. The exact details are defined in RFC1663, but in practice it is rarely used. Since the Address and Control fields are always constant in the default configuration, LCP provides the necessary mechanism for the two parties to negotiate an option to just omit them altogether and save two (2) bytes per frame.

40 23 The fourth field is the Protocol field. Its job is to tell what kind of packet is in the Payload field. Codes are defined for LCP, NCP, IP, IPX, AppleTalk, and other protocols. Protocols starting with a 0 bit are network layer protocols such as IP, IPX, OSI, CLNP, and XNS. Those starting with a 1 bit are used to negotiate other protocols. These include LCP and a different NCP for each network layer protocol supported. The default size of the Protocol field is 2 bytes, but it can be negotiated down to 1 byte using LCP. The Payload field is variable length, up to some negotiated maximum. If the length is not negotiated using LCP during line setup, a default length of 1500 bytes. Padding may follow the payload if need be. After the Payload field comes the Checksum field, which is normally 2 bytes, but a 4-byte checksum can be negotiated. The operation of PPP follows a specific sequence, including a multi-step link establishment phase that may include optional authentication. A key advantage of PPP is that it is an extensible protocol suite. Over the years new protocols have been added to the suite, to provide additional features or capabilities. For example, PPP is designed not to use just a single authentication protocol, but to allow a choice of which protocol is used for this purpose. PPP's success has even led to the development of derivative protocols like PPP over Ethernet (PPPoE) and PPP over ATM (PPPoA). These actually layer PPP over existing data link layer technologies, which shows you how valued PPP's features are even when a layer two technology is already in use, applying PPP on top provides authentication and management benefits for services like DSL.

41 How PPP Negotiate for Connection Setup Figure shows a simplified routine that a line goes through when it is brought up, used, and taken down again. This sequence applies to both modem connection and router-to-router connections. Figure 2.6: A simplified phase diagram for bringing a line up and down The protocol starts with the line in the DEAD state, which means that no physical layer carrier is present and no physical layer connections exists. After physical connection is established, the line moves to ESTABLISH. At that point LCP option negotiation moves to AUTHENTICATE. Now the two parties can check on each others identities if desired. When NETWORK phase is entered, the appreciate NCP protocol is invoked to configure the network layer. If the configuration is successful, OPEN is reached and data transport can take place. When data transport is finished, the line moves into the TERMINATE phase, and from there, back to DEAD when the carrier is dropped. LCP negotiate data link protocol options during the ESTABLISH phase. The LCP protocol is not actually concerned with the options themselves, but with the

42 25 mechanism for negotiation. It provides a way for the initiating process to make a proposal and for the responding process to accept or reject it, in whole or in part. It also provides a way for the two processes to test the line quality to see if they consider it good enough to set up a connection. Finally, the LCP protocol also allows lines to be taken down when they are no longer needed [5]. 2.7 Socket Programming A socket is a communication mechanism. It socket is normally identified by a small integer which may be called the socket descriptor. The socket mechanism was first introduced in the 4.2 BSD Unix systems in 1983 in conjunction with the TCP/IP protocols that first appeared in the 4.1 BSD Unix systems in late Formally a socket is defined by a group of four numbers, these are: The remote host identification number or address The remote host port number The local host identification number or address The local host port number Users of Internet applications are normally aware of all except the local port number, this is allocated when connection is established and is almost entirely arbitrary unlike the well known port numbers associated with popular applications. To the application programmer, the sockets mechanism is accessed via a number of functions. Sockets are either connection oriented or connectionless. Connectionoriented sockets allow for data to flow back and forth as needed, while connectionless sockets also known as datagram sockets allow only one message at a time to be transmitted, without an open connection. There are also different socket

43 26 families. The two most common are AF_INET for internet connections, and AF_UNIX for Unix IPC (Interprocess Communication [13] Socket Types Sockets are typed according to the communication properties visible to a user. Processes are presumed to communicate only between sockets of the same type, although there is nothing that prevents communication between sockets of different types should the underlying communication protocols support this. Four types of sockets currently are available to a user. A stream socket provides for the bidirectional, reliable, sequenced, and unduplicated flow of data without record boundaries. Aside from the bidirectionality of data flow, a pair of connected stream sockets provides an interface nearly identical to that of pipes. A datagram socket supports bidirectional flow of data which is not promised to be sequenced, reliable, or unduplicated. That is, a process receiving messages on a datagram socket may find messages duplicated, and, possibly, in an order different from the order in which it was sent. An important characteristic of a datagram socket is that record boundaries in data are preserved. Datagram sockets closely model the facilities found in many contemporary packet switched networks such as the Ethernet. A raw socket provides users access to the underlying communication protocols which support socket abstractions. These sockets are normally datagram

44 27 oriented, though their exact characteristics are dependent on the interface provided by the protocol. Raw sockets are not intended for the general user; they have been provided mainly for those interested in developing new communication protocols, or for gaining access to some of the more esoteric facilities of an existing protocol. A sequenced packet socket is similar to a stream socket, with the exception that record boundaries are preserved. This interface is provided only as part of the NS socket abstraction, and is very important in most serious NS applications. Sequenced-packet sockets allow the user to manipulate the SPP or IDP headers on a packet or a group of packets either by writing a prototype header along with whatever data is to be sent, or by specifying a default header to be used with all outgoing data, and allow the user to receive the headers on incoming packets. Another potential socket type which has interesting properties is the reliably delivered message socket. The reliably delivered message socket has similar properties to a datagram socket, but with reliable delivery. There is currently no support for this type of socket, but a reliably delivered message protocol similar to Xerox's Packet Exchange Protocol (PEX) may be simulated at the user level. The basic idea of connecting a client application running on one network to a server application running on another network over the Internet (yet another network) is illustrated in the following diagram This is useful in that it enables client/server applications to be distributed across networks (LAN's, The Internet, etc). The socket interface is available for a wide variety of platforms, including Microsoft windows, Solaris and Unix. Sockets are implemented on Windows systems via Windows sockets, Winsock. The winsock.dll provides socket services on Windows platforms.

45 28 Figure 2.7 Client and Server applications connect via sockets across a network Socket Connection Principles The basic building block for communication is the socket. A socket is an endpoint of communication to which a name may be bound. Each socket in use has a type and one or more associated processes. Sockets exist within communication domains. A communication domain is an abstraction introduced to bundle common properties of processes communicating through sockets. One such property is the scheme used to name sockets. Sockets normally exchange data only with sockets in the same domain (it may be possible to cross domain boundaries, but only if some translation process is performed). The 4.4BSD IPC facilities support four separate communication domains: the UNIX domain, for on-system communication; the Internet domain, which is used by processes which communicate using the Internet standard communication protocols. The underlying communication facilities provided by these domains have a significant influence on the internal system implementation as well as the interface to socket facilities available to a user. An example of the latter is that a socket ``operating'' in the UNIX domain sees a subset

46 29 of the error conditions which are possible when operating in the Internet (or NS) domain. Figure 2.8 shows client/server TCP socket programming flow Socket Creation To create a socket the socket system call is used: s = socket(domain, type, protocol); This call requests that the system create a socket in the specified domain and of the specified type. A particular protocol may also be requested. If the protocol is left unspecified (a value of 0), the system will select an appropriate protocol from those protocols which comprise the communication domain and which may be used to support the requested socket type. The user is returned a descriptor (a small integer number) which may be used in later system calls which operate on sockets. The

47 30 domain is specified as one of the manifest constants defined in the file <sys/socket.h>. For the UNIX domain the constant is AF_UNIX; for the Internet domain AF_INET; and for the NS domain, AF_NS. The socket types are also defined in this file and one of SOCK_STREAM, SOCK_DGRAM, SOCK_RAW, or SOCK_SEQPACKET must be specified. To create a stream socket in the Internet domain the following call might be used: s = socket(af_inet, SOCK_STREAM, 0); This call would result in a stream socket being created with the TCP protocol providing the underlying communication support. To create a datagram socket for on-machine use the call might be: s = socket(af_unix, SOCK_DGRAM, 0); The default protocol (used when the protocol argument to the socket call is 0) should be correct for most every situation. However, it is possible to specify a protocol other than the default. There are several reasons a socket call may fail. Aside from the rare occurrence of lack of memory (ENOBUFS), a socket request may fail due to a request for an unknown protocol (EPROTONOSUPPORT), or a request for a type of socket for which there is no supporting protocol (EPROTOTYPE).

48 Socket Connection Establishment Connection establishment is usually asymmetric, with one process a ``client'' and the other a ``server''. The server, when willing to offer its advertised services, binds a socket to a well-known address associated with the service and then passively ``listens'' on its socket. It is then possible for an unrelated process to rendezvous with the server. The client requests services from the server by initiating a ``connection'' to the server's socket. On the client side the connect call is used to initiate a connection. Using the UNIX domain, this might appear as, struct sockaddr_un server; connect(s, (struct sockaddr *)&server, strlen(server.sun_path) sizeof (server.sun_family)); while in the Internet domain, struct sockaddr_in server; connect(s, (struct sockaddr *)&server, sizeof (server)); where server in the example above would contain either the UNIX pathname, Internet address and port number of the server to which the client process wishes to speak. If the client process's socket is unbound at the time of the connect call, the system will automatically select and bind a name to the socket if necessary. This is the usual way that local addresses are bound to a socket. An error is returned if the connection was unsuccessful (any name automatically bound by the system, however, remains). Otherwise, the socket is

49 32 associated with the server and data transfer may begin. Some of the more common errors returned when a connection attempt fails are: ETIMEDOUT: After failing to establish a connection for a period of time, the system decided there was no point in retrying the connection attempt any more. This usually occurs because the destination host is down, or because problems in the network resulted in transmissions being lost. ECONNREFUSED: The host refused service for some reason. This is usually due to a server process not being present at the requested name. ENETDOWN or EHOSTDOWN: These operational errors are returned based on status information delivered to the client host by the underlying communication services. ENETUNREACH or EHOSTUNREACH: These operational errors can occur either because the network or host is unknown (no route to the network or host is present), or because of status information returned by intermediate gateways or switching nodes. Many times the status returned is not sufficient to distinguish a network being down from a host being down; in which case the system indicates the entire network is unreachable. For the server to receive a client's connection it must perform two steps after binding its socket. The first is to indicate a willingness to listen for incoming connection requests: listen(s, 5); The second parameter to the listen call specifies the maximum number of outstanding connections which may be queued awaiting acceptance by the server process; this number may be limited by the system. Should a connection be requested while the queue is full, the connection will not be refused, but rather the individual

50 33 messages which comprise the request will be ignored. This gives a harried server time to make room in its pending connection queue while the client retries the connection request. Had the connection been returned with the ECONNREFUSED error, the client would be unable to tell if the server was up or not. As it is now it is still possible to get the ETIMEDOUT error back, though this is unlikely. With a socket marked as listening, a server may accept a connection: struct sockaddr_in from; fromlen = sizeof (from); newsock = accept(s, (struct sockaddr *)&from, &fromlen); For the UNIX domain, from would be declared as a struct sockaddr_un, but nothing different would need to be done as far as fromlen is concerned. In the examples which follow, only Internet routines will be discussed. A new descriptor is returned on receipt of a connection (along with a new socket). If the server wishes to find out who its client is, it may supply a buffer for the client socket's name. The value-result parameter fromlen is initialized by the server to indicate how much space is associated with from, and then modified on return to reflect the true size of the name. If the client's name is not of interest, the second parameter may be a null pointer. Accept normally blocks, that is, accept will not return until a connection is available or the system call is interrupted by a signal to the process. Further, there is no way for a process to indicate it will accept connections from only a specific individual, or individuals. It is up to the user process to consider who the connection is from and close down the connection if it does not wish to speak to the process.

51 Socket Data Transfer With a connection established, data may begin to flow. To send and receive data there are a number of possible calls. With the peer entity at each end of a connection anchored, a user can send or receive a message without specifying the peer. As one might expect, in this case, then the normal read and write system calls are usable, write(s, buf, sizeof (buf)); read(s, buf, sizeof (buf)); In addition to read and write, the new calls send and recv may be used: send(s, buf, sizeof (buf), flags); recv(s, buf, sizeof (buf), flags); While send and recv are virtually identical to read and write, the extra flags argument is important. The flags, defined in <sys/socket.h>, may be specified as a non-zero value if one or more of the following is required: MSG_OOB MSG_PEEK MSG_DONTROUTE send/receive out of band data look at data without reading send data without routing packets Out of band data is a notion specific to stream sockets, and one which we will not immediately consider. The option to have data sent without routing applied to the

52 35 outgoing packets is currently used only by the routing table management process, and is unlikely to be of interest to the casual user. The ability to preview data is, however, of interest. When MSG_PEEK is specified with a recv call, any data present is returned to the user, but treated as still ``unread''. That is, the next read or recv call applied to the socket will return the data previously previewed Discarding Socket Once a socket is no longer of interest, it may be discarded by applying a close to the descriptor, close(s); If data is associated with a socket which promises reliable delivery (e.g. a stream socket) when a close takes place, the system will continue to attempt to transfer the data. However, after a fairly long period of time, if the data is still undelivered, it will be discarded. Should a user have no use for any pending data, it may perform a shutdown on the socket prior to closing it. This call is of the form: shutdown(s, how); where how is 0 if the user is no longer interested in reading data, 1 if no more data will be sent, or 2 if no data is to be sent or received.

53 Serial Communication Considered to be one of the most basic external connections to a computer, the serial port has been an integral part of most computers for more than 20 years. Although many of the newer systems have done away with the serial port completely in favor of USB connections, most modems still use the serial port, as do some printers, PDAs and digital cameras. Few computers have more than two serial ports. Essentially, serial ports provide a standard connector and protocol to let you attach devices, such as modems, to your computer. All computers operating system in use today support serial ports, because serial ports have been around for decades. The name "serial" comes from the fact that a serial port "serializes" data. That is, it takes a byte of data and transmits the 8 bits in the byte one at a time. The advantage is that a serial port needs only one wire to transmit the 8 bits (while a parallel port needs 8). The disadvantage is that it takes 8 times longer to transmit the data than it would if there were 8 wires. Serial ports lower cable costs and make cables smaller. Before each byte of data; a serial port sends a start bit, which is a single bit with a value of 0. After each byte of data, it sends a stop bit to signal that the byte is complete. It may also send a parity bit. Serial ports, also called communication (COM) ports, are bi-directional. Bi-directional communication allows each device to receive data as well as transmit it. Serial devices use different pins to receive and transmit data. Using the same pins would limit communication to half-duplex, meaning that information could only travel in one direction at a time. Using different pins allows for full-duplex communication, in which information can travel in both directions at once. Serial ports rely on a special controller chip, the Universal Asynchronous Receiver/ Transmitter (UART), to function properly. The UART chip takes the parallel output of the computer's system bus and transforms it into serial form for transmission through the serial port. In order to function faster, most UART chips have a built-in buffer of anywhere from 16 to 64 kilobytes. This buffer allows the

54 37 chip to cache data coming in from the system bus while it is processing data going out to the serial port Serial Connection The external connector for a serial port can be either 9 pins or 25 pins. Originally, the primary use of a serial port was to connect a modem to your computer. The pin assignments reflect that. Figure 2.9 RS 232 pin out diagram 9-pin connector: Carrier Detect - Determines if the modem is connected to a working phone line. Receive Data - Computer receives information sent from the modem. Transmit Data - Computer sends information to the modem. Data Terminal Ready - Computer tells the modem that it is ready to talk. Signal Ground - Pin is grounded. Data Set Ready - Modem tells the computer that it is ready to talk. Request To Send - Computer asks the modem if it can send information. Clear To Send - Modem tells the computer that it can send information. Ring Indicator - Once a call has been placed, computer acknowledges signal (sent from modem) that a ring is detected. Voltage sent over the pins can be in one of two states, On or Off. On (binary value "1") means that the pin is transmitting a signal between -3 and -25 volts, while

55 38 Off (binary value "0") means that it is transmitting a signal between +3 and +25 volts Going with the flow An important aspect of serial communications is the concept of flow control. This is the ability of one device to tell another device to stop sending data for a while. The commands Request to Send (RTS), Clear To Send (CTS), Data Terminal Ready (DTR) and Data Set Ready (DSR) are used to enable flow control. With flow control, the modem can stop the flow of data from the computer before it overruns the modem's buffer. The computer is constantly sending a signal on the Request to Send pin, and checking for a signal on the Clear to Send pin. If there is no Clear to Send response, the computer stops sending data, waiting for the Clear to Send before it resumes. This allows the modem to keep the flow of data running smoothly.

56 39 CHAPTER 3 NETWORK SETUP AND CONFIGURATION 3.1 Introduction This project will try to explain the processes of how the internet works in a simplified version like the client/ server two way communications through PPP protocol. Application processes communicate using the client and server model. In this model, a server process (GUI), one end point of a two-way communication path, listens to a socket. The client process, the other end of the communication path, communicates to the server process over another socket. The client process is on another machine. The kernel maintains internal connections and routes data from client to server. Within the socket layer, the socket data structure is the focus of activity. The system-call interface subroutines manage the activities related to a subroutine, collecting the subroutine parameters and converting program data into the format expected by second-level subroutines. The server should be setup first before and any client request can take place. Then only the client can access the resources of the server in the form of reading or writing from or to server respectively. The accessing method from client to server in the application layer is through a Graphic User Interface (GUI).

57 40 Figure 3.1 Block diagram of a two way network model and the stages taken to access the resources of a server from a client This can also be in the form of a web browser like Netscape or Windows Internet Browser to browse the resources provided by the server. The server and client should have the same application layer type so that the communication between them can be carried out. The diagram also shows three layers on the left as follows from the top: socket layer, network protocols, and network interfaces. The three layers on the right are as follows from the top: stream socket, TCP/IP protocols, and RS232 cable as the physical connection between the two computers. Data flows both ways between layers of the same level (for example, between the socket layer and the stream socket). Most of the socket facilities are implemented within secondlevel subroutines. These second-level subroutines directly manipulate socket data structures and manage the synchronization between asynchronous activities. The socket Interprocess Communication (IPC) facilities are layered on top of networking facilities. Data flows from an application program through the socket layer to the networking support. A protocol-related state is maintained in auxiliary data structures that are specific to the supporting protocols. The socket level passes responsibility for storage associated with transmitted data to the network level. Some of the communication domains supported by the socket IPC facility provide access to network protocols. These protocols are implemented as a separate software layer logically below the socket software in the kernel. The kernel provides ancillary

58 41 services, such as buffer management, message routing, standardized interfaces to the protocols, and interfaces to the network interface drivers for the use of the various network protocols. User request and control output subroutines serve as the interface from the socket subroutines to the communication protocols. 3.2 Configuring Network Interface for PPP Communication At the command prompt of the Linux Operating System, choose one of the machines as a 'server' and the other one as client. Then configure the serial port of both machines with the setserial command of Linux. # setserial /dev/cua0 setserial is a program designed to set and/or report the configuration information associated with a serial port. This information includes what I/O port and IRQ a particular serial port is using. During the normal bootup process, only COM ports 1-4 are initialized, using the default I/O ports and IRQ values. In order to initialize any additional serial ports, or to change the COM 1-4 ports to a nonstandard configuration, the setserial program should be used. Typically it is called from an rc.serial script, which is usually run out of /etc/rc.local. The cua0 tells Linux that it should use the first serial connector or port. Since there is no parameters given, this implies that, setserial will print out the port type (i.e., 8250, 16450, 16550, 16550A, etc.), the hardware I/O port, the hardware IRQ line, its "baud base," and some of its operational flags.

59 42 The next stage is to start pppd on both systems. The PPP Daemon (pppd) is a freely available implementation of the Point-to-Point Protocol (PPP) that runs on many Unix/Linux systems. The syntax of the pppd command is: # pppd[device] [speed] [options] device is the name of the serial port over which the PPP protocol operates and speed is the transmission speed of that port in bits per second. The complexity of this command comes not from these simple parameters but from the large number of options that it supports. There are so many options, in fact, that they are often stored in a file. There are three options files that can be used with pppd: the /etc/ppp/options file, which is used to set systemwide pppd options; the ~/.ppprc file, which is used by an individual to set personal pppd options; and the /etc/ppp/options.device file, which sets options for a serial device, e.g., /etc/ppp/options.cua0 sets options for cua0. The order of precedence for options is that those specified in the /etc/ppp/options.device file are the highest priority, followed by those defined on the command line, then those in the ~/.ppprc file, and, finally, those defined in the /etc/ppp/options file. Some options that relate to system security, once defined in the /etc/ppp/options file, cannot be overridden by the user through the command line or the ~/.ppprc file. This is done by executing the command on both machines. # pppd detach crtscts lock <local IP> :<remote IP> /dev/cua & This will bring up the link - but as yet you have no routing specified. You can test the link by pinging to and fro to each machine. If this works, bring down the link by killing one of the pppd processes. # killadd ppp

60 43 Ping will check whether the connection is established between the two computers or not. This is done by sending a packet to the receiver and listen for a reply through a time to live (TTL) time out. If the link is established then the receiver sends a reply with the time it took for the sender to get a reply. This implies that the link is established and one can go to the next stage [16]. The options for pppd include the following: Table 3.1: Parameters options to add to pppd configuration -detach Crtscts Allows pppd to run as a background process Enables hardware flow control (RTS/CTS). Lock Proxyarp local IP remote IP passive Tells the system to use a UUCP-style lock file to ensure that pppd has exclusive access to the serial device Tells the system to enable proxy ARP. This adds a proxy ARP entry for the remote system to the local system's ARP table. IP address of host computer IP address of remote computer Tells the system to wait for a Link Control Protocol (LCP) packet from the remote system even if that system does not reply to the initial LCP packet sent by the local system. Without this option, the local system aborts the connection when it does not receive a reply. The passive option can also be written as -p. local Tells the system to ignore the DCD (Data Carrier Detect) and DTR (Data Terminal Ready) modem control lines. defaultroute Defines the PPP link as the default route. The route is removed when the connection is closed

61 44 persists netmask Tells the system to reopen the connection if it was terminated by a SIGHUP signal. Defines the subnet mask Speed in bits per second. This can be up to the maximum value of for serial port communication cua0 The port number for the serial port one The routing you need will of course depend on exactly what you are trying to do. Generally, one of the machines will be connected to an Ethernet (and beyond) and so the routing required is exactly the same as for a PPP server and client. So on the Ethernet equipped machine, the pppd command would be... # pppd detach crtscts lock proxyarp <local IP>:<remote IP> /dev/cua & and on the other machine... pppd detach crtscts lock defaultroute <local IP>: <remote IP> /dev/cua &

62 GUI With TCL/TK Programming Language Tool Command Language (TCL) and ToolKit (TK) is the leading scripting language for a wide variety of integration application needs, whether you need to build a powerful GUI, embed Tcl in your application, create a multi-threaded application, or develop a cross-platform program, Tcl is your best choice. TCL/TK is a free software programming language like Linux. Since Tcl can be used for such a wide range of purposes. One of the most important reasons why people use Tcl is that it gets their job done faster. In many cases you can implement applications 5-10x faster with Tcl than with other languages, especially if the application involves GUIs, string-handling, or integration. Once an application is built in Tcl, it can also be evolved rapidly to meet changing needs. To compile, install and test TCL/TK we install the program into the Linux directory # cd /root/linux/tcl Then we install the various components by following the instructions on how to compile and install Tcl [4, 17, 18] Compiling And Installing Tcl If you have already compiled Tcl once in this directory and are now preparing to compile again in the same directory but for a different platform, or if you have

63 46 applied patches, type "make distclean" to discard all the configuration information computed previously. If you need to reconfigure because you changed any of the.in or m4 files, you will need to run autoconf to create a new. /configure script. Most users will NOT need to do this since a configure script is already provided (in the tcl/linux directory). Type "./configure". This runs a configuration script created by GNU autoconf, which configures Tcl for your system and creates a Makefile. The configure script allows you to customize the Tcl configuration for your site; for details on how you can do this, or refer to the autoconf documentation. Type "./configure -help" Type "make". This will create a library archive called "libtcl<version>.a" or "libtcl<version>.so" and an interpreter application called "tclsh" that allows you to type Tcl commands interactively or execute script files. If the make fails then you'll have to personalize the Makefile for your site or possibly modify the distribution in other ways. First check the porting Web page above to see if there are hints for compiling on your system. If you need to modify Makefile, are comments at the beginning of it that describe the things you might want to change and how to change them. Type "make install" to install Tcl binaries and script files in standard places. You will need write permission on the installation directories to do this. The installation directories are determined by the "configure" script and may be specified with the prefix and --exec-prefix options to "configure". See the Makefile for information on what directories were chosen; you can override these choices by modifying the "prefix" and "exec_prefix" variables in the Makefile. At this point you can play with Tcl by running "make shell" and typing Tcl commands at the prompt. To run any TCL/TK program just type

64 47 Wish filename 3.4 Application Services To provide the data communication service between the client and server we write the client and socket side programs using socket programming method. The method is already explained in Section 2.7 Socket Programming. In this method of socket programming we assigned the IP addresses in the program codes. Figure 3.2 Client and Server linked by serial cable through serial port The GUI is shown in the figure below. It has buttons to QUIT, SEND, RECEIVE and CANCEL. The QUIT command quits the program execution at anytime and is similar to the CANCEL command. The SEND and RECEIVE commands are used to send the data from client side and receive the data from server side.

65 48 Figure 3.3 shows my GUI frame format for both client and server The MESSAGE area is used to write the message in the GUI and has a scrollbar to extend the sentences being typed. For the client and server communication, we bring up the link first by typing ppp-on. This file would have already been created with as executable option since anytime we want to communication we have to start the link first. So putting all the pppd commands in a shell script with executable option will bring up the line whenever the command ppp-on is typed on the command prompt. The data communication can now be set with writing the text message in the client side and SEND it. Then the server side should first be ready before any client request can take place. To execute the server side we make use of the command # gcc o server filename server filename.c #./ server filename The same procedure is done on the client side with the commands:

66 49 # gcc o client filename client filename.c #./ client filename The message can be retrieved from the server computer with the GUI by RECEIVE button which displays the data send from the client computer on the GUI MESSAGE area

67 50 CHAPTER 4 RESULTS AND ANALYSIS 4.1 Introduction From the programming and configuration parts of the project, it can be seen that internet access is possible through the RS232 serial port if the necessary parameters are given to the PPP protocol through the Linux kernel. The only problem is the speed disparity between the Ethernet card in the server acting as the gateway and the client operating through the serial port. The Ethernet card operates at bit rates of 10Mpbs or more while the maximum speed of serial connector is bps. All and all the serial speed is still good enough for data communication including video data which can be transmitted efficiently at bps.

68 Results The figures below shows the different results obtained from the PPP internet communication through client/server Figure 4.1 shows the different NICs in the computer with IP address Figure 4.2 shows the different NICs in the computer with IP address From the above results it show that the computers have at present three network interface for TCP/IP communication. The ppp0 is the NIC for point-to-point communication with the different parameters like IP address of host and remote computers, the network mask and others

69 52 Figure 4.3 Results from PING COMMAND from client to server computer Figure 4.4 Results from PING COMMAND from server to client computer The results from the PINGCOMMANDshows t hat connection has been established between the two computers and data communication can now start. The figures shows various parameters like 64bytes of data has been sent from IP addresses(from

70 53 clients) to remote computers(servers) with ICMP number and a time to live of 64 bytes. Figure 4.5 GUI data communication results from client computer Figure 4.6 GUI data communication results received to server computer

71 54 Figure 4.7 GUI data communication results from client to server computers when the server is made client and vice versa Figure 4.8 GUI data communication results from client to server computers when the server is made client and vice versa The GUI shows written text messages from client side and the same on server side after being transmitted through the PPP network. One has to press the sent button for the message to be sent after the connection is established on the client side. Also one presses the receive button on the server GUI to receive the message.

72 5 4.3 Analysis The overall project proves that PPP pr otocol can be used for RS232 serial communication at a lower bit rate when compared with the Ethernet connection but the same functions and routines are all executed in the connection setup. Serial port can only be connected to one client hence only one computer can access the internet, with a maximum of two for the two serial ports available in computers. Although the GUI is a simp le one with not many functions, but from the results screen it can be seen that data can be send and received at both ends,. Also any one of the two computers can act as the server or the client. The PPP Protocol is a general purpose protocol for any type of data communication over the internet. It negotiates for the type of NCP or LCP at the time of connection setup before the data communication begins. For internet access from the client through PPP one has to use the already available net browsers like Mozilla, Internet Explorer or Netscape. For internet connection the IP address of the server serial port is made the same as Ethernet card IP address. This has been the final solution after many trials using different address numbers for serial port IP address. For the client the IP address does not matter as it takes a longtime to be connected. This is expected as PPP over serial connection takes sometime to establish connection.

73 CHAPTER 5 CONCLUSION AND FUTURE WORK 5.1 Conclusion The results shown in chapter 4demons trate that Internet communication can be done with the serial port just like th e Ethernet card by using PPP protocol. The only difference is that the Ethernet card is far much faster than serial communication. The data rate for this experiment is configured at bps which is the maximum for serial communication. Also to see the effect of the communication the server should be up and running before client can access server resources. In the reverse of this there is an error message connection re fused to server, wh ich is understandable as the server should be ready first. Also the project show s that the LCP is activated from the connection setup to negotiate for the type of network for the data communication. PPP also helps to maximize link efficiency by allowing communicating peers to exchange communications options, and it provides a means for authenticating communicating partners prior to data exchange. PPP can bundle independent logical or physical links into a single channel to increase bandwidth. It can also provide network-layer control services, such as IP address allocation.

74 Future Works As have been demonstrated from the project, PPP protocol can be utilized through serial port, and is used for home to ISP dial setup and the Ethernet card using telephone lines. Future works to enhance the existing system include: To include using PPP to communicate with Powerline through the available power modems as the physical layer. The PPP can be extended to allow video transfer. The data rate of bps is sufficient for video communication also. Another advantage of PPP is to access the internet through an ISP without the normal username and password normally given to subscribers to access the internet. Any computer which wants to access the internet must go through a routine of putting username and password in order to dial up to the ISP. PPP can be used to dial up an ISP server without the normal routine. The method for the socket programming can be done in two ways. First method is to include coding the network related information directly into the programs. This is the harder way but the drawback is namely that any change in the network information involves updating the source code and recompiling. The other method is to use functions that supply the networks information of the connection. Such functions as gethostbyaddr(), gethostbyname(), getservbyname() and getservport(). The advantage of using the direct coding like in this project is that since the TCP/IP communication here is a single link, the server and client are directly connected. Future works can also include the call by functions method when doing the socket programming

75 58 REFERENCES 1 S. Heath, Essential Linux, Boston Digital Press, N. Wells and M. Jang, Guide to Linux Installation and Administration, Australia:Course Technology: M. Kofler, Linux: Configuration, Installation and Use, Harlow, Eng: Addison-Wesley: B. Brent, Practical Programming in Tcl & Tk, Prentice Hall: A. S. Tanebaum, Computer Networks, Pearson Education International, J. Carlson, PPP Design and Debugging, Addison Wesley: C. Metz, A pointed Look at the Point-to-Point Protocol, IEEE Internet Computing: J. Romkey, RFC 105- Non-standard for transmission of IP datagrams over serial lines: SLIP, IETF Network Working Group: A. Chame, Integrated Processors in Internetworking Applications, IEEE: C.L-Williams and J. Drake Linux PPP HOWTO, Commandpromt Inc: C Hunt, TCP/IP Network Administration, Oreilly Cisco Documentation, Point to Point Protocol, Cisco Systems: G. McMillan, Socket Programming HOWTO,

76 59 14 C M. Kozierok, The TCP/IP Guide, support/etherpad_ppp.asp V.S.S.Sastry, GUI With Tcl/Tk,

77 60 APPENDIX A C LANGUAGE PROGRAM CODE FOR SERVER SIDE Socket Program For Server Side #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #include<sys/types.h> #include<sys/stat.h> #include<sys/socket.h> #include<netinet/in.h> #include<arpa/inet.h> #include<fcntl.h> #include <sys/time.h> int main() { int sf,cf,rf,rv,lv; struct sockaddr_in server_addr,client_addr; size_t server_addr_len,client_addr_len; sf=socket(pf_inet,sock_stream,0); if(sf==-1)

78 61 { perror("can not create socket for client"); exit(exit_failure); } server_addr.sin_family= PF_INET; server_addr.sin_port=1120; inet_aton(" ",&server_addr.sin_addr); server_addr_len=sizeof(server_addr); rv=bind(sf,(struct sockaddr*)&server_addr,server_addr_len); if(rv==-1) { perror("can not name the socket"); exit(exit_failure); } lv=listen(sf,2); if(lv==-1) { perror("can not create the socket queue"); exit(exit_failure); } char pr[120]; cf=accept(sf,(struct sockaddr *)&client_addr,&client_addr_len); FILE *f; if (( f=fopen("/root/ablie/receive.c","w"))==null) { printf("\n cannot open this file\n"); } recv(cf,&pr,sizeof(pr),0); fprintf(f,"%s",pr); close(f);

79 62 close(cf); exit(0); }

80 63 APPENDIX B C LANGUAGE PROGRAM CODE FOR CLIENT SIDE Socket Programming Code For Client Side #include<stdio.h> #include<stdlib.h> #include<string.h> #include<sys/types.h> #include<sys/socket.h> #include<netinet/in.h> #include<arpa/inet.h> #include<sys/time.h> #include<ctype.h> int main(int argc,char *argv[]) { int x,y; struct sockaddr_in sock_address; char *cbuff,*readbuff; readbuff=(char*)malloc(4); if(!readbuff) { perror("memory allication failure");

81 64 exit(exit_failure); } x=socket(pf_inet,sock_stream,0); if(x==-1) { perror("can not create socket for client"); exit(exit_failure); } sock_address.sin_family= PF_INET; sock_address.sin_port=1120 ; sock_address.sin_addr.s_addr=inet_addr(" "); y=connect(x,(struct sockaddr*)&sock_address,sizeof(sock_address)); if(y==-1) { perror("can not establish a server connection"); exit(exit_failure); } else printf("server connection successful, we are connected to the server\n"); FILE *f; char pr[120]; if((f=fopen("/root/ablie/send.c","r"))==null) { printf("\n cannot open this file\n"); } fread(&pr,1,sizeof(pr),f); send(x,&pr,sizeof(pr),0); printf("the data was sent is: %s\n",pr); close(f); close(x); exit(exit_success);}

82 65 APPENDIX C PROGRAM CODE FOR GUI INTERFACE Tcl/Tk code for Graphic User Interface Socket wm title. "SERVER SIDE" wm geometry. 30x15 wm minsize wm maxsize //for client side title is CLIENT frame.x -borderwidth 10 label.x.pp -text MESSAGE: -padx 0 -bg Red -font\ {-family times -size 14 -weight bold -slant italic} set t [text.x.t -setgrid true -wrap word -font\ {-family times -size 30 -weight bold -slant italic}\ -width 42 -height 15 -yscrollcommand ".x.sy set"] scrollbar.x.sy -orient vert -command ".x.t yview" pack.x.pp -side left pack.x.t -side left -fill both -expand true pack.x.sy -side left -fill both

83 66 pack.x -side top -fill both -expand true frame.y -borderwidth 5 -bg #c5c18f button.y.quit -text QUIT -command { exit 0} button.y.send -text SEND -command { send $t} button.y.receive -text RECEIVE -command { receive $t} button.y.tt -text CANCEL -command { exit } pack.y.quit -padx 20 -pady 4 -side left -fill x pack.y.send -padx 20 -pady 4 -side left -fill x pack.y.receive -padx 20 -pady 4 -side left -fill x pack.y.tt -padx 20 -pady 4 -side left -fill x pack.y -side bottom proc send { g } { set p [open /root/ablie/send.c w ] puts $p [$g get 1.0 end ] close $p puts "success" } proc receive { g } { set p [open "/root/ablie/receive.c" "r"] while {![eof $p]} { set x [gets $p] $g insert end "$x\n" } close $p puts "success" }

HOME AUTOMATION SYSTEM USING POWER LINE COMMUNICATION DARLENE BINTI MOHAMAD DOUGLAS

HOME AUTOMATION SYSTEM USING POWER LINE COMMUNICATION DARLENE BINTI MOHAMAD DOUGLAS HOME AUTOMATION SYSTEM USING POWER LINE COMMUNICATION DARLENE BINTI MOHAMAD DOUGLAS A report submitted as partial fulfillment of the requirements for the award of the Degree of Bachelor of Electrical Engineering

More information

UNIVERSITI TEKNIKAL MALAYSIA MELAKA FAKULTI TEKNOLOGI MAKLUMAT DAN KOMUNIKASI

UNIVERSITI TEKNIKAL MALAYSIA MELAKA FAKULTI TEKNOLOGI MAKLUMAT DAN KOMUNIKASI UNIVERSITI TEKNIKAL MALAYSIA MELAKA FAKULTI TEKNOLOGI MAKLUMAT DAN KOMUNIKASI SEMESTER 2 2013/2014 PROJEK SARJANA MUDA 1 (BITU ) BITD REPORT PROJECT TITLE: UTeM SPORT CARNIVAL EVENT MANAGEMENT SYSTEM PREPARED

More information

High-Level Data Link Control

High-Level Data Link Control High-Level Data Link Control This class of data link layer protocols includes High-level Data Link Control (HDLC), Link Access Procedure Balanced (LAPB) for X.25, Link Access Procedure for D-channel (LAPD)

More information

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX APPENDIX A Introduction Understanding TCP/IP To fully understand the architecture of Cisco Centri Firewall, you need to understand the TCP/IP architecture on which the Internet is based. This appendix

More information

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet Basic Networking Concepts 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet 1 1. Introduction -A network can be defined as a group of computers and other devices connected

More information

Data Link Protocols. TCP/IP Suite and OSI Reference Model

Data Link Protocols. TCP/IP Suite and OSI Reference Model Data Link Protocols Relates to Lab. This module covers data link layer issues, such as local area networks (LANs) and point-to-point links, Ethernet, and the Point-to-Point Protocol (PPP). 1 TCP/IP Suite

More information

Protocols. Packets. What's in an IP packet

Protocols. Packets. What's in an IP packet Protocols Precise rules that govern communication between two parties TCP/IP: the basic Internet protocols IP: Internet Protocol (bottom level) all packets shipped from network to network as IP packets

More information

Ethernet. Ethernet. Network Devices

Ethernet. Ethernet. Network Devices Ethernet Babak Kia Adjunct Professor Boston University College of Engineering ENG SC757 - Advanced Microprocessor Design Ethernet Ethernet is a term used to refer to a diverse set of frame based networking

More information

LICENSE PLATE RECOGNITION OF MOVING VEHICLES. Siti Rahimah Binti Abd Rahim

LICENSE PLATE RECOGNITION OF MOVING VEHICLES. Siti Rahimah Binti Abd Rahim LICENSE PLATE RECOGNITION OF MOVING VEHICLES Siti Rahimah Binti Abd Rahim Bachelor of Engineering with Honors (Electronics & Computer Engineering) 2009/2010 UNIVERSITI MALAYSIA SARAWAK R13a BORANG PENGESAHAN

More information

Manpower Planning Utilizing Work Study at Data Storage Manufacturing Company

Manpower Planning Utilizing Work Study at Data Storage Manufacturing Company UNIVERSITI TEKNIKAL MALAYSIA MELAKA Manpower Planning Utilizing Work Study at Data Storage Manufacturing Company Thesis submitted in accordance with the partial requirement of the Universiti Teknikal Malaysia

More information

SPA BEAUTY MANAGEMENT SYSTEM NAJIHAH BINTI RUSSLI

SPA BEAUTY MANAGEMENT SYSTEM NAJIHAH BINTI RUSSLI SPA BEAUTY MANAGEMENT SYSTEM NAJIHAH BINTI RUSSLI This report is submitted in partial fulfillment of the requirements for the Bachelor of Computer Science (Database Management) FACULTY OF INFORMATION AND

More information

The OSI and TCP/IP Models. Lesson 2

The OSI and TCP/IP Models. Lesson 2 The OSI and TCP/IP Models Lesson 2 Objectives Exam Objective Matrix Technology Skill Covered Exam Objective Exam Objective Number Introduction to the OSI Model Compare the layers of the OSI and TCP/IP

More information

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Computer Network. Interconnected collection of autonomous computers that are able to exchange information Introduction Computer Network. Interconnected collection of autonomous computers that are able to exchange information No master/slave relationship between the computers in the network Data Communications.

More information

Guide to TCP/IP, Third Edition. Chapter 3: Data Link and Network Layer TCP/IP Protocols

Guide to TCP/IP, Third Edition. Chapter 3: Data Link and Network Layer TCP/IP Protocols Guide to TCP/IP, Third Edition Chapter 3: Data Link and Network Layer TCP/IP Protocols Objectives Understand the role that data link protocols, such as SLIP and PPP, play for TCP/IP Distinguish among various

More information

Networking Test 4 Study Guide

Networking Test 4 Study Guide Networking Test 4 Study Guide True/False Indicate whether the statement is true or false. 1. IPX/SPX is considered the protocol suite of the Internet, and it is the most widely used protocol suite in LANs.

More information

Overview of Computer Networks

Overview of Computer Networks Overview of Computer Networks Client-Server Transaction Client process 4. Client processes response 1. Client sends request 3. Server sends response Server process 2. Server processes request Resource

More information

ESSENTIALS. Understanding Ethernet Switches and Routers. April 2011 VOLUME 3 ISSUE 1 A TECHNICAL SUPPLEMENT TO CONTROL NETWORK

ESSENTIALS. Understanding Ethernet Switches and Routers. April 2011 VOLUME 3 ISSUE 1 A TECHNICAL SUPPLEMENT TO CONTROL NETWORK VOLUME 3 ISSUE 1 A TECHNICAL SUPPLEMENT TO CONTROL NETWORK Contemporary Control Systems, Inc. Understanding Ethernet Switches and Routers This extended article was based on a two-part article that was

More information

Chapter 2 - The TCP/IP and OSI Networking Models

Chapter 2 - The TCP/IP and OSI Networking Models Chapter 2 - The TCP/IP and OSI Networking Models TCP/IP : Transmission Control Protocol/Internet Protocol OSI : Open System Interconnection RFC Request for Comments TCP/IP Architecture Layers Application

More information

TN. MOHD FAKHRUZZAMAN B. TN ISMAIL

TN. MOHD FAKHRUZZAMAN B. TN ISMAIL Automated Timetable Scheduling System for FTMK Direct Entry Student (ATSS) TN. MOHD FAKHRUZZAMAN B. TN ISMAIL This report is submitted in partial fulfillment of the requirements for the Bachelor of Computer

More information

Module 1. Introduction. Version 2 CSE IIT, Kharagpur

Module 1. Introduction. Version 2 CSE IIT, Kharagpur Module 1 Introduction Lesson 2 Layered Network Architecture Specific Functional Objectives On Completion of this lesson, the students will be able to: State the requirement for layered approach Explain

More information

DESIGN AND DEVELOPMENT OF MICRO HYDROPOWER FOR UNDERSERVED COMMUNITIES

DESIGN AND DEVELOPMENT OF MICRO HYDROPOWER FOR UNDERSERVED COMMUNITIES DESIGN AND DEVELOPMENT OF MICRO HYDROPOWER FOR UNDERSERVED COMMUNITIES Mohamad Ridhzan Bin Roslan Bachelor of Engineering with Honours (Electronics and Computer Engineering) 2009 UNIVERSITI MALAYSIA SARAWAK

More information

Protocols and Architecture. Protocol Architecture.

Protocols and Architecture. Protocol Architecture. Protocols and Architecture Protocol Architecture. Layered structure of hardware and software to support exchange of data between systems/distributed applications Set of rules for transmission of data between

More information

SWAY REDUCTION ON GANTRY CRANE SYSTEM USING DELAYED FEEDBACK SIGNAL (DFS) NORASHID BIN IDRUS

SWAY REDUCTION ON GANTRY CRANE SYSTEM USING DELAYED FEEDBACK SIGNAL (DFS) NORASHID BIN IDRUS i SWAY REDUCTION ON GANTRY CRANE SYSTEM USING DELAYED FEEDBACK SIGNAL (DFS) NORASHID BIN IDRUS This report is submitted in partial fulfillment of the requirements for the award of Bachelor of Electronic

More information

Chapter 5. Data Communication And Internet Technology

Chapter 5. Data Communication And Internet Technology Chapter 5 Data Communication And Internet Technology Purpose Understand the fundamental networking concepts Agenda Network Concepts Communication Protocol TCP/IP-OSI Architecture Network Types LAN WAN

More information

Introduction To Computer Networking

Introduction To Computer Networking Introduction To Computer Networking Alex S. 1 Introduction 1.1 Serial Lines Serial lines are generally the most basic and most common communication medium you can have between computers and/or equipment.

More information

Topics. Computer Networks. Let s Get Started! Computer Networks: Our Definition. How are Networks Used by Computers? Computer Network Components

Topics. Computer Networks. Let s Get Started! Computer Networks: Our Definition. How are Networks Used by Computers? Computer Network Components Topics Use of networks Network structure Implementation of networks Computer Networks Introduction Let s Get Started! Networking today: Where are they? Powerful computers are cheap Networks are everywhere

More information

Computer Networks/DV2 Lab

Computer Networks/DV2 Lab Computer Networks/DV2 Lab Room: BB 219 Additional Information: http://www.fb9dv.uni-duisburg.de/ti/en/education/teaching/ss08/netlab Equipment for each group: - 1 Server computer (OS: Windows 2000 Advanced

More information

Overview of TCP/IP. TCP/IP and Internet

Overview of TCP/IP. TCP/IP and Internet Overview of TCP/IP System Administrators and network administrators Why networking - communication Why TCP/IP Provides interoperable communications between all types of hardware and all kinds of operating

More information

Communications and Computer Networks

Communications and Computer Networks SFWR 4C03: Computer Networks and Computer Security January 5-8 2004 Lecturer: Kartik Krishnan Lectures 1-3 Communications and Computer Networks The fundamental purpose of a communication system is the

More information

How To Use A Network Over The Internet (Networking) With A Network (Netware) And A Network On A Computer (Network)

How To Use A Network Over The Internet (Networking) With A Network (Netware) And A Network On A Computer (Network) 1 TCP Transmission Control Protocol, is a connection based Internet protocol responsible for breaking data into packets to send over a network using IP (internet protocol) IP works at the TCP/IP Internet

More information

Data Link Layer(1) Principal service: Transferring data from the network layer of the source machine to the one of the destination machine

Data Link Layer(1) Principal service: Transferring data from the network layer of the source machine to the one of the destination machine Data Link Layer(1) Principal service: Transferring data from the network layer of the source machine to the one of the destination machine Virtual communication versus actual communication: Specific functions

More information

CONTROL HOME APPLIANCES VIA INTERNET (CoHAVI) SOFTWARE DEVELOPMENT SHIRRENE A/P NAI SOWAT

CONTROL HOME APPLIANCES VIA INTERNET (CoHAVI) SOFTWARE DEVELOPMENT SHIRRENE A/P NAI SOWAT i CONTROL HOME APPLIANCES VIA INTERNET (CoHAVI) SOFTWARE DEVELOPMENT SHIRRENE A/P NAI SOWAT This report is submitted in partial fulfillment of the requirements for the award of Bachelor of Electronic Engineering

More information

GSM BASED HOME SECURITY SYSTEM CHENG KAR LOCK

GSM BASED HOME SECURITY SYSTEM CHENG KAR LOCK i GSM BASED HOME SECURITY SYSTEM CHENG KAR LOCK This report is submitted in partial of the requirement for the award of Bachelor of Electronic Engineering (Telecommunication Electronics) With Honours Faculty

More information

CSE 3461 / 5461: Computer Networking & Internet Technologies

CSE 3461 / 5461: Computer Networking & Internet Technologies Autumn Semester 2014 CSE 3461 / 5461: Computer Networking & Internet Technologies Instructor: Prof. Kannan Srinivasan 08/28/2014 Announcement Drop before Friday evening! k. srinivasan Presentation A 2

More information

Technical Support Information Belkin internal use only

Technical Support Information Belkin internal use only The fundamentals of TCP/IP networking TCP/IP (Transmission Control Protocol / Internet Protocols) is a set of networking protocols that is used for communication on the Internet and on many other networks.

More information

ICS 153 Introduction to Computer Networks. Inst: Chris Davison [email protected]

ICS 153 Introduction to Computer Networks. Inst: Chris Davison cbdaviso@uci.edu ICS 153 Introduction to Computer Networks Inst: Chris Davison [email protected] 1 ICS 153 Introduction to Computer Networks Course Goals Understand the basic principles of computer networks Design Architecture

More information

EE4367 Telecom. Switching & Transmission. Prof. Murat Torlak

EE4367 Telecom. Switching & Transmission. Prof. Murat Torlak Packet Switching and Computer Networks Switching As computer networks became more pervasive, more and more data and also less voice was transmitted over telephone lines. Circuit Switching The telephone

More information

PPP (Point-to-Point Protocol)

PPP (Point-to-Point Protocol) PPP (Point-to-Point Protocol) PPP (Point-to-Point Protocol) is the most widely used method for transporting IP packets over a serial link between the user and the Internet Service Provider (ISP). Although

More information

Network Programming TDC 561

Network Programming TDC 561 Network Programming TDC 561 Lecture # 1 Dr. Ehab S. Al-Shaer School of Computer Science & Telecommunication DePaul University Chicago, IL 1 Network Programming Goals of this Course: Studying, evaluating

More information

Transport and Network Layer

Transport and Network Layer Transport and Network Layer 1 Introduction Responsible for moving messages from end-to-end in a network Closely tied together TCP/IP: most commonly used protocol o Used in Internet o Compatible with a

More information

Objectives of Lecture. Network Architecture. Protocols. Contents

Objectives of Lecture. Network Architecture. Protocols. Contents Objectives of Lecture Network Architecture Show how network architecture can be understood using a layered approach. Introduce the OSI seven layer reference model. Introduce the concepts of internetworking

More information

Data Link Protocols. 5.4 Framing

Data Link Protocols. 5.4 Framing Data Link Protocols A Packets Data link layer Physical layer Frames Packets Data link layer Physical layer B Data Links Services Framing Error control Flow control Multiplexing Link Maintenance Security:

More information

Mathatma Gandhi University

Mathatma Gandhi University Mathatma Gandhi University BSc Computer Science IV th semester BCS 402 Computer Network &Internet MULTIPLE CHOICE QUESTIONS 1. The computer network is A) Network computer with cable B) Network computer

More information

Computer Networks CS321

Computer Networks CS321 Computer Networks CS321 Dr. Ramana I.I.T Jodhpur Dr. Ramana ( I.I.T Jodhpur ) Computer Networks CS321 1 / 22 Outline of the Lectures 1 Introduction OSI Reference Model Internet Protocol Performance Metrics

More information

How To Understand The Layered Architecture Of A Network

How To Understand The Layered Architecture Of A Network COMPUTER NETWORKS NETWORK ARCHITECTURE AND PROTOCOLS The Need for Standards Computers have different architectures, store data in different formats and communicate at different rates Agreeing on a particular

More information

What is CSG150 about? Fundamentals of Computer Networking. Course Outline. Lecture 1 Outline. Guevara Noubir [email protected].

What is CSG150 about? Fundamentals of Computer Networking. Course Outline. Lecture 1 Outline. Guevara Noubir noubir@ccs.neu. What is CSG150 about? Fundamentals of Computer Networking Guevara Noubir [email protected] CSG150 Understand the basic principles of networking: Description of existing networks, and networking mechanisms

More information

DESIGNING A PEPPER HARVESTER END EFFECTOR TIONG ING HO. This project is submitted in partial fulfillment of

DESIGNING A PEPPER HARVESTER END EFFECTOR TIONG ING HO. This project is submitted in partial fulfillment of DESIGNING A PEPPER HARVESTER END EFFECTOR TIONG ING HO This project is submitted in partial fulfillment of the requirements for the degree of Bachelor of Engineering with Honours (Mechanical and Manufacturing

More information

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology

Indian Institute of Technology Kharagpur. TCP/IP Part I. Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology Indian Institute of Technology Kharagpur TCP/IP Part I Prof Indranil Sengupta Computer Science and Engineering Indian Institute of Technology Kharagpur Lecture 3: TCP/IP Part I On completion, the student

More information

SMART SHOES CHARGER TAN CHEE CHIAN

SMART SHOES CHARGER TAN CHEE CHIAN SMART SHOES CHARGER TAN CHEE CHIAN This report is submitted in partial fulfillment of the requirements for the award of Bachelor of Electronic (Industrial Electronics) With Honours Faculty of Electronic

More information

Network Models and Protocols

Network Models and Protocols 669-5ch01.fm Page 1 Friday, April 12, 2002 2:01 PM C H A P T E R Network Models and Protocols 1 EXAM OBJECTIVES 1.1 Layered Network Models 1.2 The Layers of the TCP/IP 5-Layer Model 1.3 Network Protocols

More information

Internet Working 5 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2004

Internet Working 5 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2004 5 th lecture Chair of Communication Systems Department of Applied Sciences University of Freiburg 2004 1 43 Last lecture Lecture room hopefully all got the message lecture on tuesday and thursday same

More information

Internetworking and IP Address

Internetworking and IP Address Lecture 8 Internetworking and IP Address Motivation of Internetworking Internet Architecture and Router Internet TCP/IP Reference Model and Protocols IP Addresses - Binary and Dotted Decimal IP Address

More information

Local Area Networks transmission system private speedy and secure kilometres shared transmission medium hardware & software

Local Area Networks transmission system private speedy and secure kilometres shared transmission medium hardware & software Local Area What s a LAN? A transmission system, usually private owned, very speedy and secure, covering a geographical area in the range of kilometres, comprising a shared transmission medium and a set

More information

CPS221 Lecture: Layered Network Architecture

CPS221 Lecture: Layered Network Architecture CPS221 Lecture: Layered Network Architecture Objectives last revised 9/10/12 1. To discuss the OSI layered architecture model 2. To discuss the specific implementation of this model in TCP/IP Materials:

More information

How do I get to www.randomsite.com?

How do I get to www.randomsite.com? Networking Primer* *caveat: this is just a brief and incomplete introduction to networking to help students without a networking background learn Network Security. How do I get to www.randomsite.com? Local

More information

SFWR 4C03: Computer Networks & Computer Security Jan 3-7, 2005. Lecturer: Kartik Krishnan Lecture 1-3

SFWR 4C03: Computer Networks & Computer Security Jan 3-7, 2005. Lecturer: Kartik Krishnan Lecture 1-3 SFWR 4C03: Computer Networks & Computer Security Jan 3-7, 2005 Lecturer: Kartik Krishnan Lecture 1-3 Communications and Computer Networks The fundamental purpose of a communication network is the exchange

More information

WAN Data Link Protocols

WAN Data Link Protocols WAN Data Link Protocols In addition to Physical layer devices, WANs require Data Link layer protocols to establish the link across the communication line from the sending to the receiving device. 1 Data

More information

The OSI Model: Understanding the Seven Layers of Computer Networks

The OSI Model: Understanding the Seven Layers of Computer Networks Expert Reference Series of White Papers The OSI Model: Understanding the Seven Layers of Computer Networks 1-800-COURSES www.globalknowledge.com The OSI Model: Understanding the Seven Layers of Computer

More information

THE TCP/IP PROTOCOL SUITE

THE TCP/IP PROTOCOL SUITE CHAPTER 1 Protocols and Layers 25 a truck or plane. It sounds like a very complicated way to deliver one message, but this system makes the overall task of delivering many messages easier, not harder.

More information

Model 2120 Single Port RS-232 Terminal Server Frequently Asked Questions

Model 2120 Single Port RS-232 Terminal Server Frequently Asked Questions Applications What are some of the applications for the Model 2120 Single Port Terminal Server? The Patton Single Port RS-232 Terminal Server provides the ability to bring virtually any RS-232 device onto

More information

IP Networking. Overview. Networks Impact Daily Life. IP Networking - Part 1. How Networks Impact Daily Life. How Networks Impact Daily Life

IP Networking. Overview. Networks Impact Daily Life. IP Networking - Part 1. How Networks Impact Daily Life. How Networks Impact Daily Life Overview Dipl.-Ing. Peter Schrotter Institute of Communication Networks and Satellite Communications Graz University of Technology, Austria Fundamentals of Communicating over the Network Application Layer

More information

The OSI model has seven layers. The principles that were applied to arrive at the seven layers can be briefly summarized as follows:

The OSI model has seven layers. The principles that were applied to arrive at the seven layers can be briefly summarized as follows: 1.4 Reference Models Now that we have discussed layered networks in the abstract, it is time to look at some examples. In the next two sections we will discuss two important network architectures, the

More information

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP Overview Securing TCP/IP Chapter 6 TCP/IP Open Systems Interconnection Model Anatomy of a Packet Internet Protocol Security (IPSec) Web Security (HTTP over TLS, Secure-HTTP) Lecturer: Pei-yih Ting 1 2

More information

Lecture (02) Networking Model (TCP/IP) Networking Standard (OSI) (I)

Lecture (02) Networking Model (TCP/IP) Networking Standard (OSI) (I) Lecture (02) Networking Model (TCP/IP) Networking Standard (OSI) (I) By: Dr. Ahmed ElShafee ١ Dr. Ahmed ElShafee, ACU : Fall 2015, Networks II Agenda Introduction to networking architecture Historical

More information

Agenda. Distributed System Structures. Why Distributed Systems? Motivation

Agenda. Distributed System Structures. Why Distributed Systems? Motivation Agenda Distributed System Structures CSCI 444/544 Operating Systems Fall 2008 Motivation Network structure Fundamental network services Sockets and ports Client/server model Remote Procedure Call (RPC)

More information

IP - The Internet Protocol

IP - The Internet Protocol Orientation IP - The Internet Protocol IP (Internet Protocol) is a Network Layer Protocol. IP s current version is Version 4 (IPv4). It is specified in RFC 891. TCP UDP Transport Layer ICMP IP IGMP Network

More information

11/22/2013 1. komwut@siit

11/22/2013 1. komwut@siit 11/22/2013 1 Week3-4 Point-to-Point, LAN, WAN Review 11/22/2013 2 What will you learn? Representatives for Point-to-Point Network LAN Wired Ethernet Wireless Ethernet WAN ATM (Asynchronous Transfer Mode)

More information

Layered Architectures and Applications

Layered Architectures and Applications 1 Layered Architectures and Applications Required reading: Garcia 2.1, 2.2, 2.3 CSE 3213, Fall 2010 Instructor: N. Vlajic 2 Why Layering?! 3 Montreal London Paris Alice wants to send a mail to Bob and

More information

Based on Computer Networking, 4 th Edition by Kurose and Ross

Based on Computer Networking, 4 th Edition by Kurose and Ross Computer Networks Ethernet Hubs and Switches Based on Computer Networking, 4 th Edition by Kurose and Ross Ethernet dominant wired LAN technology: cheap $20 for NIC first widely used LAN technology Simpler,

More information

User s Manual TCP/IP TO RS-232/422/485 CONVERTER. 1.1 Introduction. 1.2 Main features. Dynamic DNS

User s Manual TCP/IP TO RS-232/422/485 CONVERTER. 1.1 Introduction. 1.2 Main features. Dynamic DNS MODEL ATC-2000 TCP/IP TO RS-232/422/485 CONVERTER User s Manual 1.1 Introduction The ATC-2000 is a RS232/RS485 to TCP/IP converter integrated with a robust system and network management features designed

More information

Zarządzanie sieciami telekomunikacyjnymi

Zarządzanie sieciami telekomunikacyjnymi What Is an Internetwork? An internetwork is a collection of individual networks, connected by intermediate networking devices, that functions as a single large network. Internetworking refers to the industry,

More information

Protocol Data Units and Encapsulation

Protocol Data Units and Encapsulation Chapter 2: Communicating over the 51 Protocol Units and Encapsulation For application data to travel uncorrupted from one host to another, header (or control data), which contains control and addressing

More information

Chapter 3. TCP/IP Networks. 3.1 Internet Protocol version 4 (IPv4)

Chapter 3. TCP/IP Networks. 3.1 Internet Protocol version 4 (IPv4) Chapter 3 TCP/IP Networks 3.1 Internet Protocol version 4 (IPv4) Internet Protocol version 4 is the fourth iteration of the Internet Protocol (IP) and it is the first version of the protocol to be widely

More information

Guideline for setting up a functional VPN

Guideline for setting up a functional VPN Guideline for setting up a functional VPN Why do I want a VPN? VPN by definition creates a private, trusted network across an untrusted medium. It allows you to connect offices and people from around the

More information

Data Communication Networks and Converged Networks

Data Communication Networks and Converged Networks Data Communication Networks and Converged Networks The OSI Model and Encapsulation Layer traversal through networks Protocol Stacks Converged Data/Telecommunication Networks From Telecom to Datacom, Asynchronous

More information

Data Link Layer Overview

Data Link Layer Overview Data Link Layer Overview Date link layer deals with two basic issues: Part I How data frames can be reliably transmitted, and Part II How a shared communication medium can be accessed In many networks,

More information

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP

IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP CSCE 515: Computer Network Programming TCP/IP IP Network Layer Wenyuan Xu Department of Computer Science and Engineering University of South Carolina IP Datagrams IP is the network layer packet delivery

More information

Process Control and Automation using Modbus Protocol

Process Control and Automation using Modbus Protocol Process Control and Automation using Modbus Protocol Modbus is the fundamental network protocol used in most industrial applications today. It is universal, open and an easy to use protocol. Modbus has

More information

CTS2134 Introduction to Networking. Module 07: Wide Area Networks

CTS2134 Introduction to Networking. Module 07: Wide Area Networks CTS2134 Introduction to Networking Module 07: Wide Area Networks WAN cloud Central Office (CO) Local loop WAN components Demarcation point (demarc) Consumer Premises Equipment (CPE) Channel Service Unit/Data

More information

Computer Networks. Chapter 5 Transport Protocols

Computer Networks. Chapter 5 Transport Protocols Computer Networks Chapter 5 Transport Protocols Transport Protocol Provides end-to-end transport Hides the network details Transport protocol or service (TS) offers: Different types of services QoS Data

More information

Local Area Networks (LANs) Blueprint (May 2012 Release)

Local Area Networks (LANs) Blueprint (May 2012 Release) Local Area Networks (LANs) The CCNT Local Area Networks (LANs) Course April 2012 release blueprint lists the following information. Courseware Availability Date identifies the availability date for the

More information

Transport Layer Protocols

Transport Layer Protocols Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements

More information

Computer Networks/DV2 Lab

Computer Networks/DV2 Lab Computer Networks/DV2 Lab Room: BB 219 Additional Information: http://ti.uni-due.de/ti/en/education/teaching/ss13/netlab Equipment for each group: - 1 Server computer (OS: Windows Server 2008 Standard)

More information

The TCP/IP Protocol Suite

The TCP/IP Protocol Suite The TCP/IP Protocol Suite Tutorial December 20, 2006 Trademarks and Copyrights Microsoft, Windows, Outlook, and Internet Explorer are registered trademarks or trademarks of Microsoft Corporation in the

More information

** Jika tesis ini SlJL17' atau TERI IAD, sila lampirkan surat daripada pihak berkuasa. BORANG PENGESAHAN STATUS TESIS

** Jika tesis ini SlJL17' atau TERI IAD, sila lampirkan surat daripada pihak berkuasa. BORANG PENGESAHAN STATUS TESIS BORANG PENGESAHAN STATUS TESIS JUDUI,: RFID BASED STUDENT ATTENDANCE SYSTEM SESl PENGAJIAN: 2-200812009 Saya ZULLIZAH BINTI SAMSURY mengaku membenarkan tesis (PSM) ini disimpan di Perpustakan Fakulti Teknologi

More information

Computer Networks - Xarxes de Computadors

Computer Networks - Xarxes de Computadors Computer Networks - Xarxes de Computadors Teacher: Llorenç Cerdà Slides: http://studies.ac.upc.edu/fib/grau/xc Outline Course Syllabus Unit 2. IP Networks Unit 3. TCP Unit 4. LANs Unit 5. Network applications

More information

Post-Class Quiz: Telecommunication & Network Security Domain

Post-Class Quiz: Telecommunication & Network Security Domain 1. What type of network is more likely to include Frame Relay, Switched Multi-megabit Data Services (SMDS), and X.25? A. Local area network (LAN) B. Wide area network (WAN) C. Intranet D. Internet 2. Which

More information

Introduction to computer networks and Cloud Computing

Introduction to computer networks and Cloud Computing Introduction to computer networks and Cloud Computing Aniel Nieves-González Fall 2015 Computer Netwoks A computer network is a set of independent computer systems that are connected by a communication

More information

Communication Networks. MAP-TELE 2011/12 José Ruela

Communication Networks. MAP-TELE 2011/12 José Ruela Communication Networks MAP-TELE 2011/12 José Ruela Network basic mechanisms Network Architectures Protocol Layering Network architecture concept A network architecture is an abstract model used to describe

More information

524 Computer Networks

524 Computer Networks 524 Computer Networks Section 1: Introduction to Course Dr. E.C. Kulasekere Sri Lanka Institute of Information Technology - 2005 Course Outline The Aim The course is design to establish the terminology

More information

FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 2 An Introduction to Networking

FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 2 An Introduction to Networking FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 2 An Introduction to Networking Learning Objectives Upon completion of this chapter, you should be able to: Describe the

More information

Internetworking. Problem: There is more than one network (heterogeneity & scale)

Internetworking. Problem: There is more than one network (heterogeneity & scale) Internetworking Problem: There is more than one network (heterogeneity & scale) Hongwei Zhang http://www.cs.wayne.edu/~hzhang Internetworking: Internet Protocol (IP) Routing and scalability Group Communication

More information

EITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst

EITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst EITF25 Internet Techniques and Applications L5: Wide Area Networks (WAN) Stefan Höst Data communication in reality In reality, the source and destination hosts are very seldom on the same network, for

More information

Communication Systems Internetworking (Bridges & Co)

Communication Systems Internetworking (Bridges & Co) Communication Systems Internetworking (Bridges & Co) Prof. Dr.-Ing. Lars Wolf TU Braunschweig Institut für Betriebssysteme und Rechnerverbund Mühlenpfordtstraße 23, 38106 Braunschweig, Germany Email: [email protected]

More information

cnds@napier Slide 1 Introduction cnds@napier 1 Lecture 6 (Network Layer)

cnds@napier Slide 1 Introduction cnds@napier 1 Lecture 6 (Network Layer) Slide 1 Introduction In today s and next week s lecture we will cover two of the most important areas in networking and the Internet: IP and TCP. These cover the network and transport layer of the OSI

More information

Operating System Concepts. Operating System 資 訊 工 程 學 系 袁 賢 銘 老 師

Operating System Concepts. Operating System 資 訊 工 程 學 系 袁 賢 銘 老 師 Lecture 7: Distributed Operating Systems A Distributed System 7.2 Resource sharing Motivation sharing and printing files at remote sites processing information in a distributed database using remote specialized

More information

1 Introduction to mobile telecommunications

1 Introduction to mobile telecommunications 1 Introduction to mobile telecommunications Mobile phones were first introduced in the early 1980s. In the succeeding years, the underlying technology has gone through three phases, known as generations.

More information

WAN. Introduction. Services used by WAN. Circuit Switched Services. Architecture of Switch Services

WAN. Introduction. Services used by WAN. Circuit Switched Services. Architecture of Switch Services WAN Introduction Wide area networks (WANs) Connect BNs and LANs across longer distances, often hundreds of miles or more Typically built by using leased circuits from common carriers such as AT&T Most

More information

HOME ALARM SYSTEM USING DETECTOR SENSOR MD KHAIRUL AMRI B MD ZAIN

HOME ALARM SYSTEM USING DETECTOR SENSOR MD KHAIRUL AMRI B MD ZAIN HOME ALARM SYSTEM USING DETECTOR SENSOR MD KHAIRUL AMRI B MD ZAIN This report is submitted in partial fulfillment of the requirements for the award of Bachelor of Electronic Engineering (Industrial Electronics)

More information