470 likes | 644 Views
Networking And The Internet. Lectures 17,18 Dr. Adam P. Anthony. Overview. Tuesday: Computer Network Basics Physical Layer of the Internet Network Security Basics Next Week: Data layer of the internet (World Wide Web) Types of internet data Technical Internet Protocols.
E N D
Networking And The Internet Lectures 17,18 Dr. Adam P. Anthony
Overview • Tuesday: • Computer Network Basics • Physical Layer of the Internet • Network Security Basics • Next Week: • Data layer of the internet (World Wide Web) • Types of internet data • Technical Internet Protocols
In the Beginning… • A typical computation setup involved one computer and one or more users • Then, computers dropped in price • Sharing data is important • Shouldn’t have to pass around disks • Put wires between the computers that let them share data • Combination of computers + wires (or some other communication medium) = NETWORK
About Abbreviations • Networking Systems require long phrases to describe components and protocols: • “Carrier Sense, Multiple Access with Collision Detection” • Professionals grew tired of repeating these tongue twisters constantly • Most people resort to abbreviations: • CSMA/CD • You WILL be tested on whether you know these abbreviations!
Types of Networks • Local Area Network (LAN) • Buildings, homes • Metropolitan Area Network (MAN) • Larger areas, such as whole cities • Wide Area Network (WAN) • Massive networking efforts connecting computers across entire countries or the world
Network Topologies • Topology: sort of like a bird’s eye view of a network • Two parts to topology: nodes and edges • In a network: • Nodes = computers, connection equipment • Edges = connections between computers and/or equipment • Topology is not always determined by how the layout ‘looks’ but by how the nodes connect to edges
Bus Network Topology • Similar to the bus inside a computer • All messages are relayed across the bus. • Every computer gets to read every message • Each message includes an address so that computers can ignore messages intended for others • Security Issues? A network Hub is a piece of equipment that acts as a very short bus. It has little internal circuitry.
Star Network Topology • Center computer: has the task of relaying messages from one computer to another • Called an Access Point • Neighbors don’t get to ‘listen in’ on conversations • Difference between Bus/Star? • Advantages/ Disadvantages?
Communication Protocols • No matter the topology, we have multiple computers talking at the same time • How do they keep messages straight? • Only send a message when the line is quiet • If two computers send at same time, message is ruined • Ethernet uses Carrier Sense, Multiple Access with Collision Detection (CSMA/CD): • Each computer waits a random amount of time, then re-sends if the line is quiet • WiFi uses Carrier Sense, Multiple Access with Collision Avoidance (CSMA/CA) • Simplest approach: ask the Access Point if it’s OK to transmit (request/permit strategy)
Combining Homogeneous Networks • Repeater • Does not discriminate as to where the message is going • Takes two small busses, creates one big bus • Bridge • Same as repeater, but blocks messages if they aren’t addressed to anyone in the adjacent bus • Lets 2 separate but compatible bus networks talk to each other • Switch • Same as bridge, but can connect multiple busses together • Analogy to a switch between several train tracks
Routers and internets • BW has Ethernet connections (CSMA/CD), as well as WiFi (CSMA/CA) connections • Different protocols can’t talk to each other! • Router • Used to distribute messages between incompatible and/or separate networks • Each separate network gets its own router • internet (Lower-case i) • Multiple incompatible or separate networks that are able to pass messages to each other • Routers know how to: • Communicate with their home network • Communicate with other routers • Locate an outside network, given an appropriate address for a single computer
Routers connecting two WiFi networks and an Ethernet network to form an internet
Process Communication Methods • Client/Server Model • Two distinct programs that work together • Client: what users at home use. Connects to the server. • Server: provides data and services to the client • Most of the work is done on the server • Peer-to-Peer • Also two (or more) programs working together • Different from client/server • Both programs are identical but know how to work together • Examples: Skype, AIM, BitTorrent • Distributed Systems • Multiple programs working collaboratively to solve a single problem
What is the Internet? • A proper noun (always an uppercase I) • Al Gore invented it (not really!) • Initiated by the U.S. Military for infrastructural reasons • Universities also involved for research purposes • Later expanded, commercialized • It is an internet (lowercase i) on a really large scale—world wide.
The Internet: Physically Big, less well-known companies establish rough, world-wide network (each bubble a router). Same (or similar) companies establish regional networks; lease connections from Tier 1. Road-runner, Baldwin-Wallace, WOW!, AT&T, Comcast, etc. lease connections from Tier 2 You and I lease connections from Access ISP’s.
Internet Addressing • Any internet (including the Internet) needs an explicit addressing system • Each and every computer needs a unique and undisputable address • Managed by the Internet Corporation for Assigned Names and Numbers (ICANN) • Independent, but internationally cooperative not-for-profit company • IP Address numbering system • Domain Name registration
IP Addresses • Every computer that has internet access—large or small—has been assigned unique number (or Address), given by their ISP • Current Version IPv4: • 32-bit binary addressing system • Dotted Notation: • 192.168.1.1 • Number represents one byte of the total binary address
The Internet: What Routers Do 100.X.X.X – 199.X.X.X 600.X.X.X – 699.X.X.X • US user’s IP is 138.492.345.691 • Makes request for connection to 645.204.183.221. How do we find it? • Extra connections: • Economic Advantage • Speed Advantage • Reliability Factor 645.X.X.X 645.204.X.X US China 645.204.183.221
What is a Domain? • Once a computer is given an address, no other computer can have the same address • Example: AT&T might “own” all IP addresses that start with 100, up to addresses that start with 199 • They then sell them to lower-level customers • The set of numbers an entity owns are called the entity’s domain • All communication with computers whose address starts with 100 up to 199 are controlled, directly or indirectly, by AT&T 100.X.X.X – 199.X.X.X AT&T
What is a Domain Name? • Text-Based replacement for an IP address • Simple to implement: • keep a list of all known domain names (millions of them!) • Maintain a server (Domain Name Server, or DNS) that will give you an IP address if you give it a name • Sub-Domains • Some companies will name portions of their domain, even just single computers (servers) • http://bb.bw.edu Top-Level Domain (can also be .com, .gov, country-specific, among others) Sub-Domain Name Main Domain Name
Domain Name Servers DNS ?? http://www.zhaodaola.com.cn/ US China !! 645.204.183.221
Network Security Basics • Virus: • Lives “inside” another legitimate program • Won’t do anything until that program is executed by a user • Once executed, will cause damage, then try to spread • Worm • Like a virus, but it is a standalone program that exploits operating systems to get installed and executed automatically • Trojan Horse • Program that looks legitimate, but has a virus or a worm included in its code • Spyware • Phishing • Denial of Service • Making 1000’s of requests to a server until it crashes so nobody gets to use it
Network Protection Measures • Firewall • Block connections based on certain rules: • Software used • Service requested • Sophisticated pattern matching • Can be placed at the router (entry point to network) or on each individual computer • Proxy Servers • “Middle Man” strategy—all messages go through one computer, keep that computer secure • May also act as a firewall • Encryption • Use mathematics to make messages unreadable unless you have the correct ‘key’ to decipher the message • Legislation • Difficult to enforce because Internet is world-wide and actions may be legal in other countries.
The World-Wide Web Lecture 18
What is the World Wide Web? • It is just a _single_ application that runs on the Internet • Other applications that run on the Internet include: • Email • Instant Message • File Transfer Protocol (FTP) • It is the most popular • Built on the idea of sharing, linking documents • “Surfing the Internet” vs. “Surfing the web” • Commonly taken to have same meaning • Technically speaking, more is done on the Internet than just ‘surfing’
Hypertext • Anyone familiar with the internet is familiar with hypertext • Simple concept: within one document, allow for a method of referencing and accessing other documents • Called a hyperlink • Clearly, not limited to just the WWW • WWW = huge collection of inter-connected hypertext documents that are all accessible from the Internet • Hypermedia: term that recognizes that much of the web is no longer text but still has hyperlinks
Implementing Hypertext on the Internet • Remember, the Internet is just a network; a way for computers to communicate • Nothing happens on the internet unless someone writes and distributes a program that makes it happen • Tim Berniers-Lee • Did not invent the Internet! • Did invent the WWW • Two components make WWW possible: • Hyper Text Transfer Protocol (HTTP) • Hyper Text Markup Language (HTML)
Hyper Text Transfer Protocol • Client/Server protocol for finding, retrieving hypertext documents: • Client: requests document from server • Most common client = web browsers • Server: responds to requests, initiates data transfer to client • Client: displays the downloaded data on the screen • Uniform Resource Locator (URL): • Method for finding/linking to documents on WWW (next slide)
Uniform Resource Locators Optional: defaults may be used.
More on URL’s • URL’s can be used to locate any file/service on the Internet, using any protocol • Most common is HTTP • Many browsers don’t require you to type http:// at the beginning, assuming that is what you wanted • Others include: • FTP (File Transfer Protocol) • SCP (Secure Copy Protocol) • AFP (Apple Filing Protocol) • SSH (Secure Shell) • More on this later!
The Other Half: Hyper Text Markup Language • Hyper text Markup Language (HTML) has two purposes: • Provide a method for linking to other documents • Provide a simple method for giving a web page rich formatting capabilities • Is a type of ‘code’ that we can write using a basic text editor • HTTP client has a third job: read hypertext and display the resulting document on the screen • Sometimes called rendering
Internet Protocols • The Internet is a world-wide phenomenon, allowing people in different cultures with different computers communicate and share information with each other freely • This is only possible because of the wide-spread adoption of common communication and data protocols (sort of like languages) • Without these protocols, the Internet is not nearly as fascinating • Rare example where world-wide cooperation yields an amazing benefit
Internet Process Layers • Application: Constructs message with address • Transport: Chops message into packets • Network: Handles routing through the Internet • Link: Handles actual transmission of packets
Following a Message Through the Internet Computers Routers
About Ports • Bottom 3 layers don’t care what is being transferred • Top Layer (Application) does care • WMP doesn’t want HTTP data, IE doesn’t want video data • Data can be given a port number • Each application gets its own port number • Anything with a different port number is ignored • Some port numbers are unofficially standardized: • HTTP browsers ‘listen’ to port 80 • FTP: port 20 or 21 • SSH: 22 • Email: 25 • Port numbers can be changed, blocked for security reasons • URL’s can include a port: http://www.domain.com:1245
Process Layer (Internet) Protocols • Link: CSMA/CD (ethernet) or CSMA/CA (wireless) • Application: written by individual software developers, but must be compatible with transport layer protocol • Transport: next slide • Has to be compatible with the installed network layer protocol (done as a package deal) • Network: next slide • Has to be compatible with the installed link layer protocol (usually trivial—done on networking equipment)
TCP/IP Protocol Suite • TCP: Transmission Control Protocol • One implementation of the transport layer • Verifies connection to destination before sending data • Verifies receipt of each packet • Offers flow and congestion control • If these seem like a waste of time, use UDP, another protocol which skips all of that • IP: Internet Protocol • Defines the language routers use to talk to each other • Biggest job: finding the fastest path between two addresses • Takes into consideration traffic and equipment malfunction • TCP/IP identifies the whole suite, but there are many protocols in the package besides TCP and IP!
Getting Started With HTML • No installation required! • Create a new file with a .html extension • Edit with notepad! • Or, download a better text editor. Many CSC students like notepad++ • Once finished, just find the file and double click it to view it in a web browser • If you’re not happy with the result, go back to notepad and make changes • Once 100% happy, you can upload it to a web server and put it on the WWW
HTML and Tags • A ‘Tag’ is a bit of text inside ‘<‘ ‘>’ • Every tag has a start-tag and an end tag: • <body> • </body> • All non-tag text in between a start tag and an end tag is ‘affected’ by that tag when rendered: • The code: <b>This text is bold-faced.</b> This text is not. • Is rendered as: This text is bold-faced. This text is not. end tag has same text as start tag, but with a forward slash in front
Non-Displaying Tags • Some tags are for organizational purposes: • <html>: indicates that this file is using the hypertext markup language. </html> should be the last line in the code • <head>…</head>: section for non-displayed header information such as Title, author, keywords, style information, etc. • <body>…<body>: indicates the portion of the file that will actually be displayed by the browser
Text-Augmenting Tags: • Already learned about bold-font (<b>) • Others: • <H1>, <H2>, <H3>, <H4>: decreasing levels for header text (titles, chapters, sections, etc.) • Mostly affects size of text, but can have other effects • <i>, <u>: italic, underline • <p>: start a new paragraph (skips a line) • <small>, <big>: temporarily resize text • For more information: • http://www.w3.org/html/wiki/Learn
Hyperlink and Image Tags • <a>: hyperlink tag • Requires additional information, href: • <a href=“www.bw.edu”>Go to BW’s home page</a> • Renders as: Go to BW’s home page • <img>: image tag • Has no end-tag (one of a few exceptions) • Example: <imgsrc = “myPic.jpg”> • myPic.jpg needs to either: • Be in the same folder as the file • Have a path included from the server’s top-level: • Src = “/images/random/myPic.jpg”
Lists • <UL>: Unordered list (bullet points) • <OL>: Ordered list (numbered points) • <li>: list item for both types of list <UL> <li> 4 C. Flour</li> <li>1 C. Milk</li> <li>3 Eggs</li> <li>4 Tbs Sugar</li> </UL> <OL> <li>Combine Flour, sugar</li> <li>Beat together Milk, Eggs</li> <li>Gradually stir milk mixture into flour mixture</li> </OL> • 4 C. Flour • 1 C. Milk • 3 Eggs • 4 Tbs Sugar Combine Flour, sugar Beat together Milk, Eggs Gradually stir milk mixture into flour mixture
Common, but advanced features • Know what these are for now; in Web programming you’ll learn how to use them: • Tables: organizing data into blocks of cells • XML: eXtensible Markup Language • Make up your own tags, write programs that interpret/render tags in any way you like • Very popular for data representation, storage • Cascading Style Sheets (CSS): • Set up ‘default’ styles including backgrounds, colors, fonts, etc. • Used to create a uniform, site-wide template for all pages