What is a Network Computer network a set























































- Slides: 55
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. ICSS 420/740 - Introduction
Protocols Hi TCP connection req. Hi TCP connection reply. Got the time? Get http: //gaia. cs. umass. edu/index. htm 2: 00 <file> time 12/5/2020 ICSS 420/740 - Introduction 2
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 ICSS 420/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 ICSS 420/740 - Introduction
An internet A Network Service Provider’s Network 12/5/2020 ICSS 420/740 - Introduction 5
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 – 12/5/2020 "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" ICSS 420/740 - Introduction 6
The Internet in the USA 12/5/2020 ICSS 420/740 - Introduction 7
Nuts and Bolts router server local ISP workstation mobile regional ISP company network 12/5/2020 ICSS 420/740 - Introduction 8
How Did It Get Started? • The Internet started as the ARPAnet – Started in the mid 60 s, working in early 70 s – Designed for the military – Could only be used by the military • Applications of the ARPAnet included – Electronic Mail – Remote Access – File Transfer ICSS 420/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 Do. D. • As a result many small, special interest, networks were created. ICSS 420/740 - Introduction
NSFnet • In the late 80 s 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. ICSS 420/740 - Introduction
12/5/2020 ICSS 420/740 - Introduction 12
Commercialization • During NSF's support of the Internet commercial use was forbidden by law. • On April 30 th, 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. ICSS 420/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/ ICSS 420/740 - Introduction
Age 12/5/2020 ICSS 420/740 - Introduction 15
Gender 12/5/2020 ICSS 420/740 - Introduction 16
Race 12/5/2020 ICSS 420/740 - Introduction 17
Geographical Location 12/5/2020 ICSS 420/740 - Introduction 18
Income 12/5/2020 ICSS 420/740 - Introduction 19
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. ICSS 420/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. ICSS 420/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. ICSS 420/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 12/5/2020 ICSS 420/740 - Introduction 23
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. ICSS 420/740 - Introduction
The OSI Layers 12/5/2020 ICSS 420/740 - Introduction 25
Perspectives On The OSI Model User Oriented APPLICATION PRESENTATION SESSION End-to-end connection oriented TRANSPORT NETWORK Point-to-point link-oriented 12/5/2020 DATA LINK PHYSICAL Application Protocol Presentation Protocol Session Protocol Transport Protocol Network Protocol Data Link Protocol Physical Protocol ICSS 420/740 - Introduction APPLICATION PRESENTATION Users of Transport Services SESSION TRANSPORT NETWORK DATA LINK Network Services PHYSICAL 26
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. ICSS 420/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). ICSS 420/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. ICSS 420/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 ICSS 420/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 ICSS 420/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 ICSS 420/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 ICSS 420/740 - Introduction
Data Transmission in the OSI Model APPLICATION data PRESENTATION AH data SESSION SH TRANSPORT TH NETWORK NH DATA LINK PHYSICAL 12/5/2020 DH PH APPLICATION PRESENTATION data SESSION data TRANSPORT data NETWORK data DATA LINK data PHYSICAL ICSS 420/740 - Introduction 34
Types of Transfer • Networks typically provide two types of transfer – Connection-oriented • often reliable • stream based – Connectionless • often unreliable • datagram based ICSS 420/740 - Introduction
Connection-oriented Transfer Server Create Socket Accept Read/Write 12/5/2020 Client Connec tion Es tablish ment Communication ICSS 420/740 - Introduction Create Socket Connect Read/Write 36
Connectionless Transfer Server Create Socket Client Create Socket Read/Write 12/5/2020 Communication ICSS 420/740 - Introduction Read/Write 37
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 fourlayer system. ICSS 420/740 - Introduction
The TCP/IP Protocol Suite Application Transport TCP, UDP Network IP Link 12/5/2020 Telnet, FTP, e-mail, etc. device driver and interface card ICSS 420/740 - Introduction 39
The TCP/IP Reference Model OSI INTERNET APPLICATION Telnet, ftp, etc. PRESENTATION SESSION TRANSPORT NETWORK INTERNET IP, ICMP, IGMP DATA LINK HOST TO NETWORK Device driver and card PHYSICAL ICSS 420/740 - Introduction TCP, UDP
The TCP/IP Protocol Suite User Process TCP User Process UDP transport ICMP IP IGMP ARP Hardware Interface RARP ICSS 420/740 - Introduction application network link
Running FTP Protocol Application FTP Transport TCP Network Link 12/5/2020 IP Ethernet driver FTP TCP Protocol IP Protocol Ethernet Protocol ICSS 420/740 - Introduction TCP IP Ethernet driver 42
TCP/IP Encapsulation user data App Hdr TCP Hdr application user data TCP application data TCP segment IP Hdr transport data IP IP datagram Ethernet header network data Ethernet trailer Ethernet driver Ethernet Frame 12/5/2020 ICSS 420/740 - Introduction 43
Demultiplexing demultiplexing based on protocol value in IP header application TCP ICMP application UDP IGMP IP ARP RARP Ethernet driver demultiplexing based on frame type in Ethernet header 12/5/2020 ICSS 420/740 - Introduction 44
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 longterm research projects. ICSS 420/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/ ICSS 420/740 - Introduction
IP: Internet Protocol • IP is the workhorse protocol of the TCP/IP protocol suite • IP provides an unreliable, connectionless, datagram delivery service • RFC 791 is the official specification of IP ICSS 420/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. ICSS 420/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 ICSS 420/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 ICSS 420/740 - Introduction
Assigning IP Addresses • Since every interface must have a unique IP address, there must be a central authority for assigning numbers • That authority is the Internet Network Information Center, called the Inter. NIC. • The Inter. NIC assigns only network ids, the assignment of host ids is up to the system administrator ICSS 420/740 - Introduction
Transmission Control Protocol • TCP provides a connection-oriented, reliable, byte stream service (RFC 793) • TCP is an independent, general purpose protocol that can be adapted for use with delivery systems other than IP. ICSS 420/740 - Introduction
TCP Streams • A stream of 8 -bit bytes is exchanged across a TCP connection. • The treatment of the byte stream by TCP is similar to the treatment of a file by the UNIX operating system. • Connections provided by TCP allow concurrent transfer in both directions. Such connections are called full duplex. ICSS 420/740 - Introduction
TCP Ports • TCP uses protocol port numbers to identify the ultimate destination within a machine. • How does one determine the port to communicate with? – Well-known Ports – Randomly Assigned Ports ICSS 420/740 - Introduction
User Datagram Protocol • UDP is a simple, unreliable, datagramoriented, transport layer protocol (RFC 768). 0 15 16 -bit source port 16 31 16 -bit destination port 8 bytes 16 -bit length 16 -bit checksum data (if any) ICSS 420/740 - Introduction