UNIX Networking PART I. Internetting Concept. Sep Süleyman Kondakçi. University of Oslo

Size: px
Start display at page:

Download "UNIX Networking PART I. Internetting Concept. Sep Süleyman Kondakçi. University of Oslo"

Transcription

1 UNIX Networking PART I Internetting Concept Sep 1994 suley@usit.uio.no Süleyman Kondakçi University of Oslo Center for Information Technology Services, USIT Slide No. 1

2 Unix Networking, Internetting, :::::::::::::::::::::::::October 1995

3 Contents I TCP/IP Networking 5 1 Internetting Concept Properties of the Internet : : : : : : : : : : : : : : : : : : : : Universal Interconnection : : : : : : : : : : : : : : : : Hierarchical Networking : : : : : : : : : : : : : : : : : Users View : : : : : : : : : : : : : : : : : : : : : : : : : : : : How to Hide the Network Details? : : : : : : : : : : : : : : : : The Shortcomings With the Application Level Interconnection : : : : : : : : : : : : : : : : : : : : : : : : : Advantages With the Network level interconnection : 7 2 Conceptual Internet Architecture Internet Protocols : : : : : : : : : : : : : : : : : : : : : : : : Denition of a Network Protocol : : : : : : : : : : : : Purpose of the Internet protocol Suite : : : : : : : : : A Conceptual Model: OSI Reference Model : : : : : : Layering Principle And Protocol Interoperation : : : : : : : : 10 3 OSI Reference Model 11 4 TCP/IP Layering Architecture Features of the TCP/IP Architecture : : : : : : : : : : : : : : 13 5 Application Interface (for programmers) Socket Interface : : : : : : : : : : : : : : : : : : : : : : : : : : Application Data Flow : : : : : : : : : : : : : : : : : : : : : : Employing Sockets : : : : : : : : : : : : : : : : : : : : : : : : 17 6 TCP/IP Communication Principles 26 7 Internet Identiers and Network Classes This (0's) and All (1's) Identiers : : : : : : : : : : : : : : : : Dotted Decimal Notation : : : : : : : : : : : : : : : : : : : : 28

4 8 TCP/IP Protocols and Related RFC's Internet Protocol IP (RFC 791) : : : : : : : : : : : : : : : : : IP Application Addressing : : : : : : : : : : : : : : : : : : : : 32 9 Transport Control Protocol TCP (RFC 793) TCP As a Unique Transport Protocol : : : : : : : : : : : : : : Providing Reliability : : : : : : : : : : : : : : : : : : : : : : : Positive Acknowledgement Technic : : : : : : : : : : : : : : : Packet Duplication : : : : : : : : : : : : : : : : : : : : : : : : Flow Control : : : : : : : : : : : : : : : : : : : : : : : : : : : Why Flowcontrol? : : : : : : : : : : : : : : : : : : : : TCP ow control is performed by tuning the window size : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Proprties of the Sliding Window Technic : : : : : : : : TCP Sliding Window : : : : : : : : : : : : : : : : : : : : : : : Application-to-TCP Interface : : : : : : : : : : : : : : : : : : User Datagram Protocol UDP (RFC 768) Internet Control Message Protocol ICMP (RFC 792) Subnetting (RFC 940 and 950) Assigning Subnet Addresses : : : : : : : : : : : : : : : : : : : How to Create Subnetworks : : : : : : : : : : : : : : : Using Subnet Masks : : : : : : : : : : : : : : : : : : : : : : : How to Calculate a Subnet Mask : : : : : : : : : : : : : : : : Broadcast Addresses Appendix UDP protocol Header : : : : : : : : : : : : : : : : : : : : : : : TCP and IP protocol Headers : : : : : : : : : : : : : : : : : : 46

5 5 Part I TCP/IP Networking 1 Internetting Concept Internet is a scheme that makes it possible to interconnect dierent physical networks and make them cooperate as a coordinated unit. The basic concept of cooperation of this heterogeneous system can be summarized as: 1. hiding low-level hardware and software details from the user, 2. providing universal communication services, and 3. dening a framework of high-level abstraction for an all purpose network design and implementation. 1.1 Properties of the Internet There are two basic properties of the Internet, universal interconnection and hierarchical networking Universal Interconnection Communication systems should not be limited by the boundaries of physical networks. This requires a unied, cooperative interconnection of networks called internetworking. Cenceptually internetworking provides: 1. Isolation of low-level details from application programs, so that application programs do not need to understand the details of hardware interconnections to use the internet. 2. Hierarchical structuring of networks address space makes the Internet appear as a single virtual network. Data can be sentacrossintermediate networks even though they are not directly connected to the source or destination computers. 3. Users do not need to understand the network interconnection topology when writing internet related application programs.

6 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::: Hierarchical Networking No single network can serve all users, because: 1. local area networks are limited in geographic spans, and 2. wide area networks cannot provide high speed and reliable communication through large physical distances. 1.2 Users View To the user, internet means a virtual network in which all machines connect inspite of their physical characteristics and interconnection topology. Furthermore, user requirements can be summarized as: On each users host, a collection of internet access software is needed to allow applications to use the internet as if it were a single physical network. Interconnection at the network level should be done without understanding details of the underlying connections. Users do not need to understand how the networks interact. Modication in the internet architecture or the related software should not require modication to application programs. 1.3 How to Hide the Network Details? 1) Application Level Interconnection Application programs can be instructed to handle heterogeneity. Early network applications could not handle peer communication. As an example, a single-sided activitymay perform large message transport such as le transfer. Application level programs were instructed to understand the details of

7 TCP/IP Networking ::::::::::::::::::::::::::::::::::::::::::::::::::::7 the network structure, since network communication is also done by the application programs. This puts a tremendous burden on the programmer's ability to handle programming of complex applications The Shortcomings With the Application Level Interconnection 1. This method is dicult to implement, 2. Adding new functionality to the current network requires rebuilding the application, thus modifying the network requires modication to all network applications. 2) Network Level Interconnection Network level interconnection was rst realized by the entrence of TCP/IP suite. This approach has brought many useful features within internetworking. Network level interconnection provides: Packet delivery system instead of large messages transfer, Functional independency in which communication activities are seperated from application programs, The network interface performs the physical connectivity with some middle-level mechanism to control the application interface, and Applications serve only user specic tasks rather than communication related tasks Advantages With the Network level interconnection Layered communication tasks, User specic tasks are seperated from the communication tasks. Great exiblity to build general purpose network protocols, and

8 TCP/IP Networking ::::::::::::::::::::::::::::::::::::::::::::::::::::8 Network hardware can be modied without modifying the existing application programs. 2 Conceptual Internet Architecture The internet is structured by coopeartive gateways each serving for its own local area network. The internet connection is done by cooperating software and hardware. Internet gateways serve as vital connection points. Gateways mainly connect two physically seperate networks, thus making the entire Internet a cooperative unit through multiple gateway active links. A physical connection has no meaning unless the gateway has the routing software to exchange data between the interconnecting points, Figure 1. H1 H1 NET-1 G NET-2 H2 H2 Figure 1: Two local networks are connected by a gateway. The gateway G has the capability of handling different network topologies. It is used here as a router between two physically different networks. It forwards datagram between NET-1 and NET-2. Gateways: interconnect physical networks by non protocol specic links, know network topology by exchanging routing information, know how to route packets to their destination without knowing the entire gateway topology of the Internet.

