Experimental Networking ECSE 4963 Lab 1 Basic Linux

Experimental Networking (ECSE 4963) Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (TA) shivkuma@ecse. rpi. edu http: //www. ecse. rpi. edu/Homepages/shivkuma Aug 29, 2002 Rensselaer Polytechnic Institute Shivkumar Kalyanaraman

Basic Commands q q q Linux commands Networking commands and tools Socket programming An introduction project Preview of the next lab Rensselaer Polytechnic Institute Shivkumar Kalyanaraman

Basic Linux Commands man – manual page (help info) q pwd – present working directory q ls – list content in current directory q mv / cp / rm – move(rename) / copy / delete file q mkdir / rmdir – create / delete a new directory q chmod – change w/r/x modes of file q ps – check process status q kill – terminate process q pipe operator >, >>, | q Rensselaer Polytechnic Institute Shivkumar Kalyanaraman

Internet Protocols Stack § § § Packet-switched network IP is the glue Hour-glass architecture - all hosts and routers run IP - IP runs over everything § Common Intermediate Representation Rensselaer Polytechnic Institute TCP UDP ICMP IP Cable Satellite Ethernet ATM Shivkumar Kalyanaraman

TCP / UDP / IP q q q Unreliable, best-effort service Connectionless: no per-packet or persession state information inside network, each IP packet is delivered independent of all other packets Like post-office (USPS) mail Rensselaer Polytechnic Institute Shivkumar Kalyanaraman

TCP / UDP / IP q UDP q Datagram service: explicit boundary between packets q What’s more than IP? q Port number: multiplexing for applications q Checksum: weak error detection (not correction!) Rensselaer Polytechnic Institute Shivkumar Kalyanaraman

TCP / UDP / IP q TCP q Many versions: Tahoe, Reno, SACK, Vegas q Connection-oriented: per-session state variables maintained at end-hosts (but not in network, unlike circuit-switched and virtualcircuit approaches) q Aka end-to-end “connection” or “association” q Reliably setup and tear down the end-toend association Shivkumar Kalyanaraman Rensselaer Polytechnic Institute

TCP (contd) q Reliable: uses: q ACKs (“sender: receiver correctly got this packet”), q checksum (“receiver: is this packet is correct or wrong? ”) and q window (multiple packets in flight: pipelined) q Byte-stream: no application-packet boundary like UDP q Congestion control: reduce demand during overload, to ensure stable statistical multiplexing of the network Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 8

Basic Networking Commands q How to detect if another machine is alive, the path to it, and resolve its DNS name to ip address, etc. …? M Rensselaer Polytechnic Institute n Shivkumar Kalyanaraman

A Router Model Input and output queues (buffers) q Switch fabric (forwarding / routing) q router queue 1 I 1 O 1 I 2 O 2 Classifier queue 2 …… Scheduler queue k buffer management Im Rensselaer Polytechnic Institute On Shivkumar Kalyanaraman

Basic Networking Commands ping – check if machine is alive q ifconfig – interface (ip addr / mask) configuration q arp – link / network layer address mapping q netstat – status info of network configuration q telnet – remote terminal q ftp – file transfer tool q route – set static route of a machine q traceroute – gather route information q tcpdump – dump packet header q nslookup – resolve DNS name of target hostname Key : What can you infer about the network or end-toend properties with these commands? q Rensselaer Polytechnic Institute Shivkumar Kalyanaraman

Packet’s Life in a Router q Packet is processed at a router: q Packet enters at IP input queue from an interface (ifconfig) q Calculate next hop router based on longest-prefix match of packet header destination IP address with routing table entry q Routing table is maintained dynamically by a daemon (e. g. gated), or statically by route command q View routing info etc. via netstat command q If it’s an ICMP packet, further processing q ICMP echo ping q Decrement Time_To_Live (TTL), dicard packet if it’s zero and send ICMP error back to source traceroute q Send packet to output queue (forwarding) q Nslookup: gives ip address of a host (or router I/f) name q Tcpdump can be used to view the whole packet! Rensselaer Polytechnic Institute Shivkumar Kalyanaraman

Some Miscellaneous Hints q q To check default gateway/static routes without being dependent on DNS: netstat -rn If you get an error saying command not found, set the path: export PATH=$PATH: <new dir> Common directories where programs are found: /usr/sbin, /usr/bin, /usr/local/bin If you have root and want to start/stop/restart the networking modules : /etc/init. d/network start /etc/init. d/network stop /etc/init. d/network restart Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 13

Project: Measuring RTT q Write program to measure round-trip time between two end host on the Internet; q Refer to ping: write a simple wrapper program. . q Propose a model for RTT prediction, i. e. , give a sequence of RTT measures, estimate the next RTT value. q Measure several values of RTT. What can you say about the samples? If they are variable, what can you do to reduce the variability of the RTT estimate? q Time series model Rensselaer Polytechnic Institute Shivkumar Kalyanaraman

Advanced Ideas: For Fun! q Can you correlate info across measurements using different techniques? q “Rocketfuel”: ISP maps q http: //www. cs. washington. edu/research/networking/rocketfuel/ q Skitter: Internet Maps q http: //www. caida. org/tools/measurement/skitter/ q Pathchar: bandwidth measurement q http: //www. caida. org/tools/utilities/others/pathchar/ q Pathrate/Pathload: load/available bandwidth measurement q http: //www. pathrate. org/ q Visualization tools & utilities: q http: //www. caida. org/tools/visualization/ q http: //www. caida. org/tools/utilities/ q King: end-to-end latency estimator q http: //www. cs. washington. edu/homes/gummadi/king/ q Internet Traffic Archive: q http: //ita. ee. lbl. gov/index. html Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 15

Internet AS Map: caida. org Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 16
- Slides: 16