181
THESIS DEVELOPING SMALL PORTABLE ROUTER GNU/LINUX WITH TEXT USER INTERACE FOR STUDENT LEARNING Indira Cempakasari 107091100142 INFORMATICS ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY STATE ISLAMIC UNIVERSITY SYARIF HIDAYATULLAH JAKARTA 2011

DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

Embed Size (px)

Citation preview

Page 1: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

THESIS

DEVELOPING SMALL PORTABLE ROUTER

GNU/LINUX WITH TEXT USER INTERACE

FOR STUDENT LEARNING

Indira Cempakasari

107091100142

INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

STATE ISLAMIC UNIVERSITY

SYARIF HIDAYATULLAH

JAKARTA

2011

Page 2: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

ii

DEVELOPING SMALL PORTABLE ROUTER GNU/LINUX

WITH TEXT USER INTERACE

FOR STUDENT LEARNING

by:

Indira Cempakasari

107091100142

Thesis

As one of requirement to get bachelor degree of

Computer Science

Faculty of Science and Technology

State Islamic University Syarif Hidayatullah Jakarta

INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

STATE ISLAMIC UNIVERSITY

SYARIF HIDAYATULLAH

JAKARTA

2011

Page 3: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

iii

DEVELOPING SMALL PORTABLE ROUTER GNU/LINUX

WITH TEXT USER INTERACE

FOR STUDENT LEARNING

Thesis

As one of requirement to obtain a bachelor degree in computer science

Faculty of Science and Technology

State Islamic University Syarif Hidayatullah Jakarta

By:

Indira Cempakasari

107091100142

Approved,

Supervisor I Supervisor II

Asep Fajar Firmansyah Iwa Airlangga, MTI Feri Fahrianto, M.Sc

NIP. 198008292011011002

Head of Informatics Engineering Program

Yusuf Durachman, M.Sc, MIT

NIP. 197105222006041002

Page 4: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

iv

SIGNATURES PAGE

This thesis, entitled “Developing Small Portable Router GNU/Linux with Text User

Interface For Student Learning”, has passed the examination held in Faculty of Science

and Technology, State Islamic University Jakarta, on Tuesday August 23rd

2011. The

owner of this thesis is therefore awarded a bachelor degree in computer science.

Jakarta, September 2011

Examiner I, Examiner II,

Husni Teja Sukmana, Ph.D Arini, MT

NIP. 19731209 200501 1 002 NIP. 197601312009012001

Supervisor I Supervisor II

Asep Fajar Firmansyah Iwa Airlangga, MTI Feri Fahrianto, M.Sc

NIP. 198008292011011002

Dean Faculty of Science and Technology, Head of the study program

DR. Syopiansyah Jaya Putra, M.Sis Yusuf Durachman, M.Sc, MIT

NIP. 196801172001121001 NIP. 197105222006041002

Page 5: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

v

STATEMENT

HEREWITH I WOULD LIIKE TO DECLARE THE AUTHENTICITY OF THIS

THESIS. NO WORK OF OTHERS IS INCLUDED WITHOUT REFERENCING OR

ASKING FOR PERMISSION FROM THE AUTHORS OR PUBLISHERS.

Jakarta, September 2011

Indira Cempakasari

107091100142

Page 6: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

vi

ABSTRACT

Indira Cempakasari, Developing Simple Portable Router GNU/Linux with Text User

Interface For Student Learning. The supervisors are Asep Fajar Firmansyah Iwa

Airlangga, MTI and Feri Fahrianto, M.Sc.

There are some routers such as Cisco, Mikrotik, Freesco router and RouSer. Every router

has their advantages and weaknesses. Almost routers that are exist do not use open source

applications and less portability, only few routers that are portable and open source. So

that it is developed a portable router GNU/Linux that is all applications are open source,

portable, simple, provides Text User Interface inside the system and provide Text User

Interface for installing the router to flash disk or portable storage. The function of router

is to route the packets in different network. This portable router in this research uses

Slackware core, open source applications for routing, and interfaces that are built use

bash scripting. The interfaces consist of installation interface and configuration interface.

Methodology for the development of router is prototype model. In every prototype, there

is feedback from the customer so that the prototype is developed more. In prototyping

model, there is no limit time. There are three prototypes to develop the router. The

development of the first prototype followed the user requirement from the customer and

the next prototype followed the feedback customers. The router testing consists of

installation interface (hard disk and flash disk) and configuration interfaces. After doing

analysis and implementation, to develop portable router GNU/Linux can use Slackware

core, packets needed for routing, boot live for booting live CD in order this router can be

installed and boot. To make easy and to help students and lectures as end users in the

usage of this router, this router is provided user interface for configuration and installing

the router. User interface used in this router is Text User Interface. In the next

development, the router should be able to do dynamic routing, firewall, and they should

work with interface to ease the students and lectures as the end users.

Keywords: GNU, Linux kernel, router, interface, bash scripting.

Page 7: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

vii

FOREWORD

Praise be to Allah, for I blessing, I could finish my tesis which is entitled

“Developing Portable Router GNU/Linux with Text User Interface”. Furthermore, my

regards to our beloved Prophet Muhammad SAW.

In this opportunity, I would like give my thanks to:

1. Dr. Ir. Syopiansyah Jaya Putra, M.Sis. as the Dean of the Faculty of Science and

Technology, UIN Syarif Hidayatullah Jakarta.

2. Mr. Yusuf Durraachman, M.Sc, MIT as a Chairman of the Information Technology

Program, Faculty of Science and Technology, UIN Sharif Hidayatullah Jakarta.

3. Mr. Asep Fajar Firmansyah Iwa Airlanggi, MTI and Mr.Feri Fahrianto, M.Sc, as my

supervisors. Thank for the correction and suggestions for my thesis.

4. Mr. Husni Teja Sukmana, Ph.D and Mrs.Arini, MT as my examiners. Thank for the

correction for my thesis.

5. Mrs. Ria who guides me in Interntional Program.

6. All lectures in International Program for the lessons and the knowledges.

7. My Mom and my Dad who always support and doa for me.

8. Kak Ibnu who always helps and support me.

9. My sisters, dek ulan and mba iken, who helped in shooting video.

10. Nilam, atin, yuni, alex, galih, mahar and my friends in international program that

learn and study together.

11. Junior in International program, thank for coming in my seminar.

12. Mba mita that help in writing letters.

13. My friends in cisco, thanks for the suggestion.

Page 8: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

viii

14. And all people that I mention one by one, thank for helping me finishing this thesis.

Any comments and suggestions regarding this should be emailed to

[email protected]. Above all, thank you very much for reading this thesis.

Jakarta, August 2011

Indira Cempakasari

Page 9: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

ix

DEDICATION PAGE

“Maka nikmat Rabb kamu yang manakah yang kamu dustakan?” (Q.S Ar-Rahman)

Alhamdulillah skripsi ini dapat diselesaikan

Skripsi ini saya persembahkan untuk:

Kedua orang tua saya yang telah mendidik dan membesarkan saya, serta memberi

dukungan kepada saya. I love you mom n dad . Terima kasih untuk semuanya.

Serta untuk kanda Ibnu Yahya (yang namanya pengen ditulis :p), yang telah mengarahkan

saya ke jalan yang benar #lho dan memberi dukungan. Terima kasih untuk semuanya

Page 10: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

ix

TABLE OF CONTENTS

COVER ............................................................................................................. i

TITLE PAGE ........................................................................................................ ii

APPROVAL PAGE .............................................................................................. iii

SIGNATURES PAGE ........................................................................................... iv

STATEMENT ........................................................................................................ v

ABSTRACT .......................................................................................................... vi

FOREWORD ...................................................................................................... vii

DEDICATION PAGE ........................................................................................ viii

TABLE OF CONTENTS ..................................................................................... ix

PICTURE LISTS ................................................................................................. xii

TABLE LISTS ...................................................................................................... xvii

APPENDIX LISTS .............................................................................................. xviii

CHAPTER I INTRODUCTION .......................................................................... 1

1.1 Background ..................................................................................................... 1

1.2 The Problem Definition .................................................................................. 5

1.3 The Scope of Problem .................................................................................... 5

1.4 Aims and Objectives ....................................................................................... 5

1.5 Contents of Thesis .......................................................................................... 6

CHAPTER II LITERATURE REVIEW ............................................................ 8

2.1 Operating System ............................................................................................ 8

2.1.1 Definition Operating System ................................................................... 8

2.1.2 Components of Operating System ........................................................... 11

2.1.3 Operating System Structure ..................................................................... 13

2.1.4 GNU/Linux System ................................................................................. 16

2.2 Core ................................................................................................................. 19

2.3 Linux Live ...................................................................................................... 19

Page 11: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

x

2.4 Router ............................................................................................................. 20

2.5 IP Address ....................................................................................................... 20

2.5.1 IP address version 4 (IPV4) ..................................................................... 21

2.5.2 IP Class .................................................................................................... 21

2.5.3 Subnet Mask ............................................................................................ 22

2.6 Routing ........................................................................................................... 23

2.6.1 Routing Concept ...................................................................................... 23

2.6.2 Static Routing .......................................................................................... 23

2.6.3 Dynamic Routing ..................................................................................... 24

2.7 Iptables ............................................................................................................ 25

2.8 Bash Scripting ................................................................................................. 27

2.8.1 Definition Shell ........................................................................................ 27

2.8.2 Bourne Again Shell (/bin/bash) ............................................................... 28

2.9 Text User Interfaces ........................................................................................ 28

2.10 Prototyping Model ........................................................................................ 31

2.11 Structured Analysis ....................................................................................... 33

2.12 Object-Oriented ............................................................................................ 34

2.13 Black-box Testing ......................................................................................... 34

2.14 VirtualBox .................................................................................................... 35

CHAPTER III RESEARCH METHODOLOGY .............................................. 37

3.1 Research Method ............................................................................................ 37

3.2 Collecting Data Method .................................................................................. 39

3.2.1 Method of Collecting Primary Data......................................................... 39

3.2.2 Method of Collecting Secondary Data..................................................... 40

3.3 Analysis Method ............................................................................................. 42

3.4 Testing Method ............................................................................................... 43

CHAPTER IV DISCUSSION AND IMPLEMENTATION ............................. 44

4.1 First Prototype ................................................................................................ 44

4.1.1 Communication ........................................................................................ 44

Page 12: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

xi

4.1.1.1 Objectives of this research ................................................................ 44

4.1.1.2 User Requirements ............................................................................ 44

4.1.2 Quick Plan and Quick Design .................................................................. 45

4.1.2.1 Quick Plan ......................................................................................... 45

4.1.2.2 Quick Design ..................................................................................... 54

4.1.3 Construction Prototyping ......................................................................... 59

4.1.4 Deployment Delivery and Feedback........................................................ 63

4.1.4.1 Deployment Delivery ........................................................................ 63

4.1.4.2 Feedback ........................................................................................... 73

4.2 Second Prototype ............................................................................................ 74

4.2.1 Communication ........................................................................................ 74

4.2.2 Quick Plan and Quick Design ................................................................. 75

4.2.2.1 Quick Plan ......................................................................................... 75

4.2.2.2 Quick Design ..................................................................................... 82

4.2.3. Construction Prototyping ........................................................................ 89

4.2.4. Deployment Prototyping and Feedback .................................................. 90

4.2.4.1 Deployment Prototyping ................................................................... 90

4.2.2.2 Feedback .......................................................................................... 102

4.3 Third Prototype .............................................................................................. 102

4.3.1 Communication ....................................................................................... 102

4.3.2. Quick Plan and Quick Design ................................................................ 103

4.3.2.1 Quick Plan ........................................................................................ 103

4.3.2.2 Quick Design ..................................................................................... 112

4.3.3 Construction Prototyping ......................................................................... 120

4.3.4 Deployment Prototyping and Feedback ................................................... 121

4.3.4.1 Deployment Prototyping ................................................................... 121

4.3.4.2 Feedback ........................................................................................... 129

CHAPTER V SUMMARY ................................................................................... 130

5.1 Conclusion ...................................................................................................... 130

5.2 Suggestion ....................................................................................................... 130

REFERENCES ...................................................................................................... 131

Page 13: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

xii

PICTURE LISTS

Figure 2.1 Class IP ............................................................................................... 22

Figure 2.2 Prototyping Model (Pressman) ........................................................... 33

Figure 4.1 Quick Plan ........................................................................................... 45

Figure 4.2 Topology ............................................................................................. 46

Figure 4.3 Hard disk Installation Flowchart ......................................................... 48

Figure 4.4 Flash Disk Installation Flowchart ...................................................... 44

Figure 4.5 Setting IP Flowchart ........................................................................... 46

Figure 4.6 Routing Flowchart .............................................................................. 48

Figure 4.7 Choosing installation ........................................................................... 55

Figure 4.8 prototype1 model harddisk-1 .............................................................. 55

Figure 4.9 prototype1 model hard disk-2 ............................................................. 56

Figure 4.10 prototype1 model hard disk-3 .......................................................... 56

Figure 4.11 prototype1 model flash disk-1 ........................................................... 56

Figure 4.12 prototype1 model flash disk-2 ........................................................... 57

Figure 4.13 prototype1model setting IP-1 ............................................................ 57

Figure 4.14 prototype1 model setting IP-2 ........................................................... 58

Figure 4.15 prototype1 model setting IP-3 ........................................................... 58

Figure 4.16 prototype1 model setting IP-4 .......................................................... 58

Figure 4.17 prototype1 model setting IP-5 ........................................................... 59

Figure 4.18 prototype1 routing model .................................................................. 59

Figure 4.19 Toroo Live ......................................................................................... 60