9 TCP/IP Networking ::::::::::::::::::::::::::::::::::::::::::::::::::::9 Gateways route packets based on the destination network, not on the destination host. 2.1 Internet Protocols Denition of a Network Protocol A protocol is comprised of a set of rules and procedures to govern data communication among diverse connection points within a heterogeneous structure Purpose of the Internet protocol Suite Denes the basic unit and exact format of the data for transmission. Denes rules for hosts and gateways to process packets. Provides error detection and elimination. Provides packet routing through the Internet. Provides rules and recommandations for developing network related software A Conceptual Model: OSI Reference Model The International Standardization Organization (ISO) has dened a reference model called Open Systems Interconnection Reference Model, shortly called the OSI/ISO Model. The OSI Model is a general guide to design and implement standard network communication services, Figure 3. The OSI-model presents a layering principle. Each layer is described by a set of protocol specications. Protocol specications determine how layers in a protocol stack communicate with each other. The prpotocol layering scheme makes the network software easy to understand and implement.

10 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::10 Mots importantly, the protocol layering scheme provides separation of the communication tasks. 2.2 Layering Principle And Protocol Interoperation Layered organization of protocol software: partitions the communication task into subtasks, organizes protocol software into modules, where each module handles one subtask, isolates underlying network technology from higher-level protocols to only the network interface level provides peer-to-peer interoperability The nth layer at the destination receives identical message as the nth layer at the source, Figure 2. SENDER Layer n... Layer 2 Layer 1 RECEIVER Layer n... Layer 2 Layer 1 NETWORK Figure 2: Peer-to-peer interoperabiliy between two layered systems. the nth layer at the destination receives identical message as the nth layer at the source.

11 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::11 3 OSI Reference Model OSI provides a detailed description of a protocol suite (stack) consisting of 7layers. Application Layer (layer 7): Application programs such as le transfer, remote login, remote le sharing, directory system, etc. Presentation Layer (layer 6): Provides standard data presentation routines, format of data passed over network from application to application. Session Layer (layer 5): Performs session management between cooperating applications. Transport Layer (layer 4): Provides end-to-end error detection and correction. Network Layer (layer 3): Manages network connections, routing, addressing and data delivery for upper layers. Data Link Layer (layer 2): Manages reliable data delivery across the physical connection. Physical Layer (layer 1): Denes the characteristics of the physical operations used to carry data, e.g. bit transfer speed, voltage level, etc. 4 TCP/IP Layering Architecture TCP/IP layering model was rst designed and implemented under the sponsorship of Defense Advanced Research Projects Agency (DARPA), for use on the ARPANET. This protocol suit is commonly known as TCP/IP, although TCP and IP are only two of the many protocols in the family. The Internet protocol IP is the lovest level protocol in the ARPANET Reference Model. Later, TCP/IP protocol family has been used as the corner stone for implementation and developement of the internet protocol layering. Functions of the TCP/IP suite can be summarized as follows.

12 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::12 UNIX Network Architecture OSI Layers FTP SMTP DNS NSP NTP rlogin telnet rsh rcp YP NFS 7 Application RPC 6 Presentation SOCKETS/STREAMS XDR 5 Session TCP UDP Transport Network Link IP ICMP ARP RARP Ether. PDN IEEE 802.2/ Physical TM Figure 3: OSI Reference Model vs UNIX network architecture. Applications and all higher-level protocol software use IP addressing. The network interface layer handles physical addressing and data delivery Applications handle user specic services, and functions dened by the OSI presentation layer. Sockets control client-server applications, and manage sessions for applications, e.g. session start and shutdown TCP and UDP handle end-to-end communication, error detection and correction. Applications do not handle delivery errors. Network addressing, routing, and data delivery are handled by IP.

13 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::13 SENDER RECEIVER Application Application HD Transport Identical Message Transport HD Identical Segment HD HD Network Network HD HD HD HD HD Interface Identical Datagram Interface HD HD HD Network Frame NETWORK Figure 4: TCP/IP layering architecture; each layer adds its own header information to the data packet. At the application layer the data is represented as message units, at the transport (TCP) level as segment, at the network (IP) level as datagram, and at the network interface level as network frame unit. Network Interface Layer handles the physical data transfer, bit transfer and physical network addressing. ICMP is used for error reporting, packet redirection, and for other network management tasks. ICMP is a logical part of the IP layer. All other protocols use the services of the IP layer. 4.1 Features of the TCP/IP Architecture The most outstanding characteristics of a TCP/IP network can be summarized as. 1. Reliable communication among heterogeneous systems, independent from the underlying technology (both network and host architecture). 2. Universal connectivity throughout internet (routing).

14 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::14 SENDER Application Transport Network Link Message Segment Datagram Network Frame RECEIVER Application TCP UDP IP ICMP Interface NETWORK Figure 5: TCP/IP layering architecture and the correspondig conceptual layering scheme. 3. Reliable end-to-end data transmission. 4. Flexible application interface for user applications. 5 Application Interface (for programmers) Network application programs and TCP/IP protocols use some mechanisms to make the interface between the application and the network. There is no standard that specify exactly how application programs interact with the TCP/IP protocols. This section reviews a rather dedicated software mechanism (socket programming) which makes it possible for application programs to interact with the TCP/IP protocols, thus providing interoparabilty betwen two applications on the internet, see Figure 6. Application-to-socket interface is handled by socket system calls. Socket-to-protocol interface isolates application programs from utilizing other protocol functions.

15 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::15 User Program Socket Layer Transport TCP/UDP Subnetwork Layer Ethernet Figure 6: Application-to-protocol interface. Application program communicates with the network through TCP or UDP protocol. Protocol-to-protocol interface works like a chain of bucket brigade to exchange data between applications. Protocol-to-subnetwork interface performs only the physical data delivery, Figure Socket Interface A socket is an abstract object from which data is transferred. Interprocess communication uses sockets to transfer data between objects rather than processes. Shortly, Sockets exist within a communication domain. UNIX domain sockets, AF UNIX, are used to communicate between processes on the same host.

16 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::16 Internet domain sockets, AF INET, are used to communicate between processes on seperate hosts which reside within the same network domain. Client-Server applications use three type of sockes: 1. Stream sockets, SOCK STREAM, use the TCP to provide sequenced, reliable, and 2-way-connection-based byte streams for a reliable data transfer. 2. Datagram sockets, SOCK DGRAM, use UDP for connectionless, unreliable, and xed-length data transfers. Datagram sockets provide simple programming, faster data transfer, and they can most importantly exchange data with multiple sockets, because they don't rquire xed connection to the participating sockets. 3. Raw sockets, SOCK RAW, allow access to low level communication protocols, and are available only to the super-user. A connection between two application programs is realized by several chained operations: 1. Connection establishment between the client application and its communication socket. This requires creation of a socket and a bind operation between the application and the socket. 2. Connection establishment between the socket and the remote application. 3. Data exchange between the applications. 4. Connection termination and resource reallocation. 5.2 Application Data Flow As shown in Figure 7, data ow from the user application is initiated by making calls to the socket system library routines. Data is initially sent to sockets, then to the appropriate protocol layer (TCP or UDP, optionally chosen by the user application). Later, the IP layer the required addressing

