Posts

Showing posts from 2003

Why Subnets are Good: The Party

(This is an attempt to explain, to a non-technical audience, why a large network, such as the Brandeis network, should be divided into subnets. It comes from this bboard thread .) The reasons why one wouldn’t want to have the entire campus be one huge subnet are technical, but I’ll try to explain them. Think of the Brandeis network as a huge party. It’s a tremendous party, with every student, faculty-member, and staff-member in one huge room. The university is sponsoring it to celebrate the grand opening of the Carl and Ruth Shapiro Supremely Massive Empty Room. You think your friend Alice is at the party, and you want to talk to her. So, you have to find her. You don’t know where she is in the massive room, so you have to either shout really loudly, or spend a lot of time looking for her. Everyone else is also trying to find people, so everybody’s shouting and running around. Furthermore, people are trying to get to different places in the room. Once people have found

When Daemons Attack: Debugging Linux Applications

Notes from a talk I gave to the Brandeis University Computer Operators Group. Call tracing System call tracing — strace (Linux), truss (BSD), strace for NT Library call tracing — ltrace (Linux/BSD) Trace example ( ltrace -S ) First, the program is linked and loaded… SYS_uname(0xbffff600) = 0 SYS_brk(NULL) = 0x0804c000 SYS_open("/etc/ld.so.preload", 0, 010000210574) = -2 SYS_open("/etc/ld.so.cache", 0, 00) = 3 SYS_fstat64(3, 0xbfffeda0, 0x400114ac, 0, 0x400115e4) = 0 SYS_mmap(0xbfffed70, 0, 0x400114ac, 3, 0x40011594) = 0x40012000 SYS_close(3) = 0 SYS_open("/lib/libc.so.6", 0, 027777767210) = 3 SYS_read(3, "\177ELF\001\001\001", 1024) = 1024 SYS_fstat64(3, 0xbfffedf0, 0x400114ac, 0, 0x400115e4) = 0 SYS_mmap(0xbfffecd0, 0x40011d30, 0x400114ac, 2, 0xbfffecf0) = 0x40029000 SYS_mprotect(0