Slashdot Mirror


Will BEEP Simplify Network Programming?

hensley writes "There is a (not quite) new effort by the IETF to standardize a framework for network applications, called BEEP, the Blocks Extensible Exchange Protocol. Standardized in RFC3080, it takes care of all lower level tasks an application level protocol has to like framing, authentication and capabilities negotiation in a modular and lightweight way. In the current issue of Internet Packet Journal (a quite nice and free-as-in-beer technical publication by Cisco) is a well written Introduction to this framework. Why isn't anyone adopting this protocol besides some Java libraries like beep4j and PermaBEEP and a C library called RoadRunner. I couldn't find any applications based on this protocol, regardless of it's promised capabilities. Is everybody still inventing his own application layer protocol?"

4 of 195 comments (clear)

  1. Agreed...BEEP is great work by robla · · Score: 5, Informative

    I've also been disappointed with the lack of uptake on BEEP. It's a very cool concept.

    BEEP is Blocks Extensible Exchange Protocol (RFC 3080). More details can be found at here.

    When we were designing RTSP, we looked for something like this, and at the time, the options weren't very appealing. We ended up using HTTP as a quasi-base protocol. I think it was the best solution at the time, but had BEEP been available, we'd have used it in a heartbeat.

  2. My own application layer protocol by Jeremi · · Score: 4, Informative
    "Is everybody still inventing his own application layer protocol?"

    By and large, yes... it's a symptom of the needs of applications being so varied.

    (warning: blatant plug follows) For what it's worth, however, I've developed mine over the course of three years and a dozen or so projects, to the point where I think it's pretty mature and useful; it's open source, and portable to most environments, although the IETF has of course never heard of it... ;^)

    --


    I don't care if it's 90,000 hectares. That lake was not my doing.
  3. Re:Not so impressed by mrose · · Score: 5, Informative

    first, i'll apologize for running beepcore.org on a small server
    combined with tomcat. (if someone has some hints on making
    netbsd/apache/tomcat run more robustly in the face of significant load
    -- or if you can tell me how to get the thing to fail gracefully instead
    of tossing its stack -- please drop me a private email -
    mrose+mtr.slashdot@dbc.mtview.ca.us - thanks!).

    second, i have to praise this post for the way it seemlessly blends a
    little bit of truth, a little bit of wisdom, along with a healthy amount
    of ignorance and untruth. (my favorite untruth: marshall as the OSI
    guy. the actual truth: marshall killed OSI in the IETF on November 4th,
    1993 with the "roadkill in motion" speech.)

    it is easy to agree with the fact that beep suffers from both political
    and technical hurdles. as usual though, folks can disgree on the actual
    details.

    on the technical front: the beep specs use DTD not schema -- there
    aren't any schema fragments in either rfc3080 or rfc3081, you must be
    thinking of something else. the choice of DTD over schema is simple:
    DTDs are ugly, but schema sucks. that explains why everyone has their
    own pet language for defining the acceptable syntax of an XML
    document. if schema was a winner, we'd be seeing fewer alternatives
    instead of more.

    everyone has their own "main complaint" about http. i hadn't heard the
    verbose encoding one before, but maybe we should ask Keith Moore to add
    it to the list (cf., rfc3205).

    certainly, there's a lot we can agree on with respect to the political
    front, so i'll just focus on the part we don't agree on.

    the actual consumer for beep is the ietf. there used to be this joke
    that the apps area invented cloning, because all working groups formed
    argued exactly the same issues, over and over and over again, regardless
    of the problem to be solved.

    with beep, no one gets to argue those things any more (e.g., how to
    frame packets), instead they get to go off and presumably argue things
    specific to their application domain. (if folks want to understand the
    reasoning behind this, check out rfc3117.)

    the sacred working group, that you're so pissed off about me cutting
    into, is a perfect example. a bunch of guys focused on security issues,
    trying to write an application protocol. sorry, wrong skill set.

    contrary to popular belief, i don't need to go looking for trouble. in
    this case, it was a couple of ADs leaving an early sacred meeting,
    shaking their heads, and then asking me to beat some sense into some
    folks.

    if you're unhappy that i stuck my nose in your business, then all
    i can suggest is you get more clueful in the application design space,
    so "the management" doesn't feel they have to go out and get you
    help. particularly help that you don't like, and especially help that
    would rather be doing other things with other people.

    beep isn't research. it's a "best hits" collection of stuff dating back
    to 1981 that's known to actually work. the only new part of beep is that
    it got integrated into one coherent spec. and that's the reason that the
    iesg approved it after only a year. they were familar with what it did,
    how it worked, and they had a problem.

    of course, you are perfectly free to attribute this to an "old boys
    network" (i'm sure allison would appreciate that). when i find the
    actual "right wing conspiracy", i'll be sure to sign up. it will
    certainly reduce my frustration in dealing with the 100's of procedural
    hurdles that get thrown in my way at the ietf.

    finally, as far as web services go, well, let's just say that those guys
    could learn a lot from what xerox did back in the early 80's. in a few
    years, they may actually have something that works half as well as what
    xerox did... /mtr

  4. Re:Not so impressed by zoydoid · · Score: 5, Informative

    sorry, but BEEP only specifies XML for use on the control channel, that is setting up and tearing down the initial connection and any new channels. an ad hoc parser is sufficient for this purpose. any application layered over BEEP is free to use whatever data format it wants.