17 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::17 OUTPUT DATA USER Application INPUT DATA sosend() tcp_usrreq() Data soreceive() Data socket socket tcp_out() TCP ip_out() IP Data Data tcp_in() TCP ip_intr() IP Software interrupt Input Queue Data Data Network Int. Data Network Int. Data ETHERNET Figure 7: User program-to-socket interface and application data flow. and puts the data onto the network interface. Upward data is realized rst when the network frames arrive at the input queue. The queue is then delivered asynchronously to the appropriate protocol queue. The requeing of data is managed by software interrupt. Downward data ow is initiated by user request routines and system calls Upward data aw is performed asynchronously and delivered to the appropriate protocol queue. Delivery to upper level protocol queue is done by software interrupt at lower layers. 5.3 Employing Sockets Sockets are commonly used to create and serve client-server applications. Like le operations, a socket must be created before employing it.

18 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::18 1) Creating a Socket To create a socket to establish a communication path between an application program and a socket, a socket() system call should be done. The socket() system call creates an endpoint for communication and returns a descriptor, like the fopen() system call for opening a le. The af parameter species an address format. result=socket(af,type,protocol) Addresses specied in later operations using the socket are interpreted according to these formats. The formats dened in the include le sys/socket.h are AF UNIX, and AF INET. The type argument species the semantics of communication. The de- ned types are SOCK STREAM, SOCK DGRAM, SOCK RAW, and SOCK SEQPACKET. The SOCK STREAM and SOCK DGRAM types are available only if your system includes the TCP/IP network. 2) Binding a Socket to a Local Address The bind() system call assigns a name (a local identier) to an unnamed socket. When a socket is created with the socket call, it exists in a name space (address family) but has no name assigned. The bind system call requests that name be assigned to the socket. The server application binds itself to the socket created on the local address local addr: bind(socket,local addr,addr len) 3) Connecting to a Destination Adress The application program must make a call to connect() to initiate a connection on a socket before it can transfer data through the reliable stream socket (e.g. TCP request). Connectionless datagram services need not use socket connect, but calling connect() for a socket of type SOCK DGRAM, makes data transfer permanent without specifying destination each time.

19 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::19 If it is of type SOCK STREAM, this call attempts to make a connection to another socket. The other socket is specied by dest addr, which is an address in the communications space of the socket. Each communications space interprets the dest addr parameter in its own way. The size of the structure sockaddr is addr len. connect(socket,dest addr,addr len) 4) Sending messages Sending messages to an other socket is done by one of the following system calls. The send() system call may be used only when the socket is in a connected state, while the sendto() and sendmsg() system calls may beused at any time. That is, a connectionless (datagram transmission) data transfer cannot use the send() system call to send data to/through an unconnected socket of type SOCK DGRAM. send(socket,msg,length,flags) sendto(socket,msg,length,flags,dest addr,addr len) sendmsg(socket,msg struct,flags) write(socket,buffer,length to send) writev(socket,iovector,vector len) 5) Receiving Messages Receiving messages through a socket is done by one of the following system calls. recv() receive data from a connected socket recvfrom() receive data from an unconnected socket recvmsg() cooperate with sendmsg() read() receive data from a connected socket readv() Scatter read

20 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::20 The recv() call can be used only on a connected socket. The recvfrom() and recvmsg() calls can be used to receive dataonasocket, whether or not it is in a connected state. Obtaining Local Socket Addresses The getsockname() system call returns the local address associated with asocket descripter given as the rst parameter. The addr len parameter should be initialized to indicate the amount of space pointed to by local addr. On return it contains the actual size, in bytes, of the name returned. A zero is returned if the call succeeds, -1 if it fails. getsockname(socket,local addr,addr len) Obtaining Remote Socket Addresses The getpeername() system call returns the remote socket address into address structure dest addr. getpeername() works only with connected sockets. Like ingetsockname(), theaddr len parameter should be initialized to indicate the amount of space pointed to by dest addr. Otherwise it works as getsockname(). getpeername(socket,dest addr,addr len) Obtaining Socket Options The getsockopt() system call returns socket options. The parameters option val and length are used to identify a buer in which the values for the requested options are to be returned. The length option is a value-result parameter, initially containing the size of the buer pointed to by option val and modied on return to indicate the actual size of the value returned. If no option value is returned, option val can be supplied as 0. The option id parameter is passed uninterpreted to the appropriate protocol module for interpretation.

21 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::21 getsockopt(socket,level,option id,option val,length) Setting Socket Options The setsockopt() system call is a counterpart of getsockopt(). setsockopt() is used to modify socket parameters at the dierent socket levels. The socket option species the name of the socket to be manipulated, and the level option species the protocol level at which thesocket resides. To manipulate options at the socket levels, level is specied as SOL SOCKET. To manipulate options at any other level, the protocol number of the appropriate protocol controlling the option must be supplied. For example, to indicate an option to be interpreted by the TCP protocol, level should be set to the protocol number of TCP. The parameters option val and length are used to access option values for setsockopt. setsockopt(socket,level,option id,option val,length) Specifying A Queue Length for A Server To accept connections, a socket is rst created by a socket() call, a qlength for incoming connections is specied with the listen() system call, and then the connections are accepted with the accept() system call. The listen() system call is needed only for sockets of type SOCK STREAM or SOCK SEQPACKET. listen(socket,qlength) The qlength parameter denes the maximum length of the queue of pending connections may grow to. If a connection request arrives with the queue full, the client receives an error with an indication of ECONNREFUSED. To avoid having protocols reject or discard incoming requests, a server must tell the underlying protocol software that it wishes to havesuch requests enqueued until it has time to process them.

22 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::22 listen() puts the socket in a passive mode ready to accept connections. This allows enqueuing of multiple simultaneous requests for an open socket to be processed later. Accepting Connections The accept() system call accepts a connection on a socket. The socket argument is a socket that has been created with the socket() system call which is already bound to an address with the bind() system call, and is listening for connections after a listen() call. newsock=accept(socket,addr,addr len) The accept() system call extracts the rst connection on the queue of pending connections, creates a new socket with the same properties of socket and allocates a new le descriptor for the socket. If no pending connections are present on the queue, and the socket is not marked as nonblocking, accept() blocks the caller until a connection is present. If the socket is marked nonblocking and no pending connections are present onthe queue, accept() returns an error. The accepted socket, cannot be used to accept more connections. The original socket socket remains open. The argument addr is a result parameter that is lled in with the address of the connecting entity, asknown to the communications layer. The exact format of the addr parameter is determined by the domain in which the communication is occurring. The addr len is a value-result parameter it should initially contain the amount of space pointed to by addr. On return, addr contains the actual length in bytes of the address returned. This call is used with connection-based socket types, currently with SOCK STREAM.

23 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::23 Communication Shutdown When a socket is no longer needed, it should be discarded using shutdown() or close() system calls. shutdown(socket, how) The shutdown() call causes all or part of a full-duplex connection on the socket associated with socket to be shut down. The how argument is a numeric value between 0 and 2 with the meaning of: how = 0 ==> further data receives are disallowed, how = 1 ==> further data sends are disallowed, how = 2 ==> further data sends and receives are disallowed. If you are using either write() or writev(), then you should use close() system call to relase any associated system resources. A Simple Example: Socket programming A header le, a very simple server program, and a client program is presented here. Error checking is omitted, becasue this is just an example to show how the socket routines are called. Warning! You may have seen the same example at various places. /* A common header file. We run both processes on the same host */ #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <netb.h> #include <netinet/in.h> #define PORT 1555 /* End of header */

