Chapter 11. Application-Layer Elements Ports

Size: px
Start display at page:

Download "Chapter 11. Application-Layer Elements Ports"

Transcription

1 Chapter 11 Application-Layer Elements 11.1 Ports Sockets Socket Domains, Types and Protocols Operations on Sockets Network Programming Internet Addresses Checking Open Ports Socket Information Input and Output Daytime Protocol Client Socket Options Glossary Network applications do not have to concern themselves with the details of network communication. Operating systems and libraries provide abstractions and APIs that make network programming relatively easy. This chapter introduces the socket abstraction that is used in most network programming, and shows how sockets (and some related abstractions) can be used to write simple network programs in Java Ports Computers make connections for many purposes, and many different services can be provided by a single device, so a computer needs more than just an 93

2 94 CHAPTER 11. APPLICATION-LAYER ELEMENTS service port conventional name number purpose echo 7 echo received data back to the sender daytime 13 local time (as an ASCII string) FTP 21 file transfer SSH 22 secure remote login and copy Telnet 23 insecure remote login SMTP 25 sending time 37 local time (32-bit binary, seconds since ) whois 43 ownership of a domain name finger 79 system and user status HTTP 80 Word Wide Web pages POP 110 Post-Office Protocol: reading IMAP 143 Internet Message Access Protocol: reading Table 11.1: Commonly-used IP port numbers. On Unix-like systems (including Darwin/MacOS X and Linux) a comprehensive list of TCP and UDP well-known and registered port numbers can be found in the file /etc/services. Internet address to communicate with a service. Ports are numbers that identify a communication endpoint. Many services operate at a specific port number. Port numbers are usually in written in decimal. TCP and UDP ports are distinct, and so for each of the two protocols in the IP transport layer (TCP and UDP) there are 65,535 ports available. Ports 1 to 1023 are reserved for critical or well-known public services such as (smtp), web sites (HTTP), secure shell, etc. (Table?? lists some of the more commonly-used ones.) Some other numbers, between 1024 and 49151, are also registered with the Internet Association for Assigned Numbers (IANA) or are used unofficially (but consistently) by convention. Ports above can be used for any purpose, or are assigned dynamically to communication endpoints (when the endpoint is created) and released automatically (when the endpoint is destroyed).

3 11.2. SOCKETS Sockets A socket is a software structure that represents a communication endpoint associated with a specific port number. Applications can use sockets to send and receive datagrams (via UDP) or to create and communicate over connection-oriented virtual circuits (using TCP). The basic operations that can be performed on a socket are: create a socket and bind it to a specified or randomly-assigned port set and get socket options send and receive apacketofdata(udpclientsandservers) connect to remote machine (TCP clients) listen for and accept incoming connection requests (TCP severs) read and write to a data stream (TCP clients and servers) shutdown and close (destroy) a socket Each socket is assigned a transport protocol and a port number when it is created. A socket is also implicitly associated with an address (for example, the IP address of the machine on which the socket exists). Once sockets have been created, bi-directional communication is possible between pairs of sockets residing on two different machines, or sometimes on the same machine. Most operating systems provide an Application Programming Interface (API) corresponding to the basic operations that can be performed on a socket. Because the incorrect use of sockets can disrupt communications on the local machine, or even on the network, the socket API is privileged; its functions are operating system calls. The specific API provided depends on the operating system but in general Unix-based machines (including MacOS X and Linux) provide the Berkeley socket API (BSD Sockets) and Widows machines provide the Windows Sockets API (WSA, or Winsock) which is based very closely on a subset of BSD sockets (with a few Windows-specific extensions) Socket Domains, Types and Protocols Sockets are created with a particular socket type and protocol within a particular address domain. These parameters determine how the socket will behave. The domain determines what kind of addressing the socket will use, the socket type determines whether the socket deals with packets or with con-

4 96 CHAPTER 11. APPLICATION-LAYER ELEMENTS tinuous streams, and the protocol determines which network protocol will be used to send the data. Socket Domains The three most common socket domains are called INET, INET6 and LOCAL. INET and INET6 domain sockets use IPv4 or IPv6 addresses, respectively. Some operating systems provide local inter-process communication (IPC) using sockets within the LOCAL domain; since the filesystem is a simple, shared namespace accessible to all processes on the local machine, LOCAL domain sockets typically use filenames for their addresses. Socket Types and Protocols Socket types include DGRAM, STREAM and RAW. Protocols include UDP, TCP and SCTP. DGRAM (datagram) sockets provide unreliable, connectionless packet-based communication. They typically only support UDP as their transport protocol. STREAM sockets provide reliable, connection-oriented, full-duplex, streambased communication. Applications usually use TCP with a stream socket, although other protocols do exist. For example, the stream control transmission protocol (SCTP) implements reliable, message-oriented packet delivery in which each packet belongs to a particular stream. A single SCTP socket can support multiple independent streams of packets, allowing the separation of (for example) control packets and data packets within a single virtual circuit. RAW sockets are a third type that applications can use to bypass the TCP/IP transport layer. They behave almost like datagram sockets, except that the network layer headers are not removed from packets when they are delivered to the receiving application. (In principle this allows applications to implement their own IP-based transport protocols, but raw sockets are not often used because there is no support for them in Windows.) Operations on Sockets The following functions are provided by the BSD socket API. (Identical or equivalent functions are provided by the Windows Socket API.)

