Practical Session #09 Exceptions & Networking. Tom Mahler

Size: px
Start display at page:

Download "Practical Session #09 Exceptions & Networking. Tom Mahler"

Transcription

1 Practical Session #09 Exceptions & Networking Tom Mahler 1

2 In This Recitation We ll Cover Exceptions Java Sockets Datagram vs. Stream The Client-Server Model 2

3 Exceptions 3

4 Exceptions Java uses exceptions to handle errors and other exceptional events Examples: Reading a file that does not exist or is inaccessible Dividing a number by zero Network is down, URL does not exist Accessing an array element at a certain index that is not within the bounds of the array 4

5 Examples See code (See ExceptionExample) 5

6 What Is An Exception? An exception is an event that occurs during the execution of a program that disrupts the normal flow of instructions When an error occurs within a method, the method creates an object and hands it off to the runtime system The object, called an exception object, contains information about the error, including its type and the state of the program when the error occurred 6

7 What Is An Exception? Creating an exception object and handing it to the runtime system is called throwing an exception After a method throws an exception, the runtime system attempts to find something to handle it 7

8 What Is An Exception? The set of possible "somethings" to handle the exception is the ordered list of methods that had been called to get to the method where the error occurred The list of methods is known as the call stack (see the next figure) 8

9 What Is An Exception? The runtime system searches the call stack for a method that contains a block of code that can handle the exception This block of code is called an exception handler 9

10 What Is An Exception? The search begins with the method in which the error occurred and proceeds through the call stack in the reverse order in which the methods were called 10

11 What Is An Exception? If no handler is found, the exception is thrown to the JVM, which terminates the program and prints the exception together with its call stack to the console 11

12 Exception Types: Unchecked Exceptions Errors: exceptional conditions that are external to the application, and that the application usually cannot anticipate or recover from 12

13 Exception Types: Unchecked Exceptions They are indicated by Error and its subclasses Example: OutOfMemoryError signals that the application ran out of memory 13

14 Exception Types: Unchecked Exceptions Runtime Exceptions: exceptional conditions that are internal to the application, and that the application usually cannot anticipate or recover from 14

15 Exception Types: Unchecked Exceptions These usually indicate programming bugs, such as logic errors or improper use of an API Runtime exceptions are those indicated by RuntimeException and its subclasses 15

16 Exception Types: Unchecked Exceptions Examples: NullPointerException - signals that the application is trying to access a null pointer (an uninitialized object) ArrayIndexOutOfBoundsEx ception - signals that the application is trying to access an array outside of its boundaries 16

17 Exception Types: Checked Exceptions Exceptional conditions that a well-written application should anticipate and recover from They are inherited from the core Java class Exception 17

18 Exception Types: Checked Exceptions Checked exceptions must be handled in your code (catch it), or passed to the calling code for handling (declare that your method might throw it using the throws keyword at the method signature) 18

19 Exception Types: Checked Exceptions Example: FileNotFoundExceptio n - signals that the application is trying to access a file that does not exist 19

20 Throwing An Exception If a method wants to signal that something went wrong during its execution, it throws an exception Exceptions may be caught and handled by another part of the program 20

21 Throwing An Exception Throwing an exception involves: Creating an exception object that encloses information about the problem that occurred Using the throw statement to notify about the exception 21

22 Examples See code (See Clock) 22

23 Creating New Exceptions You can create a new exception by extending Exception, or one of its subclasses 23

24 Examples See code (See Clock) 24

25 Catching Exceptions A method catches an exception using a combination of the try and catch keywords A try/catch block is placed around the code that might generate an exception Each catch block is an exception handler and handles the type of exception indicated by its argument, which must inherits from the Throwable class 25

26 Examples See code (See FirstLine) 26

27 Catching Exceptions If an exception extends another exception and you would like to handle each separately, then the catch block that handles the sub exception should be before the catch block that handles the base exception 27

28 Catching Exceptions Exceptions don't have to be handled in the method in which they occurred You can let a method further up the call stack handle the exception This is done by adding a throws clause to the method declaration 28

29 Handling Exceptions When handling exceptions you should restore stable state and do one of the following: Change conditions and retry For example, when using a fail-fast iterator Clean up and fail (re-throw exception) For example, when trying to open a file that does not exist 29

30 Examples See code (See FailFastExample) 30

31 The Finally Block The finally block comes right after all catch blocks in a try-catch clause The code found in the finally block is always executed before exiting the try/catch block, even if an exception occurred, or a return/continue/break statement were encountered It is usually used for cleanup code, since it allows the programmer to avoid having cleanup code accidentally bypassed by a return, continue, or break 31

32 Examples See code (See FirstLine2) 32

33 Try-With-Resource While the code in the previous section seems to handle all possible exceptions - it does overlook the possibility that the close() function of the BufferedReader will produce an IOException! Should such an exception occur within the finally block - it would not be caught by the previous try/catch block, but rather thrown upwards 33

34 Try-With-Resource This could obviously be solved by a second set of try/catch statements, but fortunately, Java SE 7 provides a more elegant solution in the form of try-with-resource statements The code in the previous section can be replaced with the following equivalent: 34

35 Examples See code (See FirstLine2) 35

36 Try-With-Resource In the above code, a BufferedReader is declared as part of the "try" statement If an exception occurs, either during the creation of the BufferedReader, or its use within the "try" statement - the corresponding.close() function will be called automatically and no further exceptions will be thrown 36

37 Java Sockets 37

38 Internet Protocol: IP Addresses The Internet is a global system of interconnected computer networks, it is a network of networks that consists of millions of private and public, academic, business, and government networks of local to global scope that are linked by a broad array of electronic and optical networking technologies 38

