LDAP, Lightweight Directory Access Protocol, Is An Internet Protocol That Email and Other Programs Use To Look Up Information From A Server
LDAP, Lightweight Directory Access Protocol, Is An Internet Protocol That Email and Other Programs Use To Look Up Information From A Server
LDAP, Lightweight Directory Access Protocol, Is An Internet Protocol That Email and Other Programs Use To Look Up Information From A Server
LDAP, Lightweight Directory Access Protocol, is an Internet protocol that email and other
programs use to look up information from a server.
Every email program has a personal address book, but how do you look up an address for someone
who's never sent you email? How can an organization keep one centralized up-to-date phone book
that everybody has access to?
That question led software companies such as Microsoft, IBM, Lotus, and Netscape to support a
standard called LDAP. "LDAP-aware" client programs can ask LDAP servers to look up entries in a
wide variety of ways. LDAP servers index all the data in their entries, and "filters" may be used to
select just the person or group you want, and return just the information you want. For example, here's
an LDAP search translated into plain English: "Search for all people located in Chicago whose name
contains "Fred" that have an email address. Please return their full name, email, title, and description."
LDAP is not limited to contact information, or even information about people. LDAP is used to look
up encryption certificates, pointers to printers and other services on a network, and provide "single
signon" where one password for a user is shared between many services. LDAP is appropriate for any
kind of directory-like information, where fast lookups and less-frequent updates are the norm.
As a protocol, LDAP does not define how programs work on either the client or server side. It defines
the "language" used for client programs to talk to servers (and servers to servers, too). On the client
side, a client may be an email program, a printer browser, or an address book. The server may speak
only LDAP, or have other methods of sending and receiving data—LDAP may just be an add-on
method.
If you have an email program (as opposed to web-based email), it probably supports LDAP. Most
LDAP clients can only read from a server. Search abilities of clients (as seen in email programs) vary
widely. A few can write or update information, but LDAP does not include security or encryption, so
updates usually requre additional protection such as an encrypted SSL connection to the LDAP server.
LDAP also defines: Permissions, set by the administrator to allow only certain people to access the
LDAP database, and optionally keep certain data private. Schema: a way to describe the format and
attributes of data in the server. For example: a schema entered in an LDAP server might define a
"groovyPerson" entry type, which has attributes of "instantMessageAddress", and
"coffeeRoastPreference". The normal attributes of name, email address, etc., would be inherited from
one of the standard schemas, which are rooted in X.500 (see below).
LDAP was designed at the University of Michigan to adapt a complex enterprise directory system
(called X.500) to the modern Internet. X.500 is too complex to support on desktops and over the
Internet, so LDAP was created to provide this service "for the rest of us."
LDAP servers exist at three levels: There are big public servers, large organizational servers at
universities and corporations, and smaller LDAP servers for workgroups. Most public servers from
around year 2000 have disappeared, although directory.verisign.com exists for looking up X.509
certificates. The idea of publicly listing your email address for the world to see, of course, has been
crushed by spam.
While LDAP didn't bring us the worldwide email address book, it continues to be a popular standard
for communicating record-based, directory-like data between programs.
The Lightweight Directory Access Protocol (LDAP) (pronounced /ˈɛldæp/) is an
application protocol for querying and modifying data of directory services implemented in
Internet Protocol (IP) networks.[1]
A directory information tree often reflects various political, geographic, and/or organizational
boundaries, depending on the model chosen. LDAP deployments today tend to use Domain
Name System (DNS) names for structuring the topmost levels of the hierarchy. Deeper inside
the directory might appear entries representing people, organizational units, printers,
documents, groups of people or anything else that represents a given tree entry (or multiple
entries).
Operations
The client gives each request a positive Message ID, and the server response has the same
Message ID. The response includes a numeric result code which indicates success, some error
condition or some other special cases. Before the response, the server may send other
messages with other result data - for example each entry found by the Search operation is
returned in such a message.
StartTLS
The StartTLS operation establishes Transport Layer Security (the descendant of SSL) on the
connection. It can provide data confidentiality (to protect data from being observed by third
parties) and/or data integrity protection (which protects the data from tampering). During
TLS negotiation the server sends its X.509 certificate to prove its identity. The client may
also send a certificate to prove its identity. After doing so, the client may then use
SASL/EXTERNAL. By using the SASL/EXTERNAL, the client requests the server derive
its identity from credentials provided at a lower level (such as TLS). Though technically the
server may use any identity information established at any lower level, typically the server
will use the identity information established by TLS.
Servers also often support the non-standard "LDAPS" ("Secure LDAP", commonly known as
"LDAP over SSL") protocol on a separate port, by default 636. LDAPS differs from LDAP in
two ways: 1) upon connect, the client and server establish TLS before any LDAP messages
are transferred (without a StartTLS operation) and 2) the LDAPS connection must be closed
upon TLS closure.
LDAPS was used with LDAPv2, because the StartTLS operation had not yet been defined.
The use of LDAPS is deprecated, and modern software should only use StartTLS .
Bind (authenticate)
The Bind operation authenticates the client to the server. Simple Bind can send the user's DN
and password in plaintext, so the connection should be protected using Transport Layer
Security (TLS). The server typically checks the password against the userPassword attribute
in the named entry. Anonymous Bind (with empty DN and password) resets the connection to
anonymous state. SASL (Simple Authentication and Security Layer) Bind provides
authentication services through a wide range of mechanisms, e.g. Kerberos or the client
certificate sent with TLS.
Bind also sets the LDAP protocol version. Normally clients should use LDAPv3, which is the
default in the protocol but not always in LDAP libraries.
Bind had to be the first operation in a session in LDAPv2, but is not required in LDAPv3 (the
current LDAP version).
The Search operation is used to both search for and read entries. Its parameters are:
baseObject
The DN (Distinguished Name) of the entry at which to start the search,
scope
What elements below the baseObject to search. This can be BaseObject (search just
the named entry, typically used to read one entry), singleLevel (entries immediately
below the base DN), or wholeSubtree (the entire subtree starting at the base DN).
filter
Criteria to use in selecting elements within scope. For example, the filter
(&(objectClass=person)(|(givenName=John)(mail=john*))) will select
"persons" (elements of objectClass person) who either have the given name "John" or
an e-mail address that begins with the string "john".
derefAliases
Whether and how to follow alias entries (entries which refer to other entries),
attributes
Which attributes to return in result entries.
sizeLimit, timeLimit
Maximum number of entries to return, and maximum time to allow search to run.
typesOnly
Return attribute types only, not attribute values.
The server returns the matching entries and potentially continuation references. These may be
returned in any order. The final result will include the result code.
The Compare operation takes a DN, an attribute name and an attribute value, and checks if
the named entry contains that attribute with that value.
Update Data
Add, Delete, and Modify DN - all require the DN of the entry that is to be changed.
Modify takes a list of attributes to modify and the modifications to each: Delete the attribute
or some values, add new values, or replace the current values with the new ones.
Add operations also can have additional attributes and values for those attributes.
Modify DN (move/rename entry) takes the new RDN (Relative Distinguished Name),
optionally the new parent's DN, and a flag which says whether to delete the value(s) in the
entry which match the old RDN. The server may support renaming of entire directory
subtrees.
An update operation is atomic: Other operations will see either the new entry or the old one.
On the other hand, LDAP does not define transactions of multiple operations: If you read an
entry and then modify it, another client may have updated the entry in the mean time. Servers
may implement extensions [3] which support this, however.
Extended operations
The Extended Operation is a generic LDAP operation which can be used to define new
operations. Examples include the Cancel and Password Modify.
Abandon
The Abandon operation requests that the server abort an operation named by a message ID.
The server need not honor the request. Unfortunately, neither Abandon nor a successfully
abandoned operation send a response. A similar Cancel extended operation has therefore
been defined which does send responses, but not all implementations support this.
Unbind
The Unbind operation abandons any outstanding operations and closes the connection. It has
no response. The name is of historical origin, and is not the opposite of the Bind operation.[4]
Clients can abort a session by simply closing the connection, but they should use Unbind.[5]
Unbind allows the server to gracefully close the connection and free resources that it would
otherwise keep for some time until discovering the client had abandoned the connection. It
also instructs the server to cancel operations that can be canceled, and to not send responses
for operations that cannot be canceled.[6]
XML
XML adalah sebuah metalanguage yang pada awalnya hanya digunakan untuk strukturisasi
dokumen, dan sekarang sudah menjadi standar komunikasi antar aplikasi. WBEM memilih
menggunakan XML sebagai bahasa pertukaran informasi; dimana transportnya
mengandalkan standar internet. Fungsi utama dari XML adalah membungkus/enkapsulasi
informasi CIM, yang disalurkan melalui HTTP. Karena WBEM berbasiskan web maka
management console nya sendiri berada di Web. Sehingga selain operasi administrasi
menjadi lebih mudah, deskripsi objek yang diperlihatkan sebagai pertukaran alert messages
juga tidak begitu kompleks.
layanan Web tergantung pada kemampuan pihak untuk berkomunikasi satu sama lain bahkan
jika mereka menggunakan sistem informasi yang berbeda. XML (Extensible Markup
Language), yang membuat data portabel, merupakan kunci teknologi dalam menangani
kebutuhan ini. Usaha telah menemukan manfaat menggunakan XML untuk integrasi data -
data baik secara internal untuk berbagi warisan antar departemen dan eksternal untuk berbagi
data dengan perusahaan lain. Akibatnya, XML semakin sering digunakan untuk integrasi
aplikasi enterprise (EAI) dalam rapat dipadamkan dan longgar digabungkan sistem. Berkat
kemampuannya untuk mengintegrasikan data, XML telah menjadi fondasi untuk komputasi
Web yang terkait.
Anda dapat menggunakan API JAX untuk mengembangkan aplikasi Web seluruhnya dalam
bahasa pemrograman Java. API terbagi dalam dua kategori besar: yang berhubungan
langsung dengan pemrosesan dokumen XML dan orang-orang yang berhubungan dengan
prosedur.
Dokumen berorientasi
- Java API untuk XML Processing (JAXP) - Proses dokumen dengan XML parser.
- Arsitektur Java untuk XML Binding (JAXB) - Proses dokumen XML dengan kelas yang
diturunkan dari skema JavaBeans komponen.
Prosedur berorientasi
- Java API untuk XML-RPC berbasis (JAX-RPC) - Mengirim SOAP metode panggilan
kepada pihak remote melalui Internet dan menerima hasilnya.
- Java API for XML Messaging (SAAJ) - Mengirim pesan SOAP melalui Internet dengan
cara standar.
- Java API for XML Registries (JAXR) - Menyediakan suatu cara standar untuk mengakses
pendaftar bisnis dan berbagi informasi.
Mungkin fitur yang paling penting dari JAX API adalah bahwa mereka mendukung standar
industri semua, memastikan interoperabilitas.
CORBA
Dalam konteks sistem komputer terdistribusi, meskipun komponen-komponen aplikasi dibuat dengan
bahasa pemrograman yang berbeda, menggunakan development tools yang berbeda, dan beroperasi di
lingkungan yang beragam, mereka tetap harus dapat saling bekerjasama.
Interoperabilitas perangkat lunak menuntut homogenitas pada suatu level tertentu. Untuk itu
diperlukan semacam 'standarisasi'. Berawal dari keperluan ini lahirlah CORBA (Common Object
Request Broker Architecture). CORBA adalah hasil 'kesepakatan' antara sejumlah vendor dan
pengembang perangkat lunak terkenal seperti IBM, Hewlett-Packard, dan DEC, yang tergabung
dalam sebuah konsorsium bernama OMG (Object Management Group).
CORBA adalah sebuah arsitektur software yang berbasis pada teknologi berorientasi obyek atau
Object Oriented (OO) dengan paradigma client-server. Dalam terminologi OO, sebuah obyek
berkomunikasi dengan obyek lain dengan cara pengiriman pesan (message passing). Konteks
komunikasi ini kemudian dipetakan ke dalam model client-server: satu obyek berperan sebagai client
(si pengirim pesan) dan yang lain bertindak sebagai server (yang menerima pesan dan memroses
pesan yang bersangkutan). Sebagai contoh, dalam ilustrasi di awal tulisan ini, jika si pasien
memerlukan obat tertentu, maka obyek aplikasi di tempat praktek dokter berlaku sebagai client dan
mengirim pesan ke obyek aplikasi di apotik guna mengetahui apakah obat yang diperlukan tersedia di
sana.
Keunikan dari CORBA adalah kemampuannya dalam menangani heterogenitas antara client dan
server (dalam terminologi CORBA, obyek server dinamakan implementasi obyek (object
implementation). Keduanya dapat saja diimplementasikan dalam hardware, sistem operasi, bahasa
pemrograman, dan di lokasi yang berbeda, tetapi tetap bisa saling berkomunikasi. Kuncinya ada pada
sebuah lapisan software yang disebut dengan ORB(Object Request Broker).
Dewasa ini cukup banyak perangkat pengembangan berbasis CORBA yang dapat dijalankan di sistem
operasi Linux. Hampir semua paket hanya mendukung satu pemetaan bahasa saja, kecuali paket
Inter-Language Unification (ILU) dari Xerox PARC yang mendukung beberapa bahasa sekaligus
(ANSI C, C++, Python, Java, dsb). Tapi konsep ILU sendiri agak berbeda dengan CORBA, karena
fokusnya adalah pada integrasi pada level bahasa pemrograman. Meskipun demikian, pendekatannya
mirip, bahkan interface pada ILU dapat pula dispesifikasikan dengan menggunakan IDL.
Beberapa contoh perangkat pengembangan berbasis CORBA yang berjalan di Linux antara lain:
MICO dari mico.org (bahasa yang didukung: C++), Fnorb dari DSTC, Australia (Python), JacORB
oleh Gerard Brose dari Freie Universitat, Berlin (Java), OmniORB2 dari AT&T (C++), serta tak
ketinggalan pula ORBit keluaran laboratorium riset RedHat (mendukung bahasa C) yang dipakai
dalam proyek Gnome.
TAO (The ACE ORB) dari Washington University adalah implementasi ORB yang dikembangkan
dengan pendekatan yang berbeda. TAO tidak semata-mata merupakan sistem ORB sederhana, tetapi
ia dirancang untuk bekerja pada lingkungan real-time dengan batasan-batasan (constraints) yang lebih
ketat dibandingkan dengan sistem terdistribusi biasa. Konsekuensinya TAO lebih memfokuskan diri
pada dukungan terhadap aspek real-time dan koneksi berkecepatan tinggi, yang diimplementasikan ke
dalam arsitektur inti ORB dan modul-modul pendukungnya.
Jika anda memiliki lingkungan komputasi terdistribusi di rumah, di kantor, atau di sekolah, anda bisa
mencoba melakukan pemrograman sistem terdistribusi berbasis CORBA. Yang perlu anda lakukan
adalah men-download salah satu perangkat pengembangan di atas, memasangnya di sistem anda, dan
mengikuti petunjuk/ tutorial pemrograman yang diberikan. Jika petunjuk yang ada belum cukup
memadai, anda bisa mencari tutorial pemrograman CORBA melalui Internet. Salah satu koleksi titik
akses yang cukup lengkap terdapat di situs Cetus (titik akses diberikan di bagian pustaka).
Network Management
Network Management adalah suatu kegiatan - kegiatan yang diperlukan dalam rangka
operasi, pemeliharaan dan administrasi dari jaringan dan layanan telekomunikasi. Fokus
utama dari kegiatan Network Management adalah penyediaan/availability dan reliability dari
jaringan dan layanan.
Untuk itu semua kegiatan network management diusahakan untuk tetap menjaga agar
jaringan telekomunikasi dan layanan tetap berada dalam kondisi yang optimal. Kebutuhan
akan manajemen jaringan terus meningkat, terlihat dengan semakin besar dan komplek-nya
jaringan telekomunikasi yang dikelola.
Jaringan yang besar dan komplek tentunya membutuhkan suatu sistem manajemen yang
tepat. Oleh karena itu,dewasa ini sistem manajemen jaringan dikembangkan terus agar dapat
memenuhi perkembangan jaringan telekomunikasi.
Salah satu teknologi yang sedang popular saat ini adalah teknologi internet. Teknologi
internet dan intranet menjadi teknologi yang mendunia dan sebagai tulang punggung dari
teknologi informasi.
Web menjadi agen pemberi informasi baru. Dengan web, seseorang bisa mendapatkan
informasi yang dibutuhkan secara cepat dan murah. Dengan perkembangan teknologi web
yang semakin interaktif, berbagai aktifitas berbasiskan web, termasuk diantaranya adalah
kebutuhan untuk mengembangkan system manajemen jaringan berbasis web.
Kemudahan bagi User, pada saat jaringan semakin besar dan kompleks, sebuah
system diperlukan untuk mengelola jaringan dan layanan tersebut. Sistem tersebut
harus tidak lebih komplek dari jaringan yang dikelola. Web adalah alternative
teknologi yang tepat, karena teknologi ini sudah sangat umum dan mudah dikuasai
dan dikelola dibandingkan dengan teknologi manajemen jaringan yang umum
digunakan.
Web menggunakan system client-server yang sederhana. Dalam terminology TMN,
sumber daya jaringan dan layanan yang dikelola disebut Managed System atau Agent
atau pun Server. Tugas dari Agent adalah menyediakan semua informasi manajemen
dan menerima perintah-perintah dari client atau manager.
DCN untuk manajemen jaringan adalah jaringan komunikasi data khusus dan
biasanya terpisah dari jaringan (yang dikelola) itu sendiri. Selain itu agar user dapat
menggunakan Operation System, maka pada workstation harus diinstal software-
software aplikasi yang sama seperti halnya pada sisi server.
Pada penerapan manajemen jaringan berbasis web, aplikasi Operation system
digantikan dengan sebuah web server dan pada sisi workstation hanya diperlukan
sebuah browser untuk mengakses Operation system.
Murah, dengan hanya membutuhkan satu PC biasa sebagai web server dan client,
cukup menggunakan Browser seperti Internet Explorer atau Netscape, pengembangan
network management berbasis web relatif lebih murah dibandingkan dengan
pengembangan aplikasi network manajemen yang biasa. Hal lain yang mendukung
faktor ini adalah tidak dipersyaratkannya jaringan komunikasi data (DCN) khusus
untuk sebuah sistem manajemen jaringan berbasis web.
Penggunaan DCN secara khusus akan meningkatkan sistem keamanan, namun dengan
pertimbangan ekonomis DCN dapat juga menggunakan jaringan TCP/IP yang sudah
eksis. Akses yang ditawarkan oleh web juga sangat portable; dimana user dapat
mengakses dari lokasi manapun sehingga bagi para user akan sangat membantu fungsi
pengawasan terhadap jaringan yang dikelola.
Interaktif, dukungan teknologi web seperti ASP, PHP, Java dan VBScript,XML
membuat aplikasi di web menjadi semakin interaktif dan menarik. Aplikasi web yang
interaktif akan memudahkan dan menyederhanakan proses operasi manajemen
jaringan, karena antara user dapat berkomunikasi secara langsung dan near real time.
Dengan web, proses trouble ticketing dapat dilakukan secara terintegrasi.
Persyaratan Dasar
Sebelum memutuskan web sebagai basis dari sistem manajemen jaringan, kita harus
memperhatikan persyaratan-persyaratan yang harus dipenuhi oleh sistem yang akan
dikembangkan untuk memenuhi kriteria sebagai sebuah operation support system (OSS)
untuk manajemen jaringan. Persyaratan tersebut diantaranya adalah:
2. Keamanan; faktor keamanan adalah termasuk syarat utama yang perlu kita
pertimbangkan. Banyaknya hacker-hacker di seputar internet/intranet menjadi
ancaman sendiri bagi keamanan jaringan yang akan dikelola oleh aplikasi kita.
Pemilihan sistem keamanan dan desain-nya akan sangat mempengaruhi. Desain
kemanan akan mempengaruhi sejauh mana kapabilitas dari system.
3. Dukungan kepada Real Time Application, untuk fungsi-fungsi tertentu seperti Alarm
Monitoring, trafik manajemen dan lain-lain, sebuah OSS mempersyaratkan aplikasi
secara real time. Dalam hal ini semua event-event yang terjadi pada Element jaringan
yang dikelola, secara real time akan ditampilkan pada aplikasi kita. Untuk itu perlu
dijajaki apakah aplikasi web yang akan kita kembangkan mampu melakukan hal ini
atau tidak.
Kapabilitas dan ekspandibilitas system; untuk menjadi sebuah OSS yang berdaya guna dan
mendukung keseluruhan fungsi-fungsi manajemen, diperlukan aplikasi yang cukup komplek
dan besar. Untuk itu pemilihan platform Operating System termasuk salah satu hal yang perlu
dipertimbangkan. Sedangkan menyangkut ekspandibilitas system, aplikasi web yang kita
kembangkan harus dapat dikembangkan terus secara fleksibel dan berkelanjutan. (gematel/adi
permadi)
SNMP
SNMP (Simple Network Management Protocol) adalah salah satu pendekatan standard dari IETF
(Internet Engineering Task Force) kepada informasi manajemen. Skema asosisasi yang
menggambarkan mdoel informasi dikenal dengan nama MIB (Management Information Base). SNMP
lebih didesain untuk network management dan tidak begitu extensible, karena itu tidak sesuai untuk
manajemen sistem dan aplikasi. SNMP juga karena keterbatasan extensions cenderung tidak object-
oriented dan tidak mampu untuk self-describing. Namun bagaimanapun protocol ini masih banyak
digunakan dan masih akan terus berevolusi untuk penyempurnaan (SNMP V3)
You can use Simple Network Management Protocol (SNMP) to configure remote devices,
monitor network performance, audit network usage, and detect network faults or
inappropriate access.
A manager generates queries to the SNMP agent applications and receives objects
from SNMP agent applications.
An agent responds to queries from SNMP manager applications. The SNMP agent is
responsible for retrieving and updating local management information based on the
requests of the SNMP manager. The agent also notifies registered managers when
significant events or traps occur.
Object types
Objects are from different types.
Scalar. A scalar object can be assigned values without structures
Table. Table objects are structured arrays and could be indexed.
The following unstructured data types could also be used :
Counter: A non-negative Integer that is incremented until it reaches a maximum
value. When the maximum value is reached the counter wrapper (reset to 0)
Gauge: A non-negative Integer that could oscillate between 0 and a maximum value.
IpAddress: A 32 bits address in dotted octet format (Example: F1:01:45:56)
NetworkAddress: Used to store network address.
Opaque: Used to encapsulate non-formatted data
TimeTicks: A non-negative integer used to keep track of time in 100th of seconds.
Examples of object
Example of table object:
A management information base (MIB) is a virtual database used for managing the entities
in a communications network. Most often associated with the Simple Network Management
Protocol (SNMP), the term is also used more generically in contexts such as in OSI/ISO
Network management model. While intended to refer to the complete collection of
management information available on an entity, it is often used to refer to a particular subset,
more correctly referred to as MIB-module.
Objects in the MIB are defined using a subset of Abstract Syntax Notation One (ASN.1)
called "Structure of Management Information Version 2 (SMIv2)" RFC 2578.The software
that performs the parsing is a MIB compiler.
The database is hierarchical (tree-structured) and entries are addressed through object
identifiers. Internet documentation RFCs discuss MIBs, notably RFC 1155, "Structure and
Identification of Management Information for TCP/IP based internets", and its two
companions, RFC 1213, "Management Information Base for Network Management of
TCP/IP-based internets", and RFC 1157, "A Simple Network Management Protocol".