Figure 4.20 core .................................................................................................... 60

Figure 4.21 Dialog ................................................................................................ 61

Figure 4.22 Iptables .............................................................................................. 62

Figure 4.23 Installer .............................................................................................. 62

Figure 4.24 Test1 install Hard disk-1 ................................................................... 64

Figure 4.25 Test1install hard disk-2 ..................................................................... 64

Figure 4.26 Test1install hard disk-3 ..................................................................... 65

Figure 4.27 Tes1install hard disk-4 ...................................................................... 65

Page 14: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

xiii

Figure 4.28 Tes1install hard disk-5 ...................................................................... 66

Figure 4.29 Test1install hard disk-6 ..................................................................... 66

Figure 4.30 Test1 install Flash Disk-1 .................................................................. 67

Figure 4.31 Test1 install Flash Disk-2 .................................................................. 67

Figure 4.32 Test1 install Flash Disk-3 .................................................................. 68

Figure 4.33 Test1install Flash Disk-4 ................................................................... 68

Figure 4.34 Test1 install Flash Disk-5 .................................................................. 69

Figure 4.35 Test1 setting IP-1 .............................................................................. 69

Figure 4.36 Test1 setting IP-2 .............................................................................. 70

Figure 4.37 Test1 Setting IP-3 .............................................................................. 70

Figure 4.38 Test1 Setting IP-4 .............................................................................. 71

Figure 4.39 Test1 Setting IP-5 .............................................................................. 71

Figure 4.40 Test1 Setting IP-6 .............................................................................. 72

Figure 4.41 Test1 Setting IP-7 .............................................................................. 72

Figure 4.42 Test1 Setting IP-8 .............................................................................. 73

Figure 4.43 Hard disk installation Flowchart 2 .................................................... 76

Figure 4.44 Flash disk Installation Flowchart 2 ................................................... 77

Figure 4.45 SettingIP 2 Flowchart ........................................................................ 79

Figure 4.46 Setting DNS Flowchart ..................................................................... 80

Figure 4.47 Routing-2 Flowchart ......................................................................... 81

Figure 4.48 Prototype2 Model hard disk-1 ........................................................... 82

Figure 4.49 Prototype2 Model hard disk-2 ........................................................... 83

Figure 4.50 Prototype2 Model hard disk-3 ........................................................... 83

Figure 4.51 Prototype2 Model hard disk-4 ........................................................... 83

Figure 4.52 Prototype2 Model flash disk-1 .......................................................... 84

Figure 4.53 Prototype2 Model Flash disk-2 ......................................................... 84

Figure 4.54 Prototype2 Model Flash disk-3 ........................................................ 85

Figure 4.55 menu .................................................................................................. 85

Figure 4.56 Prototype 2 Mode setting IP-1 .......................................................... 86

Figure 4.57 Prototype 2 Model Setting IP-2 ......................................................... 86

Page 15: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

xiv

Figure 4.58 Prototype2 Model Setting IP-3 .......................................................... 86

Figure 4.59 Prototype2 Model Setting IP-4 .......................................................... 87

Figure 4.60 Prototype 2 Model Setting IP-5 ......................................................... 87

Figure 4.61 Prototype 2 Model DNS-1 ................................................................. 87

Figure 4.62 Prototype 2 Model DNS-1 ................................................................. 88

Figure 4.63 Prototype2 Model routing 1 .............................................................. 88

Figure 4.64 Prototype2 Routing-2 ........................................................................ 89

Figure 4.65 Prototype2 Routing-3 ........................................................................ 89

Figure 4.66 menu command ................................................................................. 89

Figure 4.67 Package .............................................................................................. 90

Figure 4.68 Test2 Install Hard disk-1 ................................................................... 91

Figure 4.69 Test2 Install Hard disk-2 ................................................................... 91

Figure 4.70 Test2 Install Hard disk-3 ................................................................... 92

Figure 4.71 Test2 Insall Hard disk-4 .................................................................... 92

Figure 4.72 Test2 Install Hard disk-5 ................................................................... 93

Figure 4.73 Test2 Install Hard disk-6 ................................................................... 93

Figure 4.74 Test2 Installation Flash Disk-1 ......................................................... 94

Figure 4.75 Test2 Installation Flash Disk-2 ......................................................... 94

Figure 4.76 Test2 Installation Flash Disk-3 ......................................................... 95

Figure 4.77 Test2 Installation Flash Disk-4 ......................................................... 95

Figure 4.78 Test2 Installation Flash Disk-5 ......................................................... 96

Figure 4.79 Test2 Routing-1 ................................................................................. 97

Figure 4.80 Test2 Routing-2 ................................................................................. 97

Figure 4.81 Test2 Routing-3 ................................................................................. 98

Figure 4.82 Test2 Routing-4 ................................................................................. 98

Figure 4.83 Test2 Routing-5 ................................................................................. 98

Figure 4.84 Test2 Routing-6 ................................................................................. 99

Figure 4.85 Test2 Routing-7 ................................................................................ 99

Figure 4.86 Test2 Routing-8 ............................................................................... 100

Figure 4.87 Test2 Routing-9 ............................................................................... 100

Page 16: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

xv

Figure 4.88 Test Routing10 ................................................................................ 101

Figure 4.89 Test2 Routing-11 ............................................................................. 101

Figure 4.90 Test2 Routing-12 ............................................................................. 102

Figure 4.91 Hard disk installation Flowchart 3 .................................................. 104

Figure 4.92 Flash disk Installation Flowchart 3 ................................................... 105

Figure 493 SettingIP 3 Flowchart ......................................................................... 107

Figure 4.94 Setting DNS Flowchart 3 .................................................................. 108

Figure 4.95 Routing Flowchart 3 .......................................................................... 109

Figure 4.96 Disable Routing Flowchart ................................................................ 110

Figure 4.97 DHCP Flowchart ............................................................................... 111

Figure 4.98 Prototype3 Model hard disk-1 ........................................................... 112

Figure 4.99 Prototype3 Model hard disk-2 ........................................................... 113

Figure 4.100Prototype3 Model hard disk-3 .......................................................... 113

Figure 4.101 Prototype3 Model hard disk-4 ......................................................... 113

Figure 4.102 Prototype3 Model flash disk-1 ........................................................ 114

Figure 4.103 Prototype3 Model Flash disk-2 ....................................................... 114

Figure 4.104 Prototype3 Model Flash disk-3 ....................................................... 114

Figure 4.105 menu Model 3 .................................................................................. 115

Figure 4.106 Prototype 3 Model setting IP-1 ....................................................... 115

Figure 4.107 Prototype 3 Model Setting IP-2 ....................................................... 116

Figure 4.108 Prototype3 Model Setting IP-3 ........................................................ 116

Figure 4.109 Prototype3 Model Setting IP-4 ........................................................ 116

Figure 4.110 Prototype 3 Model Setting IP-5 ....................................................... 117

Figure 4.111 Prototype 3 Model DNS-1 ............................................................... 117

Figure 4.112 Prototype 3 Model DNS-1 .............................................................. 117

Figure 4.113 Prototype3 Model routing 1 ............................................................ 118

Figure 4.114 Prototyp3 Routing-2 ........................................................................ 118

Figure 4.115 Prototype3 Routing-3 ...................................................................... 119

Figure 4.116 Disable routing ................................................................................ 119

Figure 4.117 DHCP interface-1 ............................................................................ 119

Page 17: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

xvi

Figure 4.118 DHCP interface-2 ............................................................................ 120

Figure 4.119 DHCP Interface-3 ............................................................................ 120

Figure 4.120 Test3 Flash disk-1 ........................................................................... 121

Figure 4.121 Test3 Flash disk-2 ........................................................................... 122

Figure 4.122 Test3 Flash disk-3 ........................................................................... 122

Figure 4.123 Test3 Flash disk-4 ........................................................................... 123

Figure 4.124 Test3 Flash disk-5 ........................................................................... 123

Figure 4.125 Configuration Interface Test ........................................................... 124

Figure 4.126 Menu Configuration Interfaces ....................................................... 124

Figure 4.127 Test3 Setting IP-1 ........................................................................... 125

Figure 4.128 Test3 Setting IP-2 ............................................................................ 125

Figure 4.129 Test3 DNS-1 .................................................................................... 126

Figure 4.130 Test3 DNS-2 .................................................................................... 126

Figure 4.131 Test DHCP-1 ................................................................................... 127

Figure 4.132 Test DHCP-2 ................................................................................... 127

Figure 4.133 Test Routing-1 ................................................................................. 128

Figure 4.134 Test Routing-2 ................................................................................. 128

Figure 4.135 Test Routing-3 ................................................................................. 129

Figure 4.136 Test Disable Routing ....................................................................... 129

Page 18: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

xvii

TABLE LISTS

Table 2.1 Subnet mask .......................................................................................... 22

Table 2.2 Operations in Iptables ........................................................................... 26

Table 2.4 Parameters in iptables ........................................................................... 26

Table 3.1 Router Features ..................................................................................... 40

Page 19: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

xviii

APPENDIX LISTS

Appendix 1 Interview .......................................................................................... A-1

Appendix 2 Information User Requirement ........................................................ B-1

Appendix 3 Feedback (1) ..................................................................................... B-2

Appendix 4 Feedback(2) ...................................................................................... B-3

Appendix5 Feedback(3) ....................................................................................... B-4

Appendikx 6 Script .............................................................................................. C-1

Page 20: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

1

CHAPTER I

INTRODUCTION

1.1 Background

Internet is important for most people today. Most people might not know

the stand for Internet. Internet stands for interconnected-networking. Everyone in

everywhere usually use Internet for completing their task, communicating with

their family and friends or getting information. To connect Internet, every

computer or end device needs IP address.

Based on Iwan (2009:255), Internet Protocol (IP) is a protocol that is

connectionless and unreliable. In IP header, there is a field that contains of IP

address. IP address is as sign in packet source and destination sources. And based

on Dede (2008:63), Internet Protocol is a method or protocol to transmit the data

to internet. Every computer in networks has to a unique IP address that identified

a computer to other computers. Anjik and Rianto (2008:99) said that IP address is

used as logical identity in a host in the network. An IP address consists of

network-id and host-id. If a network did subnetting, so an IP address becomes

consist of network-is, subnet-id, and host-id.

There is routing IP to connect among different networks. Routing concept

is a process to make a route to connect a network to others networks. Data from a

device connected to internet is transmitted in datagram and it is identified by IP.

Datagram has a destination IP address that will be checked by Internet Protocol to

be transmitted to destination IP address (Anjik and Rianto, 2008:99). Example,

there are 3 networks (A, B, and C). Host A set is set 192.168.12.1 as ip address

and 255.255.255.0 as netmask, host B is set 192.168.12.2 as ip address and

Page 21: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

2

255.255.255.0 as netmask and network C is set 192.168.13.1 as ip address and

255.255.255.0 as netmask. Host A and host B can communicate directly because

they have same network-id, but host A and host B cannot connect and

communicate with a host C because host C has different network-id with host A

and host B though they have same netmask. To make host C be able communicate

with host A and B, router is needed.

Routing is performed by a router. It means the router could know the

route that will be passed by the packet. The packet will be sent whether to host in

same network or host in different networks. If the packet is for a host in another

network, router will forward the packets to that network. Otherwise, if the packets

is for a host in same network, router will block packet so the packet cannot go out

and will not flood others networks (Iwan, 2009:58).

There are some routers, such as Cisco router, Mikrotik, Freesco and

RouSer router.

1. Cisco. Based on information from a www.cisco.com, Cisco is a big vendor

that produces and sells the network devices. One of its products is Cisco

router. Cisco routers are highly secure, flexible, and built to be compatible

with future technologies. There are kinds of Cisco router products and

every product has their advantages. The price of one of wireless routers is

$89.99.

2. Mikrotik. According to its website in a www.mikrotik.com and

wiki.mikrotik.com, Mikrotik made for use routerOS and routerBoard.

Mikrotik routerOS is the operating system of MikrotikBoard hardware.

Mirkrotik router has the necessary feature such as routing, firewall,

bandwidth management, etc. Mikrotik routerOS made Linux-based. Some

Page 22: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

3

utilities in Mikrotik routerOS have licenses. The price of license Mikrotik

routerOS (without DOM) is Rp.400.000, 00.

3. Freesco. Based on the website www.freesco.org, Freesco was developed in

the open source tradition as an alternative to routing products offered by

Cisco, 3-Com, Accend, Nortel etc. Freesco is open source, stable,

inexpensive, easy to use, extremely versatile and flexible and free. Freesco

is based on the Linux operating system. And incorporates many of the

features of other Linux distributions into software that fits onto a single

1.44 meg floppy diskette.

4. RouSer. According to Zulfikri Ali, RouSer is a mini Linux distribution that

is able to transform a computer into a PC router. The feature of RouSer are

routing, firewall, and bandwidth management. It uses Command Line

Interface. The license is GNU GPL.

Based on information from those routers, every router has their advantages

and weakness. Cisco routers are highly secure, flexible, and built to be

compatible with future technologies, but the price is expensive enough for small

company that only has lower cost. Besides that, there is Mikrotik routerOS.

Mikrotik routerOS made Linux-based, but the utilities are not open source. The

users need to buy the licenses. Moreover, there is really open source router, called

Freesco. Freesco is open source, stable, inexpensive, easy to use, extremely

versatile and flexible and free, but it uses floppy disk as media to install that

router. Almost laptop products do not provide floppy disk now. The last is

RouSer. It has the open source license and all utilities to develop the router are

open source, but it still uses Command Line Interface as its interface.

Some of those routers are already popular for student and the lectures. For

the lecturers, the lecture needs router that can be used for practicing to explain

Page 23: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

