Table of Contents

I. Conceptual Building Blocks
1. Networks
What is a network?
Why do we use networks?
How do networks work?
Network purpose
Content Delivery Network
Storage Area Network
Content-addressable network
Sensor network
Overlay network
Network topology
Point to Point networks
bus
ring network
Star networks
Broadcast networks
meshed networks
Fully-meshed networks
Network scope
Local Area Network(LAN)
networking with gateways
Campus Area Network(CAN)
Metropolitan Area Network(MAN)
Wide Area Network (WAN)
Technology of networks
twisted-wire-cable
fiber-optical cable
Circuit or Packet Switched
Network addressing
IP addressing
Network security
platforms
channels
How do you use networks in Java?
How do you network in Unix?
Leftover pictures
2. Standards
What are standards?
Why use standards?
How: standards type
protocol standards
communications standards
content standards
platform standards
defacto standards
How: standards bodies
the IETF
the IEEE
the W3C
other bodies
3.
Layering
Libraries
Classes
4.
Patterns of Protocols
What are Patterns of Protocols?
Why are the Patterns Useful?
The orthogonal pair
Several auxiliary patterns are important in understanding the basic two in just about every networking situation.
II. Programming Building Blocks
5. Programming the Net
The jock family
jock
jock examples
echo processing
jock parameters
Source and echo flags: -S/-e
input flags:-i/-I
output flags: -o/-O
buffer: -r/-R -w/-W
Logging level: -v/-V
host flags -h/-H -p/-P
delay flags: -d/-D
jock examples
the machines
basics
Getting the time from a server
6. Programming the Stack
Layers and objects
Studying Protocols through the Stack
What you can learn from a snapshot
The stack of providers
The stak application
Using tcpdump
some of the design
some of the code
Some stak captures
CAPTURE-PING
CAPTURE TCP-START-STOP
CAPTURE DNS-QUERY-REPLY
7. Programming the RFCs
8. Programming Idioms
What
modulation
Transmission
Bandwidth
Latency
Jitter
retraction
III. Network Protocols
9. Link protocols
Media
Cable
Air
local area networks
IEEE 802
10. Network Protocol
Internet Addressing
Regional Internet Registries
Number Resource Organization ARO
Internet protocol version 4 packets
Internet protocol version 6 structure
Quality of Service
QoS RFCs
11. TCP protocol
Transport Control Protocol (TCP)
TCP Options
TCP congestion control
TCP RFCs
12. Datagram Transport
User Datagram Protocol
UDPpacket structure
The Java API for UDP
Real-time control protocol
the RTP Packet
The Java API for RTP/RTCP
IV. Application Protocols
13. interactive
14. inquiry
Domain Name System
HyperText Transfer Protocol
Session Initiation Protocol
other inquiry protocols
15. batch
16. bulk
V. Platform Building Blocks
17. Threading
The Java Thread model
Application Servers
The creation and life of a thread
The scheduling of a thread
The prioritization of a thread
Handling with threads
Dispatching of handler threads
Reading and writing at the same time
Java Thread API
How the dispatching is done
The Handler/Queue system and a sample server
Webget server classes
the Handler Objects
The Queue objects
The WebGet server
18. Selecting
19. Proxying
Open Pluggable Edge Services standards
20. Securing
VI. Network Building Blocks
21. naming
Domain Name System
What does DNS do?
example use of DNS with email
Why does DNS do it?
How does DNS work?
Analysis of an actual dump
How Java might do it
Going further into DNS
Lightweight Directory Access Protocol
Universal Resource Identifier
22. Routing and Forwarding
What is it all about?
nothing should last forever - preventing loops by TTL
organizing peer addressing for routing (CIDR)
the two problems to solve
how do protocols relate
Autonomous Systems
Why do we do it?
How do we do it? Routing protocols
Routing Information Protocol (RIP)
Open Shortest Path Protocol (OSPF)
How do we do it? Java
How do we do it? Linux
23. Marshalling
24. Securing
Index
Glossary

List of Figures

1.1. contentdelivery
1.2. overlay
1.3. an overlay loop
1.4. ring
1.5. star
1.6. broadcast
1.7. meshed
1.8. meshed
1.9. lan
1.10. gateway
1.11. can
1.12. can
1.13. basenetwork
1.14. lanswitch
1.15. meshed
1.16. network
1.17. pointtopoint
1.18. subnetted
1.19. tcpconnection
1.20. vpn
1.21. vpntunnel
1.22. wireless basic service set
1.23. router as a gateway
6.1. providers and packets
6.2. the protocol stacks at transferring peers
6.3. formatting and parsing with a grammar
6.4. packet as message inside envelope
6.5. tcpdump
6.6. the operation of stak
6.7. a truncated packet
6.8. a dump as a string of captures
6.9. agent delivers to provider
6.10. capture as a stack of providers
22.1. Routing and Forwarding
22.2. Forward or Fill and Finish
22.3. Route Resolve Relay

List of Tables

5.1.
5.2.
5.3.
5.4.
5.5.
5.6.
5.7.
10.1.
10.2.
10.3.
11.1.
11.2.
12.1.
12.2.
19.1.
21.1.
21.2.
21.3.

List of Examples

5.1. forward: client to server
5.2. reverse: server to client
5.3. forward echo: client to server and echo
5.4. reverse echo: server to client and echo
6.1.
6.2. net.dougharris.utility.stakmods.Provider
6.3. net.dougharris.utility.stakmods.GenericProvider
6.4. net.dougharris.utility.stakmods.RAWProvider
6.5. net.dougharris.utility.stakmods.UDPProvider
6.6. net.dougharris.utility.stakmods.TCPConnectionProvider
6.7. capture of a ping
6.8. TCP capture - Connect Handshake and Disconnect Handshake
6.9. DNS Query and Reply
>