24 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::24 /* Server Process */ main() { int r_sd /* Randezvous Socket */ int c_sd /* Communication Socket */ struct sockaddr_in name /* Socket name */ char buff[256] /* Step 1: Create Server Socket */ r_sd=socket(af_inet,sock_stream,0) name.sin_family = AF_INET name.sin_addr.s_addr = INADDR_ANY name.sin_port = PORT /* Step 2: Bind Socket */ bind(r_sd, (struct sockaddr *) &name, sizeof(name)) /* Step 3: Accept Client Requests */ listen(r_sd,5) do { c_sd = accept(r_sd, (struct sockaddr *) 0, (int *) 0) /* Step 4: Read Socket */ read(c_sd, buff, 256) /* Step 5: Close Socket */ close(c_sd) } while (1) }

25 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::25 /* Client Process */ main() { int sd /* Client Socket Descriptor */ struct sockaddr_in servername /* Server socket name */ struct hostent *host /* Server host */ static char *MSG = "Hello, my dear" /* Step 1: Create Client Socket */ sd = socket(af_inet,sock_stream,0) /* Step 2: Get Server Address */ host = gethostbyname("dummy_host") bcopy(host->h_addr, (char*) &servername.sin_addr, host->h_length) servername.sin_family = AF_INET servername.sin_port = PORT /* Step 3: Try Connecting to Server Socket */ connect(sd, (struct sockaddr *) &servername, sizeof(servername)) /* Step 4: Send Data to Server */ write(sd, MSG, sizeof(msg)) /* Step 5: Close Socket Descriptor */ close(sd) }

26 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::26 6 TCP/IP Communication Principles A conceptual TCP/IP network service can be broadly sliced into three layers: 1. an application layer running an application program, 2. a reliable transport layer, which applications relay on.that is, a reliable application communication is almost guaranteed, and 3. a connectionless packet delivery layer on which everything rests, but no reliability control is provided. Application Program Application Services Reliable Transport Service Connectionless Packet Delivery Service Figure 8: Connectionless delivery service. A connectionless delivery service characteristics can be summarized as: unreliable, 'best-eort', connectionless packet delivery, packet delivery is not guaranteed, packets may be duplicated, packets may be delayed, packets may be delivered out of order, data integrity is not guaranteed, and integrity control for the protocol header information is providec.

27 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::27 7 Internet Identiers and Network Classes Each internet node is assigned a 32-bit unique identier as its internet address which is often called as IP address, see Figure 9. Each identier consists of a pair of numbers, net id and host id. An internet address does not identify a host, but a location on the Internet. A universal network identier is a connection point, on a given network, which can be represented as: What: Where: How: A name identies an object. An address identies where the object is. A route tells how to get to the object. Netwok Identifier Host Identifier on That Network NETWORK-ID HOST-ID CLASS A 0 Net-ID Host-ID CLASS B Net-ID 15 Host-ID CLASS C Net-ID Host-ID Figure 9: Format of an IP address and IP network address classes.

28 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::28 IP addresses Specify Connection Points An IP address consists of both a net id and a host id on a network. This address identies a connection to that network, it does not identify an individual host. If a host moves from one network to another, its IP address must change. 7.1 This (0's) and All (1's) Identiers IP addresses can be interpreted dierently if 0's or 1's take a dominant part in a given IP address: An IP address with host-id=0.1 is interpreted as this host ( loopback address ) which is designed for testing and interprocess communiaction on the local host. An IP address with net-id=0 is interpreted as this network. An IP address with net-id=0's and host-id=0 means this host. As an example telnet will connect the user to the same host as the user logged on at the time being. An IP address together with host-id=0 and a net id gives network address. A eld consisting of all 1's in an IP address means "All". A broadcast address that refers to all hosts on a network has host id with all bits set to "1", e.g Dotted Decimal Notation IP addresses are practically applied as 4 decimal integers separated by points. Each integer represents the value of one octect, e.g, an IP address for a class B network is presented in binary notation as , in dotted decimal notation as ,

29 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::29 and in hexadecimal notation as 81.0C.01.4E. 8 TCP/IP Protocols and Related RFC's TCP/IP suite consists of mainly 3 layers, TCP and UDP, IP and ICMP, and the network interface. Even though ICMP is often reered as a protocol layer it is a logical part of the IP layer. Following sections review the internet protocols, namely the TCP/IP protocol suite. Application Application Transport Network Link TCP UDP IP ICMP Network Interface Figure 10. Internet protocol layering and TCP/IP protocol layering. 8.1 Internet Protocol IP (RFC 791) The Internet Protocol (IP) is the only transport protocol of the TCP/IP protocol suite responsible for packet routing and forwarding. Shortly, it provides: host-to-host addressing, connectionless datagram delivery each packet is treated independent from all others, and packets may travel over dierent paths and out of order, packet fragmentation and reassembly (max packet size octets),

30 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::30 packet encapsulation for direct delivery of datagrams, and routing and packet forwarding. Finite packet lifetime control during the packet travel in the Internet. IP does not provide end-to-end packet reliability or ow control, packets may be lost, duplicated, delivered out of order, or discarded on the way to the destination. It only provides header checksum on the header. IP header format is shown at the end of this chapter. Some Denitions Network MTU: Network MTU is the maximum transferable network unit which describes the maximum amount of data that can be transfered in one physical frame on across a given network medium. Fragmentation: Fragmentation is the process of splitting an IP datagram into smaller IP packets in order to adapt the network MTU to the physical network. Maximum fragment size is determined by the Network MTU. Fragmentation usually occurs at the forwarding gateway of the datagram. The source is free to choose any datagram size. IEEE standard species the fragment of Ethernet MTU as 1492 octets. As shown in Figure 11, G1 fragments large datagrams sent from H1 to H2, and G2 fragments large datagrams sent from H2 to H1. Each fragment of a packet contains its own IP-header together with the identication for the initial message. Individual fragments of a message may reach their destination through dierent routes and in dierent order.

31 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::31 H1 NET-1 MTU=1500 H2 NET-3 MTU=1500 G1 NET-2 MTU=620 G2 Figure 11: Network MTU of two physical networks must match. Larger datagrams from NET-1 are fragmented into samller fragments in order to accommodate the network MTU of NET-2. The Fragment oset eld identies the position of the fragment within the original datagram. Each fragment has a FLAG bit to indicate if there are more fragments to be collected. Reassembly of Fragments: Fragments must be collected and sorted correctly to produce a complete copy of the original datagram at the destination. Discarded Fragments: The arriving fragment is not reassembled (i.e discarded): if any fragments are lost, if all fragments have not arrived within a specied time interval. Receiving host starts a reassembly timer when it receives the rst fragment.

32 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::32 Datagram_Header DATA datagram HD Fragmant_1 HD Fragmant_2 HD Fragmant_n Figure 12: The format of each fragment is identical wih the format of the datagram. Each fragment header contains information that identifies the fragment and provides information how to reassemble the fragments back to the original datagram Encapsulation: Encapsulation is the process of mapping an IP packet directly onto a physical network packet called a network frame. Namely, the entire datagram is placed into the data eld of the network frame, and the frame is passed onto the physical network along with the physical network address to transport the frame. 8.2 IP Application Addressing Applications use three dierent addresses to identify a connection partner: 1. one IP address, 2. one transport protocol number (TCP or UDP port number), and 3. one application specic port number.

