Introduction to Seminar "Advanced Topics on Computer Networking"

23
Telematics group University of Göttingen, Germany Introduction to Practical Course “Telematik”/Computer Networks SS 2005 Dr. Xiaoming Fu Ingo Juchem Stephan Schröder

description

 

Transcript of Introduction to Seminar "Advanced Topics on Computer Networking"

Page 1: Introduction to Seminar "Advanced Topics on Computer Networking"

Telematics groupUniversity of Göttingen, Germany

Introduction to Practical Course “Telematik”/Computer Networks

SS 2005

Dr. Xiaoming Fu

Ingo Juchem

Stephan Schröder

Page 2: Introduction to Seminar "Advanced Topics on Computer Networking"

2SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Agenda

• Overview• Topics

Page 3: Introduction to Seminar "Advanced Topics on Computer Networking"

3SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Goals

• To further understand concepts of computer networks architecture, services and applications.

• To develop demo/prototype implementations using such concepts and possibility contribute to open source community.

• To learn how to organize a small development project and work in a team environment.

• Finally, present the work and write down the report.

Page 4: Introduction to Seminar "Advanced Topics on Computer Networking"

4SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Policy

• The course is practical oriented. Then, the main focus will be programming projects each associated with a presentation and final report.

• 8 project candidates (although not highly restrict to), select one and 2~3 people as your project partners

• 2 teaching assitants will help you with programming and some organizational issues

Page 5: Introduction to Seminar "Advanced Topics on Computer Networking"

5SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Covered topicsThe focus point of the course will be network systems, applications, services,

covering the following topics:

1. Implementation and Unit Tests of a HTTP 1.0 Server

2. Implementation of an RTSP-based media player (client) & server with player controls

3. Scalable adaptive (reliable) publish/subscribe data distribution service

4. A P2P service application on Java’s P2P Framework JXTA with authorization support

5. Service discovery with dynamic attributes using .NET and J2EE

6. Prototype implementation: Trait-based authorization for SIP using SAML

7. Prototype implementation: Location based authorization and charging

8. Build a programmable firewall supporting both stateless and stateful packet filtering

Page 6: Introduction to Seminar "Advanced Topics on Computer Networking"

6SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Forms

• Part 1: working towards a prototype implementation• Part 2: project report (about 10 pages)• Part 3: presentation of project design results: before the end of the

semester• Part 4: release as open source

Meetings and others: Weekly meetings: Friday 14:00~ when necessary Don‘t forget to register in studip Don‘t forget to register in munopag Normally you‘ll just get credits; tell me if you will need a grade

Page 7: Introduction to Seminar "Advanced Topics on Computer Networking"

7SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

How to present

• Summarize your main ideas beforehand, sketch your impressions about the overall idea and results

• Decide which is the best idea in the paper– Write it down and justify with a line sentence

• Figure out how to get your audience as quickly as possible to the point where they can understand this idea

• Elaborate the idea in details– Background, approach, project resource allocation,

implementation details, testbed and parameter setups, performance evaluation results, any open issues (benefits/difference over others)

• Summary of the work in a short sentence

Page 8: Introduction to Seminar "Advanced Topics on Computer Networking"

8SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Project report coverage

• Title• Abstract: a broad overview of the project, end with a short

statement of the major results of your investigation• Introduction (or Motivation of the work): expands the abstract,

get specific about your investigation, and give an overview of the project organization

• Technical approach: what’s important idea of the work? Bring your reader to the method and why you utilized/relied which tools/platforms

• Implementation details• Major results and explanation• Summary and future possible work along the direction

Page 9: Introduction to Seminar "Advanced Topics on Computer Networking"

9SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Project 1: Implementation and testing of an HTTP Web server

Should provide basic functionality File-system-based, thread pooling HTTP 1.0 No CGI support MIME and HTTP status [1] through static configuration (file) Perform unit tests with coverage > 80% Functionality to be tested with common browsers such as

Mozilla, IE, Lynx etc. Programming language: C Performance testing

