Networking 101 Ayelet Drazen (Inspired By Stanford’s CS144)

Transcription

Networking 101Ayelet Drazen(Inspired by Stanford’s CS144)

Networking: game plan1. Deconstructing the internet2. Using traceroute3. Exploring the problems with the internet

The Basics192.168.68.1148.8.8.8ClientServer

192.168.68.1148.8.8.8ClientServer

192.168.68.114ClientPort: 6558.8.8.8Server

192.168.68.114ClientPort: 655Port: 808.8.8.8Server

192.168.68.114ClientPort: 655Bi-directional connectionPort: 808.8.8.8Server

192.168.68.114ClientPort: 655Bi-directional connectionPort: 808.8.8.8Server

The Network192.168.68.114ClientPort: 655Bi-directional connectionPort: 808.8.8.8Server

192.168.68.1148.8.8.8192.168.68.114ClientServer

192.168.68.1148.8.8.8192.168.68.114ClientServer

192.168.68.1148.8.8.8192.168.68.114ClientServer

192.168.68.1148.8.8.8192.168.68.114ClientServer

192.168.68.1148.8.8.8192.168.68.114ClientServer

The ver

8.8.8.8192.168.68.114192.168.68.114ClientServer

The r

192.168.68.114192.168.68.1148.8.8.8

192.168.68.114192.168.68.1148.8.8.8

192.168.68.114192.168.68.1148.8.8.8

192.168.68.114192.168.68.1148.8.8.8

192.168.68.114192.168.68.1148.8.8.8

192.168.68.114192.168.68.1148.8.8.8

192.168.68.114192.168.68.1148.8.8.8

192.168.68.114192.168.68.1148.8.8.8192.168.68.114

192.168.68.114192.168.68.1148.8.8.8192.168.68.114

.8.8.8

8.8.8.8

8.8.8.8

.8.8.8

.8.8.8192.168.68.1148.8.8.8

.8.8.82192.168.68.1148.8.8.8

8.114.62192.168.68.1148.8.8.8

8

8

8

148.8.8.88.8.8.8

1148.8.8.88.8.8.8

68.68.1148.8.8.8

8.192.168.68.11418.6411192.168.68.1148.8.8.81

8.192.168.68.11418.6411192.168.68.1148.8.8.81

192.168.68.1148.8.8.82192.168.68.1148.8.8.8

192.168.68.1148.8.8.82

192.168.68.1148.8.8.82

192.168.68.114192.168.68.1148.8.8.8

192.168.68.114192.168.68.1148.8.8.8

Summary so far1.Two computers communicate with eachother using a network of routers.2.As data is sent across the internet, it is putinto “packets” that have a source IP addressand a destination IP address.1192.168.68.1148.8.8.8

Traceroutetraceroute is used to display possible paths from one IP address to another IPaddress across an internet network.You can see the path traceroute takes and what routers it goes through.(On Windows, use tracert)

The CaveatIf you remember one thing from this lecture today, it is that.

The CaveatIf you remember one thing from this lecture today, it is that.the internet cannot be trusted.

The CaveatIf you remember one thing from this lecture today, it is that.the internet cannot be trusted.The internet makes a “best effort” attempt to deliver packets. This means that:

The CaveatIf you remember one thing from this lecture today, it is that.the internet cannot be trusted.The internet makes a “best effort” attempt to deliver packets. This means that:1. It doesn’t promise to deliver packets in order

The CaveatIf you remember one thing from this lecture today, it is that.the internet cannot be trusted.The internet makes a “best effort” attempt to deliver packets. This means that:1. It doesn’t promise to deliver packets in order2. It doesn’t promise to deliver packets on time or quickly

The CaveatIf you remember one thing from this lecture today, it is that.the internet cannot be trusted.The internet makes a “best effort” attempt to deliver packets. This means that:1. It doesn’t promise to deliver packets in order2. It doesn’t promise to deliver packets on time or quickly3. It doesn’t even promise to deliver packets at all!

The CaveatThe internet makes a “best effort” attempt to deliver packets. This means that:1. It doesn’t promise to deliver packets in order2. It doesn’t promise to deliver packets on time or quickly3. It doesn’t even promise to deliver packets at all!

The CaveatThe internet makes a “best effort” attempt to deliver packets. This means that:1. It doesn’t promise to deliver packets in order2. It doesn’t promise to deliver packets on time or quickly3. It doesn’t even promise to deliver packets at all!

68.68.1148.8.8.8

The CaveatThe internet makes a “best effort” attempt to deliver packets. This means that:1. It doesn’t promise to deliver packets in order2. It doesn’t promise to deliver packets on time or quickly3. It doesn’t even promise to deliver packets at all!

