Date post: | 28-Dec-2015 |
Category: |
Documents |
Upload: | philippa-clark |
View: | 214 times |
Download: | 0 times |
Basic Infrastructure Basic Infrastructure for Electronic Business for Electronic Business
on the Interneton the Internet
Authors:Miroslava Mitrovic ([email protected])Veljko Milutinovic ([email protected])
A network is a group of computers and peripheralsconnected together by some medium
The connection can be direct (through a cable) or indirect (through a modem)
The different devices on the networkcommunicate with each otherthrough a predefined set of rules (protocol)
NetworkNetwork
Network HardwareNetwork Hardware
Physically connects computers in the network together
Main hardware components:NodesCommunication equipment Additional componentsTopology
NodesNodes
Network node (computer, printers, routers) Computers in network
can be used as work stations or servers or both
PC computers need NIC (Network Interface Card) to be able to be part of LAN (Local Area Network)
Different standards, different network cards! (Ethernet, Token Ring, ARC net)
Communication equipmentCommunication equipment
Cables : (coaxial cables, fiber-optic cables, twisted pairs)
Wiring centers : (HUB , concentrator, MAU (Multi station Access Units))
Intranetwork links : (connectors, transceivers, repeaters)
Internetwork links : (bridges, gateways, routers, switches)
Wireless components
Additional ComponentsAdditional Components
Peripherals :(printers, fax machines, modems, cd readers)
Safety devices : UPS (Uninterruptible Power Supply), SPS (Standby Power Supply)
Network tools
TopologyTopology
Defines rules for connecting network nodes Logical topology differs from physical topology! Logical topology defines rules for
transmitting information's (bus, ring, star) Physical topology defines rules for
electrical connection components in network
Network SoftwareNetwork Software
Enables using hardware for communication and exchanging information
Protocols (set of rules) give formulas for passing messages, specifying the details of message formats, and for describing how to handle error conditions
InternettingInternetting
Connecting many disparate physical networks and make them function as a coordinate unit
Internet technology hides the details of network hardware and permits computers to communicate independent of their physical network connection
InternetInternet
Internet is network of all networks Interconnected computer networks
that communicate, usually via TCP/IP
Internet and internet Set of application programs
that use the network to carry out useful communication tasks (user’s point of view)
No one owns the Internet!
Internet architectureInternet architecture
How are networks interconnected to form a internet work?
Computers that interconnect two networks and pass packets from one to the other are called internet gateways or internet routers
Internet architectureInternet architecture
G Net 2Net1
Two networks interconnectedby G, a gateway (router)
Internet architectureInternet architecture
G1 Net 2Net1
Three networksinterconnected by two
gateways
Net 3G2
Internet architectureInternet architecture
Gateways provide all interconnections among physical networks
Usually minicomputers Gateways route packets based on destination
network, not on destination host!
Internet architectureInternet architecture
hosts
Structure of physical networkand gateways that provide interconnection
Open SystemsOpen Systems
Architecture is not secret The definition applies equally well
to software and hardware UNIX-classic example for
an open software platform Open system networking:
network based on well-known and understood protocol
Three most popular services:File Transfer
Electronic mailRemote login
The ISO OSI-RMThe ISO OSI-RMInternational Organization for StandardizationInternational Organization for StandardizationOpen System Interconnection Reference ModelOpen System Interconnection Reference Model
ISO has developed an architecture that defines seven layers of network protocol
Physical
Data Link
Network
Presentation
Transport
Session
Application
Grouping of OSI LayersGrouping of OSI Layers
Physical
Data Link
Network
Transport
Session
Presentation
Application
Upper Layers
Lower Layers
Middle Layer
Upper Layers Upper Layers Application/Presentation/SessionApplication/Presentation/Session
Applications oriented Presents the interface to the user Don’t care how data gets to the application!
Middle LayerMiddle LayerTransportTransport
Separate application oriented upper layers from network oriented lower layers
Lower LayersLower LayersNetwork/Data Link/PhysicalNetwork/Data Link/Physical
Oriented toward data transmission Packages, routes, verifies and transmits datagrams Type of data for application doesn't matter Has no application dependencies !
Communication in OSI-RMCommunication in OSI-RM
Physical Physical
Data Link
Network
Transport
Session
Presentation
Application
Internet
Transport
Application
Presentation
Session
Data Link
Application LayerApplication Layer
Highest layer in the OSI reference model Concerned with the user’s view of the network Handles network transparency, resource allocation
and problem partitioning Sends data and program tasks
to the presentation layer,which is responsible for coding data from application layer in the appropriate form
Presentation LayerPresentation Layer
The second highest layer in the OSI reference model Converts network data to application format Performs function as
text compression , code or format conversion to try to smooth out differences between hosts
Serves application layer, uses session layer
Session LayerSession Layer
The third highest layer in the OSI reference model Synchronized data exchange
between upper and lower layers Manages the current connection, or session,
between two computers Handles security and creation of the session Establishing connection Closes connection Uses the transport layer to establish a connection
between processes on different hosts Used by the presentation layer
Transport LayerTransport Layer
The middle layer in the OSI reference model Uses the network layer to provide a
virtual, error-free, point-to-point connection so that host A can send messages to host B and they will arrive uncorrupted and in the correct order
Hides details necessary to actually make a connection between two computers
Establishes and dissolves connections between hosts
Used by the session layer
Network LayerNetwork Layer
The third lowest layer in the OSI reference model Determines addresses Responsible for routing packets across the network Establishing logical link between two nodes Used by the transport layer, uses the data link layer
Data Link LayerData Link Layer
The second lowest layer in the OSI reference model Splits data into frames for sending
on the physical layer Receives acknowledgment frames Performs error checking and retransmission Provides an error free virtual channel
to the network layer Split into
an upper sublayer Logical Link Control (LLC)and lower sublayer Media Access Control (MAC)
Physical LayerPhysical Layer
The lowest layer in OSI model Transmits data How bits are passed over the network medium,
what control signals are used, and the mechanical properties of the network itself (cable size, connector, and so on)
Only layer in which actual communication occur Used by the data link layer
Data Transfer over the InternetData Transfer over the Internet
Physical Physical
Data Link
Network
Transport
Session
Presentation
Application
Internet
Transport
Application
Presentation
Session
Data Link
Network
Data Link
Physical
Network
Data Link
Physical
Subnetwork Subnetwork
GatewayGateway
Computer A Computer B
OSI vs. TCP/IPOSI vs. TCP/IP
PhysicalPhysical
Data Link
Network
Transport
Session
Presentation
Application
Internet
Transport
Application
The TCP/IP protocol familyThe TCP/IP protocol family
TCP UDP IP ICMP RIP OSPF ARP DNS RARP BOOTP
FTP Telnet EGP GGP IGP BGP NFS NIS RPC SMTP SNMP
TransportTransport
Transmission Control Protocol (TCP): connection-based services
User Datagram Protocol (UDP): connectionless services
RoutingRouting
Internet Protocol (IP): handles transmission of information
Internet Control Message Protocol (ICMP): handles status messages for IP
Routing Information Protocol (RIP): determines routing
Open Shortest Path First (OSPF):alternate protocol for determining routing
Network AddressesNetwork Addresses
Address Resolution Protocol (ARP): determines addresses
Domain Name System (DNS): determines addresses from machine names
Reverse Address Resolution Protocol (RARP): - determines addresses
User ServicesUser Services
Boot Protocol (BOOTP): starts up a network machine
File Transfer Protocol (FTP): transfers files
Telnet: allows remote logins
Gateway ProtocolsGateway Protocols
Exterior Gateway Protocol (EGP): transfers routing information for external networks
Gateway-to-Gateway Protocol (GGP): transfers routing information between gateways
Interior Gateway Protocol (IGP): transfers routing information for internal networks
Border Gateway Protocol (BGP)newer than EGP, used within an autonomous network
OthersOthers
Network File System (NFS): enables directories on one machine to be mounted on another
Network Information Service (NIS): maintains user accounts across networks
Remote Procedure Call (RPC): enables remote applications to communicate
Simple Mail Transfer Protocol (SMTP): transfers electronic mail
Simple Network Management Protocol (SNMP): sends status messages about the network
DatagramDatagram
Basic unit of data send thought an internet Moving packets between routers and/or hosts Consists of a header followed by the data Header:
information necessary to move the packetacross the Internet
Connectionless transport mechanism
DatagramDatagram
Field Function
ver The version of the IP protocol that created the datagram.
IHL The length of the IP header in 32-bit words (the minimum value is 5).
Type of service
The quality of service (precedence, delay, throughput, and reliability) desired for the datagram.
Total length
The length of the datagram (both header and user data), in octets.
Identification
A 16-bit value assigned by the originator of the datagram, used during reassembly.
DatagramDatagram
Flags Control bits indicating whether the datagram may be fragmented, and if so, whether other later fragments exist.
Fragment offset
The offset in the original datagram of the data being carried in this datagram, for fragmented datagrams.
Time to live
The time in seconds the datagram is allowed to remain in the internet system.
Protocol The high level protocol used to create the message (analogous to the type field in an Ethernet packet).
Header checksum
A checksum of the header.
DatagramDatagram
Source IP address
32-bit IP address of the sender.
Destination IP address
32-bit IP address of the recipient.
Options An optional field primarily used for network testing or debugging.
Padding All bits set to zero - used to pad the datagram header to a length that is a multiple of 32 bits.
User data The actual data being sent.
Internet AddressesInternet Addresses
Globally accepted method of identifying computers Each host on a TCP/IP internet is assigned
a unique 32-bit address that is used in all communication with that host
Must not be confused with physical addresses! Each address is a pair (netid, hostid),
where netid identifies a network,and hostid identifies a host on that network
In practice, each IP address must have one of the first three forms shown in the picture that follows
Internet AddressesInternet Addresses
Class Maximum number of
possible networks
Maximum number of
hosts per network
A 127 16,777,216
B 16,384 65,536
C 2,097,152 255
D Reserved Class
E Reserved Class
Internet AddressesInternet Addresses
The IP address is expressed in dotted decimal notation (DDN) by taking the 32 binary bits and forming 4 groups of 8 bits, each separated by a dot - 10.4.8.2 is a class A address- 10 is the DDN assigned network number- .4.8 are (possibly) user assigned subnet numbers- .2 is the user assigned host number- 172.16.9.190 is a class B address- 172.16 is the DDN assigned network number- .9 is the user assigned subnet number- .190 is the user assigned host number
Internet AddressesInternet Addresses
Host: any attached device on a subnet, including PC’s, mainframes and routers
Most hosts are connected to only one network,and they have a single IP address
Routers are connected to more than one network and they can have multiple IP addresses
Problem: IP type of addressing defines connection,not host!
Problem: what when an organization which has a class C address finds that they (.org) need to upgrade to class B
DNS – The Domain Name SystemDNS – The Domain Name System
Converts symbolic node name to IP address Uses distributed database Network Information Center (NIC) maintains names
and network gateway addresses Name Resolver on each network
tries to complete address from own database Examines Name Server for full NIC database
if unsuccessful resolution
ARP - Address Resolution Protocol ARP - Address Resolution Protocol
Allows host to find the physical address of a target host on the same physical network, given only the target’s IP address
It does this by sending out an ARP broadcast packet containing both the source and destination IP address
The broadcast is media-dependant For Ethernet LANs the broadcast address
is a packet whose destination address bits are all `1'
ARP - Address Resolution ProtocolARP - Address Resolution Protocol
All stations on the LAN receive this address, but only one host is able to recognize its own IP address
It replies, thereby giving the original host its physical address.
ARP - Address Resolution ProtocolARP - Address Resolution Protocol
A X B Y
Host A broadcasts an ARP request containing IB to all machines
ARP - Address Resolution ProtocolARP - Address Resolution Protocol
A X B Y
Host B responds with an ARP reply that contains the pair (Ib, Pb)
RARP - Reverse Address Resolution ProtocolRARP - Reverse Address Resolution Protocol
How does the diskless machine, one without access to secondary storage,determines its IP address at system startup?
A diskless machine uses RARP to obtain its IP address from a server
RARP - Reverse Address Resolution ProtocolRARP - Reverse Address Resolution Protocol
A B C D
Machine A broadcasts a RARP request specifying itself as a target
RARP - Reverse Address Resolution ProtocolRARP - Reverse Address Resolution Protocol
A B C D
Those machines authorized to supply the RARP service (C i D) replydirectly to A
IP - Internet ProtocolIP - Internet Protocol
Defines unreliable, connectionless delivery mechanism
IP provides three important definitions: - Defines the basic unit of data transfer used throughout a TCP/IP internet - Performs routing function,
choosing a path over which data will be sent - Includes a set of rules that embody
the idea of unreliable packet delivery
ICMP - Internet Control Message ProtocolICMP - Internet Control Message Protocol
Integral part of IP Allows gateways to send error or control messages
to other gateways or hosts Provides communication between
the Internet Protocol software on one machine and the Internet Protocol Software on another
Only reports error conditions to the original source! ICMP message is encapsuled in an IP datagram
Value Description
0 Echo Reply
3 Destination Not Reachable
4 Source Quench
5 Redirection Required
8 Echo Request
11 Time to Live Exceeded
12 Parameter Problem
13 Timestamp Request
14 Timestamp Reply
15 Information Request (now obsolete)
16 Information Reply (now obsolete)
17 Address Mask Request
18 Address Mask Reply
Type field
UDP - User Datagram ProtocolUDP - User Datagram Protocol
Connectionless protocol Provides the primary mechanism that application
programs use to send datagramsto other application programs
Provides protocol ports used to distinguish among multiple programs executing on a single machine
Uses IP to transport a message from one machine to another
Does not use acknowledgements to make sure messages arrive
UDP message is called a user datagram
UDP - User Datagram ProtocolUDP - User Datagram Protocol
Source port: An optional field with the port number If a port number is not specified, the field is set to 0
Destination port: The port on the destination machine
Length: The length of the datagram, including header and data
Checksum: A 16-bit one's complement of the one's complement sum of the datagram, including a pseudo header similar to that of TCP
UDP - User Datagram ProtocolUDP - User Datagram Protocol
Physical
Internet (IP)
UserDatagram(UDP)
Application
Conceptual Layering
TCP - Transmission Control ProtocolTCP - Transmission Control Protocol
TCP is a communication protocol, not a piece of software!
Provides reliable stream service Positive acknowledgement with retransmission Specifies the format of the data and
acknowledgements that two computers exchange to achieve a reliable transfer
Specifies the procedures the computers use to ensure that the data arrives correctly
Specifies how TCP software distinguishes among multiple destinations on given machine
Specifies how communicating machines recover from errors like lost or duplicated packets
TCP - Transmission Control ProtocolTCP - Transmission Control Protocol
Specifies how two computers initiate a TCP stream transfer and how they agree when it is complete
Does not dictate the details of the interface between an application program and TCP
Does not specify the exact application programs to access these operations
Reason: flexibility TCP uses the connection, not the protocol port,
as its fundamental abstraction Connections are identified by a pair of endpoints
TCP - Transmission Control ProtocolTCP - Transmission Control Protocol
TCP port number can be shared by a multiple connection on the same machine
The basic unit of transfer used by TCP is a segment Segments are used to pass control information or data
TCP - Transmission Control ProtocolTCP - Transmission Control Protocol
Send Packet 1
Receive ACK1
Send Packet 2
Receive ACK2
Receive Packet 1
Send ACK 1
Receive Packet 2
Send ACK2
Sender awaits an acknowledgement for each packet sent
Server Site Receiver SiteNetwork Messages
TCP - Transmission Control ProtocolTCP - Transmission Control Protocol
Send Packet1Start Timer
ACK would normallyArrive at this time
Retransmit Packet1Start Timer
Timer Expires
Packet should arriveACK should be sent
Receive Packet1
Receive ACK1Cancel Timer
Server Site Network MessagesReceiver Site
Packet lost
Send ACK1
Timeout and retransmission that occurs when a packet is lost
TCP - Transmission Control ProtocolTCP - Transmission Control Protocol
A simple positive acknowledgement protocol wastes a substantial amount of network bandwidth
Delays sending a new packet until it receives an acknowledgement for the previous packet
Sliding window protocol Keeps the network completely saturated with packets Higher throughput than
a simple positive acknowledgment protocol
TCP - Transmission Control ProtocolTCP - Transmission Control Protocol
Send Packet1
Send Packet2
Send Packet3
Receive ACK1
Receive ACK2
Receive ACK3
Receive Packet1Send ACK1
Receive Packet2Send ACK2
Receive Packet3Send ACK3
Sender Site Network Messages Receiver Site
Three packet transmitted using a sliding window protocol
TCP - Transmission Control ProtocolTCP - Transmission Control Protocol
Conceptual Layering
Physical
Internet (IP)
TCP
Application
UDP
Telnet – remote login protocolTelnet – remote login protocol
Allows user at one site to establish a TCP connection to a login server at another site, and then it passes keystrokes from the user’s terminal directly to the remote machine as if they had been typed at a terminal on the remote machine
Carries output from the remote machine back to the user’s terminal
Telnet – remote login protocolTelnet – remote login protocol
The service is called transparent Telnet client software User specifies a remote machine
either by giving its domain name or IP address1. Telnet offers three basic services2. Defines a network virtual terminal (NVT)3. Includes a mechanism that allows
the client and server to negotiate options1. Treats both ends of the connection symmetrically
Telnet – remote login protocolTelnet – remote login protocol
User's terminal
operating system
TELNETclient
TCP/IPinternet
operating system
TELNETserver
client readsfrom terminal client sends
to server
server receives from terminal
server sends topseudo terminal
FTP – File Transfer ProtocolFTP – File Transfer Protocol
Manages files across machines without remote Telnet session
Transfers files, manages directories, accesses e-mail Does not enable access
to remote machine for program execution Uses two channels
for simultaneous transfer of commands and data
Conducts all transfers in foreground Does not use queues or spoolers
so you are watching the transfer process in real time
FTP – File Transfer ProtocolFTP – File Transfer Protocol
Relies on TCP to provide connection management Protocol Interpreter PI transfers instructions
using TCP port 21 Data Transfer Process DTP transfers files
using TCP port 20
FTP – File Transfer ProtocolFTP – File Transfer Protocol
LoginVerifies user ID and passwordAnonymous FTP allows access without login accountAccess and file transfer requires proper permissions on the remote side
Define directoryIdentifies starting directoryLocal and remote file system
Define File Transfer ModeText uses ASCII characters separated by CR and NLBinary transfers without conversion or formatting
FTP – File Transfer ProtocolFTP – File Transfer Protocol
Start Data TransferEnables user commands
Stop Data TransferCloses connection
TFTP – Trivial File Transfer ProtocolTFTP – Trivial File Transfer Protocol
Does not log on to remote machine Uses UDP connectionless transport
TFTP transfer identifiers (TID’s) set ends of connectionSupport basic error messagesAny kind of error can result in transfer failure
Uses to boot diskless terminals and load applicationsSmall executable size and memory requirementsCannot execute FTP until loaded with OS
Lax access regulations pose security risks
Electronic MailElectronic Mail
The most widely used application service Differs fundamentally from other uses of network Usually timeout and retransmission
if no acknowledgement Sender don’t want to wait for
the remote machine to become available before continuing work!
User don't want to have transfer abort merely because communication with the remote machine becomes temporary unavailable!
Spooling
Conceptual components of an electronic mail systemConceptual components of an electronic mail system
userinter-face
outgoing mailspool area
mailboxes forincoming mail
server (toaccept mail)
client(background
transfer)
TCP connection
for incoming mail
TCP connection
for outgoing mail
user readsmail
user sendsmail
SMTP - Simple Mail Transfer ProtocolSMTP - Simple Mail Transfer Protocol
Standard for the exchange of mailbetween machines
Focuses specifically on how the underlying mail delivery systempasses messages across a link from one machine to another
Messages transferred as 7-bit ASCII Uses spools or queues Does not specify
how the mail system accepts mail from a user or how the user interface presents the user with incoming mail
SMTP - Simple Mail Transfer ProtocolSMTP - Simple Mail Transfer Protocol
Does not specify how mail is stored or how frequently the mail system attempts to send messages
Mail command identifies sender and provides message information
Response is acknowledgment with identification of recipient
Example of SMTP TransferExample of SMTP Transfer
S: 220 Beta.gov Simple Mail Transfer Service ReadyC: HELO Alpha.eduS: 250 Beta.gov
C: MAIL FROM: <[email protected]>S: 250 OK
C: RCPT TO: <[email protected]>S: 550 No such user here
Example of SMTP TransferExample of SMTP Transfer
C: RCPT TO: <[email protected]> S: 250 OK
C: DATAS: 354 Start mail input; end with <CR><LF>.<CR><LF>C: …sends body of mail message…C: …continues for as many lines as message containsC: <CR><LF>. <CR><LF>S: 250 OK
C: QUITS: 221 Beta.gov Service closing transmission channel
ReferencesReferences
The Internet Unleashed, SAMS Publishing Internetworking With TCP/IP, Douglas Comer Teach yourself TCP/IP in 14 days, Tim Parker Novell’s Complete Encyclopedia of Networking,
Werner Feibel http://www.ieee-occs.org