33 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::33 9 Transport Control Protocol TCP (RFC 793) The major protol of the TCP/IP protocol suite is the TCP which is responsible for reliable connection-oriented stream transport. Most applications use TCP as a relaible transport protocol for their data transport across the Internet. TCP header format is shown at the end of this chapter. TCPs main function is the reliable end-to-end data transportation. The protocol software communicates continuously on both sides to verify that data is received correctly. A TCP connection is a bidirectional, sequenced stream of data octets between two peers. TCP segments may be sent invarying size and at varying intervals. Furthermore the TCP protocol provides: explicit acknowledged connection initiation and termination, reliable, in order, unduplicated data delivery, connection-oriented protocol a virtual connection is established before data transmission starts, full duplex bidirectional virtual connection, transmission of data stream (byte oriented), sliding window ow control for reliable data delivery, data checksums for error detection, sequence numbers and end-to-end ACK'ing for error detection, segment retransmission to recover lost or delayed segments, synchronized connection shutdown, and by urgent data and push functions. The size of a TCP segment is almost always varying, which is determined network load, window size, and the MTU of the physical network.

34 TCP/IP Networking ::::::::::::::::::::::::::::::::::::::::::::::::::: TCP As a Unique Transport Protocol The following points summarize the features of TCP protocol. Sequencing: Sequencing ensures delivery of packets to the destination in the same order as they were sent by the source. Flow Control: Flowcontrol mechanism controls the speed of data ow, this prevents loss, congestion, and other transmission rate related errors. Error Detection: Error detection is done by the known technics such as checksums, sequence numbers, timers, and acknowledgements. Error Elimination: Error elimination is done by retransmission of packets, error-coding algorithms, and ow control (e.g. sliding window) 9.2 Providing Reliability Reliable stream delivery service guarantees delivery of data by using a technic called acknowledgement with retransmission. This type of delivery system has the following features: Virtual Circuit Connection: data transfer between applications begins after a successful connection setup. Full Duplex Connection: concurrent data delivery in both directions is provided so that the TCP software can send control information in opposite packets (piggy-backing). Stream Oriented Delivery: large volume of data is formed as a stream of bits, divided into octets (8-bit word). Buered in-order Delivery: applications send data streams across a virtual circuit of its own buer size. Reliable Stream Delivery can be performed by two methods, positive acknowledgement with retransmission or the sliding window technic.

35 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::35 SENDER RECEIVER Send Packet 1 Receive ACK1 Send Packet 2 Receive ACK2 Receive Packet 1 Send ACK1 Receive Packet 2 Send ACK2 Packet ACK Figure 13: Positive acknowledgement technic; receiver sends an ACK for each message it receives and then sends data. Sender doesn t send next message before it gets an ACK for the last message it sent. 9.3 Positive Acknowledgement Technic As shown in Figure 13, the positive acknowledgement method is sequential. Sender sends data and waits for an acknowledgement (ACK) before it sends the next data unit. If the receiver does not send an ACK within a preset time interval, it retransmits the data. These operations are repeated for consequtive delayed packets. Positive acknowledgement technic is simple to implement, is slow due to packet delay and retansmissions. sender keeps a record of each packet it sends and waits for ACK before sending the next packet, Due to sequential operations receiver sends ACK messages as it receives the data, and Due to delays and timeouts sender continues sending same packet several times. This introduces packet duplications, hence waisting the

36 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::36 network bandwidth. Major disadvantage of this method is the misuse of the network bandwidt. It wastes network bandwidth by waiting for ACKs before sending new packets. 9.4 Packet Duplication Duplicates occur often when networks introduce high delays. Packet duplication problem is solved by assigning each packet a sequence number. Receiver sends sequence numbers back in ACKs. Sender checks the ACK'd sequence numbers before retransmitting delayed packets. 9.5 Flow Control TCP provides a means for the receiver to govern the amount of data sent by the sender. This is achieved by returning a "window" with every ACK indicating a range of acceptable sequence numbers beyond the last segment successfully received. The window indicates an allowed number of octets that the sender may transmit before receiving further permission Why Flow control? Flow control is necessary to accommodate throughput of a network where machines communicate with various speed and capacities. There are two main ow problems: 1. machines have dierent capacities, e.g minicomputers v.s super computers, 2. gateways (intermediate machines) need to avoid congestion by controlling the speed of the sender. Gateways introduce bottleneck by slowing down datagram trac.

37 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::37 Sent and ACK d Sent but not ACK d Current Window These Octets Will be Sent Without Delay These can t be Sent Until the Window Moves Figure 14: TCP Sliding Window works at octect level. Sender sends all the octets in the window. Upon arrival of the ACK for the first octet it slides the window, and continues sending next octets TCP ow control is performed by tuning the window size Each ACK species the number of octets that have been received. EachACK contains a windowadvertisement which species the number of additional octets that the receiver can accept. Sender adjusts its window size to match the window advertisement. A window advertisement size of zero stops all transmissions. That is, the receiver has no wish to receive more packets Proprties of the Sliding Window Technic Complex to implement, Uses network bandwidth better by allowing the sender to transmit multiple packets before waiting for an ACK, Sending protocol places a window on a sequence of packets and transmits all packets in the window, Upon arrival of the ACK for the rst packet, sender slides the window and continues sending the next packets. This continues as the ACKs arrive.

38 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::38 SENDER RECEIVER Send Packet 1 Start Timer ACK would arrive at this time Timer Expires Retransmit Packet 1 Start Timer Receive ACK1 Cancel Timer Packet Lost Packet lost No ACK Sent Receive Packet 1 Send ACK1 Packet ACK Figure 15: TCP Sliding Window technic; Sender can send multiple segments before ACKs arrive from the receiver. Receiver controls the buffer size. 9.6 TCP Sliding Window Operates at octet level instead of packet level. Multiple segments can be transported before ACKs arrive. Receiver controls buer size to solve end-to-end ow control. Each connection uses three pointers to dene a sliding window. 9.7 Application-to-TCP Interface TCP uses protocol port numbers to identify applications: Both parties must agree upon a port number at which the passive partner (server) waits on the request from the active part (the client). The port number of the active partner is irrelevant, unless the server prescribes a special port number for the client.

39 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::39 TCP provides (de)multiplexing to allow multiple applications within a machine to communicate concurrently. TCP connections are identied by a pair of endpoints. An endpoint is dened as a pair (IP address,tcp PORT), e.g, ( ,1125) and ( ,25) Because TCP identies a connection by a pair of endpoints, a given TCP port number can be shared by multiple connections on the same host. 10 User Datagram Protocol UDP (RFC 768) This protocol provides a procedure for application programs to send messages to other programs with a minimum of protocol mechanism. The protocol is transaction oriented, and delivery and duplicate protection are not guaranteed. Applications requiring ordered reliable delivery of streams of data should use the TCP. UDP header format is shown at the end of this chapter. UDP is a connectionless transport protocol with the following properties: simple to understand and communicate with, uses unreliable 'best-eort' delivery, uses port numbers for both source and destination addressing, uses an optional data checksum (sender may require data checksum), Does not use transport acknowledgement suitable for high-speed applications,e.g, NFS, suitable on reliable and fast transmission media, UDP uses an IP address and a port number to identify the ultimate destination. It also sends a source port number to identify the local application,

