Presentation is loading. Please wait.

Presentation is loading. Please wait.

Advanced Programming Rabie A. Ramadan.

Similar presentations


Presentation on theme: "Advanced Programming Rabie A. Ramadan."— Presentation transcript:

1 Advanced Programming Rabie A. Ramadan

2 Network Programming An Overview

3 Computer Network A computer network is an interconnected collection of autonomous computers.

4 Network topology A topology is a way of “laying out” the network. Topologies can be either physical or logical. Physical topologies describe how the cables are run. Logical topologies describe how the network messages travel

5 Network topology (cont.)
Bus (can be both logical and physical) Star (physical only) Ring (can be both logical and physical) Mesh (can be both logical and physical)

6 Network topology (cont.)
Bus A bus is the simplest physical topology. It consists of a single cable that runs to every workstation This topology uses the least amount of cabling, but also covers the shortest amount of distance.

7 Network topology (cont.)
It is difficult to add a workstation Have to completely reroute the cable and possibly run two additional lengths of it. If any one of the cables breaks, the entire network is disrupted. Therefore, it is very expensive to maintain.

8 Network topology (cont.)
Star Topology A physical star topology branches each network device off a central device called a hub, making it very easy to add a new workstation. Also, if any workstation goes down it does not affect the entire network.

9 Network topology (cont.)
Star topologies are more expensive to install than bus networks, There are several more cables that need to be installed, plus the cost of the hubs that are needed.

10 Network topology (cont.)
Ring Each computer connects to two other computers, joining them in a circle creating a unidirectional path where messages move workstation to workstation.

11 Network topology (cont.)
The ring makes it difficult to add new computers. Unlike a star topology network, the ring topology network will go down if one entity is removed from the ring. Physical ring topology systems don’t exist much anymore, mainly because the hardware involved was fairly expensive and the fault tolerance was very low.

12 Network topology (cont.)
Mesh The mesh topology is the simplest logical topology in terms of data flow, but it is the most complex in terms of physical design. In this physical topology, each device is connected to every other device

13 Network topology (cont.)
The physical mesh topology is very expensive to install and maintain. Cables must be run from each device to every other device. The advantage you gain from it is its high fault tolerance. There will always be a way of getting the data from source to destination.

14 Network topology (cont.)
Advantages and Disadvantages of Network Topologies Topology Advantages Disadvantages Bus Cheap. Easy to install. Difficult to reconfigure. Break in bus disables entire network. Star Easy to reconfigure. Fault tolerant. More expensive than bus. Ring Efficient. Easy to install. Reconfiguration difficult. Very expensive. Mesh Simplest. Most fault tolerant. Reconfiguration extremely difficult. Extremely expensive. Very complex.

15 Computer Network A network includes:
Special purpose hardware devices that: Interconnect transmission media Control transmission of data Run protocol software Protocol software that: Encodes and formats data Detects and corrects problems encountered during transmission

16 Network Hardware Repeaters
Repeaters are very simple devices. Allow a cabling system to extend beyond its maximum allowed length by amplifying the network voltages so they travel farther. Repeaters are nothing more than amplifiers and, as such, are very inexpensive.

17 Hubs are devices used to link several computers together.
Network Hardware Hubs Hubs are devices used to link several computers together. They repeat any signal that comes on one port and copy it to the other ports (a process that is also called broadcasting). There are two types of hubs: active and passive. Passive hubs simply connect all ports together electrically and are usually not powered. Active hubs use electronics to amplify and clean up the signal before it is broadcast to the other ports. In the category of active hubs, there is also a class called “intelligent” hubs, which are hubs that can be remotely managed on the network.

18 Network Hardware Hubs

19 Network Hardware Bridges
They join similar topologies and are used to divide network segments. For example, with 200 people on one Ethernet segment, the performance will be bad, because of the design of Ethernet and the number of workstations that are fighting to transmit. If you divide the segment into two segments of 100 workstations each, the traffic will be much lower on either side and performance will increase. They are more intelligent than repeaters but are unable to move data across multiple networks simultaneously. Unlike repeaters, bridges can filter out noise. The main disadvantage to bridges is that they can’t connect dissimilar network types or perform intelligent path selection. For that function, you would need a router.

20 Network Hardware Bridges

21 Network Hardware Routers
Routers are highly intelligent devices that connect multiple network types and determine the best path for sending data. The advantage of using a router over a bridge is that routers can determine the best path that data can take to get to its destination. Like bridges, they can segment large networks and can filter out noise. However, they are slower than bridges because they are more intelligent devices;

