[SqNOS] Networking is comming to a theater close to you!

Johnathon Meichtry johnathon-dev at meichtry.org
Wed Jul 12 15:48:05 UTC 2006


Gera,

Your right, that article is very funny yet every useful.  Hopefully I'll get 
time this afternoon create some of the packet classes described.

I have been studying 
http://www.erg.abdn.ac.uk/users/gorry/course/lan-pages/mac.html and 
http://www.erg.abdn.ac.uk/users/gorry/course/inet-pages/packet-dec1.html 
etc. It's a great site which has most of the ethernet specs needed 
decode/encode IP packets and some example decodes.

One thing I haven't yet been able to determine is how to calulate the 
location of the data link layer CRC (i.e. the last four bytes) as the data 
chunk can be anywhere from 46-1500 bytes.  That is once I know there the CRC 
is then I know the bounds of the data portion of the packet.  I know we have 
messageSize but it shows 256 bytes for my ping packet whereas the entire 
packet should only be ~100 bytes so I can't be sure the messageSize value is 
reliable enough to spilt the packet apart with.

Ethereal/Snoop watch your back!!!!  ;)

Johnathon

----- Original Message ----- 
From: "Gerardo Richarte" <gera at corest.com>
Cc: <squeaknos at lists.squeakfoundation.org>
Sent: Wednesday, July 12, 2006 3:29 PM
Subject: Re: [SqNOS] Networking is comming to a theater close to you!


>
>    Hey! I'm really happy you finally compiled it!
>
>    For everybody else trying to compile: there are a few things missing
> in the C sources. The main thing is the FFI support files, which I took
> from the unix branch of Squeak, with no modifications (as far as I
> remember). Then, some other mods in nos/* (not really sure though), a
> small change in the Makefile, and of course, including the FFIPlugin as
> internal plugin with VMMaker.
>    I will make a new .iso release next week, but if anybody wants to
> compile this intermediate version, just send me emails, and I'll send
> everything to the list.
>> Looks like using "self buffer unsignedByteAt:" is the way to go for a
>> quick snoop of the buffer.  In the following list bytes 7 to 12
>> perfectly match the source MAC address.  I used something like "*1 to:
>> 256 do: [index | Transcript show: (self buffer unsignedByteAt:index) ;
>> cr.]."*
>    HEh! this is supper cool. The buffer (there will be a #message
> method to access it), contains a raw ethernet packet. In this case, I
> was expecting an ARP request, but this is an IP packet.
> Ethernet packet has 6+6+2 bytes. The first 6 are the destination MAC
> address (broadcast in this case, as it's an ARP request), next 6 for
> source MAC address, and 2 for the type (in this case 0x800, which is
> IP). Take a look at this funny article we wrote a while back:
> http://community.corest.com/~luciano/text/quake/... did you ping a
> broadcast address? (.255)
>
>    IP's specification is here: http://www.ietf.org/rfc/rfc0791.txt
>    Ethernet packets are described here:
> http://en.wikipedia.org/wiki/Address_Resolution_Protocol#Packet_structure
>    ARP:
> http://en.wikipedia.org/wiki/Address_Resolution_Protocol#Packet_structure
>
>    Luciano continued working on the Packets since we wrote the article
> (and before that), and he has a more complete implementation of the
> TCP/IP protocol suite (more complete is not "complte", it's just more
> complete than then :-) He's kind of working on a version of it that we
> can incorporate in SqueakNOS. At the time he did it using Craig's Flow
> and Conduits, which are not yet part of the standard Squeak. We know
> that Asparagi is interested in working in Flow again, so we may have
> good news from that side too!
>
>    gera
>
> _______________________________________________
> SqueakNOS mailing list
> SqueakNOS at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/squeaknos
> 



More information about the SqueakNOS mailing list