4

about the function of router itself, but sometimes the lecture is hard to find “free”

router that can be used for teaching and practicing. The students know how to

setup the router, but sometimes they do not know how it works. The student

cannot experiment more with the routers that already exist. Besides not knowing

about the router works, the students do not how to develop the router itself and do

not know how to build the interface for installing the router, even if the routers are

open source router. It makes they get wrong perception about open source utilities

or even about linux itself. Sometime student or even a lecture thinks that linux is

an operating system. According to Stallman (1997), Linux is the kernel: the

program in the system that allocates the machine’s resources to other programs

that you run. The kernel is essential part of an operating system, but useless by

itself, it can only function in the context of a complete operating system.

According to the examples of router and the explanation above, the writer

is planning to develop a router that is simple, portable (using flash disk), open

source router and can be learnt by students and used for teaching. Open source

means the source code is “open”. The source code is usually provided in internet

so the other developers can develop, learn the code, or fix the code if the bug is

found. Moreover, the user can use the open source software freely without license

and share the software or source code to others. The advantages from the open

source software is the software could be developed by other developer so the

software could be more better and could be developed in accordance with what

people needed. Portable means the router can be everywhere by installing in flash

disk and the user could save the configuration in the flash disk. Interface used in

the router is also simple so the user can access and use it easily.

Page 24: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

5

Based on that reasons, the titled for this thesis is “Developing Small

Portable Router GNU/Linux with Text User Interface For Student

Learning”.

1.2 The Problem Definition

Based on the background, there are some points to decide the problem

definition. The first, almost routers do not use open source utilities to develop the

router; second, the router in example are less portability, no one could install in

flash disk or portable storage; the third is the interface of those routers are not

inside the system; the fourth is the students cannot know how to develop a router

that can be installed in portable storage because the license and the last is interface

for installing the router, the students do not know how develop installer. So that

the problem definition in this thesis is how to develop a portable router

GNU/Linux that is simple, all utilities are open source, included interface inside

the system and build interface for installing the router.

1.3 The Scope of Problem

In order to avoid deviation in this discussion, the author would like to

discuss the scope of the problems:

1. The Building Interface. Interface was built with Text User Interface by using

bash scripting. The interfaces consist of installation interfaces and

configuration interfaces.

2. This router can do static routing.

Page 25: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

6

3. Using Linux kernel and all utilities are open source.

4. For IPv4 only.

5. For DHCP interface, it sets in subnet mask 255.255.255.0

6. Student can use the router for learning.

1.4 Aims and Objectives

The objectives of the research are:

1. To develop a portable router GNU/Linux that is open and easy to be used by

end user (student and lecture).

The aims that will be got in the research are:

For the writer:

1. To make understand deeper the function and how the router works.

2. To learn about how to develop open source software

For the student:

1. The students understand how the router works.

2. The students know about the developing portable operating system that has

function as a router.

3. The lecture can use this portable router for teaching and practicing.

1.5 Contents of Thesis

CHAPTER I INTRODUCTION

This chapter discussed about research background, problems definition,

scope of problems, research aims and objectives, and research format writing.

CHAPTER II LITERATURE REVIEW

Page 26: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

7

In this chapter is explained about literature review such as definition

router, the function of router, explanation about operating system, explanation

about Linux and package needed in a router, and tools used in the research.

CHAPTER III RESEARCH METHODOLOGY

This chapter discuss and give obviously explanation about research

methodology which is used in router research, so it can be discovered the planning

that would be done.

CHAPTER IV DISCUSSION AND IMPLEMENTATION

This chapter discuss about design of the router and that will be developed

and analyze in detail about the research. This chapter also contains about the

testing of what the writer will have been done in the research.

CHAPTER V SUMMARY

Conclusion and suggestion for the writer is written in this chapter.

_

Page 27: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

8

CHAPTER II

LITERATURE REVIEW

2.1 Operating System

2.1.1 Definition Operating System

According to Tanenbaum (2006:1), computer software can be divided

roughly into two kinds: system programs, which manage the operation of the

computer itself, and application programs, which perform the actual work the user

wants. The most fundamental system program is the operating system, whose job

is to control all the computer's resources and provide a base upon which the

application programs can be written. Operating Systems perform two basically

unrelated functions, extending the machine and managing resources.

a. The operating Systems as an Extended Machine.

The function of the operating system is to present the user with the

equivalent of an extended machine or virtual machine that is easier to program

than the underlying hardware.

b. The operating System as a Resource Manager.

The concept of the operating system as primarily providing its users

with a convenient interface is a top-down view. An alternative, bottom-up,

view holds that the operating system is there to manage all the pieces of a

complex system. Modern computers consist of processors, memories, timers,

disks, mice, network interfaces, printers, and a wide variety of other devices. In

the alternative view, the job of the operating system is to provide for an orderly

Page 28: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

9

and controlled allocation of the processors, memories, and I/O devices among

the various programs competing for them.

According to Silberschatz, et al (2006:3), an operating system is a program

that manages the computer hardware. It also provides a basic for application

programs and acts as an intermediary between the computer user and the computer

hardware. Mainframe operating systems are designed primarily to optimize

utilization of hardware.

Still based on Silberschatz, et al (2006:3), a computer system can be

divided roughly into four components: the hardware, the operating system, the

application programs and the users. The hardware-the central processing unit

(CPU), the memory, and the input/output devices provides the basic compiling

resources for the system. The application programs-such as word processors,

spreadsheets, compiler, and web browsers define the ways in which these

resources are used to solve users computing problems. The operating system

controls and coordinates the use of the hardware among the various application

programs for the various users. The operating system' role:

a. User View.

Operating system is designed mostly for ease of use, with some

attention paid to performance and none paid to resource utilization-how various

hardware and software resources are shared. In other cases the operating

system is designed to maximize resource utilization to assure that available

CPU time, memory, and I/O used efficiently and that no individual user takes

more than her fair share.

Page 29: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

10

b. System View

An operating system is as a resource allocator. A computer system has

many resources that may be required to solve a problem: CPU times, memory

space, file storage space, I/O device, and so on. The operating stem acts as the

manager of these resources. The operating system must decide how to allocate

them to specific programs and users so that it can operate the computer system

efficiently and fairly.

An operating system is a control program. A control program manages

the execution of user programs to prevent errors and improper use of the

computer. It is especially concerned with the operation and control of I/O

devices.

Based on Stalling (2008:51), an OS is a program that controls the

execution of application programs and act as an interface between applications

and the computer hardware. It can be thought of as having three objectives:

1. Convenience: An OS makes a computer more convenient to use.

2. Efficiency: An OS makes computer system resources to be used in an

efficient manner.

3. Ability to evolve: An OS should be constructed in such a way as to

permit the effective development, testing, and introduction of new

system functions without interfering with service.

Page 30: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

11

2.1.2 Components of Operating System

According to Masyarakat Digital Gotong royong (2006:10), an operating

system can be divided into some components.

a. System Process Management.

A process is a program that is being executed. Operating System has

responsibility in activities in a process management, such as:

1. To make and to delete user process and process system

2. To delay or to continue the process.

3. Providing mechanism to synchronize the process.

4. Providing mechanism to communicate the process.

5. Providing mechanism to manage the deadlock.

b. System Memory Management.

Main memory is an array that is from word or byte, the size is until

hundred or million. Every byte has its own address. Main memory has function

as data/instruction storage that the data access is used by CPU and input/output

device. Main memory is volatile data storage. Operating System has

responsibilities in memory management:

1. Keeping the track from the used memory and who used memory.

2. Choosing the program that will be loaded into memory.

3. System File Management

The file is the collection of information that related each other, in

accordance with the objective of the owner of the file. The file can have

structure that is hierarchy (directory, volume, etc). Operating System

Page 31: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

12

implements the concept from the file by managing storage mass media such as

tapes and disk.

1. Creating and deleting file

2. Creating and deleting directory

3. Supporting the file and directory manipulation

4. Doing file mapping

5. Backup file to non-volatile storage

c. System Management I/O

It is called device manager. Operating system components for system

management I/O are:

1. Temporary storage data from and to system input/output.

2. Spooling: scheduling the usage of input/output

3. Providing drive.

d. Management Secondary Storage

Data that is saved in main memory is temporary. So that why, to save a

whole of data and computer program are needed permanent secondary storage

that can be able store many data as backup from main memory. Examples of

secondary storage are hard-disk, diskette etc. Operating system has

responsibilities in management secondary storage:

1. Free space management

2. Storage allocation

3. Scheduling disk

Page 32: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

13

e. Protection System

It is used to control access that is occurred by programs, processor, or

user. Protection mechanism should be:

1. Can differ user that has privilege to access data and ordinary user.

2. Specific control

3. Providing tools to implement the system.

f. Network

Distribution System is a collection of processors that has its own

memory and own clock. Those processors connect via network

communication. Distribution system provides user access to kind of resources.

That access causes increased computing speed an increases the ability of

providing data.

g. Command-Interpreter System

Operating system waits instruction from the user (command driven).

Programs that read instruction and interpret control statement usually called:

control-card interpreter, command-line interpreter, and sometimes it are called

shell.

2.1.3 Operating System Structure

According to Silberschatz,et al(2005:99), a system as large and complex as

a modern operating system must be engineered carefully if it is to function

properly and be modified easily. A common approach is to partition the task into

small components rather than have one monolithic system. Each of these modules

Page 33: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

14

should be a well-defined potion of the system, with carefully defined inputs,

outputs, and functions. How components of operating system interconnected and

melded into a kernel:

a. Simple Structure.

Many commercial systems do not have well-defined structures.

Frequently, such operating systems started as small, simple, and limited

systems and then grew beyond their original scope. MS-DOS is an example of

such a system. It was written to provide the most functionality in the least

space, so it was not divided into modules carefully.

Another example of limited structuring is the original UNIX operating

system. UNIX is another system that initially was limited by hardware

functionality. It consists of two separable parts: the kernel and the system

programs. The kernel is further separated into a series of interfaces and device

drivers, which have been added an expanded over the years as UNIX has

evolved. The kernel provides the file system, CPU scheduling, memory

management, and other operating system functions through system calls.

b. Layered Approached

A system can b made modular in many ways. One method in the layered

approach, in which the operating system s broken up into a number of layers

(levels). The bottom layer (layer 1) is the hardware, the highest (layer N) is the

user interface.

An operating system layer is an implementation of an abstract object made

up of data and the operations that can manipulate those data. A typical

Page 34: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

15

operating system layer-layer M consists of data structures and a set of routine

that can be invoked by higher-level layers. Layer M, in turn, can invoke

operations on lower-level layers.

The main advantage of the layered approach is simplicity of construction

and debugging. The layers are selected so that each uses functions (operations)

and services of only lower-level layers.

c. Microkernels

Microkernels structures the operating system by removing all nonessential

components from the kernel and implementing them as system and user-level

programs. The result is a smaller kernel. Microkernls provide minimal process

and memory management, in addition to a communication facility.

The main function of the microkernels is to provide a communication

facility between the client program and the various services that are also

running in user space. Communication is provided by message passing.

One benefit of the microkernel approach is ease of extending the operating

system. All services are added for user space and consequently do not require

modification of the kernel. When the kernel does have to be modified, the

changes tend to be fewer, because the microkernel is smaller kernel. The

resulting operating system is easier to port from one hardware design to

another. The microkernel also provides more security and reliability, since

most services are running as user rather than kernel process. If a service fails,

the rest of the operating system remains untouched.

Page 35: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

16

2.1.4 GNU/Linux System

According to Stallman (1997), many computer users run a modified

version of the GNU system every day, without realizing it. Through a peculiar

turn of events, the versions of GNU which is widely used today is often called

“Linux”, and many of its users are not aware that is basically the GNU system,

developed by the GNU project.

Still based on Stallman (1997), Linux is the kernel: the program in the

system that allocates the machine's resources to other programs that you run. The

kernel is essential part of an operating system, but useless by itself, it can only

function in the context of a complete operating system. Linux is normally used in

combination with the GNU operating system: the whole system is basically GNU

with Linux added, or GNU/Linux. All the so-called “Linux” distributions are

really distributions of GNU/Linux.

Based on MDGR (2006:96), in Linux design, Linux is like UNIX

implementation nonmicrokernel. It is a multiuser system, multi tasking system

that is compatible with UNIX. Linux system consists of 3 important parts: Kernel,

Libraries and utilities.

a. Kernel

Based on syafii (2004:1), at the first time, Linux is a kernel made by Linus

Torvalds, a student in Helsinky University, Finland.

According to Negus (2008:7), The Linux kernel (which was created and is

still maintained by Linus Torvalds) is what gives Linux its name. The kernel is

the software that starts up when you boot your computer and interfaces with

Page 36: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

17

the programs you use so they can communicate effectively and simply with

your computer hardware.

Based on Stallman (1997), Linux is the kernel: the program in the system

that allocates the machine's resources to the other programs that you run. The

kernel is an essential part of an operating system, but useless by itself, it can

only function in the context of a complete operating system.

Based on MDGR (2006:97), the Linux kernel forms the core of Linux

operating system, it provides all functions to run process and provides system

services to give the setting and the access protection to hardware. Kernel

implements all needed features in order to be able work as operating system.

Interface from operating system that is in running application is not managed

by kernel, but the application make calls to libraries, then call operating system

services that are needed.

According to Dewi and Arie (2004), kernel is divided into 2 versions.

Stable version characteristic is it has even minor version like 2.4.0, 2.4.20,

2.4.21. Development version characteristic is it has odd minor version, like

2.5.0, 2.5.2, 2.5.3. Kernel Linux can b downloaded in http://www.kernel.org.