5 11.2. SOCKETS 97 socket(domain, type, protocol) creates a new socket. Initially the socket is not bound to any address. bind(socket, address) associates an address with a socket. The contents of the address depend on the domain in which the socket was created. Local domain sockets will use a structure containing a path name. Internet domain sockets use a structure containing an IP address and aportnumber. connect(socket, address) on the client side, assigns an available port number to a socket and then tries to open a connection to the given address. listen(socket) on the server side, listens for incoming connection requests to a connection-oriented socket. accept(socket, *address) on the server side, accepts an incoming connection request on a listening socket and creates a new socket on which client-server communication will take place. The address parameter is filled-in with the address of the client. (The original listening socket remains unconnected and available for further connections. The new socket is assigned an available port number for the duration of the connection.) sendto(socket, address, data) sends a packet containing the given data to the indicated address. This operation is typically used with UDP sockets. recv(socket, *buffer) recvfrom(socket, *buffer, *address) receives a packet and stores the payload data in the given buffer. In the second form, the sender s IP address and port number are stored in the given address structure. write(socket, data) read(socket, *data) send and receive a buffer of data over a streamoriented connection. poll(sockets[], timeout) checks on the state of the given sockets and informs the caller whether those sockets are readable, writable or have encountered some error condition. shutdown(socket, how) closes down all or part of a connection, disallowing further reads, writes or both. This is useful to signal the end of the connection to the peer, without actually closing the socket. (Closing

6 98 CHAPTER 11. APPLICATION-LAYER ELEMENTS the socket would would prevent any pending data from the peer being delivered.) close(socket) shuts down any connection associated with the socket and releases the socket s resources. No further communication is possible on the socket. gethostbyname(name) gethostbyaddr(address) finds the name(s) and address(es) associated with the given host name or host address. (More than one name and/or address can be associated with a given host.) 11.3 Network Programming In the rest of this chapter we will show some examples of network programming using Java. Java is useful for this because it is an object-oriented programming (OOP) language. OOP languages often provide libraries of classes that make it very convenient to write programs that are short, easy to read, and easy to understand. In the following sections, Java class names (and primitive types) that appear in the text are written using a typewriter font Internet Addresses The InetAddress class represents a network address. It includes a 32-bit int (the IP address) and a String (the host name). New instances are created through the static methods getbyname() and getbyaddress(). They attempt to resolve host names and addresses using DNS and will throw an UnknownHostException if no match is found. A SecurityException can also be thrown if, for example, the program does not have permission to access network resources. The local machine can be known by several names and addresses, including those assigned by a DHCP server, by DNS records, or by local configuration files (such as /etc/hosts on Unix-based machines). Any of these names or addresses can be used to find information about the local host. InetAddress local = InetAddress.getByName("localhost"); InetAddress local = InetAddress.getByAddress(0x7F000001);