Page 10: Introduction to Seminar "Advanced Topics on Computer Networking"

10SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Project 1 (cont.)

Re-use of existing C-libraries Reference specifications: See RFC1945 [2] Sample implementation: zjhttpd [3] Approx. 2-3 people

Resources:

• RFC1945• W3C http status codes

http://www.w3.org/Protocols/HTTP/HTRESP.html• zjhttpd: http://www.zotteljedi.de/projects/zjhttpd/

Page 11: Introduction to Seminar "Advanced Topics on Computer Networking"

11SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Project 2: RTSP media player

Client and server based on RTSP Adaptive playback mechanisms for playback (allow for

switching to lower-quality version when link is congested) Show your results by streaming some media (audio or

video) Reference specifications: See RFC 2326 Sample Implementation: vovidia's RTSP stack or

Columbia University's sample implementation (no longer available?)

Approx. 2-3 people

Page 12: Introduction to Seminar "Advanced Topics on Computer Networking"

12SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Project 2 (cont.)

Resource:

• RTSP http://www.rtsp.org/ • RFC 2326 • http://www.vovida.org/

Page 13: Introduction to Seminar "Advanced Topics on Computer Networking"

13SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Project 3: Scalable adaptive (reliable) publish-subscribe data distribution service over the Internet

• In a publish-subscribe system, senders label each message with the name of a topic ("publish"), rather than addressing it to specific recipients. The messaging system then sends the message to all eligible systems that have asked to receive messages on that topic ("subscribe"). This form of asynchronous messaging is a far more scalable architecture than point-to-point alternatives such as message queuing, since message senders need only concern themselves with creating the original message, and can leave the task of servicing recipients to the messaging infrastructure.

• Scalable adaptive data distribution means that the server has control over the data rates it is sending. Therefore it is able to adjust the upload speed to the number of clients it is serving.

• The objective of this practikum is to develop an open source client-server architecture in Java which does right that. The client functinality should allow to compose, send, receive and decompose messages consisting of multiple data files.

Page 14: Introduction to Seminar "Advanced Topics on Computer Networking"

14SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Project 3 (cont.)

Resources:• Java http://java.sun.com/j2se/• Java IDE – Eclipse: http://www.eclipse.org/• Javabook: http://www.javabuch.de/• OpenSource-Java-Database:

http://hsqldb.sourceforge.net/

Page 15: Introduction to Seminar "Advanced Topics on Computer Networking"

15SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Project 4: Build a P2P service application on Java’s P2P Framework JXTA with authorization

• JXTA™ technology is a set of open protocols that allow any connected device on the network ranging from cell phones and wireless PDAs to PCs and servers to communicate and collaborate in a P2P manner. JXTA peers create a virtual network where any peer can interact with other peers and resources directly even when some of the peers and resources are behind firewalls and NATs or are on different network transports.

• JXTA objectives:– Interoperability: across different peer-to-peer systems and communities– Platform independence: multiple/diverse languages, systems & networks– Ubiquity: every device with a digital heartbeat

• The objective of this project is to develop an open source demo P2P application with authorization support (e.g. authorized file-sharing) by applying the JXTA framework.

Page 16: Introduction to Seminar "Advanced Topics on Computer Networking"

16SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Project 4 (cont.)

Resources:• Java http://java.sun.com/j2se/• Java IDE - Eclipse http://www.eclipse.org/• Javabook http://www.javabuch.de/• JXTA http://www.jxta.org/

Page 17: Introduction to Seminar "Advanced Topics on Computer Networking"

17SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Project 5: Implementation and evaluation service discovery with dynamic attributes using .NET & J2EE

