Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 IPv6 Enable DNS Server Rosenfeld Asaf & Timor Lior Advisor: Uritzky Max TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB.

Similar presentations


Presentation on theme: "1 IPv6 Enable DNS Server Rosenfeld Asaf & Timor Lior Advisor: Uritzky Max TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB."— Presentation transcript:

1 1 IPv6 Enable DNS Server Rosenfeld Asaf & Timor Lior Advisor: Uritzky Max TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

2 2 Some Background The Project deals with several major protocols DNS Servers play a very important role in the Internet New IP Protocol is quicky spreading worldwide Internet servers must be stable and usable TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

3 3 Domain Name Service Use names instead of numbers Servers are suffixes divided Servers arranged in tree like hierarchy Ever notice the dot ??? TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

4 4 DNS (cont.) TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

5 5 Internet Protocol V6 IPv4 supports poorly distirbuted and not enough addresses. (4G) Modular Packet structure New features Different handling No backward compatibility TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

6 6 Project Goals Learn the DNS protocol Learn the IPv6 protocol Learn C# with MS.NET Implement a deployable DNS Server for IPv4 and IPv6 addresses, accoding to Industry standatds and RFCs TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

7 7 Challanges Server needs to have dual stack. Support for both platform and service Usable – handle large amount of requsets in short time. Parse, Find, Build and Send while Avoiding timeouts. Stable – withstand bursts and DoS attacks Testing (DoS, multiple environments, test app.) Native and Joined IP environments TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

8 8 Solution Concept Multiple Network-interface threads Single synchronized joined Database Database capable of learning Run-time protocol chooser Use.Net Socket, Threading and collections mechanisms TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

9 9 Class Diagram TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

10 10 Database Demands: Support multiple read and write transactions Fast ! Domain AddressDomain Name# 132.68.1.1www.a.com1 132.69.1.2www.a.com2 192.168.1.1www.bb.com3 132.68.1.3www.a.com4 192.168.1.2www.bb.com5 132.68.1.4www.a.com6 192.168.1.3www.bb.com7 192.168.1.4www.bb.com8 132.68.1.5www.a.com9 2001::1www.ccc.com10 192.168.1.5www.bb.com11 132.69.34.6www.a.com12 3055:1234:5678::1www.dddd.com13 2003:A::ABC5www.a.com14 TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB Domain AddressDomain Name# 132.68.1.1 132.69.1.2 132.68.1.3 132.68.1.4 132.68.1.5 132.69.34.6 2003:A::ABC5 www.a.com1 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5 www.bb.com2 2001::1www.ccc.com3 3055:1234:5678::1www.dddd.com4 Hash container

11 11 Database (cont.).Net Interlocked methods Each function is either Writer or Reader Wrapped in try  finally Learns using.Net resolver TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

12 12 Network Interface Setting.Net framework to use IPv6 Use.Net Socket class with address families IPv4 and IPv6 Ability handle large amout of requests simultaneously  Threads Starting a new thread is costy Starting all needed threads at the beginning, is a waste, and has a management overhead  THREADPOOL TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

13 13.NET Threadpool Provides a pool of threads that can be used to post work items, process asynchronous I/O, wait on behalf of other threads, and process timers System managed TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

14 14 Network Interface (cont.) Use StartReceiveFrom which uses threadpool Each task re-assigns itself v4 tasks and v6 tasks TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

15 15 Use case TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

16 16 User Interface TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

17 17 Unit Testing real-life scenario. Remote applications use the DNS server Linux tools (nslookup, dig, etc..) Proprietary test application TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

18 18 Technology C# MS.NET Framwork Socket Threadpool Container Text.Encoding IPv6 DNS Various Linux DNS test tools TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

19 19 Conclusions Although database strucure is optimized and hash table was used, it is still the bottleneck Commercial DNS products do not fully implement standard IPv6 support is far from being friendly. MS.Net support not fully works TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

20 20 Future Work IPSEC DNS-SEC Optimized Caching, threaded $ ? Mutual DNS Servers updates Server implemented as semi-cluster Threadpool fiddling - setMinThreads TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB

21 21 Acknowledgment We would like to thank Max Uritzky for all the support. Always fast, regardless the day or the time ! And of course, the software lab, for answering our technical needs TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB


Download ppt "1 IPv6 Enable DNS Server Rosenfeld Asaf & Timor Lior Advisor: Uritzky Max TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY SOFTLAB."

Similar presentations


Ads by Google