Kernel consists of modules needed by hardware in computer such as network

card, vga card, printer etc. Kernel need to be compiled to run the modules. The

steps to compile the kernel are make config to call kernel configuration here

has to become root. Make dep is to read file configuration and process what

will be compiled and what will not be compiled. Make clean is to delete

previous compilation. Make zImage is to form compilation kernel that will be

Page 37: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

18

put in /usr/src/linux/arch/i386/boot directory named zImage. Make modules ;

make modules_install is to make kernel file module and do installation kernel

module that will be put in /lib/modules directory.

b. Libraries Systems

According to MDGR (2006:97), system libraries provide kind of

functions. In the lower-level, they allow application to ask request in system

kernel service. Making a system-call involve transfer control from useless user

mode to used user mode. Libraries duty to collect system-call argument ad

manage those arguments in special form needed to do system-call.

Still based on MDGR (2006:97), Libraries also can provide more complex

version from standard system-call, example, buffered function file-handling

from C language. Libraries also provide sorting algorithm, mathematic

function and string manipulation. All function needed to support UNIX

application or POSIX is implemented in system libraries.

c. Utilities System

According to MDGR (2006:98) Linux system contains system utilities

and user utilities. System utilities include all program needed to analyze

system, such as programs to configure network device or to load kernel

modules. Not all utilities do important system administrative function. UNIX

user environment consists of standard utilities to do daily tasks, such as making

directory lists, moving and deleting files or show contain of files. More

complex utilities can do word-processing function. If combined, those utilities

form standard utilities.

Page 38: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

19

2.2 Core

According to Saxena (2010), Core OS Layer contains all the

middleware/OS service domains and the hardware adaptation services. It includes

the Linux kernel and all the middleware needed to define hardware and usage

model independent API for building both native applications and web run time

applications.

According to official apple, the core OS layer contains the low-level

features that most other technologies are built upon. Even if you do not use these

technologies directly in your applications, they are most likely being used by

other frameworks. And in situations where you need to explicitly deal with

security or communicating with an external hardware accessory, you do so using

the frameworks in this layer,

2.3 Linux Live

According to Tomas (2011), Linux Live is a set of shell scripts allows you

to create your own Live Linux from an already installed Linux Distribution. The

Live system you create will be bootable from CD_ROM or a disk device, for

example USB Flash Drive, USB Pen Drive, Camera connected to USB port, and

so on. People use Linux Live scripts to boot Linux from iPod as well. Interesting

feature of Linux Live Script:

1. Persistent changes

2. Adding modules on the fly

3. installable system to disk.

Page 39: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

20

2.4 Router

Based on Dede (2010:25), router has ability to forward packet IP from one

network to other networks that possible to have many routes among the routers.

Router also can be used to connect some LAN, so the traffic from LAN can be

handled. If two or more LAN connected to the router, every LAN consider as

different sub network.

According to iwan (2009:58), a router has routing function. It means,

router can know the route information (called packet) will be forwarded, whether

the packet for host in same network or for host in different networks. If the packet

is for a host in different networks, the router will forward to that network. If the

packet is for a host in the same network, the router will block the packet to go out,

so the packets will not “flood” to other networks.

According to Fathul (2001:240), router is a hardware that route data from

LAN to cellular. Router is used to guarantee that only machine who has authority

that can transmit data to LAN. Besides that, router is also used to check the error,

save statistic the usage of network, and support firewall.

2.5 IP Address

According to Dede (2008: 63), Internet Protocol (IP) is a method or

protocol to send the data to internet. Every computer in internet at least has to

have a unique IP address that identify computer to other computer.

Page 40: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

21

2.5.1 IP address version 4 (IPV4)

IP address is a binary number 32 bit that is separated with a dot in every 8

bit. Every 8 bit is called octet. The addressing of IP in 32 bit consists of subnet

address and host. The example:

11000000000010100001111000000010

The addressing of 32 bit is divided into four octets (8 bit per section):

11000000.00001010.00011110.00000010

Every octet is changed into decimal number become:

192.10.30.2

2.5.2 IP Class

According to Dede (2008:65), Ip address is grouped in 5 classes: class A,

class B, class C, class D, and class E. The differences among 5 classes are in how

big the network and the calculation of hosts. Class A is used in few networks, but

the networks have many hosts. Class C is used in many networks but, only has

few hosts. Class D and class E are not common to be used.

Based on Anji and Rianto (2008:62), class A has 8 bit network number

and 24 bit host number, class B has 16 bit network number and 16 bit host

number, and class C has 24 bit network number and 8 bit network host. In

Addressing, not all IP classes are used. The used classes are class A, B, and C.

Class D is used to multicasting and class E is used to research.

Page 41: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

22

Figure 2.1 Class IP

2.5.3 Subnet Mask

According to dede (2008:71), every network has number subnet known as

subnet mask or address mask. Subnet mask separate network id and host id.

Subnet mask is needed by TCP/IP to decide whether the network is local network

or non local network. For non local network, it has to transmit packet data via

router. So the subnet mask is needed to filter ip address and packet data that come

in and out from the network.

Table 2.1 Subnet mask

Subnet mask CIDR

255.128.0.0 /9

255.192.0.0 /10

255.224.0.0 /11

255.240.0.0 /12

255.248.0.0 /13

255.252.0.0 /14

255.254.0.0 /15

255.255.0.0 /16

255.255.128.0 /17

255.255.192.0 /18

255.255.224.0 /19

255.55.240.0 /20

255.255.248.0 /21

255.255.252.0 /22

Page 42: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

23

255.255.254.0 /23

255.255.255.0 /24

255.255.255.128 /25

255.255.255.192 /26

255.255.255.224 /27

255.255.255.240 /28

255.255.255.248 /29

255.255.255.252 /30

2.6 Routing

2.6.1 Routing Concept

According to Dewi and Arie (2004), the objective of protocol routing is to

get the best way from some routers networks through packet data from source

network to destination network.

Based on Anjik and Rianto (2008:99), routing concept is a process to

make a route to connect a network to others networks by using router. Data from a

device connected to internet, defined by IP, is transmitted in datagram. Datagram

has a destination IP address that will be checked by Internet Protocol to be

transmitted to destination IP address. If source address information is in same

network with the destination address, so the data will be transmitted directly, but

if the destination address is in different networks, so datagram will transmit to the

right network.

2.6.2 Static Routing

Based on iwan (2009:515), static routing needs network administrator in

route decision. Static routing is compatible for a network that only has one route.

Example is LAN with internet connection.

Page 43: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

24

According to Anjik and Rianto (2008:102), static route is the routes to a

host or destination network that are input manually by network administrator to

router routing table. Static route defines next IP address hop router and inter local

used to forward packet to the destination (next router hop). Static route has the

advantage to save the network bandwidth because the static route does not make

traffic route update-to give information the change of route that is applicable in

other routers. But the static router use needs extra time in network management.

This is because the administrator h to do update route table when there is the

change of network configuration.

2.6.3 Dynamic Routing

Based on iwan (2009:515), dynamic routing is using routing protocol that

can decide the route by itself based on every situation and condition. Dynamic

routing is used to networks that have many routes. Dynamic routing is used by

networks which are built by some routers. Every router will give information to

the close router and then make routing table.

According to Anjik and Rianto (2008:105), dynamic routing is the way

that is used to do update/delete forwarding table automatically. Routing protocol

manage a router to be able communicate each other and give routing information

each other that can change forwarding table depend on network situation.

Page 44: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

25

2.7 Iptables

Based on netfilter, iptables is the inter space command line program used

to configure the Linux 2.4.x and 2.6.x Ipv4 packet filtering ruleset. Iptables is

used to Network Address Translation too. The iptables package also includes

ip6tables. Ip6tables is used for configurin the Ipv6 packet filter.

Based on Ahmad and Fanny (2005:68) iptables, there are 3 main labels:

a. INPUT : packet data which come from our interfaces

b. OUTPUT : packet data which go out from our interfaces

c. FORWARD: packet data which pass the route.

Based on Ahmad and Fanny (2005:71) the functions of iptables are:

a. To limit the access our networks to certain traffic data.

b. To filter the attack from outside.

c. To limit the access to our services.

Packets shoulnot be filtered are:

a. ICMP packets

b. TCP to DNS

c. FTP data

Packets that must be filtered:

a. Ping of death

b. Teardrop and Bonk (IP Defragmetation)

c. Fragment Bomb (IP Fragment)

d. IP Spoof

Based on Ahmad and Fanny (2005:71), operations in iptables are:

Page 45: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

26

Table 2.2 Operations in Iptables

Operations Options

Make new chain -N

Delete empty chain -X

Change the rules of chain -P

Show Chain Rules -L

Delete all rules -F

Make zero a matter of packet and bytes in chain -Z

Add a new rule in a chain -A

Input a new rule in certain position in a chain -I

Change the rule in a chain in certain position -R

Delete the rule in certain chain and in certain

position or in accordance with specification.

-D

Based on Ahmad and Fanny (2005:71), parameters in iptables are:

Table 2.4 Parameters in iptables

Parameter Options

Show the protocol name used, it can be tcp, udp,

icmp, or all

-p

Show the source address -s

Show the destination address -d

Show the interface input -i

Show the interface output -o

Example of using iptables. These commands were made in order all the

first policy are DROP.

Subnet A: 192.168.1.0

Subnet B: 192.168.2.0

Iptables commands are:

Page 46: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

27

# iptables -P INPUT DROP

# iptables -P OUTPUT DROP

# iptables -P FORWARD DROP

The commands to forward packets from network A to network B via

router are:

# echo 1>/proc/sys/net/ipv4/ip_forward

# iptables -A FORWARD -i eth0 -o eyh1 -j ACCEPT

# iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

The meaning of those commands are:

Make sure that forwarding table is active

Make network A can communicate with network B

Make network B can communicate with network A

2.7 Bash Scripting

2.8.1 Definition Shell

According to Rofiq (2003:7), shell is command interpreter language or a

macro processor which run the command. Shell also can be a command-

Interpreter that becomes user interface with the utilities and programming

language. Shell can make a command or a file that contains commands itself. That

new command has same status and is put in /bin directory.

Beside that, shell provides embedded programming language. Same as

high level programming language, shell interpreter also provides variable, flow

control, quoting, and function.

Page 47: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

28

2.8.2 Bourne Again Shell (/bin/bash)

According to Rofiq (2003:8), bash is one of shell. Bash is a development

from Bourne Shell. Bash was developed by Brian Fox from Free Software

Foundation. This shell has GNU copy left license so it is free used. Bash is more

growing and it becomes as shell default for Linux operating system. Some

features in Bash:

a. File Starup

b. Built-in command-Interpreter

c. Redline

d. History

e. Brace Expansion

f. Variables

g. Command Line Editor

2.9 Text User Interfaces

According to Dan Gookin (2007), in text mode, there are 2 kinds of

interfaces: command line interface (CLI) and text user interface (TUI). In CLI, the

user gives command with some arguments that sometimes make the user that is

not used to use Linux feel afraid. In TUI, the user just run application and will

face windows, dialog etc.

There are many applications that run in TUI mode, example mightnight

commander, even popular distros still use TUI as alternative installer, example

debian, ubuntu alternative,and slackware.

Page 48: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

29

There are points in TUI Linux:

a. Ncurses (library).

Ncurses is a library that provides API function, which is possible for a

programmer to write text user interface by terminal independent. This is a

toolkit to develop software “like GUI” that run in terminal emulator. Ncurses

has ability to move the cursor, to make windows, to work in color, work using

mouse etc. Today the ncurselibrary can be found in every almost GNU/Linux

distribution.

b. Dialog (utility)

According to Jeff Tranter, dialog is a utility that provides the calling

function for ncurses library, so the programmer can be easily to make a user

interface in GNU/Linux system. Dialog was created by Savio Lam ad then

modified by some developers. Dialog run under terminal emulator so it can be

easily to use with bash scripting.

Example Text User Interface made with Dialog:

a. yes/no boxes :

#!/bin/bash

dialog –yesno “Are you having fun?” 6 25

b. menu boxes : to make a menu

#!/bin/bash

dialog –menu “Choose one:” 10 30 3 \

1 red \

2 green \

Page 49: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

30

3 blue 2>/tmp/choice

3. Input boxes : to make an input box

#!/bin/bash

dialog –inputbox “Enter you name:” 8 40 2>answer

message box: to make message box

#!/bin/bash

dialog –title 'Messag' –msgbox 'Hello, world!' 5 20

4. text boxes

#!/bin/bash

dialog –textbox/etc/profile 22 70

5. info boxes

#!/bin/bash

dialog –infobox “Please wait” 10 30 ;sleep 4

6. checkliat boxes

#!/bin/bash

dialog –checklist “Choose toppings:” 10 40 3 \

1 Cheese on \

2 Tomato sauce on \

3 Anchovies off

7. radiolist boxes

#!/bin/bash

dialog –backtitle “CPU selection” \

– radiolist “Select CPU type:” 10 40 4 \

Page 50: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

31

1 386SX off \

2 386DX on \

3 486SX off \

4 486DX off

2.10 Prototyping Model

According to Aggarwal (2006:62), prototyping is the technque of

constructing partial implementation of a system so that customers, users, or

developers can learn more about a problem or a solution to that problem. It allows

users to explore and criticize proposed system before undergoing the cost of a

full-scale development. The field of prototyping software system has emerged

around two prototyping technologies, i.e., throwaway and evolutionary.

Still according to Aggarwal (2006:62), the benefit of developing prototype

are:

1. Misunderstanding between software developers and and customers may be

identified as the system functions are demostrated.

2. Missing user requirements may be detected.

3. Difficult-to-use or confusing user requirements may be identified and

