FluxTuna 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1 @@
1
+ title: Lab 3
@@ -0,0 +1 @@
1
+ [h1 Labs]
@@ -0,0 +1 @@
1
+ title: Course Labs
@@ -0,0 +1,91 @@
1
+ [h1 Resources]
2
+
3
+ [h2 Network Guides]
4
+
5
+ This module focus on mixed networks, running both special purpose operating
6
+ systems such as Cisco's IOS to the more general Unix and Windows server and
7
+ client systems. Behind the lectures and labs, we will be using a single
8
+ network to explore the themes and technologies used in this module. This
9
+ network is based on a semi-fictional company called Myertor.
10
+
11
+ [h2 Operating System Guides]
12
+
13
+ Although we will be using both Windows and Unix operating systems in the labs,
14
+ we won't go into many details of the installation or administration of either.
15
+
16
+ [h2 Recommended Texts]
17
+
18
+ [h3 Course Site]
19
+
20
+ For this course, we will not be using a 'core text'. Instead, each lab and
21
+ lecture will have a link to relevant information either in this module site,
22
+ or elsewhere. However, this will be the [e basic] information. Networking is a
23
+ vast topic, and we will deliberately move through quite big topics at a fair
24
+ pace.
25
+
26
+ You might, therefore, want to supplement your reading with other texts that
27
+ deal with the same material in different ways, or in greater depth. We have
28
+ therefore selected three books (actually two books and a series) to help guide
29
+ your reading around the topics introduced here. Where appropriate, you will
30
+ find links to these three books from topics in the module site. You do not
31
+ have to read anything from these books: but your understanding of the topic
32
+ and the module will be greatly enhanced if you do. You may also find some of
33
+ the lab exercises easier as well, as some of these books provide alternative
34
+ methods and tools for some of the experiments we will do in the networking
35
+ labs.
36
+
37
+ [h3 Textbooks]
38
+
39
+ If you want to supplement your understanding of material presented in this
40
+ course, we strongly recommend The TCP/IP Guide by Charles Kozierok. We will be
41
+ using the electronic version, available
42
+ [link from the author|http://www.tcpipguide.com/order+the+guide.htm]. All the
43
+ page numbers to [e The TCP/IP Guide] in the module site will refer version 3
44
+ of this text.
45
+
46
+ You can also obtain a paper copy of The TCP/IP Guide, the relevant details are
47
+
48
+ [quote]
49
+ Charles Kozierok, [e The TCP/IP Guide], No Starch Press, US (May 2005), ISBN 159327047X
50
+ [end]
51
+
52
+ You can order a copy from Blackwells, or this books is also available [link
53
+ from
54
+ Amazon|http://www.amazon.co.uk/exec/obidos/tg/detail/-/159327047X/qid=1126278702/sr=8-1/ref=pd_bbs_1?v=glance&s=books&n=507846].
55
+
56
+ [medskip]
57
+
58
+ Many of you will have met Andrew Tanenbaum's Computer networks from earlier modules, so we will include references to this text where appropriate. The full reference to this text is
59
+
60
+ [quote]
61
+ Andrew Tanenbaum, [e Computer networks], Prentice Hall; 3rd edition (March 6, 1996), ISBN 0133499456
62
+ [end]
63
+
64
+ Library Record: [link http://catalogue.shu.ac.uk/record=b1370370a]
65
+
66
+ If you really want a copy, this can also be ordered from Blackwells if you want, or Amazon. Tanenbaum is also very widely available second hand, so you should be able to pick up a copy relatively cheaply if you want to.
67
+
68
+ We will also be making use of Richard Stevens TCP/IP Illustrated: full reference
69
+
70
+ [quote]
71
+ W. Richard Stevens, [e TCP/IP Illustrated, Volume 1: The Protocols], Addison Wesley, 1994. ISBN: 0-201-63346-9
72
+
73
+ W. Richard Stevens, [e TCP/IP Illustrated, Volume 2: The Implementation], Addison Wesley, 1995. ISBN 0-201-63354-X.
74
+ [end]
75
+
76
+ Stevens is especially useful for those involved in writing programs operating over TCP/IP networks, but is also good for those who want an in-depth look at the bottom layers of modern operating systems. Unless you're feeling rich, we don't recommend you buy these books. Instead consult the on-line version available from the library
77
+
78
+ Library Record: [http://catalogue.shu.ac.uk/record=b1502121a]
79
+
80
+ For many of the low-level details of networking technology, you need to read
81
+ [e Data and Computer Communications] by William Stallings. This book has a
82
+ large number of editions: we will be using the 8th edition available in the
83
+ library. You can readily find earlier editions of this book second-hand: for
84
+ most of the topics we are interested in, the earlier editions will be fine.
85
+ The full reference to this book is
86
+
87
+ [quote]
88
+ William Stallings, [e Data and computer communications], Prentice Hall; 8th edition (2007), ISBN 0132433109
89
+ [end]
90
+
91
+ Library Record: [http://catalogue.shu.ac.uk/record=b1459158a]
@@ -0,0 +1 @@
1
+ title: Resources
@@ -0,0 +1,49 @@
1
+ [h1 Introduction]
2
+
3
+ [h2 Overview]
4
+
5
+ Welcome to the [e Introduction to Networks] short course. In this course we
6
+ will look at a number of core technologies and protocols in modern networks: focusing on the ones you are most likely to meet in a modern business. Our aim is to give you a broad understanding of how modern ([ac TCPIP]) networks work, how they are build, and how they are maintained.
7
+
8
+ Modern networks are complicated systems, requiring the expertise of a broad range of specialists from a range of disciplines. We will not attempt to go too far into any particular speciality ---instead we will step back and look at how the whole systems works. Understanding how all the different layers, protocols and pieces of a network fits together is usually the hardest task: and the most useful background if you do decide to take a particular aspect further.
9
+
10
+ [h2 Learning Material]
11
+
12
+ Most of the material you will need for this course is available on (or at least linked from) the BlackBoard site. In addition to the BlackBoard site we will also use a number of other resources from the Learning Centre, which you can read about [link here|>Resources].
13
+
14
+ One key resource will be the course textbook
15
+
16
+ [bib FitzGerald:Business]
17
+
18
+ several copies of which can be found in the Learning Centre. A number of different editions of this book exist, and all of the last few editions should be useful. We will be using the 9th Edition, however, as the reference edition: so all the page numbers, chapter reference, etc. that can be found on this site refer to that edition.
19
+
20
+ [h2 Labs and Seminars]
21
+
22
+ During the semester, we will cover six broad topics, with each topic centred around a single lab. Each lab [e will] take longer than the allocated amount of time, and so will be divided into two. The [e core tasks] focus on the most relevant technologies (and skills), and you should be able to complete them during the allocated lab time. The [e extended tasks] will have to be done in your own time, and introduce material, techniques and technologies that we will not have time for within the formal teaching hours.
23
+
24
+ Broadly the six topic areas we will cover are (chapter numbers refer to [cite FitzGerald:Business])
25
+
26
+ [dl]
27
+ [item Local Area Networks (Chapter 6 and 7):
28
+ [e Local Area Networks] are often the most critical resource for a business (and therefore usually the one we get called on most to manage). In modern networks many of the technologies that you find on a [e Local Area Network] also have variants on bigger networks (especially Ethernet) and in many cases run exactly the same protocols (e.g. [ac IP]). Local networks therefore make a very good starting point for our exploration of modern networking technologies.]
29
+
30
+ [item The Internet: Connecting Local Networks (Chapters 8--10):
31
+ In the first block we will focus on Ethernet, as the 'characteristic' protocol of 'small' networks. We did, though, briefly look at the [ac IP] which characterises groups of networks (or internetworks). [ac IP] is a very important protocol for most modern networks, both large and small, and we will look at the main features of both [ac IPv4] and [ac IPv6] in this block. Some of the more complex details (especially dynamic routing), will be left for later.]
32
+
33
+ [item Digression: The Domain Name System (Chapter 5, pp. 159--165):
34
+ Although both [ac IP] and Ethernet are very important from a network point-of-view, most network users (both human and application) rely heavily on a [e secondary] protocol for locating hosts on the network. That protocol is the [acl DNS], which often takes a bit of time to understand, as it sits [e alongside] the 'core' [ac TCPIP] protocols. So while the [ac DNS] is not, technically, part of the [ac TCPIP] protocols, very few networks work correctly until it is configured properly. Many of the security techniques and network management technologies also rely on the [ac DNS], so understanding how it works is a key skill. Unfortunately [cite FitzGerald:Business] only outlines the basics of the [ac DNS], so we will diverge from the textbook for a short section of the course.]
35
+
36
+ [item Network Management: The Network Side (Chapter 13):
37
+ Network management glues your understanding of all the various pieces of the network puzzle together, hopefully allowing you to find, analyse and fix problems within the networks under your management. Network management is also a big topic in its own right, but both the topic and the tools are important enough for us to spend the next two blocks of work on. In the first block we will look at tools which help us understand the lowest layers of the network: focusing on protocol decoders, and especially WireShark. Even if you don't manage your own network, these tools are very useful in their own right (and indeed, you will also make use of them in other modules).]
38
+
39
+ [item Network Management: Services (Chapter 5, Chapter 13):
40
+ The other side of network management steps back from the details of bytes, packets, and networks; looking instead at how all these pieces fit together to provide [e services] to users or other services on the network. This also gives us an opportunity to look at the higher levels of the network stack, and particularly the [e transport] layer (and protocols) that usually sit on-top of [ac IP]. We will not go very far into the complexities of [ac TCP], [ac UDP] and friends: again we will keep the focus on the [e why] rather than the [e how].]
41
+
42
+ [item Putting it All Together:
43
+ Our last block looks at a single service, [ac SMTP], from the network to the service side. This should give you an opportunity to understand both [ac SMTP] in a bit more detail, but more importantly to act as an example of the things we have been covering in this short course.]
44
+
45
+ [end]
46
+
47
+ The six labs will be also be spread over two weeks, which should give you enough time to both complete the core tasks and to ask any questions. We will also be asking questions in the second week (usually based around the questions dotted throughout each lab), to make sure you understand what we are doing…
48
+
49
+ The six blocks will also be complemented by a series of activities, which we will do during the 'lecture' hour. All of these activities will cover much the same ground as the textbook, but in a very condensed format. Reading ahead is therefore [e strongly] advised.
@@ -0,0 +1 @@
1
+ title: Welcome
@@ -0,0 +1,29 @@
1
+ # Copyright (c) 2010-2011 David Love
2
+ #
3
+ # Permission to use, copy, modify, and/or distribute this software for
4
+ # any purpose with or without fee is hereby granted, provided that the
5
+ # above copyright notice and this permission notice appear in all copies.
6
+ #
7
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14
+ #
15
+
16
+ # @author David Love
17
+
18
+ require "flux_tuna"
19
+
20
+ #
21
+ # The {Test::Data} module does not contain any tests, as such, but instead
22
+ # collects together the classes that provide data to other tests. These may
23
+ # be 'boilerplate' classes containing pre-prepared data, or stub classes used
24
+ # for low-level testing
25
+ #
26
+ module Test::Data
27
+
28
+ end
29
+
@@ -0,0 +1,39 @@
1
+ # Copyright (c) 2010-2011 David Love
2
+ #
3
+ # Permission to use, copy, modify, and/or distribute this software for
4
+ # any purpose with or without fee is hereby granted, provided that the
5
+ # above copyright notice and this permission notice appear in all copies.
6
+ #
7
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14
+ #
15
+
16
+ # @author David Love
17
+
18
+ #
19
+ # This test suite checks we can create the relevant witness objects
20
+ #
21
+ module Test::Witness
22
+
23
+ # Include the standard witness classes
24
+ include FluxTuna::Witness
25
+
26
+ # Check that we can instantiate a directory walker
27
+ context "Create a DirFileWitness object" do
28
+ setup { DirFileWitness.new }
29
+ asserts_topic.kind_of(FluxTuna::Witness::DirFileWitness)
30
+ end
31
+
32
+ # Create a walker for the test data
33
+ context "Create a DirFileWitness object" do
34
+ setup { DirFileWitness.new }
35
+ asserts("directory walker"){ topic.shatter("test/data/bayeux/**/*.byx") }
36
+ end
37
+
38
+ end
39
+
@@ -0,0 +1,26 @@
1
+ # Copyright (c) 2009 Denis Defreyne, 2010-2011 David Love
2
+ #
3
+ # Permission to use, copy, modify, and/or distribute this software for
4
+ # any purpose with or without fee is hereby granted, provided that the
5
+ # above copyright notice and this permission notice appear in all copies.
6
+ #
7
+ # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
+ # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
+ # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10
+ # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
+ # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12
+ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13
+ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14
+ #
15
+
16
+ # @author David Love
17
+
18
+ require "riot"
19
+
20
+ #
21
+ # All the tests for RedAdmiral live in the {Test} module, to make it easier
22
+ # to find them, and to establish the relationships between tests
23
+ #
24
+ module Test
25
+ end
26
+
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: FluxTuna
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.4
5
+ version: 0.0.5
6
6
  platform: ruby
7
7
  authors:
8
8
  - David Love
@@ -143,9 +143,30 @@ files:
143
143
  - README.rdoc
144
144
  - Rakefile
145
145
  - VERSION
146
- - lib/FluxTuna.rb
147
- - test/helper.rb
148
- - test/test_FluxTuna.rb
146
+ - lib/bind/bind.rb
147
+ - lib/core/core.rb
148
+ - lib/core/name_trie.rb
149
+ - lib/flux_tuna.rb
150
+ - lib/mutate/mutate.rb
151
+ - lib/shatter/shatter.rb
152
+ - lib/witness/abstract_witness.rb
153
+ - lib/witness/dir_file_witness.rb
154
+ - lib/witness/witness.rb
155
+ - test/data/bayeux/Labs/Lab1/L1_Internet.byx
156
+ - test/data/bayeux/Labs/Lab1/L1_Internet.yaml
157
+ - test/data/bayeux/Labs/Lab2/L2_StaticR.byx
158
+ - test/data/bayeux/Labs/Lab2/L2_StaticR.yaml
159
+ - test/data/bayeux/Labs/Lab3/L3_DNS.byx
160
+ - test/data/bayeux/Labs/Lab3/L3_DNS.yaml
161
+ - test/data/bayeux/Labs/Labs.byx
162
+ - test/data/bayeux/Labs/Labs.yaml
163
+ - test/data/bayeux/Resources/Resources.byx
164
+ - test/data/bayeux/Resources/Resources.yaml
165
+ - test/data/bayeux/Welcome.byx
166
+ - test/data/bayeux/Welcome.yaml
167
+ - test/data/data_test.rb
168
+ - test/dir_walk/create_witness_test.rb
169
+ - test/init_test.rb
149
170
  has_rdoc: true
150
171
  homepage: http://github.com/dlove24/FluxTuna
151
172
  licenses:
@@ -160,7 +181,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
160
181
  requirements:
161
182
  - - ">="
162
183
  - !ruby/object:Gem::Version
163
- hash: 943490751486551603
184
+ hash: 1763852741682151417
164
185
  segments:
165
186
  - 0
166
187
  version: "0"
File without changes
@@ -1,18 +0,0 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
10
- require 'test/unit'
11
- require 'shoulda'
12
-
13
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
- $LOAD_PATH.unshift(File.dirname(__FILE__))
15
- require 'FluxTuna'
16
-
17
- class Test::Unit::TestCase
18
- end
@@ -1,7 +0,0 @@
1
- require 'helper'
2
-
3
- class TestFluxtuna < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "hey buddy, you should probably rename this file and start testing for real"
6
- end
7
- end