22 Network Hardware Switch
Just like a hub A network switch conserves network bandwidth and offers generally better performance than a hub. A vital difference between a hub and a switch is that all the nodes connected to a hub share the bandwidth among themselves, while a device connected to a switch port has the full bandwidth all to itself. For example, if 10 nodes are communicating using a hub on a 10-Mbps network, then each node may only get a portion of the 10 Mbps if other nodes on the hub want to communicate as well. . But with a switch, each node could possibly communicate at the full 10 Mbps.

23 Network Hardware Switch

24 Addressing and Routing
Address: byte-string that identifies a node usually unique Routing: process of forwarding messages to the destination node based on its address Types of addresses unicast: node-specific broadcast: all nodes on the network multicast: some subset of nodes on the network

25 IP Addresses and Classes
IPv6 addresses have a size of 128 bits

26 IP Addresses and Classes

27 IP Addresses and Classes

28 IP Addresses and Classes

29 Subnet Mask

30 Network Architecture A network architecture is a set of layers and protocols used to reduce network design complexity. The TCP/IP Protocol Suite (also called the Internet Architecture) is an important example of a network architecture. The OSI (Open Systems Interconnection) 7-Layer Reference Model [ISO,1984] is a guide that specifies what each layer should do, but not how each layer is implemented.

31 ISO/OSI Reference Model
OSI divides telecommunication into seven layers. The layers are in two groups. The upper four layers are used whenever a message passes from or to a user. The lowest three layers (Up to network layer) are used when any message passes through the host computer. Message intended for this computer pass to the upper layers. Message destined for some other host are not passed up to the upper layers but are forwarded to another host. Physical layer: Bit stream through network at electrical/mechanical level

32 ISO 7-Layer Reference Model
End host End host Application Application Presentation Presentation Session Session Transport Transport Network Network Network Network Data link Data link Data link Data link Physical Physical Physical Physical One or more nodes within the network

33 TCP/IP Model

34 Internet Model

35 Protocols A protocol is a set of rules of communication.
Protocols are the building blocks of a network architecture. Term “protocol” is overloaded specification of peer-to-peer interface module that implements this interface

36 Network Programming A network allows arbitrary applications to communicate. However, a network programmer doesn’t need to know the details of all lower-level network technologies. Network facilities are accessed through an Application Programming Interface (API); e.g., a Service Interface.

37 Basic Paradigm for Communication
Most network applications can be divided into two pieces: a client and a server. A Web browser (a client) communicate with a Web server. A Telnet client that we use to log in to a remote host. A user who needs access to data located at remote server.

38 Basic Paradigm for Communication
Establish contact (connection). Exchange information (bi-directional). Terminate contact.

39 Client-Server Paradigm
Server waits for client to request a connection. Client contacts server to establish a connection. Client sends request. Server sends reply. Client and/or server terminate connection.

40 Two types of Communication
Connection-oriented Setup the link before communication. Similar to the phone call. We need the phone number and receiver. Connectionless No link needed to be set up before communication. Similar to send a letter. We need the address and receiver.

41 TCP and UDP TCP (Transmission Control Protocol) is a connection-oriented protocol. UDP (User Datagram Protocol) is connectionless (UDP) protocol.

42 Identifying the ultimate destination
Ports Identifying the ultimate destination IP addresses identify hosts Host has many applications Ports (16-bit identifier) Ports are analogous to phone extensions from main switchboard Application WWW Telnet Port

43 Sockets A socket is defined as an endpoint for communication.
Concatenation of IP address and port A socket pair (local IP address, local port, foreign IP address, foreign port) uniquely identifies a communication. The socket :1625 refers to port 1625 on host

44 Sockets

45 Sockets and Ports message agreed port any port socket
Internet address = Internet address = other ports client server

46 TCP Socket Bind() binds the socket to the specified address. The address parameter specifies the local component of the address, e.g. IP address and UDP/TCP port

47 UDP Socket

48 Types of Sockets A stream socket uses TCP for connection-oriented communication. It is also called a TCP socket. A datagram socket uses UDP for connectionless communication. It is also called a UDP socket. A raw socket uses IP directly. It is used in such applications as in ICMP protocol

49 Steps in creating Clients in Java
What is the difference between String and BufferedReader?

50 Steps in creating Clients in Java

51

52

53

54

55


Download ppt "Advanced Programming Rabie A. Ramadan."

Similar presentations


Ads by Google