refined.

4. A working system is available quickly to demonstrate the feasibility and

usefulness of the application to management.

5. The prototype serves as a basis for writing the specification of the system.

Based on Pressman (2005:83), a customer defines a set of general

objectives for software but does not identify detailed input, processing, or output

Page 51: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

32

requirement. In other cases, the developer may be ensure of the efficiency of

algorithm, the adaptability of an operating system, or the form that human/

machine interaction should take. In these, ad many other situations, a prototyping

paradigm may offer the best approach. Prototyping process describe in four

processes:

a. Communication

The software engineer and customer meet and define the overall

objectives for the software, identify whatever requirements are known, and

outline areas where further definition is mandatory.

b. Quick Plan and Quick Design

A prototyping iteration is palnned quickly ad modeling (in the form of a

“quick design”) occurs. The quick design focuses on a representation of those

aspects of the software that will be visible to the customer/ end-user (e.g.,

human interface layout or output display formats)

c. Construction of prototype

The quick design leads to the construction of a prototype.

d. Deployment delivery and Feedback

The prototype is deployed and then evaluated by the customer/user.

Feedback is used to refine requirements for the software. Iteration occurs as the

prototype is tuned to satisfy the need of the customer, while at the same time

enabling the developer to better understand what needs to be done.

Page 52: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

33

Figure 2.2 Prototyping Model (Pressman:2005)

2.11 Structured Analysis

The developer used structured analysis in analysis methodology. Based on

Gunadarma (1995:29), structured approach need standard obvious procedure and

collection data or at least need methodology that will be used in developing

information system. Structured can decide the order and can increase the

understanding capability in complex system. So that why structured is the main

characteristic in information system. “Structured” can be related in the way and

form preparation.

Still based on Gunadarma (1995:35), Tools used in structured approach is

graphic tool. However, there is some non graphic tools. The general characteristic

of structured tools is the tools based on tree concept. Hierarchy diagram, structure

diagram, Jackson diagram or Warnier diagram are the implementation of tree

concept. Some tools that are used in structured approach are SADT, HIPO,

Page 53: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

34

Jackson diagram, Warnier/Orr diagram, DFD, and structure diagram. Other tool

that usually be used is classical flowchart. It is used to explain programming

algorithm from the problem and used to explain physical component in

information system.

2.12 Object-Oriented

Based on O’Docherty, in programming terms, our objects become stand

alone modules with their own knowledge and behavior (or, if you prefer, their

own data and processes). It’s common to think of software object as a robot, an

animal, or a little person: each object has certain knowledge, in the form of

attributes, and it knows how to perform certain operations for the benefit of the

rest of the program.

Based on O’Docherty (2005:4), object-oriented programming is

programming using independent modules of data and functions that correspond to

concepts in the problem domain, such as Customer or Scrollbar.

Still according to O’Docherty, an object-oriented program works by

creating objects, connecting them together and getting them to collaborate by

sending messages to each other.

2.13 Black-box Testing

Based on Pressman (2005:434), black-box testing, also called behavioral

testing, focuses on the functional requirements of the software. That is, black-box

testing enables the software engineer to derive sets of input conditions that will

Page 54: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

35

fully exercise all functional requirements for a program. Black-box testing is not

an alternative to white-box testing techniques. Ratjer, it is a complementary

approach that is likely to uncover a different class of errors than white-box

methods.

Still based on Pressman (2005:434), black-box testing attempts to find

errors in the following categories: (1) incorrect or missing functions, (2) interface

error, (3) errors in data structures or external data base access, (4) behavior or

performance errors, and (5) initialization and termination errors. Black-box testing

tends to be applied during later stages of testing. Because black-box testing

purposely disregards control structure, attention is focused on the information

domain.

2.14 VirtualBox

According to official website of VirtualBox, VirtualBox is a powerful x86

and AMD64/Intel64 virtualization product for enterprise as well as home use. Not

only is VirtualBox an extreme feature rich, high performance product for

enterprise customers, it is also the only professional solution that is freely

available as Open Source Software under the terms of the GNU General Public

License (GPL) version 2.

Still based on official website VirtualBox, VirtualBox runs in Windows,

Linux, Macintosh, and Solaris hosts and supports a large number of guest

operating systems including but not limited to Windows (NT 4.0, 2000, XP,

Page 55: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

36

Server 2003, Vista, Windows 7), DOS/Windows 3.x, Linux (2.4 and 2.6), Solaris

and OpenSolaris, OS/2, and OpenBSD.

Page 56: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

37

CHAPTER III

RESEARCH METHODOLOGY

3.1 Research Method

This research used Prototyping Model as a system methodology. Based on

study literature that has been done in chapter 2, there are some considerations why

this research used Prototyping Model:

1. Misunderstanding between software developers and and customers may be

identified as the system functions are demostrated.

2. Missing user requirements may be detected.

3. Difficult-to-use or confusing user requirements may be identified and

refined.

4. A working system is available quickly to demonstrate the feasibility and

usefulness of the application to management.

5. The prototype serves as a basis for writing the specification of the system.

Prototyping Model steps are applied in the research:

a. Communication

In this step, the developer collects the data and information about router

and what the customers need for a router which will be developed in this

research. The developer tried to know information about the router such as the

definition of router, the functions of router, and GNU/Linux packets needed.

The developer also defines the objective by developing an open-source

Page 57: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

38

portable router. For more details about data some routers, it put in 2.

Collecting data Method.

b. Quick Plan and Quick Design

The implementation of this step in this research are design for the router

itself and design for the interface that router. In the outline, the router design in

this research consists of Linux kernel, system libraries, package management,

system services, router application and interface.

The Linux kernel version used for the router is the Linux kernel version

2.6.27. Basic applications to build the function of router are route 1.98, iptables

1.4.10. Packages in this router must be compiled, so the developer will build

the script to compile the packages in the router.

Interfaces that will be built are Text User Interface. The interfaces consist

of setting IP address and routing. Those are interfaces to communicate between

user and application. Beside that, interface to help user in doing installation.

Firstly, when the router will be installed, the router has to boot in hard

drive, the hard drive can be flash disk or CD. The developer will build the

script for booting. It still uses bash scripting.

c. Construction of prototype

In this step, the developer deployed the router and its interface based on

the quick plan and quick design.

d. Deployment delivery and Feedback

Page 58: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

39

In this step in the research, the developer implement and evaluate the

router that has been developed. The router will be tested to do its function and

if there is error, the developer can fix the software.

Some functions of the router in this research that will be tested

installation interface and configuration interface. Installation interface consist

of hard disk installation and flash disk installation. Configuration installation

consist of interface that has related with routing configuration.

3.2 Collecting Data Method

3.2.1 Method of Collecting Primary Data

Interview was used for collecting primary data. The developer interviewed

one of lecture and one of a Cisco trainer in UIN Syarif Hidayatullah, Mr.

Wahyudi, MT, CCNA. The interview was held on Tuesday, June 7th

2001. The

discussion was about definition router and the function of the router in general.

Mr. Wahyudi said that router is a device in layer 3. The function of router is for

routing, beside that router can be used to choose the best paths. Firewall is

important or not depends on the needs. In router itself, there is access list for

firewall. In this router, the developer use iptables packet for firewall.

Based on the interview, the developer can get information about the router.

The function of the router is for routing. In this portable router, the routing will be

doing by iptables packet.

Page 59: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

40

3.2.2 Method of Collecting Secondary Data

Study Literature was used for his method. It started from collecting

information and getting data about the router, networking, Linux kernel, and

application GNU/Linux by reading books, forum in the internet, websites that has

a correlation with the research and two journals. This method can help find the

problem and objectives from this research.

Based on data that was got from study literature, router cisco 1760 has 39

features, Mikrotik has about 24 features, fresco has around 9 features and RouSer

has around three features. The features comparison among the routers:

Table 3.1 Router Features

Cisco Router Mikrotik Router Freesco RouSer

1. Open Shortest Path

First 2. Enhanced Interior

Gateway Routing

Protocol

3. Hot Standby Router

Protocol

4. Voice over Frame

Relay

5. Survivable Remote

Site Telephony

6. Session Initiation

Protocol

7. Media Gateway

Control Protocol

8. Coder/decoder

9. Customer premises

equipment

10. Intrusion

detection system

11. IP Security

12. Internet Key

Exchange

13. Certificate

Enrollment Protocol

14. Password

1. Firewall and NAT

2. Routing: static

routing , RIPv1/v2,

OSPF v2, BGPv4

3. Data Rate

Management

4. HotSpot

5. Point-to-Point

tunneling protocols

6. Simple tunnels

7. IP security

8. Proxy-FTP and

HTTP

9. DHCP

10. VRRP

11. UPnP- Universal

Plug-and-Play

12. Network Time

Protocol

13. Monitoring/

Accounting

14. SNMP

15. M3P-Mikrotik

Packet Packer

Protocol for

Wireless links and

Ethernet.

16. MNDP-Mikrotik

Neighbor Discovery

1. A Time server.

2. A DHCP server

3. A HTTP server

4. A FTP server

5. A DNS server

6. A SSH server

7. A print server

(require TCP/IP

printing client

software)

8. RAS-Remote

Access Server

9. PPPoE and PPtP

client

1. Routing

2. Firewall

3. bandwidth

management.

Page 60: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

41

Authentication

15. Protocol/Challeng

e Handshake

Authentication

Protocol

16. Remote Access

Dial-In User

Service

17. Layer 2 Tunneling

Protocol

18. Generic routing

encapsulation

19. Layer 2

Forwarding

20. Link

fragmentation and

interleaving

21. Multilink PPP

22. Low-latency

queuing

23. Weighted

Random Early

Detection

24. Committed

Access Rate

25. Weighted Fair

Queuing

26. Generic traffic

shaping

27. Resource

Reservation

Protocol

28. Differentiated

services code point

29. Frame Relay

Fragmentation

30. Frame Relay

traffic shaping

31. Compressed Real-

Time Transport

Protocol

32. Point-to-Point

Protocol

33. Serial Line

Internet Protocol

34. PPP over Ethernet

35. ISDN leased line

36. Dynamic Host

Configuration

Protocol

Protocol.

17. Tools

18. Wireless

19. Bridge

20. VLAN

21. Synchronous

22. Asynchronous

23. ISDN

24. SDSL

Page 61: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

42

37. Network Address

Translation/Port

Address Translation

38. Network-based

application

recognition

39. Simple Network

Management

Protocol

3.3 Analysis Method

The developer uses structured analysis in analysis methodology because

structured analysis is simpler and programming language that is used in this

research is structured programming. Besides that, bash scripting is still not be abe

to do object-oriented because bash scripting is only shell script that use sytems

utilities. The developer uses flowchart as a tool in this research because the

flowchart model is easy to be understand, so that the ordinary user can understand

and can give the idea for the prototype in the research. The developer

implemented the structured analysis as analysis methodology in this research.

Firstly, the developer decided the research method. This research used prototyping

as the research method. The developer had considerations why this research had

to use it. Some considerations using the prototyping model were flexible, be able

produce the interactive user interface, and the user can join in developing in the

research.

The steps technique in developing the router are building installer,

compiling the packets, building the interfaces and then testing the router. The

tools that are used in this research are packets; route 1.98, iptables 1.4.10, and

Page 62: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

43

squid 3.1.11, and then squashfs to compress the data into lzm type, and packet

dialog to build the interface and installation.

The algorithm that are needed in this research are about the installation,

compiler and for user interface;setting IP program, routing program, and firewall.

From algorithm, the developer will make the flowchart from each algorithms. So,

this research will need 5 flowchart.

3.4 Testing Method

This research uses Black-box testing in testing method. Black-box testing

is chosen as this method because it can be possible to detect the error in

specification and compliance to requirements.

This router will be tested into 2 parts: installation interface and

configuration interface. Installation interface is about installing in flash disk or

portable storage. Configuration interface is about setting features in the router

based on the customer requirements. Those program need to be tested to know all

are running well or not.

Page 63: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

44

CHAPTER IV

DISCUSSION AND IMPLEMENTATION

In this chapter, there are three prototypes that have been done in the

research.

4.1 First Prototype

4.1.1 Communication

The developer tried to find the objectives of this research and user

requirement.

4.1.1.1 Objectives of this research

After collecting information from the customer (in this case the customers

are the lectures), interview and study literature (detailed in 3.2.2 Method of

Collecting Secondary Data), the objectives of developing this routers are to

develop a router that has basic routing function, portable (using flash disk),

simple, open source, and has interfaces inside the system.

4.1.1.2 User Requirements

Based on information getting from study literature and interview, the

function of router is for routing. In this research, the user requirements for the

router are:

1) The router can do static routing.

2) The router is for IP version 4.

3) Building the installation Text User Interface:

Page 64: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

45

a. Installation to flash disk. For the input location of flash disk, the user still

needs to input the partition that he has manually. The user choose the

location of flash disk automatically.

b. Hard disk PC. The user input available hard disk that will be installed

manually. The router cannot detect available hard disk yet.

4) Building the configuration Text User Interfaces

a. Interface for setting ip address. Setting IP interface include DNS and

setting IP. After the user set up IP address, the user will be asked to input

DNS directly.

b. Interface for routing. For this interface, the algorithm is still complex for

routing algorithm.

5) Developing using Linux kernel.

6) All packets needed are open source.

4.1.2 Quick Plan and Quick Design

4.1.2.1 Quick Plan

Figure 4.1 Quick Plan

Page 65: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

46

After communication, the developer was doing quick plan. In the quick

plan, there are 3 steps to develop the router. There are preparation, installation

interfaces, and configuration interfaces.

1. Preparation

In the preparation step, the developer prepared the network topology. The

