Networking and Internet
National Chiao Tung University
Chun-Jen Tsai
3/30/2012
A Networked World
The world is connected by heterogeneous networks:
TV station
Feeder link
mobile
base station mobile
base station
WAN (the Internet, or “cloud”)
MAN (wired or wireless)
mobile base station
MAN
LAN
Downlin
k broad cast
Service Network Classifications
Broadcasting Networks (TV Networks)
Satellite Networks
Terrestrial Networks
Cable Networks
Communication Networks
Public Switched Telephone Networks (PSTN)
Mobile Networks (2G, 3G)
Computer Networks (using Internet Protocol)
Ethernet
Integrated Service Digital Network (ISDN)
Asymmetric Digital Subscriber Line (ADSL)
Network Geographic Classifications
Local area network (LAN)
Small scale, usually within a diameter of a few kilometers (e.g., a company, lab, or school)
High speed (> 100 mega bits-per-second)
Complete ownership by a single organization
Metropolitan Area Network (MAN)
Medium scale, say, within a city
“Broadband” speed (around 1~10 mbps)
Examples: ADSL or Cable Modem
Wide area network (WAN)
Large scale, may cover entire country or across countries
Usually low speed (< 1 mbps)
Network Topologies
Ring:
Bus:
computer
computer
computer computer
computer
computer computer computer
computer computer
Star:
computer computer
computer computer
computer computer
The star configuration is popular today since wireless networks use this configuration; the central computer is called access point (AP) or base station (BS)
Communication over a Network
The topology of a network determines its communication protocols
A network protocol is a set of rules for computers in a
network to perform data exchange
Token Ring Protocol †
Developed by IBM in 1970
The computer that receives the “token” message can become the originating computer of a data message
Data messages are transmitted in one direction
Each computer on the ring topology forwards the message to the next one
Only the destination machine keeps a copy of the data message before it forward the message
The originating computer of the message will not forward it again when it received the message
Ethernet Protocol for Bus Network
Ethernet protocol uses the rule called “Carrier Sense, Multiple Access with Collision Detection (CSMA/CD)”
Each computer on the network has an address ID
Any messages are broadcasted to all computers on the network
A computer only keeps the message addressed to it
If more than one computers try to send messages at the same time, they will all detect the “collision” and stop sending messages
They will try again later, after a random period of waiting
Wireless Protocol
Wireless network uses Carrier Sense, Multiple
Access with Collision Avoidance (CSMA/CA) protocol
A “newcomer” must wait until it does not “hear” any messages before it can request to use the channel
To avoid the “hidden terminal problem,” the newcomer must wait for the AP to grant its request before it sends messages
AP
Invisible to other mobile terminals
Combining Networks (1/2)
To connect two or more smaller networks to form a big network, we need some special devices
Repeater – a device that passes signals between two networks back-and-forth
Bridge – a device similar to a repeater, but it only performs
“meaningful” message-forwarding
Switch – a bridge with multiple connections
Combining Networks (2/2)
A router is a device (maybe a computer) that
connects two (possibly heterogeneous) networks together
The two networks may be using different protocols and address IDs
computer computer
computer computer
computer
computer
computer computer
Router
Interprocess Communication Model
Client-server model
One server, many clients
Server must execute continuously
Client initiates communication
Example: print server, file server
Peer-to-peer model
Two hosts communicating as equals
Peer hosts can be short-lived
Peer-to-peer network is a misuse of the terminology
requests services
server
client
Client/Server Model vs. P2P Model
Distributed Systems
A distributed system is a system with software units that run on different computers across the network
Each software unit is a process running on a host (i.e. a computer on the network)
Distributed processes usually have to perform data exchange, remote invocation, synchronization, etc.
Various distributed computing models
Cluster computing – tightly-coupled, supercomputer style
Grid computing – loosely-coupled, SETI@HOME style
Cloud computing – hyping-based, scammer style
The Internet
The Internet: one internet spanning the world
Started by DARPA in 1970’s
Today involves millions of machines
The Internet is a packet-switched network. That is, all the data are transmitted on a packet-by-packet basis
Another type of network is called circuit-switched, which means a virtual connection will be established before the transmission of data
Internet Architecture
The Internet is a collection of domains
Each domain is a network or a set of inter-connected networks controlled by a single organization
Domains must be registered through ICANN, Internet Corporation for Assigned Names & Numbers
A gateway is a router connecting a domain to the rest of the Internet
(referred to as the cloud)
Strategies for Internet Connections
There are several ways to connect your computers to the Internet:
For a large organization, you can lease direct connections
Example: TANet run by Ministry of Education in Taiwan
For a small organization, you can link your domain to the domain of an Internet Service Provider (ISP)
There are three levels: Tier-1 ISPs, Tier-2 ISPs, Access ISPs
Internet Addressing
Each machine on a network must have a unique address: for the Internet, this is called the Internet Protocol (IP) address
For IPv4, an IP address is a 32-bit identifier for a machine
For IPv6, an IP address is 128 bits
IP address is often written in dotted decimal notation
IPv4 example: 140.113.39.164
IPv6 example:
fe80::3153:525f:6964:8d84 or
fe80:0000:0000:0000:3153:525f:6964:8d84
identifies the domain
identifies the host
Internet Textural Addressing
IP addresses are difficult for human to remember
Each IP may have an equivalent mnemonic address, which is composed of a domain name and a host
name (e.g. bsd1.cs.nctu.edu.tw)
Domain name is the part assigned by a registrar
Top level domain (TLD) is the classification of domain owner (for example, .com and .tw)
A domain name server (DNS) on the network translates the mnemonic addresses to binary IP addresses
Host name is assigned by domain administrator
Domain owner must run a name server in order for other computers to find your computer
Internet Applications
Electronic mail (e-mail)
File Transfer Protocol (FTP)
Telnet and Secure Shell
Voice-over-IP (VoIP)
World Wide Web
World Wide Web (WWW)
The WWW application model is a model of servers spreading hypertext (or hypermedia) documents over the Internet
A web site is a server hosting all hypertext documents controlled by one organization or individual
HTML is the most popular language of hypertext
documents
World Wide Web Implementation
Web server:
provides access to documents on its machine as requested
Browser:
allows user to access web pages
Hypertext Transfer Protocol (HTTP):
communication protocol used by browsers and web servers
Uniform Resource Locator (URL):
unique address of a document on the web
http://ssenterprise.aw.com/authors/Shakespear/Julius_Caesar.html
Server name Server’s directory path document Server protocol
Hypertext Document Format
Entire document is printable characters
Contains tags to control display, links to other
documents (or contents), and dynamic functions
A Hyper-Linked Web Page
Extensible Markup Language (XML)
Due to the success of HTML, some people decided to design a general presentation language similar to HTML, the result is the XML designed by W
3C
XML: a language for constructing markup languages similar to HTML
XML has been extensively used for all kinds of presentation languages on the Internet (e.g. SMIL or SVG)
XML has been adopted as general configuration languages as well (e.g. for MS Visual Studio or Apple Quicktime server)
Microsoft uses XML, Open Office XML (OOXML), for all its MS Office file formats since Office 2007
Dynamic Web Pages
To create multimedia-rich interactive web pages, you may require client-side activities and server-side
activities
Client-side activities can be created using Java applets, Javascript, Macromedia Flash, etc.
Server-side activities can be created using:
Common Gateway Interface (CGI)
Sun’s JavaServer Pages (JSP) or Microsoft’s Active Server Pages (ASP)
PHP Hypertext Processor
ISO Network Models
Most networks are designed using layered approach (ISO 7-layer model
†):
Application Presentation
Session
Transport
Network
Data link
Physical
Application Presentation
Session
Transport
Network
Data link
Physical
Host A Host B
Internet Protocols
The Internet, just like the ISO 7-layer model, is also using a layered protocol approach
The Internet only have four layers
Application layer:
Example: browser
Transport layer:
TCP – reliable transport
UDP – unreliable transport
Network layer:
Internet Protocol (IP)
Handles routing through the internet
Link layer: handles actual transmission of packets
Token ring or Ethernet
Package-Shipping Example
Send a Message through the Internet
ISO Internetworking
To connect two networks together, one need a host that can handle translation of one protocol to another:
The translator can be called bridge, router, or gateway, based on their functions
Transport A
Network A
Data link A
Physical A
Transport A
Network A
Data link B
Physical B translator
Port Number
A computer have a unique IP address; all
applications running in this computer shares the same IP address
When an Internet packet arrives at an IP addresses, which application on the computer will receive it?
Answer, port numbers are used to identify a particular application at an IP address
Each packet will be delivered to a IP:Port address that belongs to an application
Choosing between TCP and UDP
UDP is a connectionless protocol: consecutive messages may be send to the destination
through different routes TCP is a connection-based protocol:
a two-way communication channel between the origin and destination must be established before any messages can be sent
Transport Layer
Network Security
Integrity of machine exposed to internet can be attacked by
Viruses and worms
Trojan horses
Spywares (sniffing) and phishing
Denial of service attacks
Spamming
Defense techniques
Firewall
Virus and spam filters
Proxy server
Privacy of Communication
In the old days, most data send over the Internet were unprotected
A network sniffer can be used to collect your private data
Today, encryptions are used to protect your privacy
Secure versions of network protocols such as FTPS, HTTPS, and SSL are used to transmit data with encryption
You can also encrypt data by yourself using public key encryption system such as the PGP system
Public Key Encryption Concept
Before you do encryption, you must generate a pair of keys called the public key and the private key
†
You broadcast your public key to everyone who
wants to send you a message so that your friend can encrypt the message using your public key
Certificate authorities may be needed to ensure the correctness of a public key