40 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::40 UDP uses IP to transport its messages. The IP software is only responsible for data transmission, while the UDP software is responsible for handling applications and ports, UDP provides (de)multiplexing to allow application programs to communicate concurrently. 11 Internet Control Message Protocol ICMP (RFC 792) ICMP is a logical part of IP which provides error reporting and connection debugging. It carries error and diagnostic data. ICMP messages are initiated and processed by IP, TCP, and UDP. It is often used for connectivity test (echo reply). It is also used for forwarding of datagrams under direct routing. 12 Subnetting (RFC 940 and 950) A given local area network may span a large amount of network connections. Large organizations may have dierent type of cooperating network devices. Centralized management of such a network may become cumbersome after a while, if the number of connection points grows. To overcome management problems and problems introduced by dierent LAN technologies and security issues, another hierarchy of network level can be added. The use of subnets is an optional local decision. The fact that a network has subnets is invisible outside that network, and the change is local and can be instituted at a site without any global Internet perturbations. So, to make the world tiny and comfortable, large Internet networks can be divided into a collection of subnets. Subnetting is specially useful in networks belonging to moderately large organizations, such as campus networks. There are several reasons for subnetting, among them are:

41 TCP/IP Networking :::::::::::::::::::::::::::::::::::::::::::::::::::41 Dierent technologies: In a research environment there may be more than one kind of LAN technology in use. Limits of technologies: Most LAN technologies impose limits on, the electrical parameters, the number of connections, and the total length of the cable. Network congestion: It is possible for a small subset of the hosts on a LAN to monopolize most of the bandwidth. If a single-level network is used for a large set of nodes (a large organization or a campus), a primary problem of overwhelming the network may be unavoidable. Hence, the performance and reliablity of the network will reduce to a considerable level. Hierachical networks can handle larger amount of network trac better than a single-level network. Point-to-Point links: A LAN may span over a large geographic area, e.g, a university campus. Policy: Recognizing organizational structure, isoloting security problems, and desentralizing the network administration Assigning Subnet Addresses There are several choices for assigning subnet addresses. The procedure is to 1. obtain an Internet network address, 2. dene a set of subnets (if required), and 3. dene host numbers on each subnet. 4. subdivide the address range of host ids to create subnetworks.

42 TCP/IP Networking ::::::::::::::::::::::::::::::::::::::::::::::::::: How to Create Subnetworks The subnet eld is created by stealing some bits from the host id part of the given IP address. This reduces number of hosts by increasing number of subnets within a local network. That is, subnetting maps the normal range of host ids onto a number of subnetworks and a reduced number of hosts on each subnetwork. There are several approaches for representing the subnet number. Some of them are: 1. Variable-width eld: Any number of the bits from the host address part are used for the subnet number. 2. Fixed-width eld: A specic number of bits (e.g., eight) are used for the subnet number, if subnets are in use. 3. Masked bits: Use a bit mask to identify which bits of the host id eld indicate the subnet number. This scheme is the most exible scheme, yet costs no more to implement than the others Using Subnet Masks In any case a subnet mask is used to logically partition a given class of network. A subnet mask can be used to increase the number of networks within a given network address space. This will, for a class B network, reduce the number of local hosts that can be managed under each subnet. Because, some bits are taken from the host id part and concatanated to the network id part of the IP address. A subnet mask is a 32-bit number, one-to-one correspondence between a subnet mask and an IP address. A subnet mask consists of 1's for the network part and 0's for the host identier part of the Internet address. From this point of view, a table of default masks can be implicitly created for three classes of netwrok types, A, B, and C, see Figure 16. A subnet mask interprets a given Internet address as: < network ; number >< subnet ; number >< host ; number >

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

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

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

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

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

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

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

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications Data and Computer Communications Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based s 1 Need For Protocol Architecture data exchange can involve complex procedures better if task broken into subtasks

More 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

Lecture 11: IP routing, IP protocols

Lecture 11: IP routing, IP protocols Lecture 11: IP routing, IP protocols Contents Routing principles Local datagram delivery ICMP Protocol UDP Protocol TCP/IP Protocol Assuring requirements for streaming TPC Building and terminating TCP

More information

TSIN02 - Internetworking

TSIN02 - Internetworking TSIN02 - Internetworking Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 Transport layer responsibilities UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 Transport layer in OSI model

More information

TCP/IP THE TCP/IP ARCHITECTURE

TCP/IP THE TCP/IP ARCHITECTURE TCP/IP-1 The Internet Protocol (IP) enables communications across a vast and heterogeneous collection of networks that are based on different technologies. Any host computer that is connected to the Internet

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

05 Transmission Control Protocol (TCP)

05 Transmission Control Protocol (TCP) SE 4C03 Winter 2003 05 Transmission Control Protocol (TCP) Instructor: W. M. Farmer Revised: 06 February 2003 1 Interprocess Communication Problem: How can a process on one host access a service provided

More information

The Internet Protocol (IP)

The Internet Protocol (IP) The Internet Protocol (IP) The Blood of the Internet (C) Herbert Haas 2005/03/11 "Information Superhighway is really an acronym for 'Interactive Network For Organizing, Retrieving, Manipulating, Accessing

More information

Introduction to TCP/IP networking

Introduction to TCP/IP networking Introduction to TCP/IP networking TCP/IP protocol family IP : Internet Protocol UDP : User Datagram Protocol RTP, traceroute TCP : Transmission Control Protocol HTTP, FTP, ssh What is an internet? A set

More information

PART X. Internetworking Part 1. (Concept, IP Addressing, IP Routing, IP Datagrams, Address Resolution)

PART X. Internetworking Part 1. (Concept, IP Addressing, IP Routing, IP Datagrams, Address Resolution) PART X Internetworking Part 1 (Concept, IP Addressing, IP Routing, IP Datagrams, Address Resolution) CS422 Part 10 1 Spring 1999 Motivation For Internetworking LANs Low cost Limited distance WANs High

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

SEN366 (SEN374) (Introduction to) Computer Networks

SEN366 (SEN374) (Introduction to) Computer Networks SEN366 (SEN374) (Introduction to) Computer Networks Prof. Dr. Hasan Hüseyin BALIK (12 th Week) The Internet Protocol 12.Outline Principles of Internetworking Internet Protocol Operation Internet Protocol

More information

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP CS 5520/ECE 5590NA: Network Architecture I Spring 2008 Lecture 13: UDP and TCP Most recent lectures discussed mechanisms to make better use of the IP address space, Internet control messages, and layering

More information

Internet Protocols (chapter 18)

Internet Protocols (chapter 18) Internet Protocols (chapter 18) CSE 3213 Fall 2011 Internetworking Terms 1 TCP/IP Concepts Connectionless Operation Internetworking involves connectionless operation at the level of the Internet Protocol

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

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

The TCP Protocol Stack

The TCP Protocol Stack The TCP Protocol Stack Michael Brockway February 16, 2018 Introduction - Layered archtecture Networking software is desgined in a layered fashion The bottom layer is the services offered by the underlying

More information

Programming with TCP/IP. Ram Dantu

Programming with TCP/IP. Ram Dantu 1 Programming with TCP/IP Ram Dantu 2 Client Server Computing Although the Internet provides a basic communication service, the protocol software cannot initiate contact with, or accept contact from, a

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

CSCI-GA Operating Systems. Networking. Hubertus Franke

CSCI-GA Operating Systems. Networking. Hubertus Franke CSCI-GA.2250-001 Operating Systems Networking Hubertus Franke frankeh@cs.nyu.edu Source: Ganesh Sittampalam NYU TCP/IP protocol family IP : Internet Protocol UDP : User Datagram Protocol RTP, traceroute

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

Computer Networks (Introduction to TCP/IP Protocols)