39 Internet Protocol: IP Addresses Every machine on the Internet has a unique identifying number, called an IP Address The IP stands for Internet Protocol, which is the language that computers use to communicate over the Interne The original designers of TCP/IP defined an IP address as a 32-bit number and this system, known as Internet Protocol Version 4 or IPv4, is still in use today 39

40 Internet Protocol: IP Addresses However, due to the enormous growth of the Internet and the resulting depletion of available addresses, a new addressing system (IPv6), using 128 bits for the address, was developed in 1995 IPv4 addresses are usually represented in dot-decimal notation (four numbers, each ranging from 0 to 255) Each part represents 8 bits of the address, and is therefore called an octet 40

41 Internet Protocol: IP Addresses Protocol rules of conversation A typical IP address (decimal format) A typical IP address (binary format)

42 TCP/IP Model The TCP/IP model is a description framework for computer network protocols TCP/IP provides end-to-end connectivity specifying how data should be formatted, addressed, transmitted, routed and received at the destination 42

43 TCP/IP Model TCP/IP is generally described as having four abstraction layers: Link Layer Internet Layer Transport Layer Application Layer 43

44 Restricted IP Addresses is reserved for the default network is used for broadcasts (Messages that are intended for all computers on a network) (Loopback) - is used as the loopback address This means that it is used by the host computer to send a message back to itself Also aliased as localhost 44

45 Domain Name System (DNS) Remembering IP addresses is hard for humans The DNS service maps text names to IP addresses automatically For example: > xxx.xxx.xxx.xxx 45

46 Domain Name System (DNS) An often used analogy to explain the Domain Name System is that it serves as the "phone book" for the Internet by translating human-friendly computer hostnames into IP addresses 46

47 Internet Servers And Clients All of the machines on the Internet are either servers or clients (or both) The machines that provide services to other machines are servers And the machines that are used to connect to those services are clients 47

48 Internet Servers And Clients A server has a static IP address that does not change very often A home machine that is dialing up through a modem, typically has a dynamic IP address - A session unique IP address assigned by the ISP (usually assigned by a server using DHCP) every time you dial in (could be different the next time you dial in) 48

49 Ports Any server machine makes its services available using numbered ports - one for each service that is available on the server Think of the IP:Port combo as this: The IP is the building address, where the Port denotes which apartment in that building In our world, IP is the computer machine, where the Port is the application that listens to it and can send and receive messages through it 49

50 Network Console Tools ipconfig (Microsoft Windows console application) displays all current TCP/IP network configuration values. ifconfig (Unix-like console application) - configure, control, and query TCP/IP network interface parameters. 50

51 Network Console Tools ping (Unix-like & Windows) - utility used to test whether a particular host is reachable across an Internet Protocol (IP) network and to measure the round-trip time for packets sent from the local host to a destination computer curl is a computer software project providing a library and command-line tool for transferring data using various protocols 51

52 Network Console Tools Telnet client (Unix-like & Windows) Telnet is a network protocol used to provide a bidirectional interactive communications facility Typically, telnet provides access to a command-line interface on a remote host via a virtual terminal connection Putty can be used on recent Windows-es which don't have telnet 52

53 Sockets Sometimes your applications require low-level communication For example connecting to a database or implementing instant messaging Networking allows processes running on different hosts to exchange messages 53

54 Sockets Message destinations are specified as socket addresses Each socket address is a communication identifier that consists of a port number and an Internet address 54

55 Sockets When messages are sent, they are queued at the sending socket until the underlying network protocol has transmitted them When they arrive, the messages are queued at the receiving socket until the receiving process makes the necessary calls to receive them 55

56 Datagram vs. Stream 56

57 Datagram vs. Stream Transport Layer is a group of methods and protocols within a layered architecture of network components There are two communication protocols that one can use for socket programming: Datagram communication (UDP) Stream communication (TCP) 57

58 Datagram vs. Stream In this practical session we focus on sessionoriented, reliable connections implemented by the TCP protocol and used through the socket interface 58

59 Datagram Communication The datagram communication protocol, known as UDP (user datagram protocol), is a connectionless protocol It means that a datagram can be sent at any moment without prior connection preparation as in TCP You just send the datagram and hope the receiver is able to handle it 59

60 Datagram Communication There is absolutely no guarantee that the datagram will be delivered to the destination host In reality, the failure rate is very low on the Internet and nearly null on a LAN unless the bandwidth is full 60

61 Datagram Communication Not only the datagram can be undelivered, but it can be delivered in an incorrect order It means you can receive a packet before another one, even if the second has been sent before the first you just received You can also receive the same packet twice 61

62 Datagram Communication The main advantages for UDP are that you can broadcast, and it is fast The main disadvantage is unreliability and therefore complicated to program at the application level 62

63 Stream Communication The stream communication protocol is known as TCP (transfer control protocol) Unlike UDP, TCP is a connection-oriented protocol In order to do communication over the TCP protocol, a connection must first be established between the pair of sockets 63

64 Stream Communication While one of the sockets listens for a connection request (server), the other asks for a connection (client) Once two sockets have been connected, they can be used to transmit data in both (or either one of the) directions 64

65 Stream Communication Being stream oriented means that the data is a plain bytes sequence The receiver has no means of knowing how the data was actually transmitted The sender can send many small data chunks and the receiver receive only one big chunk, or the sender can send a big chunk, the receiver receiving it in a number of smaller chunks 65

66 Stream Communication The only thing that is guaranteed is that all data sent will be received without any error and in the correct order Should any error occur, it will automatically be corrected (retransmitted as needed) or the error will be notified if it can t be corrected 66

67 Stream Communication: The following diagram presents the way we will handle text streams in java 67

68 Stream Communication: This illustrates the duplex communication model 68

69 Stream Communication Running netstat -p when both the server and the client are on the same computer should show Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address S3htate PID/Program name tcp6 0 0 localhost:4500 localhost:42705 ESTABLISHED 6830/java tcp6 0 0 localhost:42705 localhost:4500 ESTABLISHED 6857/java 69

