CPS110: Networks Landon Cox March 25, 2009. Network hardware reality  Lots of different network interface cards (NICs)  3Com/Intel, Ethernet/802.11x.

Slides:



Advertisements
Similar presentations
Taekyung Kim 0x410 ~ 0x International Standards Organization (ISO) is a multinational body dedicated to worldwide agreement on international.
Advertisements

IST 201 Chapter 9. TCP/IP Model Application Transport Internet Network Access.
Internet -- network of networks –network delivers packets (& locates nodes) –router (gateway) moves packets between networks –IP interoperability on top.
The Internet Ed Lazowska Bill & Melinda Gates Chair in Computer Science & Engineering University of Washington August 2010.
CS-3013 & CS-502, Summer 2006 Network Input & Output1 CS-3013 & CS-502, Summer 2006.
Defining Network Protocols Application Protocols –Application Layer –Presentation Layer –Session Layer Transport Protocols –Transport Layer Network Protocols.
15-1 Networking Computer network A collection of computing devices that are connected in various ways in order to communicate and share resources Usually,
1 Review of Important Networking Concepts Introductory material. This slide uses the example from the previous module to review important networking concepts:
1 TCP/IP architecture A set of protocols allowing communication across diverse networks Out of ARPANET Emphasize on robustness regarding to failure Emphasize.
1 Protocol Interaction (ISO’s Open Systems Interconnection (OSI model)) the 7 layers.
15-1 More Chapter 15 Goals Compare and contrast various technologies for home Internet connections Explain packet switching Describe the basic roles of.
TCP/IP Protocol Suite - examples
TCP/IP protocols Communication over Internet is mostly TCP/IP (Transmission Control Protocol over Internet Protocol) TCP/IP "stack" is software which allows.
The Network Layer. Network Projects Must utilize sockets programming –Client and Server –Any platform Please submit one page proposal Can work individually.
Networking Computer network A collection of computing devices that are connected in various ways in order to communicate and share resources Usually,
Chapter 1 Overview Review Overview of demonstration network
Computer Networks. IP Addresses Before we communicate with a computer on the network we have to be able to identify it. Every computer on a network must.
Common Devices Used In Computer Networks
Operating Systems Lesson 10. Networking Communications protocol is the set of standard rules for ◦ Data representation ◦ Signaling ◦ Authentication ◦
Examining TCP/IP.
Objectives: Chapter 5: Network/Internet Layer  How Networks are connected Network/Internet Layer Routed Protocols Routing Protocols Autonomous Systems.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
1 TCP/IP Internetting ä Subnet layer ä Links stations on same subnet ä Often IEEE LAN standards ä PPP for telephone connections ä TCP/IP specifies.
Information Flow Across the Internet. What is the Internet? A large group of computers that link together to form the Worldwide Area Network (WAN)
1 TCP/IP, Addressing and Services S. Hussain Ali M.S. (Computer Engineering) Department of Computer Engineering King Fahd University of Petroleum and Minerals.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
TCP/IP Honolulu Community College Cisco Academy Training Center Semester 2 Version 2.1.
1 CS 4396 Computer Networks Lab TCP/IP Networking An Example.
IP1 The Underlying Technologies. What is inside the Internet? Or What are the key underlying technologies that make it work so successfully? –Packet Switching.
CSE 6590 Department of Computer Science & Engineering York University 111/9/ :26 AM.
Data Communications and Networks
Networking Fundamentals. Basics Network – collection of nodes and links that cooperate for communication Nodes – computer systems –Internal (routers,
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Connecting to the Network Introduction to Networking Concepts.
1 OSI and TCP/IP Models. 2 TCP/IP Encapsulation (Packet) (Frame)
Networking Material taken mainly from HowStuffWorks.com.
1 Bus topology network. 2 Data is sent to all computers, but only the destination computer accepts 02608c
1. Layered Architecture of Communication Networks: TCP/IP Model
Slide #1 CIT 380: Securing Computer Systems TCP/IP.
Intro to Distributed Systems and Networks Hank Levy.
CSE 451: Operating Systems Spring 2012 Module in 9 slides Ed Lazowska Allen Center 570.
Network Basics CS490 - Security in Computing Copyright © 2005 by Scott Orr and the Trustees of Indiana University.
Internet Flow By: Terry Hernandez. Getting from the customers computer onto the internet Internet Browser
CPS110: Networks Landon Cox March 20, Network hardware reality  Lots of different network interface cards (NICs)  3Com/Intel, Ethernet/802.11x.
1 Introductory material. This module illustrates the interactions of the protocols of the TCP/IP protocol suite with the help of an example. The example.
The OSI Model. Understanding the OSI Model In early 1980s, manufacturers began to standardize networking so that networks from different manufacturers.
COMPUTER NETWORKS Hwajung Lee. Image Source:
Address Resolution Protocol Yasir Jan 20 th March 2008 Future Internet.
TCP/IP PROTOCOL UNIT 6. Overview of TCP/IP Application FTP, Telnet, SMTP, HTTP.. Presentation Session TransportHost-to-HostTCP, UDP NetworkInternetIP,
1 Network Communications A Brief Introduction. 2 Network Communications.
Ch. 23, 25 Q and A (NAT and UDP) Victor Norman IS333 Spring 2015.
Client-server communication Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Distributed System Structures CSCI 444/544 Operating Systems Fall 2008.
Scaling the Network: The Internet Protocol
OSI Protocol Stack Given the post man exemple.
Using MIS 2e Chapter 6 Appendix
Network Architecture Introductory material
CS 457 – Lecture 10 Internetworking and IP
Review of Important Networking Concepts
I. Basic Network Concepts
TCP/IP Networking An Example
CSE 451: Operating Systems Spring 2005 Module in 9 slides
Chapter Goals Compare and contrast various technologies for home Internet connections Explain packet switching Describe the basic roles of various network.
TCP/IP Protocol Suite: Review
1 TRANSMISSION CONTROL PROTOCOL / INTERNET PROTOCOL (TCP/IP) K. PALANIVEL Systems Analyst, Computer Centre Pondicherry University, Puducherry –
Networking Introduction CSE 333 Summer 2018
CSE 451: Operating Systems Autumn 2009 Module in 9 slides
Scaling the Network: The Internet Protocol
CSE 451: Operating Systems Autumn 2010 Module in 9 slides
Presentation transcript:

CPS110: Networks Landon Cox March 25, 2009

Network hardware reality  Lots of different network interface cards (NICs)  3Com/Intel, Ethernet/802.11x  Each NIC has a fixed hardware address  MAC address: 01:10:C6:CE:8E:42  Send packet to LAN by specifying MAC address  Max packet size is 1500 bytes  Packets can be reordered, corrupted, dropped  Anyone can sniff packets from the network

Virtual/physical interfaces Hardware OS Applications

Distributed computing  Try to make multiple computers look like one  We won’t really cover  Take CPS 214  Distributed shared memory  Distributed file systems  Parallelizing compilers  Process migration

Protocol layers NFS (files) NFS (files) HTTP (web) HTTP (web) SMTP ( ) SMTP ( ) SSH (login) SSH (login) RPC TCP UDP IP Ethernet ATM PPP Applications Abstraction Hardware

OSI model  Open Systems Interconnections Applications Layer 7 Presentation Layer 6 Session Layer 5 Transport Layer 4 Network Layer 3 DataLink Layer 2 Physical Layer 1 Applications Presentation Session Transport Network DataLink Physical

Network layers (the stack)  Build higher-level services on simpler ones  IP over Ethernet  TCP over IP  HTTP over TCP  Why build in layers?  Could have 0 layers (build directly on top of HW)  What would happen?  Have to build from scratch each time HW changes  E.g. one firefox for wired NIC, one for wireless NIC

Network layers (the stack)  Build higher-level services on simpler ones  IP over Ethernet  TCP over IP  HTTP over TCP  Why build in layers?  Could have 1 layer (OS provides single layer)  What would happen?  Better to let applications choose functionality they need  Unneeded features usually cost something (performance)  E.g. would you ever not need reliable communication?

Virtual/physical interfaces Hardware OS Applications

Routing  HW lets us send to neighbor on same LAN  Single-hop route  Want to send to computer on another LAN  Multi-hop route  IP (Internet Protocol) handles this

Local-area network  Typically, switched Ethernet  Messages delivered using  Ethernet MAC address  E.g. 00:0D:56:1E:AD:BB  Unique to physical card (like a serial number)  Switch knows all connected computers’ MAC addresses Ethernet switch

Routing  Can’t put all computers on one switch!  Think of the wiring logistics  Want to connect two LANs together  Use a machine that straddles two networks  Called a router or gateway or bridge  LANs and routers form the Internet

Internet graph A A C C B B D D E E F F G G Each letter is a router, possibly with a LAN connected to it.

Internet graph Each node is an Autonomous System (AS). Can think of as an ISP.

Internet graph A A C C B B D D E E F F G G How does D know how to get to router G? Should it send messages to E, C, or F?

Internet routing is imprecise  Internet has no centralized state  Makes it (supposedly) more fault-tolerant  Routing is hard when a network is  Large (a lot to track)  Dynamic (connections change quickly)  Incentives to lie (make money by accepting traffic)  The Internet exhibits all three  Basic idea  Routers propagate info about the graph to each other  BGP (Border Gateway Protocol)

Traceroute example   Unix traceroute utility

Virtual/physical interfaces Hardware OS Applications

Naming other computers  Low-level interface  Provide the destination MAC address  00:13:20:2E:1B:ED  Middle-level interface  Provide the destination IP address   High-level interface  Provide the destination hostname  crocus.cs.duke.edu

Translating hostname to IP addr  Hostname  IP address  Performed by Domain Name Service (DNS)  Used to be a central server  /etc/hosts at SRI  What’s wrong with this approach?  Doesn’t scale to the global Internet

DNS  Centralized naming doesn’t scale  Server has to learn about all changes  Server has to answer all lookups  Instead, split up data  Use a hierarchical database  Hierarchy allows local management of changes  Hierarchy spreads lookup work across many computers

Example:  nslookup in interactive mode

Translating IP to MAC addrs  IP address  MAC address  Performed by ARP protocol  Only done after you get to the right LAN  How does a router know the MAC address of ?  ARP (Address Resolution Protocol)  If it doesn’t know the mapping, broadcast through switch  “Whoever has this IP address, please tell me your MAC address”  Cache the mapping  “/sbin/arp”  Why is broadcasting over a LAN ok?  Number of computers connected to a switch is relatively small

Virtual/physical interfaces Hardware OS Applications

Message sizes  Hardware interface  Max Ethernet message size is 1500 bytes  Application interface  IP maximum packet size is 64 kbytes  What if the route narrows?  Start at Ethernet max of 1500 bytes  Could traverse ATM w/ max of 53 bytes

Message sizes  IP layer fragments larger MTU to smaller MTU Computer 1Computer 2Router IP Ethernet IP Ethernet ATM IP ATM

Virtual/physical interfaces Hardware OS Applications

Processes vs machines  IP is machine-to-machine  E.g. crocus.cs.duke.edu   Process abstraction  Each app thinks it has its own machine  Give each process multiple virtual NICs

Processes vs machines  Hardware interface  One network endpoint per machine  Application interface  Multiple network endpoints per machine  Sockets  Software endpoints for communication  Like virtual network cards

Sockets  Another example of virtualized hardware  Thread  virtual processor  Address space  virtual memory  Endpoint/socket  virtual NIC  NIC and socket both have unique identifiers  NIC: MAC address  Socket: ‹hostname, port number›  bind () assigns a port number to a host’s socket

Sockets  OS allows apps to program sockets  E.g. BSD sockets  WinSock has pretty much same interface  Processes name each other via sockets  Each message includes a destination ‹host, port›  Tells routers which computer gets message  Tells dst computer which process gets message

Sockets  OS can multiplex multiple connections over one NIC  Kinds of sockets: UDP (datagrams), TCP (ordered, reliable)

Course administration  Project 2 due on Friday  Two groups are done  Many more are very close  Normal office hours Thursday and Friday  Use Friday discussion section to answer P2 questions  Any questions?