68.68.1148.8.8.8

68.68.1148.8.8.810 years later.

48.8.8.88.8.8.810 years later.

The CaveatThe internet makes a “best effort” attempt to deliver packets. This means that:1. It doesn’t promise to deliver packets in order2. It doesn’t promise to deliver packets on time or quickly3. It doesn’t even promise to deliver packets at all!

68.68.1148.8.8.8

1192.168.68.1148.8.8.81192.168.68.1148.8.8.8

Fixing the InternetThe internet makes a “best effort” attempt to deliver packets. This means that:1. It doesn’t promise to deliver packets in order2. It doesn’t promise to deliver packets on time or quickly3. It doesn’t even promise to deliver packets at all!Given the problems with sending internet packets, how can we avoid these?Big Assumption: it doesn’t cost much for us to send (or resend) a packet.

Problem 1: Packetsare 8Problem 2: Packetsarrive out of order5Problem 3: Packets takea long time to arrive192.168.68.1148.8.8.810 years later.

TCPTCP (Transmission Control Protocol) is a reliable byte stream of data.

Now sendingpacket number: 1Now acceptingpacket number: 1

Now sendingpacket number: 11192.168.68.1148.8.8.8Now acceptingpacket number: 1

Now sendingpacket number: 1Now acceptingpacket number: 11192.168.68.1148.8.8.8

Now sendingpacket number: 1Now acceptingpacket number: 11192.168.68.1148.8.8.8Packet AcceptedPacket Number: 1

Now sendingpacket number: 1PacketAccepted1192.168.68.1148.8.8.8Packet AcceptedPacket Number: 1Now acceptingpacket number: 1

Now sendingpacket number: 2Now acceptingpacket number: 21192.168.68.1148.8.8.8

Now sendingpacket number: 2Now acceptingpacket number: 22192.168.68.1148.8.8.81192.168.68.1148.8.8.8

Now sendingpacket number: 2Now acceptingpacket number: 22192.168.68.1148.8.8.81192.168.68.1148.8.8.8

Now sendingpacket number: 2Now acceptingpacket number: 22192.168.68.1148.8.8.8Packet AcceptedPacket Number: 21192.168.68.1148.8.8.8

Now sendingpacket number: 2PacketAcceptedNow acceptingpacket number: 22192.168.68.1148.8.8.8Packet AcceptedPacket Number: 21192.168.68.1148.8.8.8

Now sendingpacket number: 3Now acceptingpacket number: 32192.168.68.1148.8.8.81192.168.68.1148.8.8.8

Now sendingpacket number: 7Now acceptingpacket number: 8.88.8.8.88.8.8.8

Now sendingpacket number: 7Now acceptingpacket number: 168.68.1148.8.8.8

Now sendingpacket number: 7Now acceptingpacket number: 37192.168.68.1148.8.8.8Packet RejectedPacket Number: 72192.168.68.1148.8.8.81192.168.68.1148.8.8.8

Now sendingpacket number: 7Now acceptingpacket number: 37192.168.68.1148.8.8.8Packet RejectedPacket Number: 72192.168.68.1148.8.8.81192.168.68.1148.8.8.8

Now sendingpacket number: 1-10Real TCPNow acceptingpacket number: 1

Now sendingpacket number: 3Now acceptingpacket number: 168.68.1148.8.8.8

Now sendingpacket number: 3Now acceptingpacket number: 168.68.1148.8.8.8

Now sendingpacket number: 3Now acceptingpacket number: 32192.168.68.114.88.81914 2.168.68.1.838.8.8.81192.168.68.1148.8.8.8

Now sendingpacket number: 310 years later.PacketAcceptedNow acceptingpacket number: 32192.168.68.1148.8.8.81192.168.68.1148.8.8.8

Now sendingpacket number: 3Packet must havebeen lost.Now acceptingpacket number: 32192.168.68.1148.8.8.81192.168.68.1148.8.8.8

Now sendingpacket number: 3Packet must havebeen lost.Now acceptingpacket number: 168.68.1148.8.8.8

The sender keeps trackof a timeout period andcan restransmit packets.If it doesn’t receive anacknowledgement, timeto resend!Real TCP

Open problems in networking1.2.How many segments should the sender send at a time?a. Too few, and the network is underutilizedb. Too many, and the sender overwhelms the networkHow should a sender determine when to retransmit a segment?a. Too early, and the sender is wasting network resourcesretransmitting data that the sender already receivedb. Too late, and latency is increased

Networking 101 Ayelet Drazen (Inspired by Stanford’s CS144) Networking: game plan 1. Deconstructing the internet 2. Using traceroute 3. Exploring the problems with the internet . The Basics Cl