Introduction to Seminar “Advanced Topics on Computer Networking”
Download
Report
Transcript Introduction to Seminar “Advanced Topics on Computer Networking”
Introduction to Practical Course
“Telematik”/Computer Networks
SS 2005
Dr. Xiaoming Fu
Ingo Juchem
Stephan Schröder
Telematics group
University of Göttingen, Germany
Telematics group
University of Göttingen, Germany
Agenda
• Overview
• Topics
SS 2005, [email protected]
2
Telematics group
University 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.
SS 2005, [email protected]
3
Telematics group
University 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
SS 2005, [email protected]
4
Telematics group
University of Göttingen, Germany
Covered topics
The 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
SS 2005, [email protected]
5
Telematics group
University 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
SS 2005, [email protected]
6
Telematics group
University 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
SS 2005, [email protected]
7
Telematics group
University 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
SS 2005, [email protected]
8
Telematics group
University 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
SS 2005, [email protected]
9
Telematics group
University 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/
SS 2005, [email protected]
10
Telematics group
University 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
SS 2005, [email protected]
11
Telematics group
University of Göttingen, Germany
Project 2 (cont.)
Resource:
• RTSP http://www.rtsp.org/
• RFC 2326
• http://www.vovida.org/
SS 2005, [email protected]
12
Telematics group
University of Göttingen, Germany
Project 3: Scalable adaptive (reliable) publishsubscribe 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 clientserver architecture in Java which does right that. The client functinality
should allow to compose, send, receive and decompose messages
consisting of multiple data files.
SS 2005, [email protected]
13
Telematics group
University 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/
SS 2005, [email protected]
14
Telematics group
University 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.
SS 2005, [email protected]
15
Telematics group
University 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/
SS 2005, [email protected]
16
Telematics group
University 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=439
85043A1-vvD.Sk7Y
• SSDN: Simple Service Discovery for .NET
http://www.michaylov.com/spiro/ssdn/ssdn_overview.html
SS 2005, [email protected]
17
Telematics group
University 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)
SS 2005, [email protected]
18
Telematics group
University 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.oasisopen.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
SS 2005, [email protected]
19
Telematics group
University 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)
SS 2005, [email protected]
20
Telematics group
University of Göttingen, Germany
Project 7 (cont.)
Resources:
• FreeRadius: http://www.freeradius.org/
• http://www.ietf.org/internet-drafts/draft-ietf-geoprivradius-lo-02.txt
• http://www.tschofenig.com/geopriv/IETF59/LocationInformation-in-Radius-IETF59.ppt
• http://www.tschofenig.com/geopriv/IETF61/Carrying_
Location_Objects_in_RADIUS-IETF61.ppt
• RFC 2865, 3576
SS 2005, [email protected]
21
Telematics group
University 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)
SS 2005, [email protected]
22
Telematics group
University 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/draftietf-nsis-nslp-natfw-05.txt
SS 2005, [email protected]
23