Networking Introduction CSE 333 Autumn 2018

Slides:



Advertisements
Similar presentations
Introduction to TCP/IP
Advertisements

Network Services Networking for Home & Small Business.
OSI Model MIS 416 – Module II Spring 2002 Networking and Computer Security.
The Internet Ed Lazowska Bill & Melinda Gates Chair in Computer Science & Engineering University of Washington August 2010.
Introduction to Management Information Systems Chapter 5 Data Communications and Internet Technology HTM 304 Fall 07.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
1 Review of Important Networking Concepts Introductory material. This slide uses the example from the previous module to review important networking concepts:
CS 356 Systems Security Spring Dr. Indrajit Ray
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Process-to-Process Delivery:
Data Communications and Networks
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
1 ELEN602 Lecture 2 Review of Last Lecture Layering.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Network Services Networking for Home and Small Businesses – Chapter.
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
Network Services Networking for Home & Small Business.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
© McLean HIGHER COMPUTER NETWORKING Lesson 1 – Protocols and OSI What is a network protocol Description of the OSI model.
Component 9 – Networking and Health Information Exchange Unit 1-1 ISO Open Systems Interconnection (OSI) This material was developed by Duke University,
Data Communications and Networks
Network Protocols and Standards (Part 2). The OSI Model In 1984, the International Organization for Standardization (ISO) defined a standard, or set of.
1 Chapter 4. Protocols and the TCP/IP Suite Wen-Shyang Hwang KUAS EE.
1. Layered Architecture of Communication Networks: TCP/IP Model
Net 221D:Computer Networks Fundamentals
Transmission Control Protocol (TCP) Internet Protocol (IP)
CSE 451: Operating Systems Spring 2012 Module in 9 slides Ed Lazowska Allen Center 570.
Enterprise Network Systems TCP Mark Clements. 3 March 2008ENS 2 Last Week – Client/ Server Cost effective way of providing more computing power High specs.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Introduction to Networks
The Transport Layer Implementation Services Functions Protocols
Instructor Materials Chapter 5 Providing Network Services
Computer Networks.
Introduction to TCP/IP
Data transfer through the internet (OSI Model)
Part I. Overview of Data Communications and Networking
OSI Protocol Stack Given the post man exemple.
Understand the OSI Model Part 2
Networking for Home and Small Businesses – Chapter 6
Lecture 6: TCP/IP Networking By: Adal Alashban
Network Architecture Introductory material
Introduction to Networks
Networking for Home and Small Businesses – Chapter 6
Protocols and the TCP/IP Suite
Topic 5: Communication and the Internet
Review of Important Networking Concepts
I. Basic Network Concepts
CSE 451: Operating Systems Spring 2005 Module in 9 slides
CSE 451: Operating Systems Winter 2007 Module in 9 slides
Process-to-Process Delivery:
Review of Important Networking Concepts
Lecture 6: TCP/IP Networking 1nd semester By: Adal ALashban.
Communication Networks NETW 501
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
Server-side Programming CSE 333 Autumn 2018
CSE 451: Operating Systems Autumn 2009 Module in 9 slides
CSE 451: Operating Systems Winter 2004 Module in 7 slides
CSE 451: Operating Systems Autumn 2010 Module in 9 slides
Protocols and the TCP/IP Suite
Networking for Home and Small Businesses – Chapter 6
Networking Introduction CSE 333 Winter 2019
OSI Reference Model Unit II
Process-to-Process Delivery: UDP, TCP
Review of Important Networking Concepts
OSI Model 7 Layers 7. Application Layer 6. Presentation Layer
Transport Layer 9/22/2019.
Presentation transcript:

Networking Introduction CSE 333 Autumn 2018 Instructor: Hal Perkins Teaching Assistants: Tarkan Al-Kazily Renshu Gu Travis McGaha Harshita Neti Thai Pham Forrest Timour Soumya Vasisht Yifan Xu

Administrivia No exercises due next week! hw3 due next Thursday night Next exercise out next Thursday, due following Monday Networking: DNS and TCP client (cover in class/sections next week) hw3 due next Thursday night Usual reminders: don’t forget to tag, then be sure to clone elsewhere and recompile / retest Usual latedays apply (if you have any left – be sure to check)

Administrivia Rest of the quarter: Topics: Networking; Concurrency, Processes, and Threads A few more exercises (~3) Networking client side (out next week), server side, concurrency hw4: file-search web server Out next Fri., due Thur. Dec.(!) 6) Demo in class next Fri. Final exam: Wed. Dec. 12, 2:30-4:20 pm What should we do about the Wednesday before Thanksgiving?

Lecture Outline Introduction to Networks Layers upon layers upon layers…

Networks From 10,000 ft clients servers

The Physical Layer 0 1 0 1 computer Individual bits are modulated onto a wire or transmitted over radio Physical layer specifies how bits are encoded at a signal level Many choices, e.g., encode “1” as +1v, “0” as -0v; or “0”=+1v, “1”=-1v, … 0 1 0 1 computer NIC copper wire optical cable radio frequency band NIC = network interface controller physical