70 Stream Communication The main advantages for TCP are that it guarantees three things: Correctness Order No duplication The main disadvantage is: It cannot be used for broadcast or multicast transmission It might have a bad throughput on high latency link 70

71 TCP/UDP Overhead: The following image illustrates the header size for TCP and UDP packets 71

72 TCP/UDP Overhead: The following image illustrates the header size for TCP and UDP packets 72

73 TCP/UDP Overhead It is quite evident that the TCP header (sent along with each data packet!) is significantly larger than the UDP header This creates additional overhead, reducing throughput of TCP communication 73

74 The Client-Server Model 74

75 The Client-Server Model The client-server is a very common model in many networking applications The server provides some service, such as processing database queries or sending out current stock prices The client uses the service provided by the server, either displaying database query results to the user or making stock purchase recommendations to an investor 75

76 The Client-Server Model A socket connection based on top of a TCPconnection is symmetric between the two ends - except for the connection establishment stage 76

77 The Client-Server Model To establish a connection, the model determines that: 1. The server waits for connection requests from clients 2. The server only reacts to the initiative of the client 77

78 The Client-Server Model To establish a connection, the model determines that: 3. To remain available for further connections, the server does not open the connection directly with the client on the incoming socket Instead, it creates a private socket which the client can keep connected for the whole period of the session 78

79 The Client-Server Model Servers must be built to maximize availability that is, they must handle requests for connections as fast as possible and then return to the mode where they can receive and handle more requests from other clients 79

80 Examples There are three examples In each folder you will find code for client and for server Compile both files and open two console window Place them so you can see them both First run the server and supply the server with a port to listen at For example: > java EchoServer

81 Examples Then run the client, provide it with the host name and the port of the server For example, if you use the same machine for both, then > java EchoClient localhost 4444 If you run on different machine replace "localhost" with the server computer name 81

82 1. Simple Line Printer A very simple client-server application The client sends the server a line of text read from the user console and the server prints it 82

83 Examples See code (See LPServer, LPClient) 83

84 2. Echo Server with UTF-8 Different computers, run time environment languages and compilers can use different symbols representation If we want to communicate we need uniform coding for the symbols Since we are transferring objects larger than a single byte (integers, chars) over streams of bytes, we need to encode them 84

85 2. Echo Server with UTF-8 Should we run on one side java -Dfile.encoding=US-ASCII LPServer 4500 And on another java LPClient localhost 4500 (assuming default UTF-8) 85

86 2. Echo Server with UTF-8 Any text which has characters not included in the similar 127 first characters in the encodings is not transferred correct E.g. Hebrew We can notice other problems using UTF-16 and UTF- 32 For example line endings no longer recognized as message ends since they have different numerical values 86

87 Examples We can also see that Unicode strings have different lengths when represented in different encodings See code (See TestEncodings) 87

88 2. Echo Server with UTF-8 In the next example the client and the server are communicate using the "UTF-8" format You will learn more about Encoding in the lectures This time, the server sends the client back the message it received using UTF-8, we create the readers and writers with the encoding specified (EchoServer.java, EchoClient.java). 88

89 Examples See code (See EchoServer, EchoClient) 89

90 3. Protocol Interface We don t want to hold the implementation of a protocol inside the server s code It is complicated enough that it has to handle the communication, and not testable while a protocol usually follows a specification 90

91 3. Protocol Interface We would like to have the protocol implemented somewhere else For that purpose we define an interface ServerProtocol which has two methods for protocol processing: process - for processing the received message and construct a response message isend - identifies the end of a protocol 91

92 3. Protocol Interface Note that since we have an independent protocol processor we can hold the protocol s state Once again we have an Echo Server, but this time, in addition to sending back the message it is also numbered 92

93 Examples See code (See ProtocolServer) 93

94 4. Http Client Hypertext Transfer Protocol is an application protocol for distributed, collaborative, hypermedia information systems We can see a few attributes to many communication protocol designs An HTTP request is defined as a header, followed by an empty line and an optional body 94

95 4. Http Client The request includes the protocol version An HTTP response is defined as a header, followed by an empty line and an optional body 95

96 4. Http Client The response may end after the body, or in HTTP/1.1 each response may contain: Content-Length header field indicating the number of bytes for the response A response with Transfer-Encoding: chunked with each chunk containing the chunk size 96

97 4. Http Client If we try to run java Http We should receive a proper HTTP response 97

Lecture 20. Java Exceptional Event Handling. Dr. Martin O Connor CA166

Lecture 20. Java Exceptional Event Handling. Dr. Martin O Connor CA166 Lecture 20 Java Exceptional Event Handling Dr. Martin O Connor CA166 www.computing.dcu.ie/~moconnor Topics What is an Exception? Exception Handler Catch or Specify Requirement Three Kinds of Exceptions

More information

Object oriented programming. Instructor: Masoud Asghari Web page: Ch: 7

Object oriented programming. Instructor: Masoud Asghari Web page:   Ch: 7 Object oriented programming Instructor: Masoud Asghari Web page: http://www.masses.ir/lectures/oops2017sut Ch: 7 1 In this slide We follow: https://docs.oracle.com/javase/tutorial/index.html Trail: Essential

More information

Exceptions. References. Exceptions. Exceptional Conditions. CSE 413, Autumn 2005 Programming Languages

Exceptions. References. Exceptions. Exceptional Conditions. CSE 413, Autumn 2005 Programming Languages References Exceptions "Handling Errors with Exceptions", Java tutorial http://java.sun.com/docs/books/tutorial/essential/exceptions/index.html CSE 413, Autumn 2005 Programming Languages http://www.cs.washington.edu/education/courses/413/05au/

