Re: [9fans] Do we have a catalog of 9P servers?



I wouldn't go so far as to say Plan 9 "disallows" certain functions that
are implicit in NAT. As someone mentioned in the thread before, it is
certainly possible and rather easy to write something similar to
trampoline(8) to perform load balancing. Add in packet analysis to the
mix and you have rate control, intrusion detection etc.

Perhaps my choice of wording wasn't exactly correct. Make it "does not function in this capacity unless modified." But there's a missed point: add in packet analysis and you're doing NAT. The boasted transparency of Plan 9 is a product of bringing most (or really all?) functions, including networking, into a single framework. That single framework exists as an application of networking, i.e. 9P, hence living in the application layer. Descending to network layer is expulsion from the Plan 9 Eden.

I have come to believe it was in the wisdom of Plan 9's creators that sooner or later the meaningless variations of network stacks up until application layer will vanish and the entire standardized stack will probably be implemented as fast and reliable hardware. In such a world--which isn't very far actually--the programmer will have to do everything they want done at the application layer so Plan 9's approach to adding additional networking capability becomes natural and obvious; it will become much harder to introduce ad hoc modifications of something as essential as the network stack and call them features. You want an _application_, you create an application, you don't mess with basics of networking.

--On Wednesday, November 19, 2008 9:08 PM +0100 Anant Narayanan <anant@xxxxxx> wrote:


Nevertheless, the same machinations that allow for transparency in
Plan 9 disallow certain functions that can be naturally provided by
a NAT implementation, or any of a number of software categories that
involve packet filtering/rewriting/inspection. For example, the one
I referred to in the posting you have quoted in your response: load
balancing. Add to the list: rate control, intrusion detection, QoS
earmarking, honeynetting, et cetera ad [put you favorite -um, -am
here].

I wouldn't go so far as to say Plan 9 "disallows" certain functions that
are implicit in NAT. As someone mentioned in the thread before, it is
certainly possible and rather easy to write something similar to
trampoline(8) to perform load balancing. Add in packet analysis to the
mix and you have rate control, intrusion detection etc.

Plan 9, in the end, is infinitely more malleable than most other OSes :-)

--
Anant







.



Relevant Pages

  • Re: [9fans] Do we have a catalog of 9P servers?
    ... I believe state information and communication buffers are the biggest memory spending for network operations. ... There _could_ be a trade-off between the transient NAT with its processing power toll and the persistent /net-import with its memory cost. ... By contrast, on a large network /net-import strategy could make a "powerful" gateway unavoidable because every machine on the network will need a session with the gateway even if it only rarely communicates with the outside world, unless you implement an ... Or is it because Plan 9 has much less inertia because of a smaller user base? ...
    (comp.os.plan9)
  • Re: [9fans] Do we have a catalog of 9P servers?
    ... To do it in Plan 9, you'd write a small program that listened on ... Because multiplexing a port requires either separate protocol stacks or a endpoint translation scheme, i.e. NAT. ... and both run HTTP servers binding to and listening on *:80 what takes ... exporting a network stack or any kind of "special" files because the ...
    (comp.os.plan9)
  • Re: [9fans] 9bench: lmbench for Plan 9
    ... on here who does a lot of work on networking drivers...) ... comparisons don't come out very favorably for Plan 9 anyway). ... the reason for the simple timing tests is because good hardware is ...
    (comp.os.plan9)
  • Re: [9fans] Do we have a catalog of 9P servers?
    ... in packet analysis and you're doing NAT. ... application of networking, i.e. 9P, hence living in the application layer. ... machine to the router as part of 9P Twrite messages. ... Instead the router creates a TCP packet to carry the ...
    (comp.os.plan9)
  • Re: [9fans] 9bench: lmbench for Plan 9
    ... Since Plan 9 doesn't have sockets or the bzero call or a number of other ... like the networking ones, required that I essentially cut out the ... As for the utility of the benchmarks, ... from running the benchmarks on Linux and Plan 9 and comparing (for ...
    (comp.os.plan9)

Loading