The Data Link Layer Multiple computers on a LAN contend for the network medium Media access control (MAC) specifies how computers cooperate Link layer also specifies how bits are “packetized” and network interface controllers (NICs) are addressed computer NIC 00:1d:4f:47:0d:48 4c:44:1e:8f:12:0e 7a:37:8e:fc:1a:ea de:ad:be:ef:ca:fe 01:23:32:10:ab:ba ethernet https://en.wikipedia.org/wiki/MAC_address destination address source address data ethernet header ethernet payload data link physical

The Network Layer (IP) Internet Protocol (IP) routes packets across multiple networks Every computer has a unique IP address Individual networks are connected by routers that span networks host 128.95.10.55 128.95.10.72 128.95.10.95 ethernet 128.95.10.1 router host 128.95.4.3 128.95.4.10 128.95.4.12 ethernet 128.95.4.1 network data link physical

The Network Layer (IP) There are protocols to: Let a host map an IP to MAC address on the same network Let a router learn about other routers to get IP packets one step closer to their destination destination source network network network data link data link data link physical physical physical

The Network Layer (IP) Packet encapsulation: An IP packet is encapsulated as the payload of an Ethernet frame As IP packets traverse networks, routers pull out the IP packet from an Ethernet frame and plunk it into a new one on the next network IP header IP payload destination address source address data ethernet header ethernet payload network network network data link data link data link physical physical physical

The Transport Layer (TCP) Transmission Control Protocol (TCP): Provides applications with reliable, ordered, congestion-controlled byte streams Sends stream data as multiple IP packets (differentiated by sequence numbers) and retransmits them as necessary When receiving, puts packets back in order and detects missing packets A single host (IP address) can have up to 216 = 65,535 “ports” Kind of like an apartment number at a postal address (your applications are the residents who get mail sent to an apt. #) Useful analogy: How would you send a book by mail via postcards? (postal service stops delivering packages – only letters & postcards) Split the book into multiple postcards, marking each with a sequence number for ordering. Send each one-by-one through the mail. Receiver sends back postcards to acknowledge receipt and indicate which got lost in the mail. https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers#Well-known_ports transport network network network data link data link data link physical physical physical

The Transport Layer (TCP) Packet encapsulation – one more nested layer! src, dst, port TCP payload + seq # TCP header TCP chunk 1 TCP header TCP chunk 2 IP header IP payload IP header IP payload ethernet header ethernet payload ethernet header ethernet payload transport network network network data link data link data link physical physical physical

The Transport Layer (TCP) Applications use OS services to establish TCP streams: The “Berkeley sockets” API A set of OS system calls Clients connect() to a server IP address + application port number Servers listen() for and accept() client connections Clients and servers read() and write() data to each other BSD – Berkeley Software Distribution transport network network network data link data link data link physical physical physical

The Transport Layer (UDP) User Datagram Protocol (UDP): Provides applications with unreliable packet delivery UDP is a really thin, simple layer on top of IP Datagrams still are fragmented into multiple IP packets BSD – Berkeley Software Distribution transport network network network data link data link data link physical physical physical

The (Mostly Missing) Layers 5 & 6 Layer 5: Session Layer Supposedly handles establishing and terminating application sessions Remote Procedure Call (RPC) kind of fits in here Layer 6: Presentation Layer Supposedly maps application-specific data units into a more network-neutral representation Encryption (SSL) kind of fits in here presentation Open Systems Interconnection (OSI) is an effort to standardize computer networking that was started in 1977. https://en.wikipedia.org/wiki/OSI_model session transport network network network data link data link data link physical physical physical

The Application Layer Application protocols The format and meaning of messages between application entities Example: HTTP is an application-level protocol that dictates how web browsers and web servers communicate HTTP is implemented on top of TCP streams application presentation session transport network network network data link data link data link physical physical physical

HTTP payload (e.g. chunk of HTML page) The Application Layer Packet encapsulation: HTTP header HTTP payload (e.g. chunk of HTML page) TCP header TCP payload IP header IP payload destination address source address data ethernet header ethernet payload

HTTP payload (e.g. chunk of HTML page) The Application Layer Packet encapsulation: ethernet header IP header TCP header HTTP header HTTP payload (e.g. chunk of HTML page)

The Application Layer Popular application-level protocols: DNS: translates a domain name (e.g. www.google.com) into one or more IP addresses (e.g. 74.125.197.106) Domain Name System An hierarchy of DNS servers cooperate to do this HTTP: web protocols Hypertext Transfer Protocol SMTP, IMAP, POP: mail delivery and access protocols Secure Mail Transfer Protocol, Internet Message Access Protocol, Post Office Protocol SSH: secure remote login protocol Secure Shell bittorrent: peer-to-peer, swarming file sharing protocol

netcat demo (if time) netcat (nc) is “a computer networking utility for reading from and writing to network connections using TCP or UDP” https://en.wikipedia.org/wiki/Netcat Listen on port: nc -l <port> Connect: nc <IPaddr> <port> Local host: 127.0.0.1