Computer Networks (Introduction to TCP/IP Protocols) Network Security(CP33925) Computer Networks (Introduction to TCP/IP Protocols) 부산대학교공과대학정보컴퓨터공학부 Network Type Elements of Protocol OSI Reference Model OSI Layers What we ll learn today 2 Definition of

More information

Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service

Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 최양희서울대학교컴퓨터공학부 Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 1 2004 Yanghee Choi 2 Addressing: application

More information

Distributed Systems. 02. Networking. Paul Krzyzanowski. Rutgers University. Fall 2017

Distributed Systems. 02. Networking. Paul Krzyzanowski. Rutgers University. Fall 2017 Distributed Systems 02. Networking Paul Krzyzanowski Rutgers University Fall 2017 1 Inter-computer communication Without shared memory, computers need to communicate Direct link Direct links aren't practical

More information

Interconnecting Networks with TCP/IP

Interconnecting Networks with TCP/IP Chapter 8 Interconnecting s with TCP/IP 1999, Cisco Systems, Inc. 8-1 Introduction to TCP/IP Internet TCP/IP Early protocol suite Universal 1999, Cisco Systems, Inc. www.cisco.com ICND 8-2 TCP/IP Protocol

More information

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia IP - The Internet Protocol Based on the slides of Dr. Jorg Liebeherr, University of Virginia Orientation IP (Internet Protocol) is a Network Layer Protocol. IP: The waist of the hourglass IP is the waist

More information

Need For Protocol Architecture

Need For Protocol Architecture Chapter 2 CS420/520 Axel Krings Page 1 Need For Protocol Architecture E.g. File transfer Source must activate communications path or inform network of destination Source must check destination is prepared

More information

7. TCP 최양희서울대학교컴퓨터공학부

7. TCP 최양희서울대학교컴퓨터공학부 7. TCP 최양희서울대학교컴퓨터공학부 1 TCP Basics Connection-oriented (virtual circuit) Reliable Transfer Buffered Transfer Unstructured Stream Full Duplex Point-to-point Connection End-to-end service 2009 Yanghee Choi

More information

Introduction to Protocols

Introduction to Protocols Chapter 6 Introduction to Protocols 1 Chapter 6 Introduction to Protocols What is a Network Protocol? A protocol is a set of rules that governs the communications between computers on a network. These

More 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

UNIT IV -- TRANSPORT LAYER

UNIT IV -- TRANSPORT LAYER UNIT IV -- TRANSPORT LAYER TABLE OF CONTENTS 4.1. Transport layer. 02 4.2. Reliable delivery service. 03 4.3. Congestion control. 05 4.4. Connection establishment.. 07 4.5. Flow control 09 4.6. Transmission

More information

UNIT 2 TRANSPORT LAYER

UNIT 2 TRANSPORT LAYER Network, Transport and Application UNIT 2 TRANSPORT LAYER Structure Page No. 2.0 Introduction 34 2.1 Objective 34 2.2 Addressing 35 2.3 Reliable delivery 35 2.4 Flow control 38 2.5 Connection Management

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

TCP/IP Networking. Part 4: Network and Transport Layer Protocols

TCP/IP Networking. Part 4: Network and Transport Layer Protocols TCP/IP Networking Part 4: Network and Transport Layer Protocols Orientation Application Application protocol Application TCP TCP protocol TCP IP IP protocol IP IP protocol IP IP protocol IP Network Access

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

Need For Protocol Architecture

Need For Protocol Architecture Chapter 2 CS420/520 Axel Krings Page 1 Need For Protocol Architecture E.g. File transfer Source must activate communications path or inform network of destination Source must check destination is prepared

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

Internetworking Terms. Internet Structure. Internet Structure. Chapter 15&16 Internetworking. Internetwork Structure & Terms

Internetworking Terms. Internet Structure. Internet Structure. Chapter 15&16 Internetworking. Internetwork Structure & Terms Chapter 15&16 Internetworking Internetwork Structure & Terms Internetworking Architecture Features Connection/Connectionless Architecture Fragmentation & Reassembly Internet Protocol & Services Addressing

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

Communication Networks

Communication Networks Session 2. Application and Layered Architectures Dongsoo S. Kim Electrical and Computer Engineering. Indiana U. Purdue U. Indianapolis Communication s Various services and flexibility architectures Grouping

More 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

Router Architecture Overview

Router Architecture Overview Chapter 4: r Introduction (forwarding and routing) r Review of queueing theory r Router design and operation r IP: Internet Protocol m IPv4 (datagram format, addressing, ICMP, NAT) m Ipv6 r Generalized

More information

TSIN02 - Internetworking

TSIN02 - Internetworking Lecture 4: Outline Literature: Lecture 4: Transport Layer Forouzan: ch 11-12 RFC? Transport layer introduction UDP TCP 2004 Image Coding Group, Linköpings Universitet 2 The Transport Layer Transport layer

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

ETSF05/ETSF10 Internet Protocols Network Layer Protocols

ETSF05/ETSF10 Internet Protocols Network Layer Protocols ETSF05/ETSF10 Internet Protocols Network Layer Protocols 2016 Jens Andersson Agenda Internetworking IPv4/IPv6 Framentation/Reassembly ICMPv4/ICMPv6 IPv4 to IPv6 transition VPN/Ipsec NAT (Network Address

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

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ Networking for Data Acquisition Systems Fabrice Le Goff - 14/02/2018 - ISOTDAQ Outline Generalities The OSI Model Ethernet and Local Area Networks IP and Routing TCP, UDP and Transport Efficiency Networking

More information

03 The Internet Model and TCP/IP

03 The Internet Model and TCP/IP SE 4C03 Winter 2003 03 The Internet Model and TCP/IP Instructor: W. M. Farmer Revised: 16 January 2003 1 The OSI Model In 1977 the International Standards Organization (ISO) offered the Open Systems Interconnection

More information

Agenda. Before we start: Assignment #1. Routing in a wide area network. Protocols more concepts. Internetworking. Congestion control

Agenda. Before we start: Assignment #1. Routing in a wide area network. Protocols more concepts. Internetworking. Congestion control Agenda Last time (Tues) No class Tuesday Jan 30 (Marty at conference) Will be made up Thurs Feb 8 / Fri Feb 9 This time Continue with Networks (chpt 3) Interprocess Communication (chpt 4) 1 st HW/PA out

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

Chapter 2 Network Models 2.1

Chapter 2 Network Models 2.1 Chapter 2 Network Models 2.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Network Models n Network Architecture: n A) Hardware: at the core of any network;

More information

Chapter 4: Network Layer

