430 likes | 450 Views
Learn data communication basics, network principles, modern networks, distributed systems, and computer hardware. Covers OSI model, layers, protocols, and more.
E N D
Computer Communication and Distributed Algorithms 202-2-1131 Eyal Cohen: eyalco@cs.bgu.ac.il Introduction
Administration 1 • Practical sessions: • Mondays 12:00-13:00. • Books: • Computer Networking: A Top-Down Approach Featuring the Internet / Kurose-Ross • Computer Networks / Tanenbaum
Administration 2 • Practical session: Room 104 Building 28. • Office Hors: Room 504 Building 37.Tuesday 14:00-16:00 or scheduled by Email • Assignments are given in the lectures.
Session Objectives • Learn the basics of data communication and computer networks. (ללמוד את הבסיס של תקשורת נתונים ורשתות מחשב ) • To understand the main concepts and principles of communication. (להבין את המושגים העיקריים ואת העקרונות של תקשורת ) • To present modern communication networks and their applications. (להציג את רשתות התקשורת המודרניות והיישומיים שלהם)
Session Plan • Introduction An initial introduction to communication and a historical review of the network world. The(OSI) layered network architecture. • Physical Layer The electric signals that allow data transfer and principles of communication systems. • Data Link Layer Collection of data into blocks. Error checking and fixing. Protocols. • Network Layer OSI and Internet approach. Designing networks and protocols. IP(v4, v6). Routing Protocols • Layer Transport OSI and Internet approach. Designing and interface. TCP, UDP. • Application Layer OSI and Internet approach. Support of the network applications: FTP, SMTP, HTTP, Mail, DNS • Distributed Systems
Network - Definition רשת מחשבים היא אוסף של מחשבים אוטונומיים שמדברים זה עם זה דרך תווך פיזי A Computer Network is a collection of autonomous computers, interconnected through a physical medium
Motivation • Sharing resources. • Reliability. (Backup or Decentralization) • Additional computing capabilities. • Some things are more fun in a group.
RS-232 Receive Transmit Physical medium Old Standard New Standard
CPU Cache Memory CPU Bus PCI Controller ISA Controller SCSI Controller Boards (e.g. Modem) Computer hardware CPU - Central Processing Unit is executing the commands stored in the computer’s memory. Cache – Data storage component. Data is restored fast or cheaply. • PCI - Peripheral Component Interconnect. A computer channel protocol designed by Intel in order to attach peripheral components to a computer’s motherboard. • These components include: • Printed circuits on the motherboard • Additional cards that fit on a socket. Computer Memory – (Memory) A component or devices that contain digital data used for processing. Motherboard – is the main printed circuit of the computer. All the essential components needed to operate the computer are an integral part of the motherboard, or directly connected by different extension slots. These components include the CPU, Memory, Disk drives, etc. Every motherboard is based on a Chipset which manage the bridging of the different components. In addition to the essential components it is possible to connect additional components over extension slots: Display card, Sound cards, Network cards, Modem. SCSI – Small Computer System Interface. A data transfer protocol, allows faster rates than the computer’s serial and parallel protocols.Another advantage- More than one component could be connected to the same port. ISA (Industry Standard Architecture) a protocol for personal computers presented in 1984 which extended XT architecture to 16 Bit. Designed to attach peripherals to the motherboard.
Application Application User to User Communication Data packet Data packet Computer Hardware Computer Hardware Computer to Computer Communication A B Computer to Network Communication Computer to Network Communication Physical medium Two computers communication example
Technion BGU Guy Yair Admin Admin Introduction to a post system A book on Computer Communication
Properties of the post system • כל מעטפה נשלחת בנפרד (Each envelope is individually routed). • אין זמן מובטח למשלוח (No time guarantee for delivery). • אין הבטחה לסדר השליחה (No guarantee of delivery in sequence). • אין כלל הבטחה למשלוח ! (No guarantee of delivery at all !). • דברים יכולים ללכת לאיבוד .(Things get lost) • כיצד אנו יכולים לאשר קבלת משלוח ? (How can we acknowledge delivery?) • שליחה חוזרת (Retransmission): • אך נקבע מתי לשלוח מחדש ? פסק-זמן ? (How to determine when to retransmit? Timeout?). • נצטרך העתקים מקומיים של תוכן כל מעטפה (Need local copies of contents of each envelope). • כמה זמן צריך להחזיק כל אחד מן העתקים (How long to keep each copy). • מה אם האישור נאבד ? (What if an acknowledgement is lost?).
Technion BGU שכבת הישום Application Layer Guy Yair שכבת התעבורה Transport Layer Admin Admin שכבת הקו Link Layer שכבת הרשת Network Layer Postal system and the Layer model
ie.technion.ac.il cs.bgu.ac.il Application Layer Guy Yair Transport Layer Linux Win XP Data Packet Network Layer Link Layer Data Data Header Header Internet introduction
Properties of a communication system (Internet) • כל חבילה נשלחת בנפרד (Each packet is individually routed). • אין זמן מובטח למשלוח .(No time guarantee for delivery) • אין הבטחה לסדר השליחה .(No guarantee of delivery in sequence) • אין כלל הבטחה למשלוח ! (No guarantee of delivery at all!) • דברים יכולים ללכת לאיבוד (Things get lost). • אישור על קבלה Acknowledgements)). • שליחה חוזרת (Retransmission) • אך נקבע מתי לשלוח מחדש ? פסק-זמן ? (How to determine when to retransmit? Timeout?). • נצטרך העתקים מקומיים של תוכן כל חבילה (Need local copies of contents of each envelope). • כמה זמן צריך להחזיק כל אחד מן העתקים (How long to keep each copy). • מה אם האישור נאבד ? (What if an acknowledgement is lost?)
Internet Properties (cont.) • אין הבטחה לאמינות (או שלמות) הנתונים (No guarantee of integrity of data). • חבילות יכולה להתחלק למספר חלקים (Packets can be fragmented). • חבילה יכולה להיות משוכפלת (Packets may be duplicated). • All those properties and demands are addresed today by the modern networks and systems.
Data transfer • Transfer of digital data throughout the network: • מעבר מידע ממערכת מחשב אחת לשניה (Out of the computer from one system to another). • בדרך כלל עם שמירה על הסדר .(Usually in a serial manner) • משתמשים בתווך ספציפי: סיבים אופטים, כבלים, רדיו (Using a specific medium (fiber, cables, radio)). • אופציה של לעבור דרך "תחנות בינים" (Option of passing through “intermediate stations”). • טעויות אפשריות לפני להגיע ליעד (Possible errors before reaching to the destination).
Early communication systems • Telephone • Point to Point communication. • Direct connection of users to a central switchboard. • Custom design of circuits. • If the distance between users is too far, links and relays are used.
Overview of data networks • A series of nodes that exchange information • Sharing of the transmission circuits = “Circuit Switching”. Connecting two edges. • Many nodes mean more than one path between two nodes. • A network must choose the apropriate path for each link demand. • Example of a network:
Overview Overview of data networks Hardware: How to configure a group of computers as a network • LAN - Local Area Network. A network spread over one or several buildings. • MAN – Metropolitan Area Network. A network spread over a city or a campus (such as a university network). • WAN – Wide Area Network. A network that connects a few LANs and WANs, which are usually far from one another. • Internetworks – Connection of many networks. Software: Makes the network – Not the equipment! • The Internet deals with redirecting messages through networks of networks or internetworks. How? • Protocols: Describe how two sides that are active in transferring data exchange data between them.
0.1m Circuit Board 1m System 10m Room 100m Building 1Km Campus 10Km City 100Km Country 1000Km Continent 10000Km Earth LAN MAN WAN Network classification by size
Overview of data networks • Services: What the network offers to the communicating nodes. • Interfaces: How a user can utilize network services and make them available. • Two models: OSI – Open System Interconnection, developed by the international standard organization (ISO), and the Internet network model.
Local Area Network is a confined computer (or data) network. LAN are different than other networks by size, broadcast technology, and by simple topologies. Usually “Shared media” method- A single cable that connects all the computers. Bus – All the stations are on a shared bus. When one computer transmits no one else can transmit (Disadvantage). Typical transmission rates:10Mbps-1Gbps Local area networks (LAN)
Local area networks (LAN) Token-based A token which is essentially a packet that goes along the ring. The Transmitting computer • Waits until the token comes and removes it. • Sends the packet to the ring. • Waits until the packet returns. • Transmits the token again Why do we need a token? 1 2 4 3
Wide Area Network (WAN) • WAN covers a large geographic area, such as a city, a province, or a country. • WAN usually connects smaller networks such as LANs. • Router – Connects the LANs into a WAN. • A standard transmission rate: 2.5Gbps-10Gbps
Internetworks • Until now the assumption was that the network is homogenous and there is a little variation of the equipment. • Hoever, Big networks could only be built by connecting different types of networks to an internet. • Examples: • Different types of LANs in the same department (Bus and Ring). • - Connecting LANs to all other networks through WAN. The WAN is a subnet.- Connecting WANs to all other networks – Internet.
Internet network • Addressing – A method of accessing network resources IP addresses 132.66.48.37, Refer to a host interface =network number + host number, For example 132.66.48 represents the network and 37 represents the specific computer. • Routing – How to find the path from the source to the destination.Packet switching- moving packets between the routers independently. • Information Units – How is the data transmitted Self-descriptive data: packet = data + metadata (header).
Protocol Layers • Organizing the network structure. • A series of steps and structures using protocols: • A protocol is a group of rules and patterns to regulate the communication between two colleagues. • A protocol is needed for any action that requires a cooperation between all the colleagues. • Examples of communication protocols: • ARP – Address Resolution Protocol. Used to convert IP addresses to MAC addresses. • DHCP – Dynamic Host Configuration Protocol. Used to automatically assign IP addresses for devices that do not have a predefined static IP address. • DNS – Domain Name System. Used to translate literal domain names to IP addresses.
Protocol Layers • The network that provides many services (i.e. Web, VoIP, Email, games, Ecommerce, file sharing) needs many protocols. • Some of the services are independent but others rely on others. • A protocol may use another protocol as a step of its execution. • This relationship between the layers is called layering – one protocol layer is layered over another protocol layer.
Open protocols and systems • A group of protocols is open if: • The details of the protocol are clear and available. • The changes in the protocols are managed by organizations that publish the protocols and its meetings are open to the public • A system that utilizes open protocols is called an open system. • International Organization for Standards (ISO) - Standardizing to create open systems. • open system interconnect (OSI) • Layered protocols model has a major impact.
ISO OSI reference model • Source model • Formally defines a layer, a service etc. • Service architecture • Describes the service that each layer provides and the interfaces between the layers. • Protocol architecture • A group of protocols that executes the service architecture. • A collection of all the protocols of the different layers is called – Protocol Stack.
Application Application Presentation Presentation Session Session Transport Transport Network Network Network Data Link Data Link Data Link Physical Physical Physical Intermediate system End system End system Seven Layers Model
Physical layer • The physical layer defines 4 properties of the physical connection: • The mechanical properties - the interface of the communication device. • The electric signals that allow data transfer. • The logical function of the electric signals, and their order of appearance over the different communication lines in a given time. • The protocol that controls the timing of events and their order is defined. • Protocol Examples: • 802.11x-WiFi – A family of protocols for wireless LAN. • 10Base-T – A physical protocol of the Ethernet. Allow stations to be connected by twisted pairs wires. • Bluetooth – A private wireless protocol in the personal space. Frequency 2.45GHz. Short range low bandwidth. i.e. computer connection to peripherals. • DSL – A digital data transmission technology over local phone lines.
Data link layer • After the physical connections are established, there is a need to control the data transfer. • The link layer directs the data in the network in a reliable and understandable way to all the communication devices. • The link layer collects the data packets and orders them into frames. • The link layer adds bytes and bits to identify each field in the frame. • Defines a protocol that finds and fixes errors created by the data transfer. • Protocols • Ethernet - Allows sending information without prior notification. Deals with collisions. • Token Ring – Uses a 24 bit token transmitted between computers in the network where only the computer who has it may transmit. • FDDI – Two rings that pass a token in opposite directions. The Main ring is used most of the time. The secondary ring is used when there is a failure in the network.
Network layer • The network layer allows routing of the data from the source to the destination. • Hides the behavior of the link layer. • Provides the addresses needed. • Decides which physical route will be used according to the network condition, service priorities, and other settings. • Exists in every node. In the source, the destination and the routers. • Common protocols: • IPv4 – Internet Protocol, or simply IP. A communication protocol used to transfer data without data check or acknowledgement, but it is very fast and efficient. Very common in computer networks, and the Internet. • IPv6 – A protocol used to transfer data based on packages. The 3rd version of the protocol after IPv4 • ICMP – A part of a group of protocols of the Internet. Generally created as a result of errors in IP packets, or for routing and diagnostics. • RIP – A routing protocol based on Hop Count in order to make routing decisions.
Transport layer • The transport layer is responsible for services and optimization between two systems. • This layer provides data transport between the source and the destination. Responsible of the reliability of the connection and the reliability of the data. • The Transport layer include several protocols that implement the function of the layer in different ways. In addition some decide to implement or not to implement certain functions. Every application (from the upper layer) chooses its appropriate protocol, according to it’s needs. • Common protocols: • TCP – Transmission Control Protocol. Provides error control, flow control and multiplexing of many messages at a time. • UDP – User Datagram Protocol. Provides multiplexing of only a few messages at a time
Session layer • Supports the connection of two open systems who wishes to maintain a “session”. • This layer manages the dialog between the systems depending on the transport layer. Every session link requires a transport link. • The session layer performs the functions that allow two applications to connect over the network. I provides security, identification, system login etc. These functions include bi-directional data flow and synchronization. • Over the internet Internet there is no session layer. • Protocols: • PPTP – Allows a safe private virtual private network (VPN) over TCP/IP. • SSH – Allows a remote access and login. Replaces RSH, rlogin and telnet. Allows a safe and encrypted communication between two computers over unsecured networks. SSH is working over TCP. • SSL – A protocol that allows safe and encrypted communication between two applications.
Presentation layer • In charge of the data format created in two open systems and converting them into a readable content. • In charge of the translation and verifying the data transport between the two systems. For example, if one system is working on ASCII format and the other on EBDIC, the presentation layer must provide the translation of the protocols. • The presentation layer holds the formatting data to ensure a valid and wanted output over the appropriate peripherals. (Screen, Printers, etc.) • The layer is dealing with the mapping of the screen. An application written for IBM terminal needs to reformat the data in order to be displayed on another terminal. • No presentation layer over the internet • Protocols: • ASCII – A Code for Information Interchange, in computer memory and files. • Unicode – An international standard for presenting text in computer systems. Defines a code system that includes all active worldwide writing systems, and also common scientific and technical signs. • MIME – Extends Email capabilities by adding these features: • Non ASCII text • Non text attachments • Non ASCII headers • Almost all Email sent today uses MIME
Application layer • The upper layer that includes the user applications. • This includes operating the network system, file management, printing queue, Emails etc. • This layer does not provide service to another layer. • Protocols: • HTTP – A protocol used to transfer HTML pages and their objects (Images, sounds, flash etc), over the Internet. • FTP – A file transfer protocol based on TCP.
Next: • The physical layer • Signal processing basics. • Nyquist-Shannon sampling • The relation between data flow and bandwidth. • The maximum transmission rate of a noisy channel. • Wave modulation and coding basics