Internetworking End-to-End Requirements Essay

– Hence such characteristics as: performance, reliability, scalability, mobility, and QoS of DS are impacted by the underlying network technology and the OS ? Principles of computer networking – Every network has: ? An architecture or layers of protocols ? Packet switching for communication ? Route selection and data streaming ? Comm Subsystems (network technologies rest on): – Transmission media: wires, cables, fiber, wireless (sat, IR, RF, mwave) – Hardware devices: routers, switches, bridges, hubs, repeaters, network interfaces/card/transceivers. – Software components: protocol stacks, comm handlers/drivers, OS primitives, network-focus APIs ? Hosts – The computers and end-devices that use the comm subsystem – Subnet: A single cluster or collection of nodes, which reach each other on the same physical medium and capable of routing outgoing and incoming messages – The Internet is a collection of several subnets (or intranets) ? Networking issues for distributed systems – Initial requirements for DS applications: ftp, rlogin, email, newsgroup – Subsequent generation of DS applics. : on-line shared resources. – Current requirements: performance, reliability, scalability, mobility, security, QoS, multicasting ? Performance – Key: time to deliver unit(s) of messages between a pair of interconnected computers/devices – point-to-point latency (delay) from sending out of outgoing-buffer and receiving into incoming-buffer. Usually due to software overheads, traffic load, and path selection – Data transfer/bit rate: speed of data transfer between 2 computers (bps). Usually due to physical properties of the medium. ? Message trans time = latency + length/bit-rate ? Bandwidth vs. bit-rate. – The total system bandwidth (volume of data sent and received in a unit time, e. g. , per sec. ) is a measure of its throughput – Bit rate or transfer rate is restricted to the medium’s ability to propagate individual bits/signals in a unit time – In most LANs, e. g. , Ethernet’s, when full transmission capacity is devoted to messaging (with little or no latency), then bandwidth and bit-rate are same in measure – Local memory vs network resources: ? Applications access to shared resources on same network usually under msec ? Applications access to local memory usually under msec (1000x faster)? However, for high speed network web-server, with caches, the access time is much faster (than local disk access due to hard disk latency) ? Scalability (Internet and DSs) – Future growth of computing nodes of Internet (hosts, switches) in 109’s (100’s of 106 hosts alone) – Requires substantial changes to routing and addressing schemes (more later! ) – Current traffic (load) on Internet approx. measured by the latencies (see www. mids. org), which seem to have reduced (with advances in medium and protocol types). – Future growth and sustainability depend on economies of use, charge rate, locality/placement of shared resource? Reliability – Failures are typically, not due to the physical medium, but at the end-end (at host levels) software (application-level), therefore, error detection/correction is at the level – Suggesting that the communication subsystem need not be error-free (made transparent/hidden to user) because reliability is somewhat guaranteed at the send/receiver ends (where errors may be caused by, e. g. , buffer overflow, clock drifts causing premature timeouts) ? Security – Most intranets are protected from external (Internet-wide) DSs by firewall. – A firewall protects all the resources of an organized from unlawful/malicious access by external users, and control/monitoring of use of resources outside the firewall – A firewall (bundle of security software and network hardware) runs on a gateway – the entry/exit point of the corporate intranet – A firewall is usually configured based on corporate security policy, and filters incoming and outgoing messages. – To go beyond firewalls, and grant access to world- or Internet-wide resources, end-to-end authentication, privacy, and security (Standards) are needed to allow DSs to function – E. g., techniques are Cryptographic and Authentication – usually implemented at a level above the communication subsystem – Virtual Private Network (VPN) security concept allows intranet-level protection of such features/devices as local routers and secure links to mobile devices ? Mobility – Need wireless to support portable computers and hand-held devices – Wireless links are susceptible to, e. g. , eavesdropping, distortions in medium, out-of-sight/range transmitters/receivers – Current addressing and routing schemes are based on ‘wired’ technologies, which have been adapted and, therefore, not perfect and need extensions? QoS (Quality of Service) – Meeting deadlines and user requirements in transmitting/processing streams of real-time multimedia data – E. g. , QoS requirements: guaranteed bandwidth, timely delivery or bounded latencies, or dynamic readjustments to requirements ? Multicasting – Most transmissions are point-to-point, but several involve one-to-many (either one-to-all – broadcast or selective broadcast – multicast) – Simply sending the same message from one node to several destinations is inefficient – Multicasting technique allows single transmission to multiple destination (simultaneously) by using special addressing scheme 3. Multimedia Transmission and Internetworking Heterogeneous Systems ? Types of Networks – LANs: (confined to smaller, typically, 2. 5km diameter spread) ? higher speed, single medium for interconnection (twisted pair, coax, opt), no routing within ‘segments’ – all point-to-point (from hub), inter-segment connections via switches/hubs, low latency, low error rate ? E. g. , Ethernet, token ring, slotted ring protocols, wired. (1) Ethernet: 1970 with bandwidth of 10Mbps, with extended versions of 100/1000Mbps, lacking latency and bandwidth QoS for DSs: (2) ATM – using frame cells and optical fills the gap but expensive for LAN, newer high-speed Ethernets offer improvement and cost-effective – MANs: (confined to extended, regional area, typically, up to 50km spread) ? Based on high-bandwidth copper and fiber optics for multimedia (audio/video/voice), ? E. g. , technologies: ATM, high-speed Ethernet (IEEE 802. 6 – protocols for MANs), DSL (digital subscriber line) using ATM switches to switch digitized voice over twisted pair @ 0. 25-6Mbps within 1. 5km, cable modem uses coax @ 1. 5Mpbs using analog signaling on TV networks and longer distances than DSL – WANs: (worldwide, lower speeds over sets of varying types of circuits with routers) ? High latency (due to switching and route searching) between 0. 1-0. 5s, signaling speed around 3x105km/s (bounds latency) plus propagation delay (round-trip) of about 0. 2s if using satellite/geostationary dishes; generally slower at 10-100kbps or best 1-2Mbps – Wireless: (connecting portable, wearable devices using access points) ? Common protocol – IEEE 802. 11 (a, b, and now g) (WaveLAN) @ 2-11Mbps (11g’s bandwidth near 54Mbps) over 150m creating a WLANs, some mobiles connected to fixed devices – printers, servers, palmtops to create a WPANs (wireless personal area networks) using IR links or low-powered Bluetooth radio network tech @ 1-2Mbps over 10m. ? Most mobile cell phones use Bluetooth tech. e. g. , European GSM standard and US, mostly, analog-based AMP cellular radio network, atop by CDPD – cellular digital packet data communication system, operating over wider areas at lower speed 9. 6-19. 2kbps.? Tiny screens of mobiles and wearables require a new WAP protocol – Internetworks ? Building open, extendible system for DSs, supporting network heterogeneity, multi-protocol system involving LANs, MANs, WLANs, connected by routers and gateways with layers of software for data and protocol conversions – creating a ‘virtual network’ using underlying physical networks ? E. g. , the Internet using TCP/IP (over several other physical protocols) – Comparisons ? Range of performance characteristics: ? Frequency and types of failures, when used for DS applics? Packet delivery/loss, duplicates (masked at TCP level to guarantee some reliability and transparency to DSs; but may use UDP – faster but less reliable and DS applic’s responsibility to guarantee reliability) Diagram 3. 2 Network Principles • Packet Transmission • Packet transmission superseded telephone/telegraph switched network • Messages are packetized and packets are queued, buffered (in local storage), and transmitted when lines are available using asynchronous transmission protocol • Data Streaming • Multimedia data can’t be packetized due to unpredicted delays. AV data are streamed at higher frequency and bandwidth at continuous flow rate • Delivery of multimedia data to its destination is time-critical / low latency – requiring end-to-end predefined route • E. g. networks: ATM, IPv6 (next generation – will separate ‘steamed’ IP packets at network layer; and use RSVP (resource reserv. protocol) resource/bandwidth prealloc and RTP play-time/time-reqs (real-time transp protocol) at layers 3 & 1, respectively) to work ? Switching Schemes – 4 Kinds of switching methods typically used. – Broadcast – no switching logic, all nodes ‘see’ signals on circuits/cells (e.g. , Ethernet, wireless networks) – Circuit Switching – Interconnected segments of circuits via switches/exchange boxes, e. g. , POTS (Plain Old Telephone System) – Packet Switching – Developed as computing tech advanced with processors and storage spaces using store-and-forward algorithms and computers as switches. Packets are not sent instantaneously, routed on different links, reordered, may be lost, high latency (few msec – msecs). Extension to switch audio/video data brought integration of ‘digitized’ data for computer comm. , telephone services, TV, and radio broadcasting, teleconferencing. – Frame Relay – PS (not instantaneous, just an illusion! ), but FR, which integrates CS and PS techniques, streams smaller packets (53 byte-cells called frames) as bits at processing nodes. E. g. , ATM – Protocols – – Protocols – implemented as pairs of software modules in send/receive nodes, – Specify the sequence of messages for transmission – Specify the format of the data in the messages – Protocols Layers – layered architecture, following the OSI suite – packets are communicated as peer-to-peer transmission but effected vertically across layers by encapsulation method over a physical medium Protocols Suites – The 7-layered architecture of the ISO-OSI • Each layer provides service to the layer above it and extends the service provided by the layer below it • A complete set of protocol layers constitute a suite or stack • Layering simplifies and generalizes the software interface definitions, but costly overhead due to encapsulations and protocol conversions Diagram 3. 3 4. Service Provider Management On the Internet, a management service provider (MSP) is a company that manages information technology services for other companies. For example, a company could hire an MSP to configure and administer its business computers and related systems on a continuing basis, saving the company. An MSP is a service provider that offers system and network management tools and expertise. An MSP typically has its own data center that runs advanced network management software such as HP OpenView or Tivoli. It uses these tools to actively monitor and provide reports on aspects of its customer’s networks, including communication links, network bandwidth, servers, and so on. The MSP may host the customer’s Web servers and application servers at its own site. The services provided by MSPs have been called “Web telemetry” services. The MSP Association defines MSPs as follows: Management Service Providers deliver information technology (IT) infrastructure management services to multiple customers over a network on a subscription basis. Like Application Service Providers (ASPs), Management Service Providers deliver services via networks that are billed to their clients on a recurring fee basis. Unlike ASPs, which deliver business applications to end users, MSPs deliver system management services to IT departments and other customers who manage their own technology assets. TriActive is an example of an MSP. It provides management and monitoring of PCs, servers, networks, and Web sites from its own NOC (network operations center), which is hosted by Exodus Communications. Exodus ensures that the NOC has fully redundant power, network connectivity, routing, and switching to ensure maximum reliability and integrity. A “microagent” interacts with customer systems to provide system management. The agent is lightweight and designed for use over the Internet. It acts as a universal agent invoking and managing other agents and programs as required for specific actions. The service is delivered via the Web through a secure Internet portal that lets customers view management information, based on their role in the organization. For example, CIOs can view overall management information while help desk technicians can check call queues, escalations, and open ticket status. Systems analysts can conduct asset inventories and view virus reporting. Objective Systems Integrators is another management service provider that provides software solutions for unified network, service application, and process management. OSI was recently acquired by Agilent Technologies. A list of other MSPs may be found at the MSP Association Web site. Web application and infrastructure monitoring and management have suddenly become critical, yet the tools to do them are lacking. Management service providers (MSP), the latest addition to the current slew of service providers, claim to offer products and services that will oversee your Web operations. Companies staking claims as early MSPs include Candle Corp. in Santa Monica, Calif. ; InteQ Corp. in Burlington, Mass. ; and Nuclio Corp. in Skokie, Ill. What makes MSPs distinctive is that their products and services are provided over the Internet on a subscription basis. That means “MSPs can achieve economies of scale that companies who license software cannot,” says Christopher Booth, head of technical operations at FreightWise Inc. , a Forth Worth, Texas-based online transportation exchange. Though he declined to say how much his company is paying to use Nuclio’s MSP, Booth did say that the service has been “very advantageous. ” The cost savings that MSPs can pass on may help them catch on with corporate customers. Gartner Group Inc. in Stamford, Conn., estimates that the $90 million MSP market will balloon to more than $3. 25 billion by 2005. 5. Programmable/Cognitive Networks A key strength of the Internet has been to reduce the intelligence within the network to that required placed at strategic places within the network such as at administrative boundaries, or at locations where there is a large mismatch between bandwidth, or where the certain location specific services can be used. Others believe that the entire architecture should be rethought as a computational environment, in which everything can be programmed, and the entire network becomes active. The research in this area is aimed at discovering how viable it is to open up such elements of the communications architecture as the routing table. A fundamental question raised by both the active service and the active network approaches is how to ensure that the shared resource of the network remains safe and is protected from misbehaving programs. Programs can abuse the network by generating packet explosions and can abuse the shared processor by using all the memory and the processor cycles. Worse, they may subvert the working of correct programs so that they too break. If network programmability is going to be available to the application designers, we need to ensure that they do not break things by accident, let alone by intention. Traditional systems approaches to protection are based upon what a program should be able to do, then using runtime checks to ensure that the program doesn’t exceed these bounds. This leads to the sandbox model of protection, as used in Java and enhanced to provide protection for Active Networks. However, there are major problems with this approach. First, each runtime check reduces the performance of the system, increasing the overhead of each use of system resources. Second, it is very difficult to ensure that the protection mechanisms are correct, and cannot be subverted in any way. An alternative approach is to use compile time checks upon what the program is doing. This uses the type system to represent predicates about program functionality and if a program is well-typed, then it proves the program to obey the policies implemented in the type system. This approach has been used to allow users to run programs within the kernel as in Spin, and in protecting access to router functionality in the Switchware project. • To provide a network programming language based on Internet `best effort’ communication. • To provide scaleable high-level communication based on `remote spawn’ from which other communication can be built. • To make use of types as safety properties, to ensure that the safety and security policies of the network are maintained. • To rapidly prototype tools such as compilers and simulators in order to drive the development of the language by examples. Best-effort distributed programming In the Internet, an application transmits a packet, which is sent to the next router on the way to the destination. At this router, the arrival of the packet causes code to run, which calls other code dependent upon the fields in the header of the packet. This code may access and modify local state stored in the router and then copy or create one or more packets to be sent out from the router. These packets are then routed on output links depending upon the destination for each packet, and so on until the packets reach their destination, or are destroyed within the network for whatever reason. In our programming model, we have attempted to replicate this basic structure of packet transmission. In the Internet, the arrival of a packet initiates some thread of control which uses the data within the packet to decide upon the disposition of the packet. In our model, a packet becomes a thread of control, carrying the code to be run and the names or values of any data referenced within that code. When a thread arrives at a Safetynet-aware router or end system, the thread code is instantiated within the runtime and runs within a de_ned scheduling class. The thread of control may call other code to be run on its behalf. The other code is encapsulated within classes, which are either present in the router, or are dynamically loaded from elsewhere. Threads can spawn other threads, either locally or on the next hop to some destination. 6. Design of review an Internetwork We will discuss about the networking especially the internetworking. In this case we will need to discuss some topics related with the Internet Infrastructure, Internet routing, domain name and address resolution, internet protocol and the applications. Internet Infrastructure: The Internet backbone is made up of many large networks which interconnect with each other. These large networks are known as Network Service Providers or Naps. Some of the large Naps are UUNet, Cerf Net, IBM, BBN Planet, Sprint Net, PSINet, as well as others. These networks peer with each other to exchange packet traffic. Each NSP is required to connect to three Network Access Points or NAPs. At the NAPs, packet traffic may jump from one NSP’s backbone to another NSP’s backbone. NSPs also interconnect at Metropolitan Area Exchanges or MAEs. MAEs serve the same purpose as the NAPs but are privately owned. NAPs were the original Internet interconnects points. Both NAPs and MAEs are referred to as Internet Exchange Points or IXs. NSPs also sell bandwidth to smaller networks, such as ISPs and smaller bandwidth providers. Below is a picture showing this hierarchical infrastructure. Diagram 4 This is not a true representation of an actual piece of the Internet. Diagram 4 is only meant to demonstrate how the NSPs could interconnect with each other and smaller ISPs. None of the physical network components are shown in Diagram 4 as they are in Diagram 3. This is because a single NSP’s backbone infrastructure is a complex drawing by itself. Most NSPs publish maps of their network infrastructure on their web sites and can be found easily. To draw an actual map of the Internet would be nearly impossible due to its size, complexity, and ever-changing structure. The Internet Routing Working: It is general phenomenon that No computer knows where any of the other computers are, and packets do not get sent to every computer. The information used to get packets to their destinations is contained in routing tables kept by each router connected to the Internet. The Routers are called the packet switches. A router is usually connected between networks to route packets between them. Each router knows about its sub-networks and which IP addresses they use. The router usually doesn’t know what IP addresses are ‘above’ it. Examine Diagram 5 below. The black boxes connecting the backbones are routers. The larger NSP backbones at the top are connected at a NAP. Under them are several sub-networks, and under them, more sub-networks. At the bottom are two local area networks with computers attached. Diagram 5 When a packet arrives at a router, the router examines the IP address put there by the IP protocol layer on the originating computer. The router checks its routing table. If the network containing the IP address is found, the packet is sent to that network. If the network containing the IP address is not found, then the router sends the packet on a default route, usually up the backbone hierarchy to the next router. Hopefully the next router will know where to send the packet. If it does not, again the packet is routed upwards until it reaches a NSP backbone. The routers connected to the NSP backbones hold the largest routing tables and here the packet will be routed to the correct backbone, where it will begin its journey ‘downward’ through smaller and smaller networks until it finds its destination. Domain Names and Address Resolution. But what if you don’t know the IP address of the computer you want to connect to? What if the you need to access a web server referred to as www. anothercomputer. com? How does your web browser know where on the Internet this computer lives? The answer to all these questions is the Domain Name Service or DNS. The DNS is a distributed database which keeps track of computer’s names and their corresponding IP addresses on the Internet. Many computers connected to the Internet host part of the DNS database and the software that allows others to access it. These computers are known as DNS servers. No DNS server contains the entire database; they only contain a subset of it. If a DNS server does not contain the domain name requested by another computer, the DNS server re-directs the requesting computer to another DNS server. Diagram 6 The Domain Name Service is structured as a hierarchy similar to the IP routing hierarchy. The computer requesting a name resolution will be re-directed ‘up’ the hierarchy until a DNS server is found that can resolve the domain name in the request. Figure 6 illustrates a portion of the hierarchy. At the top of the tree are the domain roots. Some of the older, more common domains are seen near the top. What is not shown are the multitude of DNS servers around the world which form the rest of the hierarchy? When an Internet connection is setup (e. g. for a LAN or Dial-Up Networking in Windows), one primary and one or more secondary DNS servers are usually specified as part of the installation. This way, any Internet applications that need domain name resolution will be able to function correctly. For example, when you enter a web address into your web browser, the browser first connects to your primary DNS server. After obtaining the IP address for the domain name you entered, the browser then connects to the target computer and requests the web page you wanted. The Disable DNS in Windows If you’re using Windows 95/NT and access the Internet, you may view your DNS server(s) and even disable them. If you use Dial-Up Networking: Open your Dial-Up Networking window (which can be found in Windows Explorer under your CD-ROM drive and above Network Neighborhood). Right click on your Internet connection and click Properties. Near the bottom of the connection properties window press the TCP/IP Settings… button. If you have a permanent connection to the Internet: Right click on Network Neighborhood and click Properties. Click TCP/IP Properties. Select the DNS Configuration tab at the top. You should now be looking at your DNS servers’ IP addresses. Here you may disable DNS or set your DNS servers to 0. 0. 0. 0. (Write down your DNS servers’ IP addresses first. You will probably have to restart Windows as well. ) Now enter an address into your web browser. The browser won’t be able to resolve the domain name and you will probably get a nasty dialog box explaining that a DNS server couldn’t be found. However, if you enter the corresponding IP address instead of the domain name, the browser will be able to retrieve the desired web page. (Use ping to get the IP address prior to disabling DNS. ) Other Microsoft operating systems are similar. Internet protocols: As hinted to earlier in the section about protocol stacks, one may surmise that there are many protocols that are used on the Internet. This is true; there are many communication protocols required for the Internet to function. These include the TCP and IP protocols, routing protocols, medium access control protocols, application level protocols, etc. The following sections describe some of the more important and commonly used protocols on the Internet. Higher-level protocols are discussed first, followed by lower level protocols. Application Protocols: HTTP and the World Wide Web One of the most commonly used services on the Internet is the World Wide Web (WWW). The application protocol that makes the web work is Hypertext Transfer Protocol or HTTP. Do not confuse this with the Hypertext Markup Language (HTML). HTML is the language used to write web pages. HTTP is the protocol that web browsers and web servers use to communicate with each other over the Internet. It is an application level protocol because it sits on top of the TCP layer in the protocol stack and is used by specific applications to talk to one another. In this case the applications are web browsers and web servers. HTTP is a connectionless text based protocol. Clients (web browsers) send requests to web servers for web elements such as web pages and images. After the request is serviced by a server, the connection between client and server across the Internet is disconnected. A new connection must be made for each request. Most protocols are connection oriented. This means that the two computers communicating with each other keep the connection open over the Internet. HTTP does not however. Before an HTTP request can be made by a client, a new connection must be made to the server. When you type a URL into a web browser, this is what happens: If the URL contains a domain name, the browser first connects to a domain name server and retrieves the corresponding IP address for the web server. The web browser connects to the web server and sends an HTTP request (via the protocol stack) for the desired web page. The web server receives the request and checks for the desired page. If the page exists, the web server sends it. If the server cannot find the requested page, it will send an HTTP 404 error message. (404 mean ‘Page Not Found’ as anyone who has surfed the web probably knows. ) The web browser receives the page back and the connection is closed. The browser then parses through the page and looks for other page elements it needs to complete the web page. These usually include images, applets, etc. For each element needed, the browser makes additional connections and HTTP requests to the server for each element. When the browser has finished loading all images, applets, etc.the page will be completely loaded in the browser window. Retrieving a Web Page Using HTTP: Telnet is a remote terminal service used on the Internet. Its use has declined lately, but it is a very useful tool to study the Internet. In Windows find the default telnet program. It may be located in the Windows directory named telnet. exe. When opened, pull down the Terminal menu and select Preferences. In the preferences window, check Local Echo. (This is so you can see your HTTP request when you type it. ) Now pull down the Connection menu and select Remote System. Enter www. google. com for the Host Name and 80 for the Port. (Web servers usually listen on port 80 by default. ) Press Connect. Now type GET / HTTP/1. 0 And press Enter twice. This is a simple HTTP request to a web server for its root page. You should see a web page flash by and then a dialog box should pop up to tell you the connection was lost. If you’d like to save the retrieved page, turn on logging in the Telnet program. You may then browse through the web page and see the HTML that was used to write it. Most Internet protocols are specified by Internet documents known as a Request for Comments or RFCs. RFCs may be found at several locations on the Internet. See the Resources section below for appropriate URL’s. HTTP version 1. 0 is specified by RFC 1945. Application Protocols: SMTP and Electronic Mail: Another commonly used Internet service is electronic mail. E-mail uses an application level protocol called Simple Mail Transfer Protocol or SMTP. SMTP is also a text-based protocol, but unlike HTTP, SMTP is connection oriented. SMTP is also more complicated than HTTP. There are many more commands and considerations in SMTP than there are in HTTP. When you open your mail client to read your e-mail, this is what typically happens: The mail client (Netscape Mail, Lotus Notes, Microsoft Outlook, etc.) opens a connection to its default mail server. The mail server’s IP address or domain name is typically setup when the mail client is installed. The mail server will always transmit the first message to identify itself. The client will send an SMTP HELO command to which the server will respond with a 250 OK message. Depending on whether the client is checking mail, sending mail, etc. the appropriate SMTP commands will be sent to the server, which will respond accordingly. This request/response transaction will continue until the client sends an SMTP QUIT command. The server will then say goodbye and the connection will be closed. Transmission Control Protocol: Under the application layer in the protocol stack is the TCP layer. When applications open a connection to another computer on the Internet, the messages they send (using a specific application layer protocol) get passed down the stack to the TCP layer. TCP is responsible for routing application protocols to the correct application on the destination computer. To accomplish this, port numbers are used. Ports can be thought of as separate channels on each computer. For example, you can surf the web while reading e-mail. This is because these two applications (the web browser and the mail clien.


We started with just two employees, working out of a small room. All these years later, we have over 40 employees, but our passion and dedication remain strong. Working with us, you will find we still stay true to our roots.


"This is sample testimonial from a sample source." -- Sample Client, Location

"This is another sample testimonial from another sample source." -- Sample Client, Location