More information

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols Guide to Networking Essentials, 6 th Edition Chapter 5: Network Protocols Objectives Describe the purpose of a network protocol, the layers in the TCP/IP architecture, and the protocols in each TCP/IP

More information

C18: Network Fundamentals and Reliable Sockets

C18: Network Fundamentals and Reliable Sockets CISC 3120 C18: Network Fundamentals and Reliable Sockets Hui Chen Department of Computer & Information Science CUNY Brooklyn College 4/16/2018 CUNY Brooklyn College 1 Outline Networking fundamentals Network

More information

Exceptions. CSE 142, Summer 2002 Computer Programming 1.

Exceptions. CSE 142, Summer 2002 Computer Programming 1. Exceptions CSE 142, Summer 2002 Computer Programming 1 http://www.cs.washington.edu/education/courses/142/02su/ 12-Aug-2002 cse142-19-exceptions 2002 University of Washington 1 Reading Readings and References»

More information

Exceptions. Readings and References. Exceptions. Exceptional Conditions. Reading. CSE 142, Summer 2002 Computer Programming 1.

Exceptions. Readings and References. Exceptions. Exceptional Conditions. Reading. CSE 142, Summer 2002 Computer Programming 1. Readings and References Exceptions CSE 142, Summer 2002 Computer Programming 1 http://www.cs.washington.edu/education/courses/142/02su/ Reading» Chapter 18, An Introduction to Programming and Object Oriented

More information

Advanced Java Programming. Networking

Advanced Java Programming. Networking Advanced Java Programming Networking Eran Werner and Ohad Barzilay Tel-Aviv University Advanced Java Programming, Spring 2006 1 Overview of networking Advanced Java Programming, Spring 2006 2 TCP/IP protocol

More information

CCNA Exploration Network Fundamentals. Chapter 06 Addressing the Network IPv4

CCNA Exploration Network Fundamentals. Chapter 06 Addressing the Network IPv4 CCNA Exploration Network Fundamentals Chapter 06 Addressing the Network IPv4 Updated: 20/05/2008 1 6.0.1 Introduction Addressing is a key function of Network layer protocols that enables data communication

More information

OSI Transport Layer. objectives

OSI Transport Layer. objectives LECTURE 5 OSI Transport Layer objectives 1. Roles of the Transport Layer 1. segmentation of data 2. error detection 3. Multiplexing of upper layer application using port numbers 2. The TCP protocol Communicating

More information

IP Address Assignment

IP Address Assignment IP Address Assignment An IP address does not identify a specific computer. Instead, each IP address identifies a connection between a computer and a network. A computer with multiple network connections

More information

Interprocess Communication

Interprocess Communication Interprocess Communication Nicola Dragoni Embedded Systems Engineering DTU Informatics 4.2 Characteristics, Sockets, Client-Server Communication: UDP vs TCP 4.4 Group (Multicast) Communication The Characteristics

More information

06/02/ Local & Metropolitan Area Networks 0. INTRODUCTION. 1. History and Future of TCP/IP ACOE322

06/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 information

Lecture (02) Network Protocols and Standards

Lecture (02) Network Protocols and Standards Lecture (02) Network Protocols and Standards Dr. Ahmed M. ElShafee 1 Agenda - - 2 Preface Protocols and standards are what make networks work together. Protocols make it possible for the various components

More information

Exceptions. Produced by. Introduction to the Java Programming Language. Eamonn de Leastar

Exceptions. Produced by. Introduction to the Java Programming Language. Eamonn de Leastar Exceptions Introduction to the Java Programming Language Produced by Eamonn de Leastar edeleastar@wit.ie Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie

More information

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 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 information

BBM 102 Introduction to Programming II Spring Exceptions

BBM 102 Introduction to Programming II Spring Exceptions BBM 102 Introduction to Programming II Spring 2018 Exceptions 1 Today What is an exception? What is exception handling? Keywords of exception handling try catch finally Throwing exceptions throw Custom

More information

TCP/IP Networking. Training Details. About Training. About Training. What You'll Learn. Training Time : 9 Hours. Capacity : 12

TCP/IP Networking. Training Details. About Training. About Training. What You'll Learn. Training Time : 9 Hours. Capacity : 12 TCP/IP Networking Training Details Training Time : 9 Hours Capacity : 12 Prerequisites : There are no prerequisites for this course. About Training About Training TCP/IP is the globally accepted group

More information

IEMS 5780 / IERG 4080 Building and Deploying Scalable Machine Learning Services

IEMS 5780 / IERG 4080 Building and Deploying Scalable Machine Learning Services IEMS 5780 / IERG 4080 Building and Deploying Scalable Machine Learning Services Lecture 7 - Network Programming Albert Au Yeung 18th October, 2018 1 / 48 Computer Networking 2 / 48 Data Communication Exchange

More information

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst

EITF25 Internet Techniques and Applications L7: Internet. Stefan Höst EITF25 Internet Techniques and Applications L7: Internet Stefan Höst What is Internet? Internet consists of a number of networks that exchange data according to traffic agreements. All networks in Internet

More information

C19: User Datagram and Multicast

C19: User Datagram and Multicast CISC 3120 C19: User Datagram and Multicast Hui Chen Department of Computer & Information Science CUNY Brooklyn College 4/18/2018 CUNY Brooklyn College 1 Outline Recap Network fundamentals IPv4, IPv6 addresses

More information

Exceptions. Produced by. Algorithms. Eamonn de Leastar Department of Computing, Maths & Physics Waterford Institute of Technology

Exceptions. Produced by. Algorithms. Eamonn de Leastar Department of Computing, Maths & Physics Waterford Institute of Technology Exceptions Algorithms Produced by Eamonn de Leastar edeleastar@wit.ie Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie Exceptions ± Definition

More information

Network+ Guide to Networks 6 th Edition. Chapter 4 Introduction to TCP/IP Protocols