topology of router is used as a guidance to test the router.

Figure 4.2 Topology

Besides preparing network topology, the developer also prepared what

tools that are needed in the developing the router. Tools that are needed in

developing the router are:

a) Core. The router uses core slackware. That core can be downloaded in

http://www.slax.org/modules/1/dl/001-core.lzm.

b) Kernel Linux. The kernel that is used in the router is kernel version 1.4.2.

Actually the kernel already include in core, but it can be downloaded

separately in ftp://ftp.slax.org/Linux-Live/kernels/2.6.27.27/linux-2.6.27.27-

i486-1.tgz.

Page 66: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

47

c) Toroo live tools. It is used to make ISO image for the router. It can be

downloaded in http://toroo.in/tools/toroo-live-tools-6.3.0.tar.gz.

d) Dialog source code v1.1. It is used for interface. It can be downloaded in

http://linux.softpedia.com/get/System/Software-Distribution/Dialog-

7923.shtml.

e) Iptables. Iptables that is used is iptables version 1.4.2. It can be downloaded in

http://www.netfilter.org/projects/iptables/files/iptables-1.4.2.tar.bz2.

f) VirtualBox. VirtualBox that is used is VirtualBox version 4.0.10.

2. Installation Interfaces

There are two kinds of installation in this router, installation in hard

disk/PC and installation in flash disk.

a) Hard disk Installation

Page 67: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

48

Figure 4.3 Hard disk Installation Flowchart

Page 68: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

49

Based on flowchart in Figure 4.3 about hard disk installation, the

algorithms in hard disk installation are:

The program will ask whether the user want to create new partition or

not.

If the user wants to create new partition, the program will show a help

to help user in partition the hard disk.

If the user does not want to create partition, the program will ask the

user to input partition to install the router.

The partition will be formatted by the program

b) Flash disk Installation

The developer created the flowchart first before building the flash disk text

user interface.

Figure 4.4 Flash Disk Installation Flowchart

Page 69: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

50

Based on Figure 4.4 Flash disk Installation Flowchart, The flash disk

installer algorithm:

The program will show where the media or flash disk mounted.

The program will ask the user to input the flash disk location.

The installation process is running. The router system will be copied

into flash disk or portable device.

The program will install boot loader to flash disk.

The program will set the flash disk, so that when the flash disk plug-in

in the laptop, it will run directly.

3. Configuration Interfaces

The developers build two interfaces, setting IP interface and routing

interface.

a) Setting IP

In order to not make wrong program in setting IP, it needed to make the

flowchart first.

Page 70: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

51

Figure 4.5 Setting IP Flowchart

Page 71: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

52

The algorithm for setting IP interface:

Setting looping to process inputting ip address, netmask, and

interface. Looping is set until twice looping.

Declare the variables that are needed for setting IP.

The program will ask user to input the interface, IP address and

netmask that will be set for the network.

Process looping occurs.

After that the user will be asked to set gateway ad DNS.

b) Routing

Before building routing program, flowchart routing needed to be made.

Page 72: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

53

Figure 4.6 Routing Flowchart

Page 73: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

54

The algorithm for routing:

The program will input interface router, IP addess router, netmask

router, inerface client, IP address client, netmask client and then

process it.

After that the routing program active ip forward.

The program will ask to input DNS and then restore DNS.

After that process routing will be running.

4.1.2.2 Quick Design

Quick design is used to give description how the interfaces appear. Quick

design include interfaces that are built in the router. The interfaces that are

provided in quick design are:

Interface installation hat include hard disk installation and flash disk

installation

Configuration interfaces that include setting IP interface and routing

interface.

1. Interface Installation

As mentioned in quick plan, there are two kind of installation, hard disk

PC and flash disk. So that first step interface design, the user can choose which

device that will be installed the router.

Page 74: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

55

Figure 4.7 Choosing installation

a) Harddisk Installation

If the user choose number one, the program run installation to the laptop or

hard disk.

Figure 4.8 prototype1 model harddisk-1

After that, the user will be asked whether the user want to create partition

or not. If the user want to create partition, the program will run command to create

partition. After that the user will be asked to input in which partition the the router

installed. It is same the output If the user choose not to create partition, the user

will be asked to input in which partition.

Page 75: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

56

Figure 4.9 prototype1 model hard disk-2

After that to make sure you input the right device, the program will ask

you.

Figure 4.10 prototype1 model hard disk-3

After that the process installation will be running.

b) Flash disk Installation

When the user choose install on your flash disk, there is the information

which devices that are connected into the computer.

Figure 4.11 prototype1 model flash disk-1

Page 76: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

57

When click Yes, the user will be asked to input the device of flash disk

and when click No, it will cancel the installation.

Figure 4.12 prototype1 model flash disk-2

After input the device of flash disk, the router will be installing into flash

disk.

2. Configuration Interfaces

As mentioned in quick plan, there are two configuration interfaces, setting

IP and routing. After creating the flowcharts, it needed to create design how the

interfaces appear to the users.

a) Setting IP

In setting IP address, firstly the user will be asked to input ethernet which

will be set.

Figure 4.13 prototype1model setting IP-1

Page 77: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

58

After that, the program will ask to input IP address.

Figure 4.14 prototype1 model setting IP-2

After inputting IP address, the user will be asked to input netmask.

Figure 4.15 prototype1 model setting IP-3

The program will do looping, so it will repeat from input ethernet, ip

address, and netmask. After looping, the user can input gateway.

Figure 4.16 prototype1 model setting IP-4

Page 78: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

59

The last thing that the user should input is DNS. The program will show

the interface to input DNS.

Figure 4.17 prototype1 model setting IP-5

b) Routing

When the user type command to call routing setting, it will show the

information that inform the user if the routing will be started.

Figure 4.18 prototype1 routing model

4.1.3 Construction Prototyping

There are four steps in developing the first prototype router:

1. Install Toroo Live Tools

2. Compile Packet

3. Build installer for the router

Page 79: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

60

4. Make ISO bootable

Here will explain step by step develop the router.

1. Install Toroo Live Tools

Toroo live tools is the tools to make and extract packet lzm. Packet lzm is

used for management in router system.

extract that packet into folder /tmp

go to folder Tools

make files in folder tools become be able to read, write, and execute.

copy all files into folder /bin

Figure 4.19 Toroo Live

2. Compile packet

Some packets need to be compiled to complete the modules that are

needed to the router. There are two packet that will be compiled, dialog and

iptables. Firstly, it needs to extract core to place the packets:

make directory for core in temporary directory.

extract core into core directory

Figure 4.20 core

Page 80: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

61

After extract core, the next step is compiling the packets that are needed in

developing the router.

Compile Dialog:

extract the source code of packet.

change directory where the packet extracted.

customize the configuration to check the dependencies.

compile the source code into binary.

install the packet to destination directory, here dialog will be installed

in core directory: #make install DESTDIR=/tmp/core

Figure 4.21 Dialog

Compile Iptables:

Extract the source code of packet.

Change directory where the packet extracted.

Customize the configuration.

Compile the source code into binary.

Install the packet to destination directory, here dialog will be installed

in core directory.

Page 81: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

62

Figure 4.22 Iptables

3. Build Installer for the router

There are three main scripts in installer. A script as menu, a script for

installation in hard disk PC and script for installing in flash disk. Only a script for

menu that has to be packaged.

Menu script is used for the user when the user wants to choose in which

device he want to install the router. This script will be put in /bin directory.

Make directory for the directory of script.

Write he script for this menu installer, save it. Here the developer

saved it as setup-BS in directory that already made.

Package the directory into .lzm.

Figure 4.23 Installer

4. Make ISO bootable

Before make ISO image, the developer needs to manage what directories

that will be used to put the scripts and packets. There are two mains directories,

router directory and boot directory. Router directory consists of packet core,

Page 82: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

63

additional packets that were added in router and menu installer. Boot directory

consists of installer harddisk and boot loader. Installer flash disk is put outside the

router directory and boot directory.

4.1.4 Deployment Delivery and Feedback

For the first prototype, the router will be tested using VirtualBox. ISO

image will be boot in VirtualBox.

4.1.4.1 Deployment Delivery

For the first prototype, the developer tested the router in two parts. There

are installation interface and configuration interface. In first prototype, installation

interface consists of hard disk installation and flash disk installation.

Configuration interface in first prototype only consist of setting IP.

1. Installation Interface

a. The steps to install in harddisk PC are:

Prepare VirtualBox: Create new virtual machine, set virtual machine with

RAM 128MB and 512MB for virtual disk size, and add router ISO image

to the storage so that virtual machine can be able to boot the router using

ISO image.

Run VirtualBox

First thing that appeared was choosing whether want to install router or try

live CD.

Page 83: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

64

Figure 4.24 Test1 install Hard disk-1

When it was chosen RouterOS Install, there were choices to install

router in laptop or in flash disk.

Figure 4.25 Test1install hard disk-2

When Install in your laptop was chosen, the program asked whether want

o create partition or not.

Page 84: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

65

Figure 4.26 Test1install hard disk-3

When Yes Run CFDISK was chosen, the user created partition.

Figure 4.27 Tes1install hard disk-4

After that, the program asked to input the partition that would be installed

the router. It would be happen if No Next was chosen in previous step.

Page 85: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

66

Figure 4.28 Tes1install hard disk-5

The program asked whether the user is sure with that partition or not.

Figure 4.29 Test1install hard disk-6

When Yes was chosen, the router was installing. When No was chosen, the

router entered live CD mode.

b. The steps to install in Flash disk are:

First step is same as install in harddisk PC. Firstly, it needed to prepare

VirtualBox: Create new virtual machine, set virtual machine with RAM

128MB and 512MB for virtual disk size, and add router ISO image to the

Page 86: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

67

storage so that virtual machine can be able to boot the router using ISO

image.

Run VirtualBox

First thing that appeared was choosing whether want to install router or try

live CD.

Figure 4.30 Test1 install Flash Disk-1

When it was chosen RouterOS Install, there were choices to install

router in laptop or in flash disk.

Figure 4.31 Test1 install Flash Disk-2

Page 87: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

68

When Install on you Flash disk was chosen, it showed the information

what devices that connected to the laptop.

Figure 4.32 Test1 install Flash Disk-3

When No was chosen the program was out. When Yes was chosen, the

program asked to input where the flash disk mount.

Figure 4.33 Test1install Flash Disk-4

After that, the router was installing to flash disk.

Page 88: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

69

Figure 4.34 Test1 install Flash Disk-5

2. Configuration Interface

Setting IP

The developer already finished build setting ip script interface, but it was

not put in the router system. Setting IP script interface was tested via terminal.

Run setting IP script in terminal. The user was asked to input ethernet

that want to be configured.

Figure 4.35 Test1 setting IP-1

Page 89: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

70

After that, the interface to input ip address was showed.

Figure 4.36 Test1 setting IP-2

After input IP address, the program asked to input netmask.

Figure 4.37 Test1 Setting IP-3

The process input interface, IP address and netmask was looping.

Page 90: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

71

Figure 4.38 Test1 Setting IP-4

Figure 4.39 Test1 Setting IP-5

Page 91: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

72

Figure 4.40 Test1 Setting IP-6

After that, the user was asked to input gateway.

Figure 4.41 Test1 Setting IP-7

The last thing was DNS, the program showed interface to input DNS.

Page 92: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

73

Figure 4.42 Test1 Setting IP-8

4.1.4.2 Feedback

Based on the testing and the construction prototyping, the router still did

not run based on what the customer expected in communication. For the first

prototyping, the router only could run installer using Text User Interface. It could

not set IP address using Text User Interfaces and still could not do routing using

text User Interfaces.

According to the customers, there are some requirements for the next

router:

1) The interface program has to detect the partition automatically.

2) The interface program has to be able to detect the ethernet interfaces

automatically.

3) The router has to have menu so that the user can choose which configuration he

wants.

4) Setting IP address and DNS should be separated. So that, DNS interface has to

be built.

Page 93: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

74

4.2 Second Prototype

The second prototype was made based on the feedback from the

customers.

4.2.1 Communication

In communication for second prototype, objectives of the research are still

same as First Prototype. But for the user requirement, there is additional user

requirement for the Second Prototype. The user requirements for the Second

Prototype are:

1) The router can do static routing.

2) The router is for IP version 4.

3) Building the installation Text User Interface:

a. Installation to flash disk. In installation flash disk, the user can choose the

location of flash disk automatically, so that the user does not need to type

manually.

b. Hard disk PC. The program can detect the partition of hard disk

automatically that will be installed for the router.

4) Building the configuration Text User Interfaces

a. Interface for setting ip address. The program can detect the Ethernet that are

available in the computer installed the router.

b. Interface for routing. The user just chooses Ethernet that will be used for

routing and then the routing process will be running.

c. Interface for setting DNS. Interface DNS has been seprated with setting IP.

The user can add new DNS or add more DNS to set up the router.

Page 94: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

75

d. Main menu interface to configurations interface. This is the new interface in

the second prototype. It has menu of interface program that can be chosen

by user.

5) Developing using Linux kernel.

6) All packets needed are open source.

4.2.2 Quick Plan and Quick Design

4.2.2.1 Quick Plan

1. Preparation

There is no additional preparation for the second prototype. The

preparation is same as First Prototype preparation.

2. Installation Interfaces

The algorithms that were used in installation interfaces flowchart First

Prototype are similar with the installation interfaces flowchart Second Prototype.

a) Hard Disk Installation

Page 95: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

76

Figure 4.43 Hard disk installation Flowchart 2

Page 96: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

77

Based on Figure 4.43 hard disk installation 2 Flowchart, the harddisk

installation algorithms are:

The program will ask whether the user want to create new partition or