• There are many web services with dynamic attributes like online stook brocker, ebay auctions or printer request if the printer with the smalles queue is saught. This objective of this prakticum is to implement a simple service using .Net(C#) and J2EE(Java) and later compare the implementation aspects of both frameworks.

Resources:• .Net http://msdn.microsoft.com/netframework/• Java http://java.sun.com/j2ee/• Java IDE – Eclipse http://www.eclipse.org/• Javabook(chapter 46 RMI) http://www.javabuch.de/• C#-Buch: http://www.galileocomputing.de/katalog/openbook?

GalileoSession=43985043A1-vvD.Sk7Y• SSDN: Simple Service Discovery for .NET

http://www.michaylov.com/spiro/ssdn/ssdn_overview.html

Page 18: Introduction to Seminar "Advanced Topics on Computer Networking"

18SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Project 6: Prototype Implementation:Trait-based Authorization for SIP using SAML

• SIP is an application-layer control/signaling protocol for creating, modifying & terminating sessions with one or more participants.

• Security Assertion Markup Language (SAML) is an XML extension for security information exchange that is developed by OASIS.

• Trait- based authorization means a participant is authenticated using roles or traits instead of using its authenticated identity.

• This project aims to provide a prototype implementation for the latest idea of using SAML in SIP to support trait-based authorization and contribute to open source – http://www.ietf.org/internet-drafts/draft-tschofenig-sip-saml-02.txt

• In collaboration with Hannes Tschofenig (Siemens, Munich)

Page 19: Introduction to Seminar "Advanced Topics on Computer Networking"

19SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Project 6 (cont.)

• SIP http://www.cs.columbia.edu/sip/• SIP Open Source Implementation: http://www.vovida.org/• SAML Open Source Implementation: http://www.opensaml.org/ • OASIS SAML:

http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security

• SAML-SIP: – http://www.ietf.org/internet-drafts/draft-tschofenig-sip-saml-02.txt – http://www.tschofenig.com/ba-stuttgart/IA2005/SAML-SIP.ppt – http://www.ietf.org/internet-drafts/draft-ietf-sipping-trait-authz-01.txt

Page 20: Introduction to Seminar "Advanced Topics on Computer Networking"

20SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Project 7: Prototype Implementation:Location based Authorization and Charging

• RADIUS is a popular AAA (authentication, authorization and accounting) protocol– It defines a number of attribute-value-properties (AVPs) for

message exchange between a client and a server– there are several open source implementations

• The work here is to prototype an idea on extending a few RADIUS attributes for carrying location objects and contribute to open source community– http://www.ietf.org/internet-drafts/draft-ietf-geopriv-radius-lo-02.txt

• Purpose: Provide location based authorization, charging, billing and taxation

• In collaboration with Hannes Tschofenig (Siemens, Munich)

Page 21: Introduction to Seminar "Advanced Topics on Computer Networking"

21SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Project 7 (cont.)

Resources:• FreeRadius: http://www.freeradius.org/• http://www.ietf.org/internet-drafts/draft-ietf-geopriv-ra

dius-lo-02.txt• http://www.tschofenig.com/geopriv/IETF59/Location-

Information-in-Radius-IETF59.ppt • http://www.tschofenig.com/geopriv/IETF61/

Carrying_Location_Objects_in_RADIUS-IETF61.ppt • RFC 2865, 3576

Page 22: Introduction to Seminar "Advanced Topics on Computer Networking"

22SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Project 8: Programmable Firewall

Stateless and stateful packet filtering Stateless: filter according to protocol and/or port Stateful: filter dynamically after session setup (use soft

states for timers) Kernel module suggested Example Implementation: Uni Zürich's SINUS firewall Allow for possible interaction with IETF's NSLP NAT/FW

protocol Programming language: C Approx. 3-4 people

• In collaboration with Hannes Tschofenig (Siemens, Munich)

Page 23: Introduction to Seminar "Advanced Topics on Computer Networking"

23SS 2005, [email protected]

Telematics groupUniversity of Göttingen, Germany

Project 8 (Cont.)

Resources: • “Sinus firewall”,http://www.ifi.unizh.ch/ikm/SINUS/ firewall/• http://www.tmg.informatik.uni-goettingen.de/research/signet/draft-

ietf-nsis-nslp-natfw-05.txt