Network+ Guide to Networks 6 th Edition. Chapter 4 Introduction to TCP/IP Protocols Network+ Guide to Networks 6 th Edition Chapter 4 Introduction to TCP/IP Protocols Objectives Identify and explain the functions of the core TCP/IP protocols Explain the TCP/IP model and how it corresponds

More information

Chapter 7. Local Area Network Communications Protocols

Chapter 7. Local Area Network Communications Protocols Chapter 7 Local Area Network Communications Protocols The Network Layer The third layer of the OSI Model is the network layer. The network layer is concerned with providing a means for hosts to communicate

More information

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space that is provided.

Concept 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 information

The Transmission Control Protocol (TCP)

The Transmission Control Protocol (TCP) The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, e-mail, WWW) Reliable Stream Transport (TCP) Unreliable Transport Service (UDP) Connectionless Packet Delivery Service (IP) Goals

More information

JAVA Network API. 2 - Connection-Oriented vs. Connectionless Communication

JAVA Network API. 2 - Connection-Oriented vs. Connectionless Communication JAVA Network API To be discussed 1 - java.net... 1 2 - Connection-Oriented vs. Connectionless Communication... 1 3 - Connectionless:... 1 4 - Networking Protocols... 2 5 - Sockets... 2 6 - Multicast Addressing...

More information

BBM 102 Introduction to Programming II Spring 2017

BBM 102 Introduction to Programming II Spring 2017 BBM 102 Introduction to Programming II Spring 2017 Exceptions Instructors: Ayça Tarhan, Fuat Akal, Gönenç Ercan, Vahid Garousi Today What is an exception? What is exception handling? Keywords of exception

More information

Fundamentals of Computer Networking AE6382

Fundamentals of Computer Networking AE6382 Computer networks are an integral part of the modern computing infrastructure The local network (LAN) is usually Ethernet LAN s are inter-connected with other LAN s in a hierarchical fashion eventually

More information

Exception Handling. Sometimes when the computer tries to execute a statement something goes wrong:

Exception Handling. Sometimes when the computer tries to execute a statement something goes wrong: Exception Handling Run-time errors The exception concept Throwing exceptions Handling exceptions Declaring exceptions Creating your own exception Ariel Shamir 1 Run-time Errors Sometimes when the computer

More information

Question Score 1 / 19 2 / 19 3 / 16 4 / 29 5 / 17 Total / 100

Question 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 information

Exception Handling. Run-time Errors. Methods Failure. Sometimes when the computer tries to execute a statement something goes wrong:

Exception Handling. Run-time Errors. Methods Failure. Sometimes when the computer tries to execute a statement something goes wrong: Exception Handling Run-time errors The exception concept Throwing exceptions Handling exceptions Declaring exceptions Creating your own exception 22 November 2007 Ariel Shamir 1 Run-time Errors Sometimes

More information

Paper solution Subject: Computer Networks (TE Computer pattern) Marks : 30 Date: 5/2/2015

Paper solution Subject: Computer Networks (TE Computer pattern) Marks : 30 Date: 5/2/2015 Paper solution Subject: Computer Networks (TE Computer- 2012 pattern) Marks : 30 Date: 5/2/2015 Q1 a) What is difference between persistent and non persistent HTTP? Also Explain HTTP message format. [6]

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 04: Exception Handling MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Creating Classes 2 Introduction Exception Handling Common Exceptions Exceptions with Methods Assertions and

More information

Different Layers Lecture 20

Different Layers Lecture 20 Different Layers Lecture 20 10/15/2003 Jian Ren 1 The Network Layer 10/15/2003 Jian Ren 2 Network Layer Functions Transport packet from sending to receiving hosts Network layer protocols in every host,

More information

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 650 Systems Programming & Engineering. Spring 2018 ECE 650 Systems Programming & Engineering Spring 2018 Networking Transport Layer Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) TCP/IP Model 2 Transport Layer Problem solved:

More information

ICS 351: Networking Protocols

ICS 351: Networking Protocols ICS 351: Networking Protocols IP packet forwarding application layer: DNS, HTTP transport layer: TCP and UDP network layer: IP, ICMP, ARP data-link layer: Ethernet, WiFi 1 Networking concepts each protocol

More information

What is a Network? TCP / IP. The ISO OSI Model. Protocols. The TCP/IP Protocol Suite. The TCP/IP Protocol Suite. Computer network.

What is a Network? TCP / IP. The ISO OSI Model. Protocols. The TCP/IP Protocol Suite. The TCP/IP Protocol Suite. Computer network. What is a Network? TCP / IP Computer network a set of computers using common protocols to communicate over connecting transmission media. Protocol a formal description of message formats and the rules

More information

ECE4110 Internetwork Programming. Introduction and Overview

ECE4110 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 information

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964

On Distributed Communications, Rand Report RM-3420-PR, Paul Baran, August 1964 The requirements for a future all-digital-data distributed network which provides common user service for a wide range of users having different requirements is considered. The use of a standard format

More information

COMP200 EXCEPTIONS. OOP using Java, based on slides by Shayan Javed

COMP200 EXCEPTIONS. OOP using Java, based on slides by Shayan Javed 1 1 COMP200 EXCEPTIONS OOP using Java, based on slides by Shayan Javed Exception Handling 2 3 Errors Syntax Errors Logic Errors Runtime Errors 4 Syntax Errors Arise because language rules weren t followed.

More information

Data Structures. 02 Exception Handling

Data Structures. 02 Exception Handling David Drohan Data Structures 02 Exception Handling JAVA: An Introduction to Problem Solving & Programming, 6 th Ed. By Walter Savitch ISBN 0132162709 2012 Pearson Education, Inc., Upper Saddle River, NJ.

More information

Context. Distributed Systems: Sockets Programming. Alberto Bosio, Associate Professor UM Microelectronic Departement