Chapter 4: Network Layer Chapter 4: Introduction (forwarding and routing) Review of queueing theory Routing algorithms Link state, Distance Vector Router design and operation IP: Internet Protocol IPv4 (datagram format, addressing,

More information

Interconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1

Interconnecting Networks with TCP/IP. 2000, Cisco Systems, Inc. 8-1 Interconnecting Networks with TCP/IP 2000, Cisco Systems, Inc. 8-1 Objectives Upon completion of this chapter you will be able to perform the following tasks: Identify the IP protocol stack, its protocol

More information

Introduction to Networking. Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

Introduction to Networking. Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Introduction to Networking Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Distributed File Systems Operating Systems In Depth XXVII 2 Copyright 2017 Thomas W.

More information

CHAPTER-2 IP CONCEPTS

CHAPTER-2 IP CONCEPTS CHAPTER-2 IP CONCEPTS Page: 1 IP Concepts IP is a very important protocol in modern internetworking; you can't really comprehend modern networking without a good understanding of IP. Unfortunately, IP

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

User Datagram Protocol (UDP):

User Datagram Protocol (UDP): SFWR 4C03: Computer Networks and Computer Security Feb 2-5 2004 Lecturer: Kartik Krishnan Lectures 13-15 User Datagram Protocol (UDP): UDP is a connectionless transport layer protocol: each output operation

More information

Introduction to Networks and the Internet

Introduction to Networks and the Internet Introduction to Networks and the Internet CMPE 80N Announcements Project 2. Reference page. Library presentation. Internet History video. Spring 2003 Week 7 1 2 Today Internetworking (cont d). Fragmentation.

More information

CSC 634: Networks Programming

CSC 634: Networks Programming CSC 634: Networks Programming Lecture 03: Review of Basic Networking Concepts (TCP/UDP) Instructor: Haidar M. Harmanani Recap 7-Layer OSI Model 7 6 5 4 3 2 1 Application Presentation (kinds of compression)

More information

Introduction to Open System Interconnection Reference Model

Introduction to Open System Interconnection Reference Model Chapter 5 Introduction to OSI Reference Model 1 Chapter 5 Introduction to Open System Interconnection Reference Model Introduction The Open Systems Interconnection (OSI) model is a reference tool for understanding

More 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

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

INTERNET SYSTEM. Internet Protocol. Kent State University Dept. of Computer Science. CS 4/55231 Internet Engineering. Large Scale Networking

INTERNET SYSTEM. Internet Protocol. Kent State University Dept. of Computer Science. CS 4/55231 Internet Engineering. Large Scale Networking CS 4/55231 Internet Engineering Kent State University Dept. of Computer Science LECT-6 SYSTEM 1 2 Large Scale Networking No Single Technology can Adequately Serve Every One s Need. Each LAN/ WAN has specific

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

EEC-484/584 Computer Networks

EEC-484/584 Computer Networks EEC-484/584 Computer Networks Lecture 13 wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Outline 2 Review of lecture 12 Routing Congestion

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

Oral. Total. Dated Sign (2) (5) (3) (2)

Oral. Total. Dated Sign (2) (5) (3) (2) R N Oral Total Dated Sign (2) (5) (3) (2) Assignment Group- A_07 Problem Definition Write a program using TCP socket for wired network for following Say Hello to Each other ( For all students) File transfer

More information

Multiple unconnected networks

Multiple unconnected networks TCP/IP Life in the Early 1970s Multiple unconnected networks ARPAnet Data-over-cable Packet satellite (Aloha) Packet radio ARPAnet satellite net Differences Across Packet-Switched Networks Addressing Maximum

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

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

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

II. Principles of Computer Communications Network and Transport Layer

II. Principles of Computer Communications Network and Transport Layer II. Principles of Computer Communications Network and Transport Layer A. Internet Protocol (IP) IPv4 Header An IP datagram consists of a header part and a text part. The header has a 20-byte fixed part

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

EE 610 Part 2: Encapsulation and network utilities

EE 610 Part 2: Encapsulation and network utilities EE 610 Part 2: Encapsulation and network utilities Objective: After this experiment, the students should be able to: i. Understand the format of standard frames and packet headers. Overview: The Open Systems

More information

Lecture (11) OSI layer 4 protocols TCP/UDP protocols

Lecture (11) OSI layer 4 protocols TCP/UDP protocols Lecture (11) OSI layer 4 protocols TCP/UDP protocols Dr. Ahmed M. ElShafee ١ Agenda Introduction Typical Features of OSI Layer 4 Connectionless and Connection Oriented Protocols OSI Layer 4 Common feature:

More information

Connectionless and Connection-Oriented Protocols OSI Layer 4 Common feature: Multiplexing Using. The Transmission Control Protocol (TCP)

Connectionless and Connection-Oriented Protocols OSI Layer 4 Common feature: Multiplexing Using. The Transmission Control Protocol (TCP) Lecture (07) OSI layer 4 protocols TCP/UDP protocols By: Dr. Ahmed ElShafee ١ Dr. Ahmed ElShafee, ACU Fall2014, Computer Networks II Introduction Most data-link protocols notice errors then discard frames

More information

UDP, TCP, IP multicast

UDP, TCP, IP multicast UDP, TCP, IP multicast Dan Williams In this lecture UDP (user datagram protocol) Unreliable, packet-based TCP (transmission control protocol) Reliable, connection oriented, stream-based IP multicast Process-to-Process

More 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

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

The OSI Model. Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO).

The OSI Model. Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO). Network Models The OSI Model Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO). Model for understanding and developing computer-to-computer communication

More information

EEC-484/584 Computer Networks

EEC-484/584 Computer Networks EEC-484/584 Computer Networks Lecture 15 wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Outline 2 Review of last lecture The network layer

More information

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao

EEC-484/584 Computer Networks. Lecture 16. Wenbing Zhao EEC-484/584 Computer Networks Lecture 16 wenbing@ieee.org (Lecture nodes are based on materials supplied by Dr. Louise Moser at UCSB and Prentice-Hall) Outline 2 Review Services provided by transport layer

More information

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology

Transport Over IP. CSCI 690 Michael Hutt New York Institute of Technology Transport Over IP CSCI 690 Michael Hutt New York Institute of Technology Transport Over IP What is a transport protocol? Choosing to use a transport protocol Ports and Addresses Datagrams UDP What is a

More information

Internetworking With TCP/IP

Internetworking With TCP/IP Internetworking With TCP/IP Vol II: Design, Implementation, and Internals SECOND EDITION DOUGLAS E. COMER and DAVID L. STEVENS Department of Computer Sciences Purdue University West Lafayette, IN 47907

More information

Vorlesung Kommunikationsnetze

Vorlesung Kommunikationsnetze Picture 15 13 Vorlesung Kommunikationsnetze Prof. Dr. H. P. Großmann mit B. Wiegel sowie A. Schmeiser und M. Rabel Sommersemester 2009 Institut für Organisation und Management von Informationssystemen

More information

Introduction to Internet. Ass. Prof. J.Y. Tigli University of Nice Sophia Antipolis

Introduction to Internet. Ass. Prof. J.Y. Tigli University of Nice Sophia Antipolis Introduction to Internet Ass. Prof. J.Y. Tigli University of Nice Sophia Antipolis What about inter-networks communications? Between LANs? Ethernet?? Ethernet Example Similarities and Differences between

More information

Chapter 2 Network Models 2.1

Chapter 2 Network Models 2.1 Chapter 2 Network Models 2.1 Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 2-1 LAYERED TASKS We use the concept of layers in our daily life. As an example,

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

TCP/IP Protocol Suite

TCP/IP Protocol Suite TCP/IP Protocol Suite Computer Networks Lecture 5 http://goo.gl/pze5o8 TCP/IP Network protocols used in the Internet also used in today's intranets TCP layer 4 protocol Together with UDP IP - layer 3 protocol

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

Network and Security: Introduction

Network and Security: Introduction Network and Security: Introduction Seungwon Shin KAIST Some slides are from Dr. Srinivasan Seshan Some slides are from Dr. Nick Mckeown Network Overview Computer Network Definition A computer network or

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

Online Documentation: To access the online documentation for this and other Novell products, and to get updates, see

Online Documentation: To access the online documentation for this and other Novell products, and to get updates, see Legal Notices Novell, Inc. makes no representations or warranties with respect to the contents or use of this documentation, and specifically disclaims any express or implied warranties of merchantability

More information