Networking, Java threads and synchronization. PRIS lecture 4 Fredrik Kilander
|
|
- Mitchell Anthony
- 6 years ago
- Views:
Transcription
1 Networking, Java threads and synchronization PRIS lecture 4 Fredrik Kilander
2 OSI Application Presentation Session Transport Network Data link Physical TCP/IP Application Transport Internet Host-to-network A. S. Tanenbaum, Computer Networks, 3rd Ed.
3 OSI Application Presentation Session Transport Network Data link Physical TCP/IP Application Middleware Transport Internet Host-to-network A. S. Tanenbaum, Computer Networks, 3rd Ed.
4 HTTP BitTorrent SMTP SSH DNS Application Protocols TCP UDP Transport IP Network Networks WAN MAN LAN WiFi 3G PPP Data link + physical Adapted from A. S. Tanenbaum, Computer Networks, 3rd Ed.
5 Application Remote Procedure Call Application SOAP Message SOAP XML Message XML HTTP Connection HTTP Transport Connection Transport Network Packet Network Network Data link Frame Data link Data link Physical Waves Physical Physical
6 Communication Layers, interfaces, and protocols in the OSI (Open Systems Interconnection) reference model. Divided into 7 layers each deals with one specific aspects of the communication
7 reliable Transport Transport unreliable Network Network reliable Data link Data link unreliable Physical Physical
8 Reliable data transmission Divide data into packets Add error-detection/correction to payload Add sequence numbers Add a timer for each packet sent Keep resending packets until they are ack d. Acknowledge received packets
9 Point-to-point connection Transport Transport Network Network Data link Data link Physical Wire or EM beam Physical
10 Common media, no longer point-to-point Transport Transport Transport Network Network Network Data link Data link Data link Physical Physical Physical Coaxial cable or radio channel (wave propagation medium)
11 Medium ACcess Layer OSI Application Presentation Session Transport Network Data link Physical MAC
12 MAC layer negotiates access to shared medium Transport Transport Transport Network Network Network Data link Data link Data link MAC MAC MAC Physical Physical Physical
13 Ethernet history thick cable
14 Ethernet history thinwire
15 Ethernet history CAT6/WiFi
16 Stations share the broadcast medium Only one station may send - all listen Ada Bea Cia Didi Eve MAC MAC MAC MAC MAC Transmissions are addressed to an interface (unicast) or to a group (multicast) or to all (broadcast)
17 Stations share the broadcast medium The MAC-address depends on the medium 00:1F:3B:BF:CA:35 Ada Bea Cia Didi Eve MAC MAC MAC MAC MAC Ethernet 48 bits vv:vv:vv:ss:ss:ss BlueTooth 48 bits NAP(16)UAP(8)LAP(24) NAP:Non-significant address portion LAP:Lower address portion UAP:Upper address portion
18 Stations share the broadcast medium Simultaneous broadcasts leads to collisions Ada Bea Cia Didi Eve MAC MAC MAC MAC MAC
19 Stations share the broadcast medium Simultaneous broadcasts leads to collisions Ada Bea Cia Didi Eve MAC MAC MAC MAC MAC Interference where frames overlap
20 OSI Application Presentation Session Transport Network Data link Physical TCP/IP Application Transport Internet Host-to-network A. S. Tanenbaum, Computer Networks, 3rd Ed.
21 Data network: routers and links
22 Network/Internet layer routing of packets Each router selects the best output line for the packet Packets may be Lost (router memory is full) Reordered (go separate paths) Delayed (queued)
23 OSI Application Presentation Session Transport Network Data link Physical TCP/IP Application Transport Internet Host-to-network A. S. Tanenbaum, Computer Networks, 3rd Ed.
24 Transport layer virtual connection Endpoints simulate a continuous stream of bytes TCP: packet sizes depend on delay Fixes lost and reordered packets
25 Multithreading Concurrent computing
26 Threads Threads allow parallel execution in one pgm Threading is a programming language construct
27 Threads Threads allow parallel execution in one pgm The main thread is issued by the operating system. It enters the main routine of the program. When it exits the program ends.
28 Threads Threads allow parallel execution in one pgm Other threads are issued from the main thread. They enter other routines of the same program. Several threads can enter the same routine. When the entry point is exited, the thread ends.
29 Threads Threads allow parallel execution in one pgm The main thread always enters the main program. int foo() { a = b; c = d;... void bar (int x) { x = u * b;... void main (String argv[]) { boolean o; double p;... Other threads execute with other routines as their main programs.
30 Threads Threads allow parallel execution in one pgm All threads share global variables. Threads do not share local variables because each thread has its own stack. int a = 0; boolean b; void foo() { int a;... void bar (int x) { float y;... void main (String argv[]) { a = 42;... Threads Threads can can be be implemented implemented in in several several ways: ways: Virtual Virtual threads threads by by interpreter interpreter Parallel Parallel processes processes from from OS OS Threads Threads supported supported by by OS OS
31 Mental models Single-threaded whole program Multi-threaded several small programs Where and how can and should threads interact in my program?
32 Surreptious multi-threading: Callback APIs GUI events Messaging systems Discovery systems Timers RPC server
33 Race condition Insert presentation here
34 Threads in Java A class that supports threading implements interface Runnable. Interface Runnable has one method: run(). This is a thread s entry point. import java.lang.runnable; import java.lang.thread; class MyServer implements Runnable { // In interface Runnable: public void run () {... A new thread is created just like any other object. It is given the object where to execute and told to start running. public void main (String argv[]) {... new Thread (this).start ();...
35 Threads in Java A class that supports threading implements interface Runnable. Interface Runnable has one method: run(). This is a thread s entry point. class class MyServer MyServer implements implements Runnable Runnable Thread Thread t t = = new new Thread Thread (this); (this); public public void void run() run() {... {... A new thread is created just like any other object. It is given the object where to execute and told to start running. Thread Thread t t public public void void start() start()
36 Threads in Java class class MyServer MyServer Thread Thread t t = = new new Thread Thread (new (new Worker()); Worker()); t.start t.start (); (); class class Worker Worker implements implements Runnable Runnable public public void void run() run() {... {... Thread Thread t t public public void void start() start()
37 Threads in Java In Java you must use method Runnable.run(). Where is the diversity? import java.lang.runnable; import java.lang.thread; class MyServer implements Runnable { int h; Programmatic or computed choice. Race condition on on variable h! h! // In interface Runnable: public void run () { switch (h) { case 1: foo(); break; case 2: bar(); break; public void main (String argv[]) {... h = 1; new Thread (this).start (); h = 2;
38 Threads in Java In Java you must use method Runnable.run(). Where is the diversity? Separate out methods into their own classes. import java.lang.runnable; class Foo implements Runnable { public void run () {... import java.lang.runnable; class Bar implements Runnable { public void run () {... import java.lang.runnable; import java.lang.thread; class MyServer { public void main (String argv[]) { new Thread (new Foo ()).start (); new Thread (new Bar ()).start ();
39 Threads in Java In Java you must use method Runnable.run(). Where is the diversity? import java.lang.runnable; import java.lang.thread; class MyServer { protected void dowork () {... public void main (String argv[]) {... new Thread (new Runnable () { public void run () { dowork (); ); Anonymous subclassing
40 Threads in Java Wait for a thread to die: Thread.join() import java.lang.runnable; import java.lang.thread; class MyServer { public void main (String argv[]) {... // Create thread t. Thread t = new Thread (new Foo ()).start ();... // Main thread waits for t to die. t.join ();...
41 Threads in Java Thread control sleep (long ms) suspend caller for at least ms milliseconds join (Thread t) suspend caller until other thread t has exited wait() suspend until notified (in a synchronized block) notify() release a wait()ing thread (in a synchronized block)
42 Synchronization in Java Threads that access common variables together can seriously mess up the state of the program. Synchronization is achieved by monitors. A monitor is a non-sharable entity associated with a Java object (choosen by the programmer). Synchronized code is locked by the object. A thread must have the monitor to be able to execute the synchronized code.
43 Synchronization in Java When a method is declared as synchronized the monitor is retrieved from the method s object. Potential inefficiency. public synchronized void enqueue() {... When a block of code is synchronized, any object s monitor can be used: synchronized (myqueue) {...
44 Synchronization in Java A thread that attempts to enter a synchronized method or block must wait in a queue for the monitor. When the monitor is released the thread continues to execute. While the thread is inside the synchronized section it can release the monitor and wait(). synchronized (myqueue) {... wait (); // Nothing to do... When some other thread has the monitor it can notify the waiting thread, giving back the monitor and allowing it to continue: synchronized (myqueue) {... notify (); // Work is ready for you...
45 Synchronization in Java Producer Producer thread thread Adds Adds items items to to the the queue queue myqueue myqueue myqueue myqueue Consumer Consumer thread thread Removes Removes items items from from the the queue queue myqueue myqueue head myqueue tail
46 Synchronization in Java Qmobj Producer Producer thread thread Adds Adds items items to to the the queue queue myqueue myqueue myqueue myqueue Consumer Consumer thread thread Removes Removes items items from from the the queue queue myqueue myqueue Producer is waiting for the monitor Producer asks for myqueue s monitor Producer receives myqueue s monitor Consumer asks for myqueue s monitor Synchronized code Producer enqueues items Producer returns myqueue s monitor Consumer receives myqueue s monitor Consumer is waiting for the monitor Consumer dequeues items Synchronized code Consumer returns myqueue s monitor
47 Synchronization in Java Qmobj Producer Producer thread thread Adds Adds items items to to the the queue queue myqueue myqueue myqueue myqueue Consumer Consumer thread thread Removes Removes items items from from the the queue queue myqueue myqueue Producer is waiting for the monitor Synchronized code Producer asks for myqueue s monitor Consumer asks for myqueue s monitor Producer receives myqueue s monitor Producer enqueues items Producer returns Both Both threads myqueue s threads are are monitor waiting waiting for for Consumer receives myqueue s monitor the the monitor: monitor: The The winner winner selection selection is is undefined undefined Consumer dequeues items Consumer returns myqueue s monitor Consumer is waiting for the monitor Synchronized code
48 Synchronization in Java A typical application of the wait()/notify() mechanism is a consumer producer pair with a queue between them. Access to the queue must be synchronized. While the queue is empty the consumer does not execute. synchronized (myqueue) { myqueue.enqueue (x); synchronized (qmobj) { notify (); myqueue M // In qmobj: for (;;) { while (!myqueue.isempty()) { synchronized (myqueue) { e = myqueue.dequeue (); synchronized (this) { wait ();
49 synchronized (myqueue) { myqueue.enqueue (x); synchronized (qmobj) { notify (); // In qmobj: myqueue M for (;;) { while (!myqueue.isempty()) { synchronized (myqueue) { e = myqueue.dequeue (); synchronized (this) { wait ();
50 Stuff we did not mention... Avoid Thread. stop() suspend() resume() (deprecated) Class Threadgroup : handle threads as a unit Class ThreadLocal : thread-specific data Thread intercommunication with pipes. Thread priorities.
51 The End
Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet
Chapter 2 - Part 1 The TCP/IP Protocol: The Language of the Internet Protocols A protocol is a language or set of rules that two or more computers use to communicate 2 Protocol Analogy: Phone Call Parties
More informationUDP, TCP, IP multicast
UDP, TCP, IP multicast Dan Williams In this lecture UDP (user datagram protocol) Unreliable, packet-based TCP (transmission control protocol) Reliable, connection oriented, stream-based IP multicast Process-to-Process
More informationConcept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.
223 Chapter 19 Inter mediate TCP The Transmission Control Protocol/Internet Protocol (TCP/IP) suite of protocols was developed as part of the research that the Defense Advanced Research Projects Agency
More informationOperating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski
Operating Systems 16. Networking Paul Krzyzanowski Rutgers University Spring 2015 1 Local Area Network (LAN) LAN = communications network Small area (building, set of buildings) Same, sometimes shared,
More informationIntroduction to internetworking, OSI, TCP/IP and Addressing.
Introduction to internetworking, OSI, TCP/IP and Addressing. Network Devices Repeater (Hub) Hubs don t break collision and broadcast domains. So any packet will be forwarded to all ports. Bridge (Switch)
More informationJava s Implementation of Concurrency, and how to use it in our applications.
Java s Implementation of Concurrency, and how to use it in our applications. 1 An application running on a single CPU often appears to perform many tasks at the same time. For example, a streaming audio/video
More informationECE 650 Systems Programming & Engineering. Spring 2018
ECE 650 Systems Programming & Engineering Spring 2018 Networking Introduction Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) Computer Networking A background of important areas
More informationIntroduction to computer networking
edge core Introduction to computer networking Comp Sci 3600 Security Outline edge core 1 2 edge 3 core 4 5 6 The edge core Outline edge core 1 2 edge 3 core 4 5 6 edge core Billions of connected computing
More informationCSE 333 Lecture C++ final details, networks
CSE 333 Lecture 19 -- C++ final details, s Steve Gribble Department of Computer Science & Engineering University of Washington Administrivia HW3 is due in 5 days! - we re up to 6 bugs for you to patch
More informationLecture 17 Overview. Last Lecture. Wide Area Networking (2) This Lecture. Internet Protocol (1) Source: chapters 2.2, 2.3,18.4, 19.1, 9.
Lecture 17 Overview Last Lecture Wide Area Networking (2) This Lecture Internet Protocol (1) Source: chapters 2.2, 2.3,18.4, 19.1, 9.2 Next Lecture Internet Protocol (2) Source: chapters 19.1, 19.2, 22,1
More informationPeer entities. Protocol Layering. Protocols. Example
Peer entities Protocol Layering An Engineering Approach to Computer Networking Customer A and B are peers Postal worker A and B are peers Protocols A protocol is a set of rules and formats that govern
More informationDefining Networks with the OSI Model. Module 2
Defining Networks with the OSI Model Module 2 Objectives Skills Concepts Objective Domain Description Objective Domain Number Understanding OSI Basics Defining the Communications Subnetwork Defining the
More information06/02/ Local & Metropolitan Area Networks 0. INTRODUCTION. 1. History and Future of TCP/IP ACOE322
1 Local & Metropolitan Area Networks ACOE322 Lecture 5 TCP/IP Protocol suite and IP addressing 1 0. INTRODUCTION We shall cover in this topic: 1. The relation of TCP/IP with internet and OSI model 2. Internet
More informationCMSC 611: Advanced. Interconnection Networks
CMSC 611: Advanced Computer Architecture Interconnection Networks Interconnection Networks Massively parallel processor networks (MPP) Thousands of nodes Short distance (
More informationCSCI Computer Networks
CSCI-1680 - Computer Networks Chen Avin (avin) Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti, Peterson & Davie, Rodrigo Fonseca Administrivia Sign and hand in Collaboration
More informationModule 2 Overview of Computer Networks
Module 2 Overview of Computer Networks Networks and Communication Give me names of all employees Who earn more than $00,000 ISP intranet backbone satellite link desktop computer: server: network link:
More informationModule 2 Overview of. Computer Networks
Module Overview of Networks and Communication Give me names of all employees Who earn more than $00,000 ISP intranet backbone satellite link desktop computer: server: network link: CS454/654 - Issues How
More informationChapter 5.6 Network and Multiplayer
Chapter 5.6 Network and Multiplayer Multiplayer Modes: Event Timing Turn-Based Easy to implement Any connection type Real-Time Difficult to implement Latency sensitive 2 Multiplayer Modes: Shared I/O Input
More informationJava Threads. COMP 585 Noteset #2 1
Java Threads The topic of threads overlaps the boundary between software development and operation systems. Words like process, task, and thread may mean different things depending on the author and the
More information5105: BHARATHIDASAN ENGINEERING COLLEGE NATTARMPALLI UNIT I FUNDAMENTALS AND LINK LAYER PART A
5105: BHARATHIDASAN ENGINEERING COLLEGE NATTARMPALLI 635 854. NAME OF THE STAFF : R.ANBARASAN DESIGNATION & DEPARTMENT : AP/CSE SUBJECT CODE : CS 6551 SUBJECT NAME : COMPUTER NETWORKS UNIT I FUNDAMENTALS
More informationChapter 16 Networking
Chapter 16 Networking Outline 16.1 Introduction 16.2 Network Topology 16.3 Network Types 16.4 TCP/IP Protocol Stack 16.5 Application Layer 16.5.1 Hypertext Transfer Protocol (HTTP) 16.5.2 File Transfer
More informationRaj Jain. The Ohio State University Columbus, OH
Columbus, OH 43210 Jain@CIS.Ohio-State.Edu http://www.cis.ohio-state.edu/~jain/ 3-1 Overview ISO/OSI Reference Model TCP/IP Reference Model Differences between ISO and TCP Ethernet/IEEE 802.3 LANs Interconnecting
More informationCollaboration of Tasks
Operating systems (vimia219) Collaboration of Tasks Tamás Kovácsházy, PhD 13 rd Topic Inter Process Communication with Message Passing Budapest University of Technology and Economics Department of Measurement
More informationCS-461 Internetworking. Dr. Mohamed Aboutabl
CS-461 Internetworking Dr. Mohamed Aboutabl http://www.cs.jmu.edu/users/aboutams The McGraw-Hill Companies, Inc., 2000 1 Chapter 1 Introduction The McGraw-Hill Companies, Inc., 2000 2 Internet today Network
More informationChapter 4 Communication
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 4 Communication Layered Protocols (1) Figure 4-1. Layers, interfaces, and protocols in the OSI
More informationIntroductions. Computer Networking Lecture 01. January 16, HKU SPACE Community College. HKU SPACE CC CN Lecture 01 1/36
Introductions Computer Networking Lecture 01 HKU SPACE Community College January 16, 2012 HKU SPACE CC CN Lecture 01 1/36 Outline What is a Computer Network? Basic Requirements of Building a Computer Network
More informationECE 650 Systems Programming & Engineering. Spring 2018
ECE 650 Systems Programming & Engineering Spring 2018 Programming with Network Sockets Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) Sockets We ve looked at shared memory vs.
More informationUDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data
ELEX 4550 : Wide Area Networks 2015 Winter Session UDP and TCP is lecture describes the two most common transport-layer protocols used by IP networks: the User Datagram Protocol (UDP) and the Transmission
More informationJava Threads. Written by John Bell for CS 342, Spring 2018
Java Threads Written by John Bell for CS 342, Spring 2018 Based on chapter 9 of Learning Java, Fourth Edition by Niemeyer and Leuck, and other sources. Processes A process is an instance of a running program.
More informationOperating Systems CS 571
Computer Networks: Overview Operating Systems CS 571 Network types Range Bandwidth (Mbps) Latency (ms) LAN 1-2 kms 10-1000 1-10 WAN worldwide 0.010-600 100-500 MAN 2-50 kms 1-150 10 Wireless LAN 0.15-1.5
More informationDistributed Systems. 02. Networking. Paul Krzyzanowski. Rutgers University. Fall 2017
Distributed Systems 02. Networking Paul Krzyzanowski Rutgers University Fall 2017 1 Inter-computer communication Without shared memory, computers need to communicate Direct link Direct links aren't practical
More informationIntroduction to networking 2/28/18
Introduction to networking 2/28/18 Idea of a protocol stack Me My pen pal Idea of a protocol stack Me My pen pal bagging unbagging Idea of a protocol stack Me My pen pal bagging unbagging loading unloading
More informationTSIN02 - Internetworking
Lecture 4: Transport Layer Literature: Forouzan: ch 11-12 2004 Image Coding Group, Linköpings Universitet Lecture 4: Outline Transport layer responsibilities UDP TCP 2 Transport layer in OSI model Figure
More informationData and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications
Data and Computer Communications Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based s 1 Need For Protocol Architecture data exchange can involve complex procedures better if task broken into subtasks
More informationData Communication & Computer Networks MCQ S
Data Communication & Computer Networks MCQ S 1. The translates internet domain and host names to IP address. a) domain name system b) routing information protocol c) network time protocol d) internet relay
More informationOverview. CMSC 330: Organization of Programming Languages. Concurrency. Multiprocessors. Processes vs. Threads. Computation Abstractions
CMSC 330: Organization of Programming Languages Multithreaded Programming Patterns in Java CMSC 330 2 Multiprocessors Description Multiple processing units (multiprocessor) From single microprocessor to
More informationCS61C Machine Structures Lecture 37 Networks. No Machine is an Island!
CS61C Machine Structures Lecture 37 Networks April 24, 2006 John Wawrzynek Page 1 No Machine is an Island! Computer Processor (active) Control ( brain ) Datapath ( brawn ) Memory (passive) (where programs,
More informationNetworks and distributed computing
Networks and distributed computing Hardware reality lots of different manufacturers of NICs network card has a fixed MAC address, e.g. 00:01:03:1C:8A:2E send packet to MAC address (max size 1500 bytes)
More informationChapter 2 Communicating Over the Network
Chapter 2 Communicating Over the Network Elements of Communication Communicating the Messages Continuous stream of bits 00101010100101010101010101010101010 I have to wait Single communications (e.g. video,
More informationDr Markus Hagenbuchner CSCI319 SIM. Distributed Systems Chapter 4 - Communication
Dr Markus Hagenbuchner markus@uow.edu.au CSCI319 SIM Distributed Systems Chapter 4 - Communication CSCI319 Chapter 4 Page: 1 Communication Lecture notes based on the textbook by Tannenbaum Study objectives:
More information1: Review Of Semester Provide an overview of encapsulation.
1: Review Of Semester 1 1.1.1.1. Provide an overview of encapsulation. Networking evolves to support current and future applications. By dividing and organizing the networking tasks into separate layers/functions,
More informationLecture 2. Computer Networks Models. Network Models 1-1
Lecture 2 Computer Networks Models Network Models 1-1 Agenda Introduction to the Internet Reference Models for Computer Networks The OSI Model The TCP/IP Model Network Models 1-2 Announcements Bonus -
More informationCS 428/528 Computer Networks Lecture 01. Yan Wang
1 CS 428/528 Computer Lecture 01 Yan Wang 2 Motivation: Why bother? Explosive growth of networks 1989, 100,000 hosts on the Internet Distributed Applications and Systems E-mail, WWW, multimedia, distributed
More informationLecture 10 Internet. ECE 197SA Systems Appreciation. Internet
Lecture 10 Internet ECE 197SA Systems Appreciation Internet Computer networks Infrastructure for large-scale distributed application Global data exchange between computers Essential for today s society
More informationIntroduction to Networks
Introduction to Networks Khaled Harras School of Computer Science Carnegie Mellon University 15-349 Computer and Network Security Fall 2012 Some material borrowed from Hui Zhang and Adrian Perrig 1 Early
More informationIntroduction to Protocols
Chapter 6 Introduction to Protocols 1 Chapter 6 Introduction to Protocols What is a Network Protocol? A protocol is a set of rules that governs the communications between computers on a network. These
More informationCS3600 SYSTEMS AND NETWORKS
CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 17: Internet architecture Prof. Alan Mislove (amislove@ccs.neu.edu) Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion
More informationComputer Networks. General Course Information. Addressing and Routing. Computer Networks 9/8/2009. Basic Building Blocks for Computer Networks
Outline: Computer Networks Introduction General course information. Some basic concepts for computer s. Network programming. General Course Information Course Web page http://www.cs.rochester.edu/~kshen/csc257-fall2009
More informationLayering in Networked computing. OSI Model TCP/IP Model Protocols at each layer
Layering in Networked computing OSI Model TCP/IP Model Protocols at each layer Learning outcomes Understand the need of layering in Networked computing Understand the OSI model and the tcp/ip model Understand
More informationComputer Communication & Networks / Data Communication & Computer Networks Week # 03
Computer Communication & Networks / Data Communication & Computer Networks Week # 03 M.Nadeem Akhtar CS & IT Department The University of Lahore Email: nadeem.akhtar@cs.uol.edu.pk URL-https://sites.google.com/site/nadeemuolcsccn/home
More informationPart I: Communication and Networking
Review what we learned Part I: Communication and Networking Communication and Networking: Week 5-6, Lectures 2-7 Lecture 1 OSI vs TCP/IP model OSI model Protocols TCP/IP model Application FTP SMTP HTTP
More informationLecture-4. TCP/IP-Overview:
Lecture-4 TCP/IP-Overview: The history goes back to ARPANET a research network sponsored by DoD US Govt. It eventually connected hundreds of universities and govt installations, using leased telephone
More informationQuestion Score 1 / 19 2 / 19 3 / 16 4 / 29 5 / 17 Total / 100
NAME: Login name: Computer Science 461 Midterm Exam March 10, 2010 3:00-4:20pm This test has five (5) questions. Put your name on every page, and write out and sign the Honor Code pledge before turning
More informationKing Fahd University of Petroleum & Minerals Computer Engineering g Dept
King Fahd University of Petroleum & Minerals Computer Engineering g Dept COE 540 Computer Networks Term 121 Dr. Ashraf S. Hasan Mahmoud Rm 22-420 Ext. 1724 Email: ashraf@kfupm.edu.sa 9/1/2012 Dr. Ashraf
More informationNetworking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ
Networking for Data Acquisition Systems Fabrice Le Goff - 14/02/2018 - ISOTDAQ Outline Generalities The OSI Model Ethernet and Local Area Networks IP and Routing TCP, UDP and Transport Efficiency Networking
More informationThreads Chate Patanothai
Threads Chate Patanothai Objectives Knowing thread: 3W1H Create separate threads Control the execution of a thread Communicate between threads Protect shared data C. Patanothai Threads 2 What are threads?
More informationCOMPONENTS OF DATA COMMUNICATION
COMPONENTS OF DATA COMMUNICATION ANALOG AND DIGITAL TRANSMISSION An analog signal is one that is continuous with respect to time and may take on any value within a given range of values. Eg Human voice.
More informationThreads Questions Important Questions
Threads Questions Important Questions https://dzone.com/articles/threads-top-80-interview https://www.journaldev.com/1162/java-multithreading-concurrency-interviewquestions-answers https://www.javatpoint.com/java-multithreading-interview-questions
More informationChapter 3: Network Protocols and Communications CCENT Routing and Switching Introduction to Networks v6.0 Instructor Planning Guide
Chapter 3: Network Protocols and Communications CCENT Routing and Switching Introduction to Networks v6.0 Instructor Planning Guide CCNET v6 1 Chapter 3: Network Protocols and Communications CCENT Routing
More informationNetwork Model. Why a Layered Model? All People Seem To Need Data Processing
Network Model Why a Layered Model? All People Seem To Need Data Processing Layers with Functions Packet Propagation Each router provides its services to support upper-layer functions. Headers (Encapsulation
More informationEEC-484/584 Computer Networks
EEC-484/584 Computer Networks Lecture 2 Wenbing Zhao wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Misc. Interested in research? Secure
More informationOSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,
ANNEX B - Communications Protocol Overheads The OSI Model is a conceptual model that standardizes the functions of a telecommunication or computing system without regard of their underlying internal structure
More informationCPEG514 Advanced Computer Networks. Atef Abu Salim University of Nizwa Spring 2013/2014
CPEG514 Advanced Computer Networks Atef Abu Salim University of Nizwa Spring 2013/2014 Today s Class Topics Course Syllabus Computer Networks LANs and WANs The Internet Protocols, Layers and Interfaces
More informationIntroduction to Information Science and Technology 2017 Networking I. Sören Schwertfeger 师泽仁
I Sören Schwertfeger 师泽仁 Outline Internet History of the Internet Internet Structure Internet Protocols Network layer details 1. Physical Layer 2. Data Link Layer 3. Network Layer Internet: Huge network
More informationECE4110 Internetwork Programming. Introduction and Overview
ECE4110 Internetwork Programming Introduction and Overview 1 EXAMPLE GENERAL NETWORK ALGORITHM Listen to wire Are signals detected Detect a preamble Yes Read Destination Address No data carrying or noise?
More informationIntroduction to Open System Interconnection Reference Model
Chapter 5 Introduction to OSI Reference Model 1 Chapter 5 Introduction to Open System Interconnection Reference Model Introduction The Open Systems Interconnection (OSI) model is a reference tool for understanding
More informationL1/L2 NETWORK PROTOCOL TESTING
L1/L2 NETWORK PROTOCOL TESTING MODULE 1 : BASIC OF NETWORKING OSI Model TCP/IP Layers Service data unit & protocol data unit Protocols and standards Network What is network & Internet Network core circuit
More informationSC/CSE 3213 Winter Sebastian Magierowski York University CSE 3213, W13 L8: TCP/IP. Outline. Forwarding over network and data link layers
SC/CSE 3213 Winter 2013 L8: TCP/IP Overview Sebastian Magierowski York University 1 Outline TCP/IP Reference Model A set of protocols for internetworking The basis of the modern IP Datagram Exchange Examples
More informationCS-435 spring semester Network Technology & Programming Laboratory. Stefanos Papadakis & Manolis Spanakis
CS-435 spring semester 206 Network Technology & Programming Laboratory University of Crete Computer Science Department Stefanos Papadakis & Manolis Spanakis CS-435 Lecture #2 preview: Data Communications
More informationSirindhorn International Institute of Technology Thammasat University
Name.............................. ID............... Section...... Seat No...... Thammasat University Final Exam: Semester, 205 Course Title: Introduction to Data Communications Instructor: Steven Gordon
More informationCMSC 330: Organization of Programming Languages
CMSC 330: Organization of Programming Languages Multithreading Multiprocessors Description Multiple processing units (multiprocessor) From single microprocessor to large compute clusters Can perform multiple
More informationCHAPTER 17 - NETWORK AMD DISTRIBUTED SYSTEMS
CHAPTER 17 - NETWORK AMD DISTRIBUTED SYSTEMS OBJECTIVES Provide a high-level overview of distributed systems and the networks that interconnect them Discuss the general structure of distributed operating
More informationChapter 2 Network Architectures A global view
Chapter 2 Architectures A global view Professor Dongning uo Architecture Architecture, n. 2a: formation or construction as or as if as the result of conscious act, 2b: a unifying or coherent form or structure.
More informationCARRIER SENSE MULTIPLE ACCESS (CSMA):
Lecture Handout Computer Networks Lecture No. 8 CARRIER SENSE MULTIPLE ACCESS (CSMA): There is no central control management when computers transmit on Ethernet. For this purpose the Ethernet employs CSMA
More informationComputation Abstractions. Processes vs. Threads. So, What Is a Thread? CMSC 433 Programming Language Technologies and Paradigms Spring 2007
CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Threads and Synchronization May 8, 2007 Computation Abstractions t1 t1 t4 t2 t1 t2 t5 t3 p1 p2 p3 p4 CPU 1 CPU 2 A computer Processes
More informationCommunicating over the Network
Communicating over the Network Network Fundamentals Chapter 2 Version 4.0 1 Network Structure The elements of communication 3 common elements of communication Message source people/electronic devices need
More informationCOMS Introduction to Computers. Networking
COMS 1001 Introduction to Computers Networking What's Ahead Networking layers Network Speeds Protocols, sockets, client/server Routing, DNS, Ethernet, LANs, wireless What is a Network? Loose definition:
More informationLayer 4: UDP, TCP, and others. based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers
Layer 4: UDP, TCP, and others based on Chapter 9 of CompTIA Network+ Exam Guide, 4th ed., Mike Meyers Concepts application set transport set High-level, "Application Set" protocols deal only with how handled
More informationLesson 5 TCP/IP suite, TCP and UDP Protocols. Chapter-4 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education
Lesson 5 TCP/IP suite, TCP and UDP Protocols 1 TCP/IP Suite: Application layer protocols TCP/IP Suite set of protocols with layers for the Internet TCP/IP communication 5 layers: L7, L4, L3, L2 and L1
More informationChapter 2. Communicating Over The Network. CCNA1-1 Chapter 2
Chapter 2 Communicating Over The Network CCNA1-1 Chapter 2 Communicating Over the Network The Platform for Communications CCNA1-2 Chapter 2 Elements of Communication People communicate in many different
More informationConcurrent Programming using Threads
Concurrent Programming using Threads Threads are a control mechanism that enable you to write concurrent programs. You can think of a thread in an object-oriented language as a special kind of system object
More information19: Networking. Networking Hardware. Mark Handley
19: Networking Mark Handley Networking Hardware Lots of different hardware: Modem byte at a time, FDDI, SONET packet at a time ATM (including some DSL) 53-byte cell at a time Reality is that most networking
More informationCMSC 132: Object-Oriented Programming II. Threads in Java
CMSC 132: Object-Oriented Programming II Threads in Java 1 Problem Multiple tasks for computer Draw & display images on screen Check keyboard & mouse input Send & receive data on network Read & write files
More informationCommunication Networks
Session 2. Application and Layered Architectures Dongsoo S. Kim Electrical and Computer Engineering. Indiana U. Purdue U. Indianapolis Communication s Various services and flexibility architectures Grouping
More informationCommunication. Distributed Systems IT332
Communication Distributed Systems IT332 2 Outline Fundamentals Layered network communication protocols Types of communication Remote Procedure Call Message Oriented Communication Multicast Communication
More informationLecture Outline. Lecture 2. OSI model and networking. The OSI model and networking. The OSI model and networking. The OSI model and networking
Lecture 2 The OSI model Chapter 2, specifically pages 42-58 Dave Novak School of Business Administration, University of Vermont Sources: 1) Network+ Guide to Networks, Dean 2013 2) Comer, Computer Networks
More informationTransport Layer (TCP/UDP)
Transport Layer (TCP/UDP) Where we are in the Course Moving on up to the Transport Layer! Application Transport Network Link Physical CSE 461 University of Washington 2 Recall Transport layer provides
More informationEE 610 Part 2: Encapsulation and network utilities
EE 610 Part 2: Encapsulation and network utilities Objective: After this experiment, the students should be able to: i. Understand the format of standard frames and packet headers. Overview: The Open Systems
More informationOperating Systems and. Computer Networks. Introduction to Computer Networks. Operating Systems and
Computer Networks Introduction to Computer Networks Linux System Structure Corbet et al, Linux Device Drivers, O Reilly, 2005 Categories of System Calls Process Control load, execute, end, abort, create
More informationInterconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1
Interconnecting Networks with TCP/IP 2000, Cisco Systems, Inc. 8-1 Objectives Upon completion of this chapter you will be able to perform the following tasks: Identify the IP protocol stack, its protocol
More informationNetworking Applications
Networking Dr. Ayman A. Abdel-Hamid College of Computing and Information Technology Arab Academy for Science & Technology and Maritime Transport 1 Outline Internet Layers Internet Data Packet transmission
More informationChapter 6: Network Communications and Protocols
Learning Objectives Chapter 6: Network Communications and Protocols Understand the function and structure of packets in a network, and analyze and understand those packets Understand the function of protocols
More informationData Communications and Networks Spring Syllabus and Reading Assignments
Data Communications and Networks Spring 2018 Syllabus and Assignments Revision Date: January 24, 2018 Course : This course teaches the design and implementation techniques essential for engineering robust
More informationISO/OSI Model and Collision Domain NETWORK INFRASTRUCTURES NETKIT - LECTURE 1 MANUEL CAMPO, MARCO SPAZIANI
ISO/OSI Model and Collision Domain NETWORK INFRASTRUCTURES NETKIT - LECTURE 1 MANUEL CAMPO, MARCO SPAZIANI ISO/OSI Model ISO: International Organization for Standardization OSI: Open Systems Interconnection
More informationM242 COMPUTER NETWORS AND SECURITY
M242 COMPUTER NETWORS AND SECURITY 2.1. Network Models: UNIT - II OSI MODEL AND LAN PROTOCOLS 1. Explain Network model A network is a combination of hardware and software that sends data from one location
More informationCS4700/CS5700 Fundaments of Computer Networks
CS4700/CS5700 Fundaments of Computer Networks Lecture 5: Internet architecture Slides used with permissions from Edward W. Knightly, T. S. Eugene Ng, Ion Stoica, Hui Zhang Alan Mislove amislove at ccs.neu.edu
More informationL1: Introduction. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806
L1: Introduction Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806 8/15/2016 CSCI 445 Fall 2016 1 Acknowledgements Some pictures used in this presentation
More informationComputer Networks. More on Standards & Protocols Quality of Service. Week 10. College of Information Science and Engineering Ritsumeikan University
Computer Networks More on Standards & Protocols Quality of Service Week 10 College of Information Science and Engineering Ritsumeikan University Introduction to Protocols l A protocol is a set of rules
More informationLECTURE WK4 NETWORKING
LECTURE WK4 NETWORKING Workbook and Quiz Workbook o Due in WK5 o Must hand in a hard copy to the tutor as well as an online submission Quiz o In the practical class o 30mins to complete the quiz o Short,
More informationVerteilte Systeme (Distributed Systems)
Verteilte Systeme (Distributed Systems) Karl M. Göschka Karl.Goeschka@tuwien.ac.at http://www.infosys.tuwien.ac.at/teaching/courses/ VerteilteSysteme/ Lecture 2: Communication (Part 1) Networking Principles
More information