Context. Distributed Systems: Sockets Programming. Alberto Bosio, Associate Professor UM Microelectronic Departement Distributed Systems: Sockets Programming Alberto Bosio, Associate Professor UM Microelectronic Departement bosio@lirmm.fr Context Computer Network hosts, routers, communication channels Hosts run applications

More information

OBJECT ORIENTED PROGRAMMING

OBJECT ORIENTED PROGRAMMING 1 OBJECT ORIENTED PROGRAMMING Lecture 14 Networking Basics Outline 2 Networking Basics Socket IP Address DNS Client/Server Networking Class & Interface URL Demonstrating URL Networking 3 Java is practically

More information

CNBK Communications and Networks Lab Book: Purpose of Hardware and Protocols Associated with Networking Computer Systems

CNBK Communications and Networks Lab Book: Purpose of Hardware and Protocols Associated with Networking Computer Systems Lab Book: Purpose of Hardware and Protocols Associated with Networking Computer Systems Contents Purpose of Hardware and Protocols Associated with Computer Networks... 3 Lab Objectives... 3 Lab Resources...

More information

ET4254 Communications and Networking 1

ET4254 Communications and Networking 1 Topic 9 Internet Protocols Aims:- basic protocol functions internetworking principles connectionless internetworking IP IPv6 IPSec 1 Protocol Functions have a small set of functions that form basis of

More information

Data & Computer Communication

Data & Computer Communication Basic Networking Concepts A network is a system of computers and other devices (such as printers and modems) that are connected in such a way that they can exchange data. A bridge is a device that connects

More information

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START Page 1 of 11 MIDTERM EXAMINATION #1 OCT. 13, 2011 COMPUTER NETWORKS : 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Fall 2011-75 minutes This examination

More information

ECE 122. Engineering Problem Solving with Java

ECE 122. Engineering Problem Solving with Java ECE 122 Engineering Problem Solving with Java Lecture 24 Exceptions Overview Problem: Can we detect run-time errors and take corrective action? Try-catch Test for a variety of different program situations

More information

Introduction to Internetworking

Introduction to Internetworking Introduction to Internetworking Introductory terms Communications Network Facility that provides data transfer services An internet Collection of communications networks interconnected by bridges and/or

More information

Interprocess Communication Mechanisms

Interprocess Communication Mechanisms Interprocess Communication 1 Interprocess Communication Mechanisms shared storage These mechanisms have already been covered. examples: shared virtual memory shared files processes must agree on a name

More information

shared storage These mechanisms have already been covered. examples: shared virtual memory message based signals

shared storage These mechanisms have already been covered. examples: shared virtual memory message based signals Interprocess Communication 1 Interprocess Communication Mechanisms shared storage These mechanisms have already been covered. examples: shared virtual memory shared files processes must agree on a name

More information

DATA COMMUNICATION AND NETWORKS

DATA COMMUNICATION AND NETWORKS DATA COMMUNICATION AND NETWORKS A/L Guide TERAN SUBASINGHE Data Communication What is data communication? Data Communication is a process of exchanging data or information between two or more devices along

More information

4.0.1 CHAPTER INTRODUCTION

4.0.1 CHAPTER INTRODUCTION 4.0.1 CHAPTER INTRODUCTION Data networks and the Internet support the human network by supplying seamless, reliable communication between people - both locally and around the globe. On a single device,

More information

CS 428/528 Computer Networks Lecture 01. Yan Wang

CS 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 information

Module 7 Internet And Internet Protocol Suite

Module 7 Internet And Internet Protocol Suite Module 7 Internet And Internet Protocol Suite Lesson 22 IP addressing. ICMP LESSON OBJECTIVE General The lesson will continue the discussion on IPv4 along with the idea of ICMP. Specific The focus areas

More information

CS 326: Operating Systems. Networking. Lecture 17

CS 326: Operating Systems. Networking. Lecture 17 CS 326: Operating Systems Networking Lecture 17 Today s Schedule Project 3 Overview, Q&A Networking Basics Messaging 4/23/18 CS 326: Operating Systems 2 Today s Schedule Project 3 Overview, Q&A Networking

More information

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol Transport Layer Transport Layer The transport layer is responsible for the delivery of a message from one process to another Types of Data Deliveries Client/Server Paradigm An application program on the

More information

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space provided.

Concept Questions Demonstrate your knowledge of these concepts by answering the following questions in the space provided. 113 Chapter 9 TCP/IP Transport and Application Layer Services that are located in the transport layer enable users to segment several upper-layer applications onto the same transport layer data stream.

More information

Part VI. Appendixes. Appendix A OSI Model and Internet Protocols Appendix B About the CD

Part VI. Appendixes. Appendix A OSI Model and Internet Protocols Appendix B About the CD Part VI Appendixes Appendix A OSI Model and Internet Protocols Appendix B About the CD OSI Model and Internet Protocols APPENDIX A In this appendix, you will Learn about the OSI model Review the network

More information

Network Security. Introduction to networks. Radboud University, The Netherlands. Autumn 2015

Network Security. Introduction to networks. Radboud University, The Netherlands. Autumn 2015 Network Security Introduction to networks Radboud University, The Netherlands Autumn 2015 What is a (computer) network Definition A computer network is two or more computers that are connected, so that

More information

OSI Layer OSI Name Units Implementation Description 7 Application Data PCs Network services such as file, print,

OSI 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 information

Lecture 14 Summary 3/9/2009. By the end of this lecture, you will be able to differentiate between errors, exceptions, and runtime exceptions.

Lecture 14 Summary 3/9/2009. By the end of this lecture, you will be able to differentiate between errors, exceptions, and runtime exceptions. Lecture 14 Summary Exceptions vs. Errors Exceptions vs. RuntimeExceptions...catch...finally throw and throws By the end of this lecture, you will be able to differentiate between errors, exceptions, and

