lab 1, basic linux and networking commands shiv kalyanaraman yong xia (former ta) vijay subramanian...

17
Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian [email protected] http://www.ecse.rpi.edu/Homepages/shivkuma Google: “SHIV RPI” Experimental Networking (ECSE 4690) 1

Upload: colin-reeves

Post on 16-Jan-2016

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

Lab 1, Basic Linux and Networking Commands

Shiv Kalyanaraman

Yong Xia (former TA)

Vijay Subramanian

[email protected]

http://www.ecse.rpi.edu/Homepages/shivkuma

Google: “SHIV RPI”

Experimental Networking (ECSE 4690)

1

Page 2: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

[email protected] 2

Linux PC

Each PC at least has:- two 10/100 Mbps Ethernet

interface cards (NICs).

Two Ethernet interface cardswith RJ-45 connectors

PS/2 ports (Mini DIN 6)for mouse and keyboard

Serial ports(DB9)

VGA/SVGA Port (HD15)for monitor

Audio Jacks for Line-in,microphone, and output

eth0

eth1

ttyS0

ttyS1

PC1Power plug

USB ports

Parallel ports (DB25)

0 1Powerswitch

Page 3: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

[email protected] 3

Cisco Router

Routers are labeled: Each router has:

- a console port

- two 10 or 100 Mbps Ethernet interfaces

- two WAN serial interfaces

Router 1

0

1

Powerplug

Powerswitch

Auxiliaryport

Consoleport

WAN Serial ports(DB-60)

Ethernet AUI ports(DB-15)

Page 4: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

Linux commands Networking commands and tools Socket programming An introduction project Preview of the next lab

Basic Commands

4

Page 5: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

Basic Linux Commands

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

5

Page 6: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

[email protected] 6

Longer list: please explore if unfamiliar! ls ................. show directory, in alphabetical order logout ............. logs off system mkdir .............. make a directory rmdir .............. remove directory (rm -r to delete folders with files) rm ................. remove files cd ................. change current directory man (command) ...... shows help on a specific command more (file) ........ views a file, pausing every screenful telnet (host) ...... connect to another Internet site ftp (host) ......... connects to a FTP site passwd ............. change your password grep ............... search for a string in a file tail ............... show the last few lines of a file who ................ shows who is logged into the local system df ................. shows disk space available on the system du ................. shows how much disk space is being used up by folders chmod .............. changes permissions on a file bc ................. a simple calculator make ............... compiles source code gcc (file.c) ....... compiles C source into a file named 'a.out' gzip ............... best compression for UNIX files tar ................ combines multiple files into one or vice-versa

Page 7: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

Internet Protocols Stack

7

IP

TCP UDP

ATMSatellite

Ethernet

Packet-switched network IP is the glue Hour-glass architecture

- all hosts and routers run IP

- IP runs over everything

Common Intermediate Representation

ICMP

Cable

Page 8: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

TCP / UDP / IP

IP- Unreliable, best-effort service

- Connectionless: no per-packet or per-session state information inside network, each IP packet is delivered independent of all other packets

- Like post-office (USPS) mail

8

Page 9: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

TCP / UDP / IP

UDP- Datagram service: explicit boundary between packets

- What’s more than IP?

• Port number: multiplexing for applications

• Checksum: weak error detection (not correction!)

9

Page 10: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

TCP / UDP / IP

TCP- Many versions: Tahoe, Reno, SACK, Vegas ...

- Connection-oriented: per-session state variables maintained at end-hosts (but not in network, unlike circuit-switched and virtual-circuit approaches)

• Aka end-to-end “connection” or “association”

• Reliably setup and tear down the end-to-end association

- Reliable: uses ACK (“sender: receiver correctly got this packet”), checksum (“receiver: is this packet is correct or wrong?”) and window (multiple packets in flight: pipelined)

- Byte-stream: no application-packet boundary like UDP

- Congestion control: reduce demand during overload, to ensure stable statistical multiplexing of the network 10

Page 11: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

Basic Networking Commands

11

Mn

How to detect if another machine is alive, the path to it, and resolve its DNS name to ip address, etc. …?

Page 12: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

Input and output queues (buffers) Switch fabric (forwarding / routing)

12

A Router Model

Scheduler

queue 1

queue 2

……queue k

Classifier

buffer management

I 1

I 2

I m

O1

O2

On

router

Page 13: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

Basic Networking Commands

ping – check if machine is alive ifconfig – interface (ip addr / mask) configuration arp – link / network layer address mapping netstat – status info of network configuration telnet – remote terminal ftp – file transfer tool route – set static route of a machine traceroute – gather route information tcpdump – dump packet header nslookup – resolve DNS name of target hostname

Key : What can you infer about the network or end-to-end properties with these commands?

13

Page 14: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

Packet is processed at a router:- Packet enters at IP input queue from an interface (ifconfig)

- Calculate next hop router based on longest-prefix match of packet header destination IP address with routing table entry

• Routing table is maintained dynamically by a daemon (e.g. gated), or statically by route command

• View routing info etc. via netstat command

- If it’s an ICMP packet, further processing

• ICMP echo ping

- Decrement Time_To_Live (TTL), dicard packet if it’s zero and send ICMP error back to source traceroute

- Send packet to output queue (forwarding)

- Nslookup: gives ip address of a host (or router I/f) name

- Tcpdump can be used to view the whole packet! 14

Consider a Packet’s Life in a Router

Page 15: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

Project: Measuring RTT

Write program to measure round-trip time between two end host on the Internet;- Refer to ping: write a simple wrapper program..

Propose a model for RTT prediction, i.e., give a sequence of RTT measures, estimate the next RTT value.- 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?

- Time series model

15

Page 16: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

[email protected] 16

Advanced Ideas: For Fun!

Can you correlate info across measurements using different techniques?- “Rocketfuel”: ISP maps

• http://www.cs.washington.edu/research/networking/rocketfuel/- Skitter: Internet Maps

• http://www.caida.org/tools/measurement/skitter/- Pathchar: bandwidth measurement

• http://www.caida.org/tools/utilities/others/pathchar/- Pathrate/Pathload: load/available bandwidth measurement

• http://www.pathrate.org/- Visualization tools & utilities:

• http://www.caida.org/tools/visualization/• http://www.caida.org/tools/utilities/

- King: end-to-end latency estimator• http://www.cs.washington.edu/homes/gummadi/king/

- Internet Traffic Archive: • http://ita.ee.lbl.gov/index.html

Page 17: Lab 1, Basic Linux and Networking Commands Shiv Kalyanaraman Yong Xia (former TA) Vijay Subramanian shivkuma@ecse.rpi.edu

[email protected] 17

New Book on Internet Measurement

Mark Crovella, Bala Krishnamurthy, “Internet Measurement” John Wiley, July 2006.

http://www.amazon.com/Internet-Measurement/dp/047001461X/sr=8-1/qid=1156883575/ref=pd_bbs_1/103-0724620-5882241?ie=UTF8

Consider this if your term project will involve measurement etc…