Dacopan project MEETING MINUTES Feb 3rd, 2004 Meeting Feb 3rd, 2004, at 16:15 Department of Computer Science, room C475 Teollisuuskatu 23, Helsinki Attendance Markku Kojo, customer Dmitry Korzun, instructor Kirill Kulakov Andrei Salo Andrei Ananin Mikhail Kryshen Jonathan Brown, chairman Carlos Arrastia Aparicio Alejandro Fernandez Rey Jarkko Laine Jari Aarniala Vesa Vainio, secretary Turjo Tuohiniemi, instructor Absent Nobody was absent 1. Start Mr. Brown started the meeting at 16:16. 2. Assessment of the situation This week is a very critical week for the project, as this is the last whole week that the Petrozavodsk group is in Helsinki. We should try to complete as many important things as possible before they leave. 3. Discussion Turjo took and distributed copies of the list of requirements prepared by the Helsinki group. 3.A - What is missing from the Project Plan - Schedule - There should be some fixed milestones - Writing the schedule should be based on the "Software Engineering Project - Distributed Approach" document - size estimate (can be discussed after the division of the work is decided) - organization: information of the following should be added - Supervisor - Web system - CVS - Explanation of member roles to make them clearer - According to Turjo the Project Plan should be about 30 pages long 3.B Discussion about requirements list with Mr. Kojo Mr. Kojo disagrees on the requirement "The tcpdump logs given to the analyzer should contain a single connection only, etc.". This is because many real life networking situations inherently need multiple connections. This includes many HTTP requests and also the DNS lookup. Sometimes multiple connections would be sequential to each other, not simultaneous. Also, sometimes you may need to distinguish different connections from each other (by different colors, for example) and sometimes that is not required. Animating the DNS lookup also presents another problem, because the DNS lookup goes to a different host than the actual target of the communication. Mr. Kojo also pointed out that a term we should be used is "flow" rather than "connection" because there are no connections in UDP, for example. Vesa presented a point that there are different levels of detail that can be animated. One is close to the detailed mechanisms of protocols and for that, only a few packets need to be shown at a time, but with lots of information about them. On a higher level of detail, you are able to present "emergent" properties of protocols, like reacting to congestion and network errors. These different levels of protocols correspond to different educational objectives. Then it was discussed if the ARP protocol events should be shown. Mr. Kojo said that it is enough to show functionality of Ethernet (no other protocols from link layer), that would be enough to show how ARP works. It was also discussed, if the fact that ARP lookup happened, could be visualised by a small message box. Also a scenario where there is incorrect input to the analyser was discussed. It was concluded that it is preferable for the analyser to ignore incorrect input rather than exit with error. Analysing the timestamps was discussed, and if the analyser should recognize problems with timestamps. Mr. Kojo said that ensuring the correctness of timestamps is the responsibility of the user. All the program needs to do is allow the user to input an adjustment that should be made to timestamps of one host. Mr. Kojo also disagreed with the requirement "The analyzer should only be able to analyze TCP connections established within the tcpdump log file". This would harm the usefulness of the program, because in some networking scenarios the interesting event only happens quite far in the connection, and it would be useful to be able to skip the non-interesting information at the beginning. Mr. Kojo suggested that the analyzer should dynamically keep track of all the flows it encounters in the log files. Every time the analyzer encounters the beginning of a previously unseen flow, it should just add it to its internal list of flows. This should technically be easy and not burden the implementation. Mr. Kojo said that the program should support the following application level protocols: 1. HTTP 2. DNS 3. IP fragmentation with any UDP protocol. Mr. Kojo said that he doesn't require the program to be able to animate anything backwards. It's enough for the user to be able to spesify a point in the animation where he wants to step (in one step), and this point can be in the backward direction, but it is enough for the actual animation to always proceed forwards. Vesa agreed that this is educationally feasible. It was agreed that the specification of 'an animation step' should be decided later. Steps can be either a time tick or a packet sent/received. It's probable that the program should support both, and let the user configure the choice. Vesa commented on the requirement "The user should be able to view detailed (relevant) information on a packet by clicking it". He pointed out that from educationalp oint of view all relevant information should be visible at once. The user should be able to do this by configuring the view. Otherwise the learner would need to keep too much information in his memory, and this is not good for learning. Mr. Kojo pointed out that the learner may reach an advanced stage where he may want to go investigating detailed information about packets to understand the mechanisms better, and it would not be possible that all information be kept visible anyway. Kirill asked about the definition of IP protocol, does it mean IPv4 or IPv6. Mr. Kojo said that the program only needs to work with IPv4 at this stage, but the intermediate file format should be extendable to IPv6. 3.C Discussion about animating packet encapsulation in different levels Mr. Kojo said that it is mandatory that the program should be able to visualize the encapsulation of information for the different layers. Mr. Kojo explained that the 'conservative' way of visualising encapsulation is so that the packet is drawn horizontally and the time goes from up to down. On each successive layer the packet from above layer is included as the payload for the lower layer, and the template of the protocol header is filled in with appropriate information. Mr. Kojo does not absolutely require that this process is animated, it is possible that it may be presented as a static diagram. 3.D Discussion about List of Scenarios The list of networking scenarios that the program should be able to animate was found to be extremely relevant at this stage, and this list, with complete descriptions, should be produced as soon as possible. This list of scenarios put together defines the extent of animation abilities that are required of the program. Also, this list of scenarios defines the educational objectives of the program. The educational objectives are that students should be able to learn to understand the mechanisms depicted by the scenarios. Mr. Kojo said that he will try to produce tcpdump logs corresponding to the scenarios as soon as he gets the list in writing. We will review the list of scenarios in the Tuesday 10th of February meeting. At that meeting, Mr. Kojo would give presentations about the mechanisms involved in the scenarios to make sure all members of the project understand them. For this Mr. Kojo needs to receive the list from us by noon on Monday 9th Feb, so that he has time to read them. Mr. Kojo also wanted to add two scenarios to the ones that have been discussed previously. These are: 1. DNS lookup. 2. application data not fitting in one TCP or UDP segment and needing to be fragmented. If it's not possible to get the presentations from Mr. Kojo on Tue 10th Feb, then it is possible for the Petrozavodsk group to get presentations from a local expert. Mr. Kojo also recommended a book named TCP/IP Illustrated Volume 1 by Stevens if we need to learn more about the protocols. 3.E This Week's Agenda - start design - diary: Turjo told us that we should start keeping personal diaries about the project. We should include our understanding about the project status, our own experiences, our views of how others work, etc. This diary would be personal and private during the project. At the end of the project they would be read by the course administrators and used as course feedback. The Helsinki group can write their diaries in Finnish or in English and the Petrozavodsk group can probably write theirs in Russian if they wish. Turjo also requested that everybody keep their diaries in the group resource and put the access rights so that others can't read them. This way Turjo will be able to watch the file sizes grow. - progress report - progress reports should be put by everyone to the project resource by Tuesday this week - it was decided that we will use only full hours - the file should be named like FirstnameLastname.txt - reports from groups need to go to different directories - reports from both groups will be sent to both supervisors - preparing and sending the reports is the task of the group leader - Vesa will prepare a proposal for different task types that we should use when marking the hours. Turjo will modify the script so that it will produce neat reports from this information. - division of the project between the groups: It was agreed that the Petrozavodsk group will work on the analyzer and the Helsinki group will work on the animator. The intermediate file format is an important interface between the two major software modules and because of this the groups need to co-operate on designing the file format. The file format is most likely to be XML based. The animator group will produce requirements on what information should be present in the intermediate file. If the workload for the project seems to be unevenly distributed between the groups, then methods to even out the workload will be discussed. Having a member of one group work mainly with the other group has good and bad sides. The bad side is that it may create a bottleneck of communication and thus increase risk of failure for a particular component. The good side is that it increases the overall communication between the groups and thus gives both groups better understanding on what is going on at the other group. This reduces overall risk of misunderstandings. It was discussed if the analyzer module should include information about implicit variables to the intermediate file. (Explicit variables are those that can be explicitly read from tcpdump logs. Implicit are those that need to be inferred, produced by simulation, etc.) From an educational point of view it would be extremely important to show the user information about host states, and this information is mostly in implicit variables. Previous discussions with the customer show that he will want the program to work on implicit variables. However, this will need to be discussed with the customer in more detail. - list of scenarios - Vesa wasn't present when the scenarios were discussed for the first time. He wants to participate in preparing the list, but he can't take part in the first writing of the draft. - Carlos, Alex, Mikhail, Vesa and Jari will work together on the list. - project plan - schedule (Kirill, Jonathan) - risk analysis (Jari) - Helsinki local organization (Jari) - size estimation based on division of project - rules for editing documents - some rules (and the necessity of such rules) for editing documents was discussed - the following rules were mentioned: 1. Inform other members of the project before making a major edit to a document. 2. Before making significant changes to someone else's text, ask this person first to make sure you understand what the other person meant by his text. - misc - Petrozavodsk minutes to TWiki - Viktor Surikov is a new member of the Petrozavodsk group 3.F Next meeting Next global meeting (both groups, without the Customer) will be held at the CS department room C475 on Thursday 5th February 2004 at 8:15am. 4. Action points - List of scenarios for Mr. Kojo by Monday (9th Feb) noon (Carlos, Alex, Mikhail, Vesa, Jari) - Proposal about project 'task types' (Vesa) - Kirill and Jonathan will produce a draft of the schedule for project plan - Discuss information on implicit variables with the customer - Files for progress reports to the group folder by Tuesday from everyone - Jari will work on Risk analysis and Helsinki local organization parts for the Project Plan 5. End Mr. Brown ended the meeting at 19:35.
Go back to DaCoPAnDocumentation