not.

If there is the partition, the program detect it automatically.

The partition will be formatted by the program and installed by the

router.

b) Flash disk Installation

The flash disk flowchart was created to help in building the program.

Figure 4.44 Flash disk Installation Flowchart 2

Page 97: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

78

Based on Figure 4.44 Flash disk installation 2 Flowchart, The flash disk

installation algorithms are:

Input Flash disk location.

The installation process is running. The router system will be copied

into flash disk or portable device.

The program will install boot loader to flash disk.

3. Configuration Interfaces

In this part, there are three interfaces: setting IP, DNS, and routing.

a) Setting IP

The setting IP flowchart for the second prototype is not same as the setting

IP flowchart with the first prototype. In the setting IP flowchart for the second

prototype, there is no setting DNS.

Page 98: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

79

Figure 4.45 SettingIP 2 Flowchart

Based on Figure 4.45 Setting IP2 Flowchart, the algorithms of setting IP

are:

The user choose the ethrnet hat will be used, and then setting IP address

and netmask.

The program will process the IP address and netmask.

And then the program will ask whether want to continue to set IP

address or not. If yes, the program will repeat the step from the

choosing ethernet until netmask. If not, the program will ask the

gateway.

Setting gateway and finish.

b) DNS

DNS is an additional interface that is made for the second prototype.

Before writing the script, it needs to create the flowchart.

Page 99: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

80

Figure 4.46 Setting DNS Flowchart

Based on Figure 4.46 DNS Flowchart, the algorithms of DNS are:

Input DNS setting of the network.

The program will process it and store in the system.

c) Routing

Routing in the first prototype is different with routing in the second

prototype. In the second prototype, the user is asked to choose the ethernet. Here

the routing flowchart.

Page 100: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

81

Figure 4.47 Routing-2 Flowchart

Page 101: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

82

Based on Figure 4.47 Routing-2 Flowchart, the routing algorithms:

The program ask the user which ethernet that is chosen for routing.

Read the IP address that already input before. If IP adress is not set

yet, the program will ask the user to set the IP address.

The process routing will be running.

4.2.2.2 Quick Design

1. Interface Installation

In installation there are two choices: install in harddisk/PC and install flash

disk. In the second prototype, there are differences with the First Prototype.

a) Hard disk Installation

The user is be able to choose whether want to install in harddisk/PC and

flash disk.

Figure 4.48 Prototype2 Model hard disk-1

If the user choose install on your laptop, the user will be ask whether he

want to create partition or not. If yes the router will run CFDISK, and create the

partition.

Page 102: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

83

Figure 4.49 Prototype2 Model hard disk-2

After create partition, It will show the partitions that are available to

install the router.

Figure 4.50 Prototype2 Model hard disk-3

To make sure the partition that is chosen is right, the program will ask if

the user is sure or not.

Figure 4.51 Prototype2 Model hard disk-4

Page 103: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

84

After that, the installation is running.

b) Flash disk Installation

The user is be able to choose whether want to install in hard disk/PC and

flash disk.

Figure 4.52 Prototype2 Model flash disk-1

After that there are the choices in which device the user wants to install the

router.

Figure 4.53 Prototype2 Model Flash disk-2

The program asked the path source of the router.

Page 104: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

85

Figure 4.54 Prototype2 Model Flash disk-3

The router will be installing to flash disk.

2. Configuration Interfaces

In the second prototype, there is a menu to put all of the interfaces that is

to communicate between the user and the applications.

Figure 4.55 menu

a) Setting IP

Setting IP in second prototype is quiet different with setting IP in the First

Prototype. In the second prototype, the user can choose which ethernet that will

be used in the router.

The program will show what ethernat that are connected with the router.

Page 105: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

86

Figure 4.56 Prototype 2 Mode setting IP-1

If one of the ethrnet is chosen, the program will ask to input IP address.

Figure 4.57 Prototype 2 Model Setting IP-2

After inputing ip adress, the program will ask to input the netmask.

Figure 4.58 Prototype2 Model Setting IP-3

After finishing complete setting one of the ethernet, the program will ask

whether the user want to continue with setting another ethernet or go to next step,

setting gateway.

Page 106: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

87

Figure 4.59 Prototype2 Model Setting IP-4

If the user chose Yes, the program will be back to the ethernet choices. If

No, the program will run setting gateway.

Figure 4.60 Prototype 2 Model Setting IP-5

After finishing set gateway, the program will exit.

b) DNS

DNS interface is one of additional requirement for the second prototype.

Firstly, the program will ask whether the user want to set DNS or just add other

DNS.

Figure 4.61 Prototype 2 Model DNS-1

Page 107: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

88

The user is required to input DNS. The user can add more than one DNS

by choosing Add more DNS.

Figure 4.62 Prototype 2 Model DNS-1

c) Routing

The design interface from the routing in the second prototype is different

with the design interface with the first router prototype.

When the user choosed routing, the program would ask which ethernet that

would be used for the routing.

Figure 4.63 Prototype2 Model routing 1

If the ip address is not set yet, the program will inform that the ip address

is not set yet.

Page 108: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

89

Figure 4.64 Prototype2 Routing-2

If the routing success, it will show that the routing is succeed.

Figure 4.65 Prototype2 Routing-3

4.2.3. Construction Prototyping

Construction Prototyping for second prototype is still same as the First

Prototyping, but there is additional construction based on quick plan and quick

design. Main menu will be put in /usr/bin. The step are:

make directory to put the directories of scripts.

Copy menu script to /tmp/setting/usr/bin.

Figure 4.66 menu command

Page 109: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

90

Setting IP script, DNS script, and routing script are put in one directory.

They will be put in /usr/share/router and then package it. The steps are:

make directories /tmp/setting/usr/share/router. It will be used to place

setting IP script, DNS script, and routing script.

copy all scripts (setting IP, DNS, and routing) into

/tmp/setting/usr/share/router

Package the directoy.

Put file menu.lzm into router directory /router/base.

Figure 4.67 Package

4.2.4. Deployment Prototyping and Feedback

4.2.4.1 Deployment Prototyping

In deploying prototyping, there is two kind of testing: Installation

Interfaces and configuration Interfaces. In the second prototype, the installation

interfaces consist of hard disk installation and flash disk installation.

Configuration interfaces consist of setting ip, DNS, and routing.

Here the details the explanation.

1. Installation Interfaces

a) Hard disk Installation

Page 110: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

91

For testing hardisk installation, it tested in VirtualBox as a hard disk that

would be installed the router. The capacity of virtual hard disk is 256 MB and

RAM 128 MB.

Create virtual machine in VirtualBox.

Load ISO image in virtual machine

Figure 4.68 Test2 Install Hard disk-1

Choose RouterOS Install, and the router was booting. After that, there

is installation interface whether want to install in laptop/hard disk or

in flash disk.

Figure 4.69 Test2 Install Hard disk-2

Page 111: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

92

Choose install on your laptop to install in hard disk. The program

asked about partition.

Figure 4.70 Test2 Install Hard disk-3

Virtual machine did not have partition yet, so choose Run CFDISK to

create partition.

Figure 4.71 Test2 Insall Hard disk-4

After that the program showed partition that exist in the virtual

machine.

Page 112: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

93

Figure 4.72 Test2 Install Hard disk-5

To make sure the hard disk that was chosen was right, the program

asked.

Figure 4.73 Test2 Install Hard disk-6

After that, the installation was running.

b) Flash disk Installation

Testing router was started from how to install router in flash disk. The

testing used VitualBox to boot ISO image, with RAM 128 MB, and the capacity

of flash disk 2GB.

Create new virtual machine in VirtualBox.

Page 113: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

94

Load ISO image in virtual machine.

Figure 4.74 Test2 Installation Flash Disk-1

Choose RouterOS install. The installation router will be booting and

then there is option whether want to install in hard disk Pc or flash

disk.

Figure 4.75 Test2 Installation Flash Disk-2

When install on your flash disk was chosen, devices that were

connected into the computer will show in the interfaces.

Page 114: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

95

Figure 4.76 Test2 Installation Flash Disk-3

Choose where the flash disk mount. And then, the program searched

the path where the installation script is.

Figure 4.77 Test2 Installation Flash Disk-4

Choose the path of source installation. The router was installed in the

flash disk.

Page 115: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

96

Figure 4.78 Test2 Installation Flash Disk-5

After that, flash disk was installed by the router.

2. Configuration Installation

After the router was installed in the flash disk, the flash disk was being

booted in the laptop and then tried the interfaces (setting IP, DNS, and routing).

The router testing based on this design:

The steps to test the interfaces:

Setting laptop BIOS in order to be able boot in usb mode and the boot

usb that was already installed the router.

Connected the router into the client with UTP cable and connected the

router into internet. In this testing, the router connects in internet in

eth0.

When the user typed menu, there is the choice whether the user

wanted to set IP, DNS or routing.

Page 116: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

97

Figure 4.79 Test2 Routing-1

Choose Setting IP to Set IP local router. Type command #menu, the

user got menu interfaces and chose setting IP.

Figure 4.80 Test2 Routing-2

Page 117: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

98

Figure 4.81 Test2 Routing-3

Figure 4.82 Test2 Routing-4

Figure 4.83 Test2 Routing-5

Page 118: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

99

After that, set IP address client. Client was using Windows Operating

System. Open network connection in computer client.

Figure 4.84 Test2 Routing-6

Ping from client to router to make sure client already connected with

the router. In this step, client still could not connect to internet.

Figure 4.85 Test2 Routing-7

Page 119: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

100

Figure 4.86 Test2 Routing-8

Go to the router. Type “menu” and it showed menu. Chose routing.

The program asked the ethernet that was used for routing and the

router was doing routing.

Figure 4.87 Test2 Routing-9

Page 120: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

101

Figure 4.88 Test Routing10

Figure 4.89 Test2 Routing-11

Now the client can connect to the router.

Page 121: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

102

Figure 4.90 Test2 Routing-12

4.2.2.2 Feedback

After testing the router, there is feedback from the customer for the next

router prototype.

1) The customers want If there is disable routing in the menu, so that the user can

cancel the routing.

2) If the user click cancel, it should be back to menu not out of menu.

3) The router should have DHCP configurations.

4.3 Third Prototype

4.3.1 Communication

In communication for third prototype, objectives of the research is still

same as First Prototype and Second Prototype. But for the user requirement,

there is additional user requirement from the Second Prototype for third prototype.

1) The router can do static routing.

2) The router is for IP version 4.

3) Building the installation Text User Interface:

Page 122: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

103

a. Installation to flash disk. In installation flash disk, the user can choose the

location of flash disk automatically, so that the user does not need to type

manually.

b. Hard disk PC. The program can detect the partition of hard disk

automatically that will be installed for the router.

4) Building the configuration Text User Interfaces

a. Interface for setting ip address. The program can detect the Ethernet that are

available in the computer installed the router.

b. Interface for routing. The user just chooses Ethernet that will be used for

routing and then the routing process will be running.

c. Interface for setting DNS. Interface DNS has been seprated with setting IP.

The user can add new DNS or add more DNS to set up the router.

d. Main menu interface to configurations interface. This is the new interface in

the second prototype. It has menu of interface program that can be chosen

by user.

e. Disable routing. This is the additional feature in the third prototype. The user

just choose disabled routing menu and then the routing will be disabled or

stop.

f. DHCP. DHCP is the new feature in the third prototype. The program can

detect automatically the Ethernet that is available in the laptop and the

program will detect whether IP address already set up or not.

5) Developing using Linux kernel.

6) All packets needed are open source.

Page 123: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

104

4.3.2. Quick Plan and Quick Design

4.3.2.1 Quick Plan

1. Preparation

There is no additional preparation for the second prototype. The

preparation is same as First Prototype and Second Prototype preparation.

2. Installation Interfaces

In third prototype, there is no additional installation interfaces. The

installation interfaces are still same as Second Prototype.

a) Hard Disk Installation

Page 124: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

105

Figure 4.91 Hard disk installation Flowchart 3

Page 125: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

106

Based on Figure 4.91 hard disk installation Flowchart 3, the hard disk

installation algorithms is:

The program will ask whether the user want to create new partition or

not.

If there is the partition, the program detects it automatically.

The partition will be formatted by the program and installed by the

router.

b) Flash disk Installation

The flash disk flowchart was created to help in building the program.

Figure 4.92 Flash disk Installation Flowchart 3

Page 126: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

107

Based on Figure 4.92 Flash disk installation Flowchart 3, the flash disk

installation algorithms are:

Input Flash disk location.

The installation process is running. The router system will be copied

into flash disk or portable device.

The program will install boot loader to flash disk.

3. Configuration Interfaces

In the third prototype there are five interfaces: setting IP, DNS, DHCP,

routing and disabled routing.

a) Setting IP

The setting IP flowchart for the second prototype is not same as the setting

IP flowchart with the first prototype. In the setting IP flowchart for the second

prototype, there is no setting DNS.

Page 127: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

108

Figure 493 SettingIP 3 Flowchart

Based on Figure 4.93 Setting IP3 Flowchart, the algorithms of setting IP

are:

The user choose the ethernet hat will be used, and then setting IP

address and netmask.

The program will process the IP address and netmask.

And then the programwill ask whether want to continue to set IP

address or not. If yes, the progam will repeat the step from the choosing

ethernet until netmask. If not, the program will ask the gateway.

Setting gateway and finish.

b) DNS

DNS in third prototype is still same as in the second prototype.

Page 128: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

109

Figure 4.94 Setting DNS Flowchart 3

Based on Figure 4.94 DNS Flowchart 3, the algorithms of DNS are:

Input DNS setting of the network.

The program will process it and store in the system.

