From: Simon P. <sim...@t-...> - 2003-03-18 15:48:12
|
Hi, i prefer to use the term network stack, as it should be something very flexible. the basics of all protocols are very similar, if you take a look at TCP/IP, UDP, ICMP, IGMP they all contain a source adress, a destination adress, checksum, options and data. i can really understand what you are talking about when you say snmp is deprecated. at work, im writing a program that backups router configurations via snmp. its really not user-friendly to dig through thousands of OIDs and MIB-trees. but how come you would use snmp to configure networking in a real operating system? i guess everyone would prefer to login via telnet, ssh or serial console and configure the networking on the device that way, using tools like route and ifconfig, conf term on cisco machines and dialog guided systems on other devices like for example baystack switches. you are stepping into one BIG mistake, ipv6 is really NOT important at all. not for now, maybe in 3-6 years there will be more than just experimental tunnel services but for now ipv6 is really not necessary, you can push that to the very end of your todo list. i would suggest you to start planning the basic structure of the stack, how incoming packets are handled, how you construct the packets, how to checksum them, how routing works etc. you will find that there are ALOT of different situations to handle, so it might be a real good start to look at ICMP echo request and echo reply (ping). this will give you a good idea of how everything is built up. write your ideas down, draw flow-diagrams, that is what really helps you to produce the fastest,cleanest,smallest code for a network stack in assembly. feel free to contact me to exchange some ideas on this subject as im very interested and i have thought about it since alot of time, but i just dont speak assembly good enough to do this. bye simon |