7 11.3. NETWORK PROGRAMMING 99 A try-catch construct should always be placed around any network operation that might fail, so the preceding examples would be much better written: try { InetAddress local = InetAddress.getByName("localhost"); catch (UnknownHostException e) { println(e); Checking Open Ports Figure 11.1 shows how to use the method testport() to test for services on all TCP ports from 1 to The program can discover whether the local machine is, for example, a web server (HTTP uses port 80). On my machine the program gives the following result: Server on port 22 of localhost Server on port 80 of localhost Server on port 631 of localhost (Port 22 is the Secure Shell Protocol, port 80 is HTTP, and 631 is the Internet Printing Protocol, IPP.) Socket Information The above example creates a Socket to check whether or not a server is accepting connections on a particular port. The client port number does not matter so it is assigned randomly by the operating system, each time aconnectionismade,fromoutsidetherangeofportnumbersthathave official uses. The server s port number does matter, since it uniquely identifies the server to any clients that want to connect. After establishing the connection, however, the server will be communicating using a new socket, associated with a different port that is assigned randomly (leaving the socket associated with the well-known port available to accept more incoming client connections).

8 100 CHAPTER 11. APPLICATION-LAYER ELEMENTS // save this in a file called ProbePorts.java and then // compile with: javac ProbePorts.java // run with: java ProbePorts import java.io.*; import java.net.*; public class ProbePorts { static boolean testport(inetaddress addr, int p) { try { Socket s = new Socket(addr, p); System.out.println("Server on port " + p + " of " + addr.gethostname()); s.close(); catch (IOException e) { return false; return true; // host found public static void main(string[] args) { try { InetAddress local = InetAddress.getByName("localhost"); int i; for (i = 1; i < 1024; ++i) { testport(local, i); catch (UnknownHostException e) { System.out.println(e); Figure 11.1: Probing for servers on the local machine. The testport() method tries to open a connection to a specific port on a specific host. The main() method uses testport() to attempt a connection to each port in the range 1 to 1023 on the local host. Be warned that running this kind of port scan on any machine other than your own could be considered an attempt to break into that machine, with potentially serious consequences.

9 11.3. NETWORK PROGRAMMING 101 Sockets are therefore associated with two endpoints, one on the local machine and one on the remote machine where the server is running. Clientserver communication happens between these two endpoints. The Socket object can provide information about both of these addresses. The two methods InetAddress asocket.getlocaladdress() InetAddress asocket.getlocalport() return information about the local address associated with the socket, and the methods InetAddress asocket.getinetaddress() InetAddress asocket.getport() return information about the remote address Input and Output In Java, input/output can be done using objects called Streams and Buffers. A Stream is an object to which a stream of bytes can be written and/or from which a stream of bytes can be read. A Buffer is used to store those bytes as they are being transferred to or from a Stream. Buffers can be used to accumulate data that arrives in several pieces, which is an important capability in network programming where fragmentation can (and does) happen. Specific kinds of Stream and Buffer are used for different purposes. StringBuffers store sequences of characters and InputStreams support reading characters from devices such as the keyboard or a network communication endpoint. To create an InputStream for a network endpoint we can use Socket s method called getinputstream(). The example in the next section shows how this is used to create a client for the daytime protocol Daytime Protocol Client Figure 11.2 shows an example TCP client program. It uses the daytime protocol to retrieve a remote machine s local time as an ASCII string. The daytime protocol is very easy to use and gives a good demonstration of a simple client in action. We will use a known daytime server in the US called time.nist.gov.

10 102 CHAPTER 11. APPLICATION-LAYER ELEMENTS // save this in a file called DayTime.java and then // compile with: javac DayTime.java // run with: java DayTime import java.io.*; import java.net.*; public class DayTime { public static void main(string[] args) { try { Socket s = new Socket ("time.nist.gov", 13); InputStream stream = s.getinputstream(); StringBuffer time = new StringBuffer(); int c = 0; while ((c = stream.read())!= -1) time.append((char)c); String timestr = time.tostring().trim(); System.out.println("It is now " + timestr + " at nist.gov"); catch (Exception e) { System.out.println(e); Figure 11.2: A simple daytime protocol client. A connection is made to the daytime service running on port 13 of the machine time.nist.gov and a client socket created for the local communication endpoint. The server sends us its local time as an ASCII string. We can read that string from the socket as a sequence of ASCII characters and then print them. When run on my machine, this program prints: It is now :48: UTC(NIST) * at nist.gov As you can see from this very small client, much of the work in network programming is dealing with input/output. The BSD socket abstraction and Java s corresponding Socket object lets the system take care of most of the details of network programming.

11 11.4. GLOSSARY Socket Options Sockets provide many options to tune how network communication behaves. Connection-oriented Sockets have a NoDelay option which makes sure that data is sent as soon as possible. The default behaviour is to combine smaller pieces of data into a single larger piece before sending a packet, to make better use of network bandwidth. In some situations this additional latency, caused by waiting for additional data before sending a packet, is undesirable. The Linger option tells a socket that it should wait for a short while when closed beforedestroyingitselfifthereisanydatathathasnotyet been sent. This gives the network time to transmit that data. Timeout options are provided to make sure a Socket does not block for too long during long read() or write() operations. Finally, the transport layer buffer size can be adjusted to allow larger or smaller buffers according to network connection performance and the application s ability to deal with data in a timely manner Glossary accept establish a connection with a client that has requested a connection to a listening TCP socket. The result is a new socket, with a randomlyassigned port number, that provides the server with an endpoint for exchanging application data with the client. Application Programming Interface (API) Asetoffunctionsand data types associated with a library or operating system service. bi-directional capableofworkingintwodirections. Ofcommunication channels, capable of transmitting data in either direction between the two endpoints. bind associate an IP address and port number with a new socket. close release all resources associated with a socket and terminate any connection it is part of.

12 104 CHAPTER 11. APPLICATION-LAYER ELEMENTS connect send a request to a server socket listening on a well-known port asking it to establish two-way communication with the requester. If the server accepts the connection request then a new socket will be created on the server, connected to the client s socket, on which data exchange can occur. datagram aself-containedpacketofapplication-leveldata. domain an address space determined by the type of address that will be used within it. IPv4 and IPv6 have their own domains that use Internet addresses to identify devices connected to the Internet. A local domain can use filenames as addresses to identify endpoints belonging to processes running on the local machine. endpoint theendofacommunicationchannel,residingonanetwork device. Data transmission occurs from the device to the network via an endpoint, and data reception from the network to a device occur via another endpoint. Endpoints can be permanently associated with a single channel (e.g., when using TCP) or capable of sending/receiving datagrams to/from anywhere (e.g., when using UDP). full-duplex abi-directionalchannelcapableofsimultaneous,overlapping transmission and reception. inter-process communication (IPC) communicationbetweentwoprocesses. Remote processes must use network services for IPC. Local processes (running on the same machine) typically use either shared memory or network services with local addresses (such as filenames) to identify their endpoints. Internet Association for Assigned Numbers (IANA) thecentral registry for protocol names and numbers used in many Internet protocols. listen towaitforincomingconnectionrequestsonaserversocket. packet-based communication that happens one packet at a time, with each packet being a complete and indivisible unit of communication. (The opposite of stream-based communication.) port number thenumericidentifier,between0and65535,ofaparticular port. port alogicalstructurerepresentingthetransmitterorintendedrecipient of network communication. read receivedatafromastream-basedsocket.

13 11.4. GLOSSARY 105 receive receiveasinglepacketofdatafromadatagramsocket. send sendasinglepacketofdataonadatagramsocket. service anapplicationrunningonanetworkdevice,communicatingona specific port number, that provides some capability (storage, computation, etc.) to remote clients. shutdown terminaltransmissionand/orreceptionofdataonasocket without actually destroying the socket or releasing its resources. For example, shutting down a client socket will inform the remote server that the connection is being terminated, while allowing any data in-transit to still be received by the client. socket option a flag or value associated with a socket that can be set or cleared to change the behaviour of communication that uses the socket. Examples include switching off delayed transmission in TCP, and adjusting the sizes of the low-level transmit or receive buffers. socket type the characteristic of a socket that determines whether it is connection-oriented or connectionless. The semantics of communication and the operations permitted are fundamentally different between different types of socket. socket asoftwareabstractionforacommunicationendpointidentifiedby some address (such as a port number and IP address for Internet domain sockets, or a filesystem entry for local domain sockets). stream control transmission protocol (SCTP) aniptransportprotocol that provides UDP-like packet delivery with TCP-like reliability and sequencing. stream-based communication that happens one byte at a time, with no correspondence between the way data is divided during transmission and the way it will be presented during reception. A write operation can provide any number of bytes to the stream in a single operation, and a read operation can request any number of bytes from the stream in a single operation. (The opposite of packet-based communication.) system calls servicesprovidedbytheoperatingsystemtoanapplication, typically presented like library functions, that require elevated privilege. Examples include opening a file, forking a new process, and creating a socket.

14 106 CHAPTER 11. APPLICATION-LAYER ELEMENTS virtual circuits the computer networking equivalent of a switched telephone circuit. A virtual circuit is established between two peers for the purpose of an extended exchange of data between them. Establishing a virtual circuit is more expensive than sending a single datagram, but subsequent exchange of data over a virtual circuit is more efficient than it would be if the data were sent one datagram at a time. write senddatatoastream-basedsocket. Copyright 2014 E.W. Cooper and I.K. Piumarta All rights reserved. Permission is granted for you to download, save and then view or print one copy of this document for personal study purposes. No other form of publishing, duplication or redistribution is permitted without explicit prior consent.

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

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

Transport Layer (TCP/UDP)

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

CSCD 330 Network Programming Spring 2018

CSCD 330 Network Programming Spring 2018 CSCD 330 Network Programming Spring 2018 Lecture 6 Application Layer Socket Programming in Java Reading for Java Client/Server see Relevant Links Some Material in these slides from J.F Kurose and K.W.

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

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

Computer Network Programming. The Transport Layer. Dr. Sam Hsu Computer Science & Engineering Florida Atlantic University

Computer Network Programming. The Transport Layer. Dr. Sam Hsu Computer Science & Engineering Florida Atlantic University Computer Network Programming The Transport Layer Dr. Sam Hsu Computer Science & Engineering Florida Atlantic University The Transport Layer The Big Picture Overview of TCP/IP protocols TCP Packet Exchanges

More information

Introduction to Socket Programming

Introduction to Socket Programming Introduction to Socket Programming (Advanced Computer Networks) By Priyank Shah NET ID : pss160530 A Simple Question What are Sockets? Sockets are communication points on the same or different computers

More information

Network Programming. Introduction to Sockets. Dr. Thaier Hayajneh. Process Layer. Network Layer. Berkeley API

Network Programming. Introduction to Sockets. Dr. Thaier Hayajneh. Process Layer. Network Layer. Berkeley API Network Programming Outline Definitions Dr. Thaier Hayajneh Computer Engineering Department Berkeley API Socket definition and types Introduction to Sockets 1 2 Process Process Process Layer TCP SCTP UDP

More information

Outlines. Networking in Java. Internet hardware structure. Networking Diagram. IP Address. Networking in Java. Networking basics

Outlines. Networking in Java. Internet hardware structure. Networking Diagram. IP Address. Networking in Java. Networking basics G52APR Application programming Networking in Java Michael Li http://www.cs.nott.ac.uk/~jwl/g52apr Outlines Networking basics Network architecture IP address and port Server-client model TCP and UDP protocol

More information

TRANSMISSION CONTROL PROTOCOL. ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016

TRANSMISSION CONTROL PROTOCOL. ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016 TRANSMISSION CONTROL PROTOCOL ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016 ETI 2506 - TELECOMMUNICATION SYLLABUS Principles of Telecom (IP Telephony and IP TV) - Key Issues to remember 1.

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

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

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

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

JAVA SOCKET PROGRAMMING

JAVA SOCKET PROGRAMMING JAVA SOCKET PROGRAMMING WHAT IS A SOCKET? Socket The combination of an IP address and a port number. (RFC 793 original TCP specification) The name of the Berkeley-derived application programming interfaces

More information

Different Layers Lecture 21

Different Layers Lecture 21 Different Layers Lecture 21 10/17/2003 Jian Ren 1 The Transport Layer 10/17/2003 Jian Ren 2 Transport Services and Protocols Provide logical communication between app processes running on different hosts

More information

Networking and Security

Networking and Security Chapter 03 Networking and Security Mr. Nilesh Vishwasrao Patil Government Polytechnic Ahmednagar Socket Network socket is an endpoint of an interprocess communication flow across a computer network. Sockets

More information

A Client-Server Exchange

A Client-Server Exchange Socket programming A Client-Server Exchange A server process and one or more client processes Server manages some resource. Server provides service by manipulating resource for clients. 1. Client sends

More information

Chapter 2 Applications and

Chapter 2 Applications and Chapter 2 Applications and Layered Architectures Sockets Socket API API (Application Programming Interface) Provides a standard set of functions that can be called by applications Berkeley UNIX Sockets

More information

Networking Basics. network communication.

Networking Basics. network communication. JAVA NETWORKING API Networking Basics When you write Java programs that communicate over the network, you are programming at the application layer. Typically, you don't need to concern yourself with the

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

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

Transport Layer. Gursharan Singh Tatla.   Upendra Sharma. 1 Transport Layer Gursharan Singh Tatla mailme@gursharansingh.in Upendra Sharma 1 Introduction The transport layer is the fourth layer from the bottom in the OSI reference model. It is responsible for message

More information

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 23-1 PROCESS-TO-PROCESS DELIVERY 23.2 The transport

More information

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

We will cover in this order: 2.1, 2.7, 2.5, 2.4, 2.2

We will cover in this order: 2.1, 2.7, 2.5, 2.4, 2.2 CSE 422 Notes, Set 2 These slides contain materials provided with the text: Computer Networking: A Top Down Approach,5 th edition, by Jim Kurose and Keith Ross, Addison-Wesley, April 2009. Additional figures

More information

6. The Transport Layer and protocols

6. The Transport Layer and protocols 6. The Transport Layer and protocols 1 Dr.Z.Sun Outline Transport layer services Transmission Control Protocol Connection set-up and tear-down Ports and Well-know-ports Flow control and Congestion control

More information

(Refer Slide Time: 1:09)

(Refer Slide Time: 1:09) Computer Networks Prof. S. Ghosh Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecturer # 30 UDP and Client Server Good day, today we will start our discussion

More information

TSIN02 - Internetworking

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

Socket programming. Complement for the programming assignment INFO-0010

Socket programming. Complement for the programming assignment INFO-0010 Socket programming Complement for the programming assignment INFO-0010 Outline Socket definition Briefing on the Socket API A simple example in Java Multi-threading and Synchronization Example : HTTP protocol

More information

CS September 2017

CS September 2017 Machine vs. transport endpoints IP is a network layer protocol: packets address only the machine IP header identifies source IP address, destination IP address Distributed Systems 01r. Sockets Programming

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

Transport layer Internet layer

Transport layer Internet layer Lecture 2-bis. 2 Transport Protocols As seen by the application developer point of view The primary (in principle unique) role of transport protocols!" # $ % "!"& Transport httpd 25 80 3211... My app 131.175.15.1

More information

Sockets Sockets Communication domains

Sockets Sockets Communication domains Sockets Sockets The original method for process communication in UNIX is pipes. A disadvantage with pipes is that they can only be used by processes that have the same parent process. When communicating

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

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6. Transport Layer 6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1 6.1 Internet Transport Layer Architecture The

More information

SOCKET. Valerio Di Valerio

SOCKET. Valerio Di Valerio SOCKET Valerio Di Valerio The Problem! Communication between computers connected to a network Network Network applications! A set of processes distributed over a network that communicate via messages!

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

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control Chapter 6 What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control OSI Model Hybrid Model Software outside the operating system Software inside

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

TCP /IP Fundamentals Mr. Cantu

TCP /IP Fundamentals Mr. Cantu TCP /IP Fundamentals Mr. Cantu OSI Model and TCP/IP Model Comparison TCP / IP Protocols (Application Layer) The TCP/IP subprotocols listed in this layer are services that support a number of network functions:

More information

UNIX Sockets. Developed for the Azera Group By: Joseph D. Fournier B.Sc.E.E., M.Sc.E.E.

UNIX Sockets. Developed for the Azera Group By: Joseph D. Fournier B.Sc.E.E., M.Sc.E.E. UNIX Sockets Developed for the Azera Group By: Joseph D. Fournier B.Sc.E.E., M.Sc.E.E. Socket and Process Communication application layer User Process Socket transport layer (TCP/UDP) network layer (IP)

More information

System Programming. Introduction to computer networks

System Programming. Introduction to computer networks Content : by Dr. B. Boufama School of Computer Science University of Windsor Instructor: Dr. A. Habed adlane@cs.uwindsor.ca http://cs.uwindsor.ca/ adlane/60-256 Content Content 1 Introduction to Computer

More information

NT1210 Introduction to Networking. Unit 10

NT1210 Introduction to Networking. Unit 10 NT1210 Introduction to Networking Unit 10 Chapter 10, TCP/IP Transport Objectives Identify the major needs and stakeholders for computer networks and network applications. Compare and contrast the OSI

More information

JAVA - NETWORKING (SOCKET PROGRAMMING)

JAVA - NETWORKING (SOCKET PROGRAMMING) JAVA - NETWORKING (SOCKET PROGRAMMING) http://www.tutorialspoint.com/java/java_networking.htm Copyright tutorialspoint.com The term network programming refers to writing programs that execute across multiple

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

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

Info 408 Distributed Applications programming 2 nd semester of 2017/2018 Credits: 5 Lecturer: Dr. Antoun Yaacoub

Info 408 Distributed Applications programming 2 nd semester of 2017/2018 Credits: 5 Lecturer: Dr. Antoun Yaacoub Lebanese University Faculty of Science I Master 1 degree Computer Science Info 408 Distributed Applications programming 2 nd semester of 2017/2018 Credits: 5 Lecturer: Dr. Antoun Yaacoub Starting Network

More information

Topic 10: Network Programming

Topic 10: Network Programming Topic 10: Network Programming Client-Server Model Host and Port Socket Implementing Client Implementing Server Implementing Server for Multiple Clients Client-Server Model Clients Request a server to provide

More information

SOCKETS. COMP750 Distributed Systems

SOCKETS. COMP750 Distributed Systems SOCKETS COMP750 Distributed Systems Sockets The Socket library is a traditional Application Program Interface (API) to the transport layer. Sockets were originally implemented in Unix systems and have

More information

Outline. EEC-681/781 Distributed Computing Systems. The OSI Network Architecture. Inter-Process Communications (IPC) Lecture 4

Outline. EEC-681/781 Distributed Computing Systems. The OSI Network Architecture. Inter-Process Communications (IPC) Lecture 4 EEC-681/781 Distributed Computing Systems Lecture 4 Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org Outline Inter-process communications Computer networks

More information

Application Architecture

Application Architecture CS 4/55231 Internet Engineering Kent State University Dept. of Science LECT-2 Application Architecture 1 2 Class Mechanics Topics to Cover Send email and get listed in class email list. Use "IN2004S" in

More information

Communication in Distributed Systems: Sockets Programming. Operating Systems

Communication in Distributed Systems: Sockets Programming. Operating Systems Communication in Distributed Systems: Sockets Programming Operating Systems TCP/IP layers Layers Message Application Transport Internet Network interface Messages (UDP) or Streams (TCP) UDP or TCP packets

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

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

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

CSCI Computer Networks

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

Distributed Systems. 3. Access to the Transport Layer. Werner Nutt

Distributed Systems. 3. Access to the Transport Layer. Werner Nutt Distributed Systems 3. Access to the Transport Layer Werner Nutt 1 Access to the Transport Layer Processes issue requests to the transport layer (i.e., the application takes the initiative, not the transport

More information

Assignment 1. Due date February 6, 2007 at 11pm. It must be submitted using submit command.

Assignment 1. Due date February 6, 2007 at 11pm. It must be submitted using submit command. Assignment 1 Due date February 6, 2007 at 11pm. It must be submitted using submit command. Note: submit 4213 a1 . Read the manpages ("man submit") for more details on the submit command. It is

More information

b) Diverse forms of physical connection - all sorts of wired connections, wireless connections, fiber optics, etc.

b) Diverse forms of physical connection - all sorts of wired connections, wireless connections, fiber optics, etc. Objectives CPS221 Lecture: Layered Network Architecture last revised 6/22/10 1. To discuss the OSI layered architecture model 2. To discuss the specific implementation of this model in TCP/IP Materials:

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

APPENDIX F THE TCP/IP PROTOCOL ARCHITECTURE

APPENDIX F THE TCP/IP PROTOCOL ARCHITECTURE APPENDIX F THE TCP/IP PROTOCOL ARCHITECTURE William Stallings F.1 TCP/IP LAYERS... 2 F.2 TCP AND UDP... 4 F.3 OPERATION OF TCP/IP... 6 F.4 TCP/IP APPLICATIONS... 10 Copyright 2014 Supplement to Computer

More information

CSCD 330 Network Programming Winter 2019

CSCD 330 Network Programming Winter 2019 CSCD 330 Network Programming Winter 2019 Lecture 7 Application Layer Socket Programming in Java Reading: Chapter 2, Java links Relevant Links page Some Material in these slides from J.F Kurose and K.W.

More information

Data Communication & Computer Networks MCQ S

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

Reference Models. 7.3 A Comparison of the OSI and TCP/IP Reference Models

Reference Models. 7.3 A Comparison of the OSI and TCP/IP Reference Models Reference Models Contains 7.1 The OSI Reference Model 7.1.1 The Physical Layer 7.1.2 The Data Link Layer 7.1.3 The Network Layer 7.1.4 The Transport Layer 7.1.5 The Session Layer 7.1.6 The Presentation

More information

4. The transport layer

4. The transport layer 4.1 The port number One of the most important information contained in the header of a segment are the destination and the source port numbers. The port numbers are necessary to identify the application

More information

Internet and Intranet Protocols and Applications

Internet and Intranet Protocols and Applications Internet and Intranet Protocols and Applications Lecture 1b: The Transport Layer in the Internet January 17, 2006 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu 01/17/06

More information

Transport layer protocols. Lecture 15: Operating Systems and Networks Behzad Bordbar

Transport layer protocols. Lecture 15: Operating Systems and Networks Behzad Bordbar Transport layer protocols Lecture 15: Operating Systems and Networks Behzad Bordbar 78 Interprocess communication Synchronous and asynchronous comm. Message destination Reliability Ordering Client Server

More information

QUIZ: Longest Matching Prefix

QUIZ: Longest Matching Prefix QUIZ: Longest Matching Prefix A router has the following routing table: 10.50.42.0 /24 Send out on interface Z 10.50.20.0 /24 Send out on interface A 10.50.24.0 /22 Send out on interface B 10.50.20.0 /22

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

Joseph Faber Wonderful Talking Machine (1845)

Joseph Faber Wonderful Talking Machine (1845) Joseph Faber Wonderful Talking Machine (1845) Connected World Human-to-Human communication Human-Machine interaction Machine-to-Machine communication (M2M) Internet-of-Things (IOT) Internet of Things How

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

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

A set of processes distributed over a network that communicate via messages. Processes communicate via services offered by the operating system

A set of processes distributed over a network that communicate via messages. Processes communicate via services offered by the operating system SOCKET Network applications A set of processes distributed over a network that communicate via messages Ex: Browser Web, BitTorrent, ecc Processes communicate via services offered by the operating system

More information

CCNA Exploration Network Fundamentals. Chapter 3 Application Layer Functionality and Protocols

CCNA Exploration Network Fundamentals. Chapter 3 Application Layer Functionality and Protocols CCNA Exploration Network Fundamentals Chapter 3 Application Layer Functionality and Protocols Application Layer Functionality and Protocols Applications: The Interface Between the Networks Horny/Coufal

More information

Socket 101 Excerpt from Network Programming

Socket 101 Excerpt from Network Programming Socket 101 Excerpt from Network Programming EDA095 Nätverksprogrammering Originals by Roger Henriksson Computer Science Lund University Java I/O Streams Stream (swe. Ström) - A stream is a sequential ordering

More information

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

OSI Transport Layer. Network Fundamentals Chapter 4. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1 OSI Transport Layer Network Fundamentals Chapter 4 Version 4.0 1 Transport Layer Role and Services Transport layer is responsible for overall end-to-end transfer of application data 2 Transport Layer Role

More information

Group-A Assignment No. 6

Group-A Assignment No. 6 Group-A Assignment No. 6 R N Oral Total Dated Sign (2) (5) (3) (10) Title : File Transfer using TCP Socket Problem Definition: Use Python for Socket Programming to connect two or more PCs to share a text

More information

Communication Paradigms

Communication Paradigms Communication Paradigms Nicola Dragoni Embedded Systems Engineering DTU Compute 1. Interprocess Communication Direct Communication: Sockets Indirect Communication: IP Multicast 2. High Level Communication

More information

Processes communicating. Network Communication. Sockets. Addressing processes 4/15/2013

Processes communicating. Network Communication. Sockets. Addressing processes 4/15/2013 Processes communicating Network Communication Process: program running within a host. within same host, two processes communicate using inter-process communication (defined by OS). processes in different

More information

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer CCNA Exploration Network Fundamentals Chapter 04 OSI Transport Layer Updated: 05/05/2008 1 4.1 Roles of the Transport Layer 2 4.1 Roles of the Transport Layer The OSI Transport layer accept data from the

More information

TCP and Concurrency. The third assignment at DA

TCP and Concurrency. The third assignment at DA TCP and Concurrency The third assignment at DA2402 2009-03-05 Jonas Lundberg/Ola Flygt adapted to Java by Marcus Edvinsson maintained by Marcus Edvinsson Matematiska och systemtekniska institutionen, MSI

More information

Sockets 15H2. Inshik Song

Sockets 15H2. Inshik Song Sockets 15H2 Inshik Song Internet CAU www server (www.cau.ac.kr) Your web browser (Internet Explorer/Safari) Sockets 2 How do we find the server? Every computer on the Internet has an Internet address.

More information

Lecture-4. TCP/IP-Overview:

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

CMPE 80N: Introduction to Networking and the Internet

CMPE 80N: Introduction to Networking and the Internet CMPE 80N: Introduction to Networking and the Internet Katia Obraczka Computer Engineering UCSC Baskin Engineering Lecture 11 CMPE 80N Fall'10 1 Announcements Forum #2 due on 11.05. CMPE 80N Fall'10 2 Last

More information

Chapter 2 Application Layer

Chapter 2 Application Layer Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and

More information

CSE 461 Module 11. Connections

CSE 461 Module 11. Connections CSE 461 Module 11 Connections This Time More on the Transport Layer Focus How do we connect processes? Topics Naming processes Connection setup / teardown Flow control Application Presentation Session

More information

Operating Systems and Networks. Network Lecture 8: Transport Layer. Adrian Perrig Network Security Group ETH Zürich

Operating Systems and Networks. Network Lecture 8: Transport Layer. Adrian Perrig Network Security Group ETH Zürich Operating Systems and Networks Network Lecture 8: Transport Layer Adrian Perrig Network Security Group ETH Zürich I was going to tell you a joke about UDP, but I wasn t sure if you were going to get it

More information

Operating Systems and Networks. Network Lecture 8: Transport Layer. Where we are in the Course. Recall. Transport Layer Services.

Operating Systems and Networks. Network Lecture 8: Transport Layer. Where we are in the Course. Recall. Transport Layer Services. Operating Systems and s Lecture 8: Transport Layer I was going to tell you a joke about UDP, but I wasn t sure if you were going to get it Adrian Perrig Security Group ETH Zürich 2 Where we are in the

More information

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 23-1 PROCESS-TO-PROCESS DELIVERY The transport

More information

Networking Technologies and Applications

Networking Technologies and Applications Networking Technologies and Applications Rolland Vida BME TMIT Transport Protocols UDP User Datagram Protocol TCP Transport Control Protocol and many others UDP One of the core transport protocols Used

More information

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

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

Networking and Internetworking 1

Networking and Internetworking 1 Networking and Internetworking 1 To do q q Networks and distributed systems Internet architecture xkcd Internet history Early days ~1960 ARPA sponsored research on computer networking to enable remote

More information

Interprocess Communication

Interprocess Communication Interprocess Communication Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 Introduction Applications, services

More information

CS3600 SYSTEMS AND NETWORKS

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

Java Networking (sockets)

Java Networking (sockets) Java Networking (sockets) Rui Moreira Links: http://java.sun.com/docs/books/tutorial/networking/toc.html#sockets http://www.javaworld.com/javaworld/jw-12-1996/jw-12-sockets_p.html Networking Computers

More information

CSEP 561 Connections. David Wetherall

CSEP 561 Connections. David Wetherall CSEP 561 Connections David Wetherall djw@cs.washington.edu Connections Focus How do we (reliably) connect processes? This is the transport layer Topics Naming processes Connection setup / teardown Sliding

More information

EEC-682/782 Computer Networks I

EEC-682/782 Computer Networks I EEC-682/782 Computer Networks I Lecture 16 Wenbing Zhao w.zhao1@csuohio.edu http://academic.csuohio.edu/zhao_w/teaching/eec682.htm (Lecture nodes are based on materials supplied by Dr. Louise Moser at

More information