560 likes | 582 Views
What is a Network?. Computer network a set of computers using common protocols to communicate over connecting transmission media. Protocol a formal description of message formats and the rules two or more machines follow to exchange messages. TCP connection reply.
E N D
What is a Network? • Computer network • a set of computers using common protocols to communicate over connecting transmission media. • Protocol • a formal description of message formats and the rules two or more machines follow to exchange messages. ICSS420/740 - Introduction
TCP connection reply. Get http://gaia.cs.umass.edu/index.htm Got the time? 2:00 <file> time Protocols Hi TCP connection req. Hi ICSS420/740 - Introduction
Classifying Networks • Networks can be classified by size • Local Area Networks (small) • privately-owned • cover a small area • high data rates • Wide Area Networks (large) • owned/operated by a network provider • large capacity • often have an irregular topology ICSS420/740 - Introduction
Internetworks • An internetwork, or internet, is formed when two networks are connected together. • Two networks are joined using a computer that is directly connected to both networks • A computer that joins two networks is called a gateway ICSS420/740 - Introduction
An internet A Network A Network Service Provider’s Network ICSS420/740 - Introduction
What Is The Internet? • The Internet • “Internet (noun) - A sprawling collection of computer networks that spans the globe, connecting government, military, educational and commercial institutions, as well as private citizens to a wide range of computer services, resources, and information. A set of network conventions and common tools are employed to give the appearance of a single large network, even though the computers that are linked together use many different hardware and software platforms." • An Intranet • "Intranet (noun) - A contained collection of computers and networks within an organization (it may span the globe), connecting the organization's members and/or employees to a range of computer services, resources, and information. A set of network conventions and common tools are employed to give the appearance of a single large network, even though the computers that are linked together use many different hardware and software platforms. It's more than a fancy name for the corporate LAN/WAN" ICSS420/740 - Introduction
The Internet in the USA ICSS420/740 - Introduction
router workstation server mobile local ISP regional ISP company network Nuts and Bolts ICSS420/740 - Introduction
How Did It Get Started? • The Internet started as the ARPAnet • Started in the mid 60s, working in early 70s • Designed for the military • Could only be used by the military • Applications of the ARPAnet included • Electronic Mail • Remote Access • File Transfer ICSS420/740 - Introduction
Consequences • The ARPAnet provided services to its users and served as a test bed for network research. • To connect to the ARPAnet an organization had to have a contract with the DoD. • As a result many small, special interest, networks were created. ICSS420/740 - Introduction
NSFnet • In the late 80s NSF supported the creation of 5 supercomputer centers. • NSF Decided to use ARPAnet technology to provide remote access, but could not use the ARPAnet to do this. • In 1985 NSF announced its decision to build the NSFnet. ICSS420/740 - Introduction
Commercialization • During NSF's support of the Internet commercial use was forbidden by law. • On April 30th, 1995 NSF pulled the plug on the NSFnet and turned it over to the private sector. • Since that time commercial use of the Internet has grown dramatically. ICSS420/740 - Introduction
Who is Using The Internet? • The GVU at Georgia Tech conducts a periodic survey of internet users. • Over 10,000 web users participated in the survey. • The results of the survey can be found at http://www.cc.gatech.edu/gvu/user_surveys/ ICSS420/740 - Introduction
Age ICSS420/740 - Introduction
Gender ICSS420/740 - Introduction
Race ICSS420/740 - Introduction
Geographical Location ICSS420/740 - Introduction
Income ICSS420/740 - Introduction
Layering • Networking protocols are normally developed in layers, with each layer responsible for a different facet of the communications. • A protocol suite, such as TCP/IP, is the combination of different protocols at various layers. • One of the advantages of layering is that upper layers only need how to use lower layers, they do not need to know how lower layers work. ICSS420/740 - Introduction
Reference Models • Networks are very complicated and difficult to build. • Several architectural models have been developed to help developers to understand networks • These models are meant to be guides not as blueprints. ICSS420/740 - Introduction
The ISO OSI Reference Model • The International Standards Organization (ISO) developed the Open Systems Interconnection (OSI) reference model. • The OSI model consists of 7 layers. ICSS420/740 - Introduction
The OSI Reference Model 7 APPLICATION 6 PRESENTATION LAYER 5 SESSION LAYER 4 TRANSPORT LAYER 3 NETWORK LAYER 2 DATA LINK LAYER 1 PHYSICAL LAYER ICSS420/740 - Introduction
Why Seven Layers? • A layer should be created where a different level of abstraction is needed. • Each layer should perform a well defined function. • The layer boundaries should be chosen to minimize information flow across the interfaces. • The number of layers should be large enough that distinct functions need not be thrown together in the same layer out of necessity, and small enough that the architecture does not become unwieldy. ICSS420/740 - Introduction
The OSI Layers ICSS420/740 - Introduction
Perspectives On The OSI Model Application Protocol APPLICATION APPLICATION User Oriented Users of Transport Services Presentation Protocol PRESENTATION PRESENTATION Session Protocol SESSION SESSION End-to-end connection oriented Transport Protocol TRANSPORT TRANSPORT Network Protocol NETWORK NETWORK Network Services Data Link Protocol DATA LINK DATA LINK Point-to-point link-oriented Physical Protocol PHYSICAL PHYSICAL ICSS420/740 - Introduction
Physical Layer • Is concerned with transmitting raw bits over a communications channel. • The basic design issue is to make sure that when one side sends a ‘1’ the other side receives a ‘1’. • Typical questions include: • How many volts should represent a ‘1’? • How many microseconds does a ‘1’ last? • What do the connectors look like? • Primarily deals with mechanical, electrical, and the physical transmission media. ICSS420/740 - Introduction
The Data Link Layer • Takes a raw transmission facility and transform it into a line that appears free of undetected transmission errors. • Data is typically broken up into frames. • Typical issues include: • Error detection/correction • Acknowledgement strategies • Flow control • This layer deals with point-to-point issues (as opposed to end-to-end). ICSS420/740 - Introduction
The Network Layer • The key issue in this layer is end-to-end communication. Getting information from one machine to another when these machines are not directly connected. • This is where routing takes places. Routing is the process of finding a way to get information from one machine to another. • Addressing is also an issue in this layer. ICSS420/740 - Introduction
The Transport Layer • The transport layer is responsible for getting information to a specific user (a user here may not be a person). • This layer may also be responsible for reliable end-to-end communication. • Users of this layer can typically select either • Connectionless service • Connection oriented service ICSS420/740 - Introduction
The Session Layer • This layer allows users on different machines to establish sessions between them • A session provides enhanced services that are useful in some applications. • Possible services include: • dialogue control • token management • sychronization ICSS420/740 - Introduction
The Presentation Layer • This layer is concerned with the syntax and semantics of the information transmitted. • Some common examples include: • network byte ordering • encoding issues (ASCII vs. UNICODE) • encryption ICSS420/740 - Introduction
The Application Layer • Your network program!! • The basic idea behind all of this is to remove any network specific stuff from your code. • Consists of an API that gives you access to the network at a fairly high level ICSS420/740 - Introduction
Data Transmission in the OSI Model APPLICATION data APPLICATION PRESENTATION AH data PRESENTATION SESSION SH data SESSION TRANSPORT TH data TRANSPORT NETWORK data NETWORK NH DATA LINK data DATA LINK DH PHYSICAL PH data PHYSICAL ICSS420/740 - Introduction
Types of Transfer • Networks typically provide two types of transfer • Connection-oriented • often reliable • stream based • Connectionless • often unreliable • datagram based ICSS420/740 - Introduction
Connection-oriented Transfer Server Create Socket Client Create Socket Accept Connection Establishment Connect Communication Read/Write Read/Write ICSS420/740 - Introduction
Connectionless Transfer Server Create Socket Client Create Socket Communication Read/Write Read/Write ICSS420/740 - Introduction
The TCP/IP Protocol Suite • TCP/IP is a set of protocols that were created specifically to allow development of network and internetwork communications on a global scale • TCP/IP is the most commonly used protocols within the internet. • TCP/IP is normally considered to be a four-layer system. ICSS420/740 - Introduction
Application Transport Network Link The TCP/IP Protocol Suite Telnet, FTP, e-mail, etc. TCP, UDP IP device driver and interface card ICSS420/740 - Introduction
The TCP/IP Reference Model OSI INTERNET APPLICATION APPLICATION Telnet, ftp, etc. PRESENTATION SESSION TRANSPORT TRANSPORT TCP, UDP NETWORK INTERNET IP, ICMP, IGMP DATA LINK HOST TO NETWORK Device driver and card PHYSICAL ICSS420/740 - Introduction
User Process User Process User Process User Process The TCP/IP Protocol Suite application TCP UDP transport ICMP IP IGMP network Hardware Interface link ARP RARP ICSS420/740 - Introduction
Running FTP FTP Protocol Application FTP FTP TCP Protocol Transport TCP TCP IP Protocol Network IP IP Ethernet driver Ethernet Protocol Ethernet driver Link ICSS420/740 - Introduction
user data App Hdr user data TCP Hdr application data IP Hdr transport data TCP/IP Encapsulation application TCP TCP segment IP IP datagram Ethernet driver Ethernet header Ethernet trailer network data Ethernet Frame ICSS420/740 - Introduction
Demultiplexing demultiplexing based on protocol value in IP header application application application TCP UDP ICMP IGMP IP ARP RARP Ethernet driver demultiplexing based on frame type in Ethernet header ICSS420/740 - Introduction
Standardization • Who controls the TCP/IP protoocol suite? • The Internet Society (ISOC) a professional society to facilitate, support, and promote the evolution and growth of the Internet • The Internet Architecture Board (IAB) the technical oversight and coordination body • The Internet Engineering Task Force (IETF) is the near-term, standards-oriented group. • The Internet Research Task Force (IRTF) pursues long-term research projects. ICSS420/740 - Introduction
RFCs • All official standards in the internet community are published as a Request for Comments, or RFC. • All RFCs are available at no charge through electronic mail, FTP, or the Web. • A nice place to get RFCs is at • http://www.rfc-editor.org/ ICSS420/740 - Introduction
IP: Internet Protocol • IP is the workhorse protocol of the TCP/IP protocol suite • IP provides an unreliable, connectionless, datagram delivery service • RFC791 is the official specification of IP ICSS420/740 - Introduction
Addressing • A distinction is made between names, addresses, and routes • A name indicates what we seek • An address indicates where it is • A route indicates how to get there • IP deals primarily with addresses. It is the task of higher level protocols to make the mapping from names to addresses. ICSS420/740 - Introduction
IP Addresses • Every host on the internet must have a unique Internet Address (an IP address) • IP addresses are 32-bit numbers and are divided into two components: the host address and the network address • The number of bits assigned to the host and network varies depending on the class of the address ICSS420/740 - Introduction
Dotted Decimal Notation • IP addresses are normally written as four numbers, one for each byte of the address. • 129.21.38.169 • The easiest way to differentiate between the classes is to look at the first number ICSS420/740 - Introduction