COE 158: Introduction to IT PDF
Document Details
Uploaded by TopsSanDiego
Kwame Nkrumah University of Science and Technology
Tags
Summary
This document is a lecture outline for COE 158: Introduction to IT, focusing on computer networks, network software, and the internet. It covers topics such as networks at a hardware and logical level, network protocols, and network software.
Full Transcript
COE 158: Introduction to IT Networks, Network Software and the Internet. Lecture Outline Network at a Hardware Level Networks at a Logical Level Network Protocols Network Software The Internet How the internet works Brief history about the Internet Computer Networks A com...
COE 158: Introduction to IT Networks, Network Software and the Internet. Lecture Outline Network at a Hardware Level Networks at a Logical Level Network Protocols Network Software The Internet How the internet works Brief history about the Internet Computer Networks A computer network is a collection of computers and computer resources connected together to permit communication between resources Resources include PCs, laptops, servers, mainframes Printers File servers Network broadcast devices Computer networks permit resource sharing, data sharing, easy communication, e-commerce, telecommuting (also sources of entertainment, etc) Computer costs: administration and security, cost in lost labor (due to distractions), attacks on the network (denial of service, sabotage/viruses, etc) Some Terminology Host – a compute that can be logged into over network Local – the computer that the user is on (physically) Remote – the computer being accessed over the network Server – a type of computer that offers a service to remote computers on request Client – the remote computer making requests Bandwidth – the amount of data that can be transmitted over a unit of time, such as bits per second – indicates to some extent network communication efficiency Modulation – translating a digital signal to an analog signal (used to send information over analog media like a telephone line) Demodulation – translating analog back to digital Network Hardware The network itself Typically some form of cable twisted wire – low bandwidth, old, but cheap coaxial fiber optic – highest bandwidth, data transmitted as light pulses May also utilize wireless, radio, microwave or signals bounced off of satellites in orbit Broadcast devices Used to connect resources together to handle message routing MODEM Modulation/demodulation – devices that permit computers to communicate over an analog medium Communicating by Network Typically, a network consists of multiple nodes nodes are different forms of broadcast devices a device connected to a network with a network address - end point of a network Switching is used for a message (packet) to be moved from one location to another Circuit switched network - pathway between two devices established at the start of communication and remains that way throughout entire communication (telephone network is circuit switched) Packet switched network - pathway established as messages is sent from one location to another (most computer networks are packet switched) Broadcast Devices Hub – passes incoming message to all devices connected to it Switch – uses network address to pass incoming message onto one destination computer Router – connects multiple networks together, uses destination address to pass message onto the next pathway in the network Gateway – connects multiple networks of different types together – can translate a message from one protocol to another A hub (switches, routers and gateways will all have similar appearances) Broadcast Devices Rack mounted network switches connecting computers in a local area network In a hub (upper left), message sent to all devices In a switch (lower left), message sent to one destination In a router, (right) message routed to the proper network switch/hub MODEMs and Phone Lines Before broadband Internet, most home computer users accessed computer networks via a MODEM and their phone lines MODEM translates digital signals into tones (analog signal) to be broadcast over the phone lines Insert telephone handset into MODEM cradle – computer connects to MODEM MODEMs and Phone Lines Network Topologies Computer networks can be organized using a variety of layouts These topologies describe how computers are connected together on the left below, top-down, bus, star, ring, mesh on the right, forms of nearest neighbor – 1 D, 2 D, tree, 3D Bus Topology Bus – computers connect via “t” connector to a line that connects all computers In essence, the network is one long cable Cheap network but not efficient if multiple computers attempt to use the bus at the same time, there is a collision and the computers must wait to try again Star Topology All computers connect to a centralized point A hub, switch, router or even a dedicated computer used as a “switching point” More expensive although does not have to deal with the message contention of the bus (unless the central point becomes a bottleneck) Two star networks connected together with a “crossover” cable Ring Topology In the ring network, each computer directly connects to two other computers A form of nearest neighbor The network is cheap but the time it takes to communicate with other computers depends on The size of the network The distance between the two computers in terms of the number of intervening computers The ring was a direct competitor with the bus network when computer networks were more expensive For large networks, the ring is cheap but not very practical Mesh Topology A mesh is also known as a full connected network Requires point-to-point connections between each device Not practical for any large network because of the number of connections Assume n devices, this requires (n-1)2 connections In addition, each device must have n-1 physical ports available to connect to each device Mesh networks, if used, are typically used to connect processors together in a parallel processing computer Expensive but performance is not impacted by message contention Classifying Networks by Size PAN – personal area network found in many households, connects no more than a few devices together LAN – local area network connects computers together in a room or floor of a building, LANs can be combined to create larger LANs CAN – campus area network collection of LANs that make up some organization’s site MAN – metropolitan area network collection of LANs and other forms of connectivity to provide a network within one metropolitan area WAN – wide area network anything larger, the Internet is the largest WAN Other Network Classifications VPN – virtual private network Permitting secure off-site access to LAN Allows users of network to access network resources remotely Intranet – local area network that uses IP (Internet Protocol) so LAN supports Internet Extranet – extending an intranet to permit remote access The VPN is a form of extranet that uses encryption technology Peer-to-peer vs client-server is a model of communication Peer-to-peer – no central server, all devices equal Client-server – some devices are services, some are clients Ethernet A physical level implementation of a LAN Can use either twisted wire or fiber optic cable Ethernet repeaters 48-bit MAC (media access control) addressing Error handling mechanisms CSMA/CD (see next slide) Produced by 3Com in 1980 Originally implemented using the bus topology but also supports the star topology Theoretical bandwidth of 10 Mbps made it very popular, today its upper bandwidth is 100 Gbps CSMA/CD Carrier Sense Multiple Access with Collision Detection Device senses media for message traffic If none found, device places message onto media Device continues to sense for message traffic if another device uses network, the message over the network would not match the device’s transmitted information, thus a collision is detected Upon collision detection, sending device(s) sends out a jam signal to prevent other devices from using network Device(s) wait a random amount of time before trying again Network Protocols A protocol is a set of rules to govern how people behave and interact This might be diplomacy, etiquette, means of communication A network protocol is a set of rules that govern how messages can be converted from their application software form to a form that can be transmitted over network And mapped back from the messages received over network to a message for an application A protocol can include Forms of addressing Size of messages (packets) Error handling mechanisms and encryption OSI Model The Open Systems Interconnection model was generated to provide network developers with a target OSI is not any particular protocol, but it describes what all network protocols should include An implementer of a network is free to add mechanisms to the OSI model but should try to fit the model The OSI model consists of 7 layers Existing networks have numerous implementations for the 7 layers TCP/IP (which we examine later) is an older model that has some overlap with OSI, but OSI being newer has ideas that are not found in TCP/IP 7 Layers at a Glance Layers 7-5 operate at the message level That is, treating the message as a whole Layer 4 breaks messages into “segments” such as packets Layers 3-1 operate at the network layer Layer 1 involves the physical network Layers 7-5 Layer 7: Application layer From the application software, a message is created telnet, ftp, email, http all operate at this level Layer 6: Presentation layer Translate message into a common syntax such as stripping out the hierarchical notation of XML or removing special characters such as \0 in C programs Encryption, if used, is applied here SSL, TLS, MIME among others implement layer 6 Layer 5: Session layer Maintains session between two devices NetBIOS, SAP, PPTP, SOCKS Layer 4: Transport Layer Divide message into segments Implement reliability by error correction for instance, through a checksum stamp each segment, for instance, 4 of 7 Implement control flow if two devices communicate at different rates (speeds), handle it here Many implementations including tcp, udp, sctp Layer 3: Network Layer Addressing takes place here Messages at this level are variable length add or utilize host and destination addresses here such as IP addresses messages are further broken into packets a message might consist of a single packet or hundreds depending upon the length of the message If segments from layer 4 are not already packets, packets are formed here IP, AppletTalk, IPX, ICMP, ARP Routers operate at layer 3 Layer 2: Data Link Layer Messages on the same network are transmitted at this layer they do not need to involve layer 3 Packets are broken into frames for synchronization (start bits) Two sublayers logical link control sublayer for multiplexing media access control sublayer to use MAC addresses Many implementations including IEEE 802.2, IEEE 802.3, PPP, X-25, ATM switches operate at this layer Layer 1: Physical Layer How devices communicate over the media Includes details of voltage, modulation/demodulation How to establish and terminate connections, how to detect message traffic and resolve it IEE 802.3, IEEE 802.11, Bluetooth, USB, hubs Packets are placed on the media for transmission at this layer (or received from the media) Ethernet is implemented at both layers 1 and 2 OSI Mapping Notice how headers are affixed at each layer except for layer 1 TCP/IP TCP/IP is known as a protocol stack Although TCP and IP are protocols themselves, there are other protocols that can operate in conjunction with them TCP and IP were developed separately but united to help develop the Internet TCP handles the higher layers and IP handles the lower layers TCP/IP has 4 layers These 4 map roughly onto the 7 layers of OSI with some missing components TCP Application layer: similar to OSI’s layers 7-6 Messages are taken from applications Handles different communication protocols such as ftp, smtp, http libraries are available to handle the different types of protocols Transport layer: similar to OSI’s layer 4 Two forms of data streams, TCP and UDP (see next slide) This layer has mechanisms to maintain a session with the remote computer, similar to OSI’s layer 5 TCP vs UDP Two forms of data packets Transmission control protocol uses sequence numbering (e.g., 4 of 7) contains acknowledgement information for network handshaking and control flags User datagram protocol foregoes reliability information making the packets more concise UDP is used primarily when guaranteed delivery is less important than speed For instance, TCP will be used for email and web pages while UDP will be used for streaming audio and video and for DNS and DHCP Comparing the Packets TCP UDP IP Internet layer: similar to OSI’s layer 3 Responsible for sending packets from one network to another routers operate at this level Addressing takes place here using IP addresses IPv4 – 32 bits (4 octets of 8 bits each, or 4 numbers from 0-255) such as 127.31.49.6, provides 232 different addresses (over 4 billion) but not all addresses are used leading to a situation where we have run out of addresses! IPv6 – 128 bits (64 bit network address for routing, 64 bit interface number), provides 2128 different addresses Link layer: similar to OSI’s layers 1 & 2 Performs all services related to the physical network hubs, switches and the physical network operate at this level IPv4 Network Classes This is a way to assign IP addresses based on class Class A network has millions of individual addresses Class C networks have 256 individual addresses but there are millions of class C networks Although obsolete today, network classes still exist TCP/IP Mapping TCP/IP Handshaking A network handshake involves Source computer requesting communication with destination computer Destination computer acknowledging In TCP/IP, there is a three-way handshake Machine 1 sends synchronization packet (SYN) Machine 2 replies with synchronization and acknowledgement packet (SYN/ ACK) Machine 1 confirms with acknowledgement (ACK) examine the TCP packet (slide 36), there is an entry for acknowledgement number to support the TCP/IP handshake TCP/IP Ports Aside from IP addresses, messages are sent using a port address The address is used to specify the type of message This in turn specifies how the message is expected to be handled in terms of application software or server Most software have officially designated port addresses This helps with security ftp (20), ssh (22), telnet (23), smtp (25), http (80, 8080), https (431) Network Address Translation Converting external IP address to internal IP address Basic NAT – one-to-one mapping, hides internal IP addresses, also used when two networks have incompatible addresses Many-to-one – used so that a single external IP address can be converted into many internal addresses when organizations have fewer IP addresses available than devices provides anonymity in that internal addresses are “hidden” also called IP Masquerading or NAT overload NAT requires converting message header (which then requires computing a new checksum) Network Software Telnet/ssh – log in to remote computer Need an account telnet not secure, ssh is by using encryption R-utilities like rlogin – for a network of Unix computers that share authentication so that you don’t have to log in Ping – send packets to remote machine – used to determine if remote machine is accessible and to gage efficiency of network Traceroute – like ping, but respond with addresses of all intervening network nodes reached (usually routers) HTTP – the hypertext transfer protocol, basis for web browser communication FTP – file transfer protocol, older form of transferring files prior to HTTP anonymous logins available to permit access to public ftp areas IP Aliases vs IP Addresses Because IP addresses are hard to remember We tend to use IP aliases for http, ftp, ssh, etc Routers use IP addresses We need a way to map from aliases to addresses We use the domain name system for this DNS servers are available on the Internet to perform the mapping a local DNS server will know enough to contact other DNS servers to obtain proper mapping Programs that perform mapping include nslookup, host, dig Linux Network Handling Start the network service /sbin/service network start (or restart) Obtain IP address and routing table information Done when the service starts You can view this information using the ip program (newer), or ifconfig and route programs (older) Important Linux network files /etc/hosts – IP alias to address mapping for commonly accessed machines (allows you to skip DNS step) /etc/resolv.conf – location of your local DNS servers /etc/sysconfig/network-scripts – location of network information and scripts /etc/hosts.allow and /etc/hosts.deny – IP addresses of computers allowed or disallowed access Network Security Firewall A program that contains a set of rules Incoming (and outgoing) messages are examined against the rules to be permitted in (out) or rejected Rules might test type of message (protocol), destination port, source IP address Antiviral software Attempts to identify if a file has a virus (often done by comparing file’s size to checksum data) Also can look for other forms of malware (spyware) Network intrusion detection software Look for evidence of illegal access into computer or reconnaissance attacks Types of Network Attacks Denial of service Flood a server with requests so that it cannot handle all of the requests IP spoofing Use someone else’s IP address to intercept messages ARP poisoning Modify a switch’s address table so that message intended for one machine go elsewhere Buffer overflow Overflow an area of memory to insert your own instructions to be executed SQL injection Send your own database instructions to a backend database to obtain, alter or destroy data stored there we will examine attacks again in chapter 15 Morris’ Internet Worm Cornell Graduate student Robert Morris Wrote a program to exploit weaknesses in Unix Launched on November 2, 1988, it infiltrated about 6000 Unix machines during a 3 day period Enter Unix systems by guessing weak passwords, exploiting weaknesses in sendmail and finger (using buffer overflow among other techniques) Once logged in, it uploads the rest of itself to spawn copies to other networked computers using r-utilities Morris claims the attack was not malicious but to prove the security holes in Unix The Internet Based on three technologies Packet switching – messages are routed while making their way across the Internet Routers – devices that perform the packet switching, moving messages from one network to another IP addresses – the method by which we address our messages, along with DNS servers to map aliases to addresses Users use application to send out machine (e.g., http request) Computer packages up the message into packets Request to DNS server to translate destination IP alias into IP address until address properly mapped Given IP address from DNS server, IP address added to message Local router sends packets out onto your local area network to Internet point of presence (a gateway) Continued Each packet is sent out on Internet Packets are transmitted from one site to another At each site, the router routes the packet to another let of the network Multiple packets of the same message will find their own paths (quite possibly different paths) At the destination site, received packet sent to proper internal LAN via internal routers NAT may be required At proper LAN, network switch broadcasts message to destination computer If multiple packets expected (e.g., packet 3 of 5). destination computer waits for all packets to arrive Puts message together for appropriate application software When full message arrives (if correct), destination sends acknowledgement (or request for missing or erroneous packets) Subnet Masks Router needs network address portion of an IP address AND netmask to destination IP address Assume IP address of 10.11.241.105 and class C network (first 24 bits are network address, last 8 bits are machine address) Netmask for network address is 255.255.255.0 recall 255 = 11111111 in binary, 0 = 00000000 Example Example To obtain network address: 10.11.241.105 AND 255.255.255.0 = 10.11.241.0 00001010.00001011.11110001.01101001 11111111.11111111.11111111.00000000 = 00001010.00001011.11110001.00000000 To obtain machine’s address 00001010.00001011.11110001.01101001 AND 00000000.00000000.00000000.11111111 = 00000000. 00000000. 00000000.01101001 = 0.0.0.105 The Internet vs the World Wide Web People often confuse the two The Internet is the physical infrastructure (media, routers) along with the computers The web are the collection of documents, linked together by hyperlinks, that are stored on some specific computers on the Internet the web sits on top of the Internet without the Internet, we would not have the WWW You may have heard people say things like “I’ve lost the Internet” or “The Internet is down” They have lost their connection only This might be a hardware failure, a software failure, a problem with their firewall, lost connection with their DNS server In fact, the Internet was built to survive a nuclear war! History of the Internet 1968 – four research organizations (funded by the department of defense) form a computer network for long-distance communication The ARPAnet, at University of Utah, UCLA, UC Santa Barbara, Stanford Research Institute Uses packet switching, allows remote access to computers on other sites and transfer of files, first message sent October 29, 1969 June 1970 – 9 computers connected September 1971 – 18 computers 1972 – 29 computers 1973 – 40 computers 1971 – first email 1973 – FTP implemented 1973 – two satellites in use, connects computers in Hawaii and Norway Continued 1974 – UK adds X.25 protocol 1975 – 57 computers 1979 – Duke students create UUCP (electronic bulletin boards) – eventually becomes Usenet 1983 – military portion of ARPAnet separated to form MILNet, TCP/ IP used, network renamed Internet In the 1980s, push to connect US universities (edu) and libraries to Internet, home computer users gain access through pay sites Computer hosts grow to tens of thousands Continued 1990s First web browser, MOSAIC, created (1994), creating the WWW US Legislature allows companies to become Internet service providers Operating systems (like Windows 95) supports Internet access Users of the Internet grows from thousands to millions and beyond 2000s Smart phone and tablet access Billions of Internet users Trillions of web documents (exact number is not known) Internet Users Internet Issues Who controls the Internet? In the 90s, US government handed control to commercial companies and organizations like ICANN – Internet Corporation for Assigned Names and Numbers WWWC (W3C) – World Wide Web Consortium for standards on web site construction (html, css, xml, etc) Governments enact legislature on Internet usage copyright infringement, anti-piracy, obscenity laws, censorship We have reached many limitations of the Internet Running out of IPv4 addresses, Internet backbone not developed to support billions of users and streaming audio/video Last mile technology still in use Many users still use the telephone lines which limit their bandwidth, broadband access not available in rural areas, third world countries, etc Cell phone technology used in some cases but 3G has many problems, 4G not yet available everywhere Semantic Web The WWW has limitations – poorly indexed info, flat files Add artificial intelligence capabilities to improve web access Searching and inferencing to permit websites to solve problems for you Creating of representative-bots to act on your behalf Construction of the semantic web is ongoing, started around 2001 Requires converting information into ontologies, better query languages Creation of intelligent agents – bots (software) that can make inferences, each agent has a specific, small role to play, groups of bots work together to solve the problem Semantic web is in its infancy but currently being used to support Intelligence gathering in support of antiterrorism Medical research Cloud Computing Already here but we look to improve it A network of resources made available remotely Remote storage Remote processing Somewhat like 3rd generation computers, you access the mainframe from your office using a dumb terminal Here, you access the cloud remotely through your (possibly mobile) I/O device(s) Most or all computing and storage are located elsewhere