Current Topic – EPP - TWNIC Jeff Yeh <jeff@twnic.net.tw>

Slides:



Advertisements
Similar presentations
CLS Process Variable Database By: Diony Medrano. CLS PV Database - Topics Background Design Constraints Design and Implementation Benefits and Future.
Advertisements

Trivial Protocols CS-328 Dick Steflik. What’s a Protocol The rules that govern the exchange of information between to hosts –when a dignitary visits a.
Connect. Communicate. Collaborate Click to edit Master title style MODULE 1: perfSONAR TECHNICAL OVERVIEW.
Real-Time Authentication Using Digital Signature Schema Marissa Hollingsworth BOISECRYPT ‘09.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
Report Distribution Report Distribution in PeopleTools 8.4 Doug Ostler & Eric Knapp 7264.
Canonical Producer CP API User Code CP Servlet Files CreateTable, Port, Protocol, Security, SQL Support, Multiple Query Support Security Insert Query Port.
Performed by:Gidi Getter Svetlana Klinovsky Supervised by:Viktor Kulikov 08/03/2009.
Integration case study Week 8 – Lecture 1. Enrolment request (Workstation) Application server Database server Database New University Student Record System.
Simple Mail Transfer Protocol (SMTP) CS-328 Dick Steflik.
Robofest 2001 Online Management System Jim Needham MCS 4833/01 Senior Project Dr. Chan-Jin Chung, Ph.D.
Fawaz Alsaadi Fahad Alsolmai.  Role Based Multi-Agent System for providing effective and secure Bank transaction services  To provide seamless access.
Microsoft File Sharing SMB Protocol. In the beginning … (b4 dos) Application BIOS diskvideo BIOS ( basic input output system ) Provided procedures with.
POP3 Post Office Protocol v.3. Intro The Post Office Protocol (POP) is currently the most popular TCP/IP access and retrieval protocol. It implements.
Mail Server Fitri Setyorini. Content SMTP POP3 How mail server works IMAP.
Overview What are the provisioning methods used in the Australian registry system? How are these provisioning systems secured?
FTP File Transfer Protocol. Introduction transfer file to/from remote host client/server model  client: side that initiates transfer (either to/from.
IDN over EPP (IDNPROV) IETF BOF, Washington DC November 2004.
PerfSONAR Client Construction February 11 th 2010, APAN 29 – perfSONAR Workshop Jeff Boote, Assistant Director R&D.
IT 210 The Internet & World Wide Web introduction.
WINDOWS SERVICES. Introduction You often need programs that run continuously in the background Examples: – servers –Print spooler You often need.
DNS Registries. Overview What is a DNS registry? –DNS registries –Data In –Data Out –Transactions Registry Structure –Registry –Registrars –Registrants.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
DEMIGUISE STORAGE An Anonymous File Storage System VIJAY KUMAR RAVI PRAGATHI SEGIREDDY COMP 512.
Unrestricted Connection manager MIF WG IETF 78, Maastricht Gaëtan Feige, Cisco (presenter) Pierrick Seïté, France Telecom -
Jan Hatje, DESY CSS ITER March 2009: Alarm System, Authorization, Remote Management XFEL The European X-Ray Laser Project X-Ray Free-Electron.
Enabling Embedded Systems to access Internet Resources.
Robert Fourer, Jun Ma, Kipp Martin Copyright 2006 An Enterprise Computational System Built on the Optimization Services (OS) Framework and Standards Jun.
COMP 321 Week 7. Overview HTML and HTTP Basics Dynamic Web Content ServletsMVC Tomcat in Eclipse Demonstration Lab 7-1 Introduction.
PostalOne! / FAST Data Exchange - Vision 02/15/05.
Attacking Applications: SQL Injection & Buffer Overflows.
Abierman-nanog-30may03 1 XML Router Configs BOF Operator Involvement Andy Bierman
Grid Chemistry System Architecture Overview Akylbek Zhumabayev.
Electronic data collection system eSTAT in Statistics Estonia: functionality, authentication and further developments issues 4th June 2007 Maia Ennok,
Recruitment Registrar Design Presentation By Jason Vipond, Jim Sodam, Joe Klug, Ajay Dharna November 21, 2002.
1 Chapter Overview Performing Configuration Tasks Setting Up Additional Features Performing Maintenance Tasks.
Jan Hatje, DESY CSS GSI Feb. 2009: Alarm System, Authorization, Remote Management XFEL The European X-Ray Laser Project X-Ray Free-Electron.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks AMGA PHP API Claudio Cherubino INFN - Catania.
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
API Crash Course CWU Startup Club. OUTLINE What is an API? Why are API’s useful? What is HTTP? JSON? XML? What is a RESTful API? How do we consume an.
Presentation on MDAS API, WD1 ©2001 Farance Inc.1 MDAS API Presentation On WD1 Frank Farance, Farance Inc
P.O.P. A presentation brought to you by Thomas. Topics Introduction General Information Area of use Functionality The alternative way POP3 vs. IMAP Conclusion.
Socket Programming.
JSP Server Integrated with Oracle8i Project2, CMSC691X Summer02 Ching-li Peng Ying Zhang.
Registry Functions Essential components for operating a ccTLD registry.
Matthias Clausen, Jan Hatje, DESY CSS Overview – Alarm System and Management CSS Overview - GSI, 11 Februrary CSS Overview Alarm System and CSS.
Don’t Duck Metadata March 2005 Introducing Setting Up a Clearinghouse Node Topic: Introduction to Setting Up a Clearinghouse Node Objective: By.
Active Directory. Computers in organizations Computers are linked together for communication and sharing of resources There is always a need to administer.
Extensible Provisioning Protocol Scott Hollenbeck.
CNNIC Chinese Domain Name Registration System Zhang Wenhui CNNIC China Internet Network Information Center.
Technical lssues for the Knowledge Engineering Competition Stefan Edelkamp Jeremy Frank.
Accounting in DataGrid HLR software demo Andrea Guarise Milano, September 11, 2001.
Workshop Overview & Registry Model Model by Jaap Akkerhuis Related by Daniel Karrenberg.
INFORMATION DEPLOYED. SOLUTIONS ADVANCED. MISSIONS ACCOMPLISHED. PDS Punch-Out v1.0 SPS Spotlight Series October 2014.
Sockets A popular API for client-server interaction.
Ska in KAist …The BBS of Dream… netj leetop leechun jeans
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
1 FRED – open source registry system CZ.NIC, z.s.p.o. Jaromír Talíř
Integrating ArcSight with Enterprise Ticketing Systems
Automated ADT Interface Version .02
Integrating ArcSight with Enterprise Ticketing Systems
ODBC, OCCI and JDBC overview
PGT(CS) ,KV JHAGRAKHAND
Chapter 2: System Structures
Server Concepts Dr. Charles W. Kann.
IETF-59 P-IMAP Draft Overview ( Stéphane H. Maes – Jean.
National Internet Development Agency of Korea (NIDA)
Get Amazon AWS-DevOps-Engineer-Professional Exam Real Questions - Amazon AWS-DevOps-Engineer-Professional Dumps Realexamdumps.com
3GPP and SIP-AAA requirements
Exceptions and networking
Presentation transcript:

Current Topic – EPP - TWNIC Jeff Yeh <jeff@twnic.net.tw>

Overview EPP Introduction TWNIC EPP Implementation What is EPP Why EPP EPP relate information TWNIC EPP Implementation TWNIC EPP Environment EPP issue Policy issue TWNIC technical issue today i'd like to introduce about EPP my presentation today will divided into 3 major part 1. EPP introduction which contains a brief intorduction of EPP, and what's the advantage of adopting EPP Then we will talk about the EPP implementaiton experience in TWNIC including the TWNIC EPP environment and the problems that TWNIC encounted

What is EPP Client-Server Protocol for provisioning and management objects Key feature Object model XML Based Extensible framework Generic object management operation what is epp epp is a client-server protocol for provisioning and management objects the key feature of EPP are object model XML based extensible framework generic object management operation as these features ePP basically can provision for all kinds of object not only domain name Such as insurance contract, tax … Maybe new business opentunity for epp

EPP Command Session Management Commands Query Commands Login: login to EPP server Logout: logout from EPP server Query Commands Check: retrieve object availability Info: retrieve information about an object Transfer: retrieve status of a transfer operation Poll: retrieve queued messages at server Object Transform Commands Create: create an instance of an object Delete: delete an instance of an object Renew: extend the validity of an object Transfer: initiated a change in the sponsorship of an object Update: change information associated with an object As epp standard specified There 3 kinds of operation command session management command is to maintain a epp session Such as login in and logout Query command is used to retrieve object information Check command is to determine if a object availe or not info command is to retrieve the associate information with an object transfer query command is to retrieve the transfer status of an object and poll command is to retrieve server queued messages And object transform commands create command is to create an object delete command is to delete an object renew command is to extend the validity of an object (for domain name is the expiring date of the domain name) transfer command is to change the sponsorship of an object (to transfer from one registrar to another registrar will use this command) update command is to change the information of an object

Typical EPP command <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> <command> <info> <obj:info xmlns:obj="urn:ietf:params:xml:ns:obj" xsi:schemaLocation="urn:ietf:params:xml:ns:obj obj.xsd"> <obj:name>example</obj:name> </obj:info> </info> <clTRID>ABC-12345</clTRID> </command> </epp> Here is a typical epp command XML header XML namespace EPP command Object specific namespace Object specific information EPP transaction id

Typical EPP response <?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns="urn:ietf:params:xml:ns:epp-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ietf:params:xml:ns:epp-1.0 epp-1.0.xsd"> <response> <result code="1000"> <msg lang="en">Command completed successfully</msg> </result> <trID> <clTRID>ABC-12345</clTRID> <svTRID>54321-XYZ</svTRID> </trID> </response> </epp> Typical EPP response format XML header EPP namespace EPP response EPP resopnse code EPP response message EPP transaction id (client, server)

EPP Client (Registrar) A Typical EPP Session EPP Client (Registrar) EPP Server (Registry) connection setup <greeting> EPP Session Establishment <login> <response> <command-1> <response> EPP Transactions: Object Provisioning and Queries Here is a typical epp session When an EPP client connect to EPP server Server will return a greeting message to client Then client can perform login in command with it id & pwd After the authentication is done, a epp session is build A epp connect can accept unlimited commands, Client can perform their command when the epp session Is active Finally a logout command colsedown an epp session <command-n> <response> <logout> EPP Session Closedown <response> connection teardown

EPP server state machine Waiting for Client Connected Or <hello> Prepare Greeting Close Connection Or Idle Send Greeting End session Timeout Waiting for Client Authentication Send Response <login> Received Prepare Fail Response Send 2501 Response Processing <login> Auth Fail Auth OK Here is the full state machine of a EPP server Timeout Waiting for Command Send Response Send x5xx Response Command Received Prepare Response Command Processed Processing command

EPP domain Function Command Domain Host Contact Session Management <hello> N/A <greeting> <login> <logout> Transformation <create>  <update> <delete> <renew> <transfer> Query <check> <info> <poll> When EPP map to domain name registration model It consist with 3 kinds of object, domain, host and contact. Where domain means domain name object Host means name server object Contact is the contact person object Each object type has it’s own operation. For host and contact object, the renew command will not implemented. Because they don’t need to be renewed. likewise host object don’t need transfer command.

Why EPP IETF Standard Extensible UTF8 Security Well-defined atomic operation Automation Then whey EPP Because it’s IETF Standard, that means easy to bridge registrar-registry And it’s Extensible to fit policy difference UTF8 is able to deal with all characters in different languages Security: EPP should build upon a SSL/TSL connection and need id/pwd authentication and authoritication And its well-defined atomic operation, easy to maintain and management Full automatic registration The major benefit of adopting EPP is registry only need to develop a single system to connect with all the registrars And the registrars also need only one system to connect with all registries. Reduce the overhead of develop new system

EPP current status RFC Standard (RFC-EDITOR) Standard Port 700 (3121) draft-ietf-provreg-epp-09.txt draft-ietf-provreg-epp-contact-07.txt draft-ietf-provreg-epp-domain-07.txt draft-ietf-provreg-epp-host-07.txt draft-ietf-provreg-epp-tcp-06.txt Standard Port 700 (3121) TLDs adopting EPP gTLDs: .biz, .info, .name, .coop ccTLDs: .us, .au, .cn, .tw, .at, .pl,... EPP currently is not a RFC standard yet, but you can already found it on the RFC database And it’s status is RFC-EDITOR, and will get RFC numbers very soon. The latest version of epp is …… And the standard port of EPP will use 700, where the old draft using 3121 as EPP server port. And there are already a lot of TLDs adopting EPP Such as .biz, .info, .name on gTLD And .us, .au, .cn, .tw …on ccTLD

EPP related information Provreg WG website: http://www.ietf.org/html.charters/provreg-charter.html Mail Archive: http://www.cafax.se/ietf-provreg/maillist/ And here are some epp related informations If you have interesting on ePP, you may have a look on these link above

TWNIC environment draft-ietf-provreg-epp-04.txt draft-ietf-provreg-epp-contact-02.txt draft-ietf-provreg-epp-domain-02.txt draft-ietf-provreg-epp-host-02.txt And then I’d like to introduce TWNIC EPP environment and share some experience TWNIC use epp draft 0402 Where the Major difference between latest version is the Privacy issue And some XML schema different But the object defination and procedure are almost the same

TWNIC environment EPP Server OS: Linux 2.4.18 Develop Language: Perl 5.8.0 Database Server OS: SunOS 5.8 Database Server: Oracle 8.0.5 TWNIC EPP server environment is linux 2.4.18 And develop with perl 5.8 (some people ask why use perl rather than java, our thought is perl can run on various platform such as java and the performace issue on java is bad also, the most important is …. We don’t have java experience… And the backend database is oracle 8.0.5 on sun 5.8

TWNIC EPP Structure registrars registry EPP Server 1 Registry Database client EPP Server 1 registrar2 EPP client Registry Database registrar3 EPP client This slide shows the TWNIC EPP structure To overcome the Perl performance problem, we use 2 server in the front to accept epp connections Current chart…response time 1500ms registrar4 EPP client EPP Server 2 registrar5 EPP client registrar6 EPP client

TWNIC EPP status Launch on Jan 20th, 2004 Connect with 18 registrars (via NeuLevel) More than 300 domain name registered on the first day New registration growth 35% Launch on jan 20 And connect with 18 registrars (via neulevel epp gateway More than 300 domain name registered on the first launch day The new registration amount per month growth about 2000 ->2761 35%

EPP developing reminder Linked Status Roid Poll message Extension for each registry Schema validation (*.xsd) Here are some reminders when developing epp system Linked status means a object is in use (such as a contact object is link to a domain object contact person) In this case, the contact object can not being removed Theoritically is simple but is important when developing Roid is just a unique identifier of a object, thought it not really used in EPP but it necessary Bascially poll message is a comunciation channel within registry/registrar, you can put message on poll to let registrar know Basically epp is standard, but due to the policy different, every registry may have their different requirement, so the extension is used to solve this problem Enable the schema validation can reduce the debug time on the XML schema errors

TWNIC Policy issue Transfer procedure Rename Grace Period Special Field Here I’ll talk about some TWNIc policy issues that related EPP The first is transfer procedure, the original transfer procedure in TWNIC is to transfer out on the old registrar, then go to the new registrar to setup a transfer in job. But in EPP standard, a transfer operation is initialed by new registrar, then after the old registrar approved the transfer, the transfer operation can be done. In TWNIC Guidelines for Administration of Domain Name Registration, it defines TWNIC have domain name rename service However, EPP don’t have rename operation, In TWNIC registration policy, we have 7 days grace period, but EPP don’t have this kind of function Currently we just active the domain name, then if user regret within 7 days, he havn’t to pay any fee. The last one is the special field restriction, in Taiwan you must have a company tax id code to register .com.tw, but for foreign firms , they don’t have this informations.

TWNIC technical issue Database code type Database layout BIG5->UTF8 Database layout Front end user interface problem API & EPP parallel run

IDN over EPP UTF8 No standard until now