c) Routing

Routing in the third prototype is same as routing in the second prototype.

There is no different between them.

Page 129: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

110

Figure 4.95 Routing Flowchart 3

Page 130: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

111

Based on Figure 4.95 Routing Flowchart 3, the routing algorithms:

The program asks the user which ethernet that is chosen for routing.

Read the IP address that already input before. If IP adress is not set

yet, the program will ask the user to set the IP address.

The process routing will be running.

d) Disable Routing

Figure 4.96 Disable Routing Flowchart

Based on Figure 4.96 Disable Routing, the algorithm of disable routing

interface is the program will deactive IP forward so that the router cannot do

routing.

e) DHCP

Before making script for DHCP, flowchart was made to make it easy.

Page 131: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

112

Figure 4.97 DHCP Flowchart

According to Figure 4.97 DHCP Flowchart, the algorithm from the DHCP

flowchart is:

Page 132: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

113

Read which ethernet that will be used for DHCP.

Read the IP address, netmask and DNS. If IP address is not set yet, the

program will ask the router to set IP address.

The program will do DHCP configuration.

Export File DHCP configuration into dhcpd.conf file

4.3.2.2 Quick Design

In third prototype, there is an additional quick design in configuration

interface part. In configuration interface, it needs to be added disable routing

interface and DHCP. The other interfaces are still similar with second prototype.

1. Interface Installation

In installation there are two choices: install in harddisk/PC and install flash

disk. In the second prototype, there are differences with the First Prototype.

a) Hard disk Installation

The user is to be able to choose whether want to install in harddisk/PC and

flash disk.

Figure 4.98 Prototype3 Model hard disk-1

If the user choose install on your laptop, the user will be ask whether he

want to create partition or not. If yes the router will run CFDISK, and create

Page 133: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

114

the partition.

Figure 4.99 Prototype3 Model hard disk-2

After create partition, It will show the partitions that are available to be

installed the router.

Figure 4.100Prototype3 Model hard disk-3

To make sure the partition that is chosen is right, the program will ask if

the user is sure or not.

Figure 4.101 Prototype3 Model hard disk-4

Page 134: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

115

After that, the installation is running.

b) Flash disk Installation

The user is be able to choose whether want to install in hard disk/PC and

flash disk.

Figure 4.102 Prototype3 Model flash disk-1

After that there are the choices in which device the user wants to install the

router.

Figure 4.103 Prototype3 Model Flash disk-2

The program asked the path souce of the router.

Figure 4.104 Prototype3 Model Flash disk-3

Page 135: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

116

The router will be installing to flash disk.

2. Configuration Interfaces

In the second prototype, there is a menu to put all of the interfaces that is

to communicate between the user and the applications.

Figure 4.105 menu Model 3

a) Setting IP

Setting IP in second prototype is quiet different with setting IP in the First

Prototype. In the second prototype, the user can choose which ethernet that will

be used in the router.

The program will show what ethernat that are connected with the router.

Figure 4.106 Prototype 3 Model setting IP-1

If one of the ethernet is chosen, the program will ask to input IP address.

Page 136: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

117

Figure 4.107 Prototype 3 Model Setting IP-2

After inputing ip adress, the program will ask to input the netmask.

Figure 4.108 Prototype3 Model Setting IP-3

After finishing complete setting one of the ethernet, the program will ask

whether the user want to continue with setting another ethernet or go to next step,

setting gateway.

Figure 4.109 Prototype3 Model Setting IP-4

If the user chose Yes, the program will be back to the ethernet choices. If

No, the program will run setting gateway.

Page 137: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

118

Figure 4.110 Prototype 3 Model Setting IP-5

After finishing set gateway, the program will exit.

b) DNS

DNS interface is one of additional requirement for the second prototype.

Firstly, the program will ask whether the user want to set DNS or just add other

DNS.

Figure 4.111 Prototype 3 Model DNS-1

The user is required to input DNS. The user can add more than one DNS

by choosing Add more DNS.

Figure 4.112 Prototype 3 Model DNS-1

Page 138: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

119

c) Routing

The design interface from the routing in the second prototype is different

with the design interface with the first router prototype.

When the user choose routing , the program will ask which ethernet that

will be used for the routing.

Figure 4.113 Prototype3 Model routing 1

If the ip address is not set yet, the program will inform that the ip address

is not set yet.

Figure 4.114 Prototyp3 Routing-2

If the routing success, it will show that the routing is succeed.

Page 139: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

120

Figure 4.115 Prototype3 Routing-3

d) Disable Routing

Figure 4.116 Disable routing

After the process finish to disable routing. There will have information

about it.

e) DHCP

The user is required to choose which interfaces that will be used for

DHCP.

Figure 4.117 DHCP interface-1

Page 140: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

121

After that, there is information which ethernet that the user chose for

DHCP.

Figure 4.118 DHCP interface-2

If IP address is not set yet the program will announce that.

Figure 4.119 DHCP Interface-3

4.3.3 Construction Prototyping

For construction prototyping in the third prototype, the developer only add

disable routing script and dhcp script that will be put together with setting ip

script, DNS script and routing script in /usr/share/router.

The steps are:

Copy the script into /tmp/setting/usr/share/router.

Package the directories into .lzm.

Page 141: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

122

4.3.4 Deployment Prototyping and Feedback

4.3.4.1 Deployment Prototyping

In deployment prototyping, there are some testings, installation interface

and configuration interfaces. Configuration interface consists of setting IP, DNS,

DHCP, routing and disable routing.

1. Installation Interface

Flash Disk Installation

Setup the computer booting into CD and boot CD router.

Chooser Router Install. The installation router will be booting and then

there is option whether want to install in hard disk Pc or flash disk.

Figure 4.120 Test3 Flash disk-1

When install on your flash disk was chosen, there are confirm setup.

Page 142: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

123

Figure 4.121 Test3 Flash disk-2

Choose where the flash disk mount. And then, the program searched the

path where the installation script is.

Figure 4.122 Test3 Flash disk-3

Choose the path of source installation. The router was installed in the flash

disk.

Page 143: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

124

Figure 4.123 Test3 Flash disk-4

After that, the flash disk installation was running.

Figure 4.124 Test3 Flash disk-5

2. Configuration Interfaces

In configuration interfaces, there are setting IP, DNS, DHCP, routing and

disable routing. Firstly, prepare the laptop that would be used for the router,

switch, and laptop as a client.

Page 144: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

125

Figure 4.125 Configuration Interface Test

Booting portable (flash disk) router in the laptop. After that, type menu to

call the menu configuration interfaces.

Figure 4.126 Menu Configuration Interfaces

a) Setting IP Testing

Choose Setting IP in menu configuration.

The program asked to input IP address.

Page 145: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

126

Figure 4.127 Test3 Setting IP-1

After that it asked to input netmask.

Figure 4.128 Test3 Setting IP-2

The setting IP has done.

b) DNS

Choose DNS in menu configuration.

There is option whether want to add new DNS o add more DNS that already

exist.

Page 146: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

127

Figure 4.129 Test3 DNS-1

Choose Set DNS to set new DNS.

Figure 4.130 Test3 DNS-2

After that, DNS has been set.

c) DHCP

Choose DHCP in the menu configuration router.

The program asked which ethernet that would be used for DHCP server.

Page 147: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

128

Figure 4.131 Test DHCP-1

There was information what the user has chosen for DHCP.

Figure 4.132 Test DHCP-2

d) Routing

choose Routing in menu configuration.

The program asked which ethernet that will be used for routing.

Page 148: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

129

Figure 4.133 Test Routing-1

There showed information ethernet that was chosen by the user.

Figure 4.134 Test Routing-2

When the routing process finish, there was information about it.

Page 149: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

130

Figure 4.135 Test Routing-3

e) Disable Routing

choose Disable Routing in menu configuration.

The process to disable routing was running.

Figure 4.136 Test Disable Routing

4.3.4.2 Feedback

After presentation third router prototype, the customer, in this testing the

customers are student and the lecture, said that the router already can be used for

the user. It did not have additional requirement yet.

Page 150: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

131

CHAPTER V

SUMMARY

5.1 Conclusion

After developing he research, it can be concluded into some summarizes:

1. To develop a portable router GNU/Linux is needed pre requirement tools: core

Slackware, open source GNU applications needed for the router, and boot live.

Those tools are designed so that it can be a portable router that is implemented.

2. This router is portable because it is installed in flash disk.

3. The interfaces consist of installation interfaces and configuration interfaces.

Installation interfaces consist of hard disk installation and flash disk

installation. Configuration interfaces consist of setting IP, DNS, DHCP,

routing and disabled routing.

4. After seeing the demo of the portable GNU/Linux, the student knows how the

router works and knows the basic of development of portable router

GNU/Linux.

5. The router can be used to teach and can be used to practice about networking.

5.2 Suggestion

1. DHCP interface in the router can use all netmask.

2. The firewall is provided in the router, so that the router will be more secure.

3. Build interface for iptables rules in order the users can make his own rules.

4. Add the packets in order the router can do dynamic routing.

Page 151: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

132

REFERENCES

Aggarwal K.K & Yogesh Singh. 2006. Software Engineering. New Age

International Publisher: Delhi.

Agushinta D & A. Widodo. 2004. Membangun Router Linux Satu Disket Pada

Pentium 133. Proceedings, Komputer dan Sistem Intelijen: 791.

Apple Inc. 2010. Core OS Layer.

http://developer.apple.com/library/ios#documentation/Micellaneous/Conce

ptual/iPhoneOSTechOverview

Gookin Dan. 2007. Programmer's Guide to Ncurses. Wiley: Indiana.

Gunadarma. 1995. Pengantar Analisis dan Perancangan Sistem Terstruktur.

Gunadarma: Jakarta.

Jamie Standboge. 2007. UFW-Uncomplicated Firewall. https://launchpad.net/ufw.

22 July 2011, 00:40WIB.

Ma’sum Zulfikri Ali. 2011. Design of Linux Distribution RouSer as PC Router.

Mansfield Niall. 2004. Practical TCP/IP Mendesain, Menggunakan, dan

Troubleshooting Jaringan TCP/IP di Linux dan Windows. Andi:

Yogyakarta.

Masyarakat Digital Gotong Royong. 2006. Pengantar Sistem Operasi Komputer:

Plus Ilustrasi Kernel Linux. MDGR.

Page 152: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

133

Negus C. 2008. Linux Bible. Wiley: Indiana.

Netfiler Core Team. 2010. The netfilter.org “iptables” Project. 1 hlm.

http://www.netfilter.org/projects/iptables/, 22 July 2011, 00:31WIB.

Pressman RS. 2005. Software Engineering. McGraw-Hill: New York.

Richard Stallman. 2007. Linux and GNU Project. 1 hlm.

http://www.gnu.org/gnu/linux-and-gnu.html. 22 July 2011. 00:31WIB.

Rocco Stanzione. 2008. Firewall.

https://help.ubuntu.com/8.04/serverguide/C/firewall.html. 22 July 2011,

00:43 WIB.

Rusty Russel. 2000. Linux IPCHAINS-HOWTO.

http://www.faqs.org/docs/Linux-HOWTO/IPCHAINS-HOWTO.html. 22

July 2011. 00:31 WIB.

Saxena Sunil. 2010. Meego Architecture Layer View.

https://meego.com/developers/meego-architecture-layer-view. 6th

September 2011.11:34 WIB.

Silberschatz A, P.B. Galvin, & G.Gagne. 2005. Operating Systems Concept.

Willey: Indiana.

Sofana Iwan. 2009. Cisco CCNA dan Jaringan Komputer. Informatika: Bandung.

Sopandi Dede. 2008. Jaringan Komputer. Informatika: Bandung.

Page 153: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

134

Stallings W. 2008. Operating Systems: Internals and design principles. Prentice

Hall: Amsterdam.

Sukmaji A & Rianto. 2008. Jaringan Komputer. Penerbit Andi: Yogyakarta.

Syafii M. 2005. Tips dan Trik Linux. Penerbit Andi: Yogyakarta.

Syamsudin M. 2010. 60 Menit Belajar Script Shell. Penerbit Andi: Yogyakarta.

Tomas M. 2011. Linux Live. http://www.linux-live.org. 6th

September 2011.

11:32 WIB

Tanenbaum A S. 2006. Operating Systems Design and Implementation, Third

Edition. Prentice Hall: Amsterdam.

Yani A & F Hafiarni. 2005. Jaringan Internet dengan Linux Router Project Leaf

Bearing. Elex Media Komputindo: Jakarta

Yuliardi R. 2003. Bash Scriping Untuk Administrasi Sistem Linux. Elex Media

Komputindo: Jakarta.

Wahid Fathul. 2005. Kamus Istilah Teknologi Informasi. Penerbit Andi:

Yogyakarta

Page 154: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

1

Page 155: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

1

Page 156: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 157: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 158: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 159: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 160: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 161: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace

Feedback (3) Student

The router has been tested to the user in seminar on Monday July 25th

2011. The

total of attendances is 18 persons. They are the students of State Islamic University

Jakarta. They said that now they know the function of router, how the router works, and

about developing operating system as a router. They know how the router works by

topology that was demo. The developing of router GNU/Linux is known by tools that were

presented in seminar and they understand about kernel linux.

September 2011

Page 162: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 163: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 164: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 165: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 166: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 167: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 168: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 169: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 170: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 171: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 172: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 173: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 174: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 175: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 176: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 177: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 178: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 179: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 180: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace
Page 181: DEVELOPING SMALL PORTABLE ROUTER GNU…repository.uinjkt.ac.id/dspace/bitstream/123456789/5702/1/INDIRA... · developing small portable router gnu/linux with text user interace