More information

Chapter 16 Networking

Chapter 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 information

Networking and Internetworking 1

Networking and Internetworking 1 Networking and Internetworking 1 Today l Networks and distributed systems l Internet architecture xkcd Networking issues for distributed systems Early networks were designed to meet relatively simple requirements

More information

User Datagram Protocol

User Datagram Protocol Topics Transport Layer TCP s three-way handshake TCP s connection termination sequence TCP s TIME_WAIT state TCP and UDP buffering by the socket layer 2 Introduction UDP is a simple, unreliable datagram

More information

Transport Layer TCP & UDP Week 7. Module : Computer Networks Lecturers : Lucy White Office : 324

Transport Layer TCP & UDP Week 7. Module : Computer Networks Lecturers : Lucy White Office : 324 Transport Layer TCP & UDP Week 7 Module : Computer Networks Lecturers : Lucy White lbwhite@wit.ie Office : 324 1 Purpose of the Transport Layer The Transport layer provides for the segmentation of data

More information

6.Introducing Classes 9. Exceptions

6.Introducing Classes 9. Exceptions 6.Introducing Classes 9. Exceptions Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: www.sisoft.in Email:info@sisoft.in Phone: +91-9999-283-283 Learning

More information

Internetwork Protocols

Internetwork Protocols Internetwork Protocols Background to IP IP, and related protocols Internetworking Terms (1) Communications Network Facility that provides data transfer service An internet Collection of communications

More information

What is the difference between unicast and multicast? (P# 114)

What is the difference between unicast and multicast? (P# 114) 1 FINAL TERM FALL2011 (eagle_eye) CS610 current final term subjective all solved data by eagle_eye MY paper of CS610 COPUTER NETWORKS There were 30 MCQs Question no. 31 (Marks2) Find the class in 00000001.001011.1001.111

More information

TCP/IP Protocol Suite and IP Addressing

TCP/IP Protocol Suite and IP Addressing TCP/IP Protocol Suite and IP Addressing CCNA 1 v3 Module 9 10/11/2005 NESCOT CATC 1 Introduction to TCP/IP U.S. DoD created the TCP/IP model. Provides reliable data transmission to any destination under

More information

APPLICATION LAYER APPLICATION LAYER : DNS, HTTP, , SMTP, Telnet, FTP, Security-PGP-SSH.

APPLICATION LAYER APPLICATION LAYER : DNS, HTTP,  , SMTP, Telnet, FTP, Security-PGP-SSH. APPLICATION LAYER : DNS, HTTP, E-mail, SMTP, Telnet, FTP, Security-PGP-SSH. To identify an entity, the Internet used the IP address, which uniquely identifies the connection of a host to the Internet.

More information

Examination 2D1392 Protocols and Principles of the Internet 2G1305 Internetworking 2G1507 Kommunikationssystem, fk SOLUTIONS

Examination 2D1392 Protocols and Principles of the Internet 2G1305 Internetworking 2G1507 Kommunikationssystem, fk SOLUTIONS Examination 2D1392 Protocols and Principles of the Internet 2G1305 Internetworking 2G1507 Kommunikationssystem, fk Date: January 17 th 2006 at 14:00 18:00 SOLUTIONS 1. General (5p) a) Draw the layered

More information

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 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 information

Prof. Shervin Shirmohammadi SITE, University of Ottawa. Internet Protocol (IP) Lecture 2: Prof. Shervin Shirmohammadi CEG

Prof. Shervin Shirmohammadi SITE, University of Ottawa. Internet Protocol (IP) Lecture 2: Prof. Shervin Shirmohammadi CEG Lecture 2: Internet Protocol (IP) Prof. Shervin Shirmohammadi SITE, University of Ottawa Prof. Shervin Shirmohammadi CEG 4185 2-1 Network Layer Provides the upper layers with independence from the data

More information

Exceptions vs. Errors Exceptions vs. RuntimeExceptions try...catch...finally throw and throws

Exceptions vs. Errors Exceptions vs. RuntimeExceptions try...catch...finally throw and throws Lecture 14 Summary Exceptions vs. Errors Exceptions vs. RuntimeExceptions try...catch...finally throw and throws 1 By the end of this lecture, you will be able to differentiate between errors, exceptions,

More information

Chapter Motivation For Internetworking

Chapter Motivation For Internetworking Chapter 17-20 Internetworking Part 1 (Concept, IP Addressing, IP Routing, IP Datagrams, Address Resolution 1 Motivation For Internetworking LANs Low cost Limited distance WANs High cost Unlimited distance

More information

Debian/GNU Linux Networking

Debian/GNU Linux Networking Debian/GNU Linux Networking Basics of the Networking Károly Erdei October 15, 2014 Károly Erdei Debian/GNU Linux Networking 1/41 Agenda 1 Networks 2 Ethernet 3 Internet Protocol 4 TCP 5 DHCP 6 Check Network

More information

UDP and TCP. Introduction. So far we have studied some data link layer protocols such as PPP which are responsible for getting data

UDP 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 information

COMP 213. Advanced Object-oriented Programming. Lecture 20. Network Programming

COMP 213. Advanced Object-oriented Programming. Lecture 20. Network Programming COMP 213 Advanced Object-oriented Programming Lecture 20 Network Programming Network Programming A network consists of several computers connected so that data can be sent from one to another. Network

More information

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START Page 1 of 11 MIDTERM EXAMINATION #1 OCT. 16, 2013 COMPUTER NETWORKS : 03-60-367-01 U N I V E R S I T Y O F W I N D S O R S C H O O L O F C O M P U T E R S C I E N C E Fall 2013-75 minutes This examination

More information

Le L c e t c ur u e e 5 To T p o i p c i s c t o o b e b e co c v o e v r e ed e Exception Handling

Le L c e t c ur u e e 5 To T p o i p c i s c t o o b e b e co c v o e v r e ed e Exception Handling Course Name: Advanced Java Lecture 5 Topics to be covered Exception Handling Exception HandlingHandlingIntroduction An exception is an abnormal condition that arises in a code sequence at run time A Java

More information

1/18/13. Network+ Guide to Networks 5 th Edition. Objectives. Chapter 10 In-Depth TCP/IP Networking

1/18/13. Network+ Guide to Networks 5 th Edition. Objectives. Chapter 10 In-Depth TCP/IP Networking Network+ Guide to Networks 5 th Edition Chapter 10 In-Depth TCP/IP Networking Objectives Understand methods of network design unique to TCP/IP networks, including subnetting, CIDR, and address translation

More information

Introduction to TCP/IP

Introduction to TCP/IP COMP 150-IDS: Internet Scale Distributed Systems (Spring 2016) Introduction to TCP/IP Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah Copyright 2012, 2015 &

More information

OSI Model with Protocols. Layer Name PDU Address Protocols Device

OSI Model with Protocols. Layer Name PDU Address Protocols Device NetEss Name: Networking Essentials Prof. CHIN OSI Model with Protocols Layer Name PDU Address Protocols Device 7 Application Data FTP, SSH, Telnet, SMTP, DNS TFTP,HTTP, POP3, IMAP, HTTPS 6 Presentation

More information

Introduction to internetworking, OSI, TCP/IP and Addressing.

Introduction 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 information

Program Correctness and Efficiency. Chapter 2

Program Correctness and Efficiency. Chapter 2 Program Correctness and Efficiency Chapter 2 Chapter Objectives To understand the differences between the three categories of program errors To understand the effect of an uncaught exception and why you

More information

Version 2.1 User Guide 08/2003

Version 2.1 User Guide 08/2003 UDP TEST TOOL TM Version 2.1 User Guide 08/2003 SimpleComTools, LLC 1 OVERVIEW Introduction................................... UDP vs. TCP................................... 3 3 SOFTWARE INSTALLATION..........................

More information

9th Slide Set Computer Networks

9th Slide Set Computer Networks Prof. Dr. Christian Baun 9th Slide Set Computer Networks Frankfurt University of Applied Sciences WS1718 1/49 9th Slide Set Computer Networks Prof. Dr. Christian Baun Frankfurt University of Applied Sciences

More information

Web Mechanisms. Draft: 2/23/13 6:54 PM 2013 Christopher Vickery

Web Mechanisms. Draft: 2/23/13 6:54 PM 2013 Christopher Vickery Web Mechanisms Draft: 2/23/13 6:54 PM 2013 Christopher Vickery Introduction While it is perfectly possible to create web sites that work without knowing any of their underlying mechanisms, web developers

More information

CC231 Introduction to Networks Dr. Ayman A. Abdel-Hamid. Internet Protocol Suite

CC231 Introduction to Networks Dr. Ayman A. Abdel-Hamid. Internet Protocol Suite CC231 Introduction to Networks Dr. Ayman A. Abdel-Hamid College of Computing and Information Technology Arab bacademy for Science &T Technology and Maritime Transport Internet Protocol Suite IP Suite Dr.

More information

Internal Classes and Exceptions

Internal Classes and Exceptions Internal Classes and Exceptions Object Orientated Programming in Java Benjamin Kenwright Outline Exceptions and Internal Classes Why exception handling makes your code more manageable and reliable Today

More information

Chapter 5 Network Layer

Chapter 5 Network Layer Chapter 5 Network Layer Network Layer IPv4 2 IP Header Application Header + data 3 IP IP IP IP 4 Focus on Transport Layer IP IP 5 Network Layer The Network layer (Layer 3) provides services to exchange

More information

ch02 True/False Indicate whether the statement is true or false.

ch02 True/False Indicate whether the statement is true or false. ch02 True/False Indicate whether the statement is true or false. 1. No matter what medium connects computers on a network copper wires, fiber-optic cables, or a wireless setup the same protocol must be

More information

Memory-Mapped Files. generic interface: vaddr mmap(file descriptor,fileoffset,length) munmap(vaddr,length)

Memory-Mapped Files. generic interface: vaddr mmap(file descriptor,fileoffset,length) munmap(vaddr,length) File Systems 38 Memory-Mapped Files generic interface: vaddr mmap(file descriptor,fileoffset,length) munmap(vaddr,length) mmap call returns the virtual address to which the file is mapped munmap call unmaps

More information

CPS221 Lecture: Layered Network Architecture

CPS221 Lecture: Layered Network Architecture CPS221 Lecture: Layered Network Architecture Objectives last revised 9/8/14 1. To discuss the OSI layered architecture model 2. To discuss the specific implementation of this model in TCP/IP Materials:

More information

Object Oriented Programming

Object Oriented Programming Object Oriented Programming Java lecture (10.2) Exception Handling 1 Outline Throw Throws Finally 2 Throw we have only been catching exceptions that are thrown by the Java run-time system. However, it

More information

Assoc. Prof. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

Assoc. Prof. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved. Assoc. Prof. Marenglen Biba Exception handling Exception an indication of a problem that occurs during a program s execution. The name exception implies that the problem occurs infrequently. With exception

More information

Lecture 3. The Network Layer (cont d) Network Layer 1-1

Lecture 3. The Network Layer (cont d) Network Layer 1-1 Lecture 3 The Network Layer (cont d) Network Layer 1-1 Agenda The Network Layer (cont d) What is inside a router? Internet Protocol (IP) IPv4 fragmentation and addressing IP Address Classes and Subnets

More information

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition ELEC / COMP 177 Fall 2014 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Project #1 Starts in one week Is your Linux environment all ready? Bring your laptop Work time after quick

More information