Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Data Communication and Internet Technology Lehrstuhl für Informatik 4 RWTH Aachen Dr. rer. nat. Dirk Thißen Prof. Dr. Otto Spaniol Chapter 1: Introduction Page 1 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Organization Exercises to the lecture • • • • More or less fortnightly Thursday 16:30 – 18:00 h Lecture hall AH 5 Presence exercise Note: exercise dates are oriented at lecture content! No fixed dates, only announcements in the lecture. First exercise date: November, 2nd, 6th, or 9th – to be announced. ☺ Material (Slide copies, exercise sheets, video recordings) http://www-i4.informatik.rwth-aachen.de/content/teaching/lectures/sub/datkom/WS06-07/index.html Written exam At the end of winter term Contact information Dirk Thißen Lehrstuhl für Informatik 4, Room 4226 (Building part E1) Phone: 0241 / 80 - 21450 E-Mail: [email protected] Chapter 1: Introduction Page 2 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Content 1. Introduction • Networks and Network Topologies • Communication Protocols 2. Computer Networks • Network principles • Network Components (Cables, Repeaters, Hubs, Bridges, Switches, Routers) • Local Area Networks (Ethernet, Token Ring, Token Bus, FDDI, DQDB) • Wide Area Networks (Frame Relay, ATM, SDH, Resilient Packet Ring) 3. Internet Protocols • Internet/Intranet: the TCP/IP Reference Model • Network protocols (the Internet Protocol IP, Routing protocols) • Next Generation Internet • Transport protocols (TCP and UDP) 4. Application Protocols in the Internet • Higher protocols (FTP, HTTP, E-Mail, ...) Chapter 1: Introduction Page 3 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Literature and Related Courses • A.S. Tanenbaum: Computer Networks. 4th Edition, Prentice Hall, 2002. • J.F. Kurose, K.W. Ross: Computer Networking: A Top-Down Approach Featuring the Internet. Addison-Wesley, 2002. • Cisco Systems: Internetworking Technologies Handbook. 3rd Edition, Cisco Press, 2001. Related courses: • Mobile Communications (starting Wednesday, 25th) Chapter 1: Introduction Page 4 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Data Communication Data communication is the processing and the transport of digital data over connections between computers and/or other devices (generally over large distances) Data communication comprises two topical areas: Computer Networks → How to connect several computers? → Which media can be used for data transport? → How to represent digital data on the medium? → How to coordinate the access of several computers to the medium? Communication Protocols (Internet Technology) → Design of uniform data units for transfer → How to achieve a reliable and efficient transfer? Chapter 1: Introduction Page 5 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Evolution of Data Communication Sharing resources saves costs: • By communication, one can access resources of other parties – this reduces the costs (compared to buying own resources) • Several institutions can share expensive resources which cannot by completely utilized by a single institution • Needed: Efficient mechanisms for data exchange between components of a distributed systems Mechanisms for efficient interaction The “driving power” for the enormous increasing significance of data communication: • Decreasing costs for hardware... • … while the computing power increases. Interaction of several communication partners: usually Client/Server principle Chapter 1: Introduction Page 6 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme The Client/Server Principle Client Server Client Process Server Process Request Network Network Reply Advantages Chapter 1: Introduction → Cost reduction → Better usage of resources → Modular extensions → Reliability by redundancy Page 7 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Client/Server Systems Server Program (process) which offers a service over a network. Servers receive requests and return a result to the inquiring party. The services offered include simple operations (e.g. name server) or a complex set of operations (e.g. web server). Client Program (process) which uses a service offered by a server. Examples for Client/Server systems Chapter 1: Introduction Client Server WWW Browser WWW Server eMail Program Domain Name System (DNS) FTP Client FTP Server Page 8 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Another principle: Peer-to-Peer • Equal partners, no fixed client and server roles • Connections between any pair of computers • Establishment of a whole network of connections • Best example: File Sharing, e.g. Napster, Gnutella Chapter 1: Introduction Page 9 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Non-technical Aspects Communication networks enable a faster and cheaper exchange/distribution of information. There is however a large number of social, ethnical, cultural, juridical, ... side effects. • Eventually dubious or forbidden contents • Responsibility • Juridical aspects (legislation) • Potential censorship? • Control over the productivity of employees, of the whereabouts of people • Annoyance through anonymous or unwanted messages (SPAM) • ...... Chapter 1: Introduction Page 10 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Data Communication = Protocols Chapter 1: Introduction Page 11 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Why Protocols? To enable understanding in communication, all communication partners have to speak the same „language“. → → → → → → → Data formats and their semantics Control over media access Priorities Handling of transmission errors Sequence control Flow control mechanisms Segmentation and composition of long messages → Multiplexing → Routing A protocol is defined as the whole set of agreements between application processes with the purpose of a common communication Chapter 1: Introduction Page 12 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Implementation of Protocols Solution 1: Write one large „Communication Program“ which fulfills all requirements needed to establish a communication process. • Advantage: efficient data exchange for a given application. • Disadvantage: No flexibility! Adoptions require large efforts. Solution 2: Write a set of small programs specialized to special tasks of the communication process. For each application, the needed programs can be combined. • Advantage: Very flexible, since single components can be exchanged. • Disadvantage: Fixed structures of program interworking; adds more complexity and overhead. Accepted today: solution 2. The implementation takes place in layer models. Chapter 1: Introduction Page 13 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Example: Exchange of Ideas between Philosophers Philosopher A Thoughts about world politics Language: Chinese Language: Spanish Interpreter B Interpreter A Language: Chinese Philosopher B Uninterpreted sentences, Language: Spanish i.e. no knowledge about politics additionally: English additionally: English Technical Expert A Technical Expert B Recognizes single characters and sends them in Morse Uninterpreted characters in correct order Electrical signals Recognizes single characters and sends them in Morse Network Chapter 1: Introduction Page 14 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Standardization Indispensable for the area-wide practical use of communication systems: Standardization • On the national as well as the international level! • Successful standardization is quite difficult due to: Complex technical problems have to be solved The involved parties, e.g. companies are often working against each other Confidentially restrictions hinder the information flow • Consequence: Standardization processes are very slow (due to many, often non-technical reasons). Chapter 1: Introduction Page 15 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Standards Organizations - ISO International Standards Organization - ISO • Organisation, which is working on a volunteer basis (since 1946). • Members: standards organizations in approx. 90 countries www.iso.ch • Deals with a very broad range of standards • 200 Technical Committees (TC) for specific tasks (e.g. TC97 for computer and information processing) • TCs consist of subcommittees comprising in turn several working groups • Interworking with ITU-T regarding telecommunication standards, (ISO is a member of ITU-T). • Pioneering work of ISO regarding data communication: the ISO/OSI reference model • Notice: only the concept is pioneering – not the products developed from those concepts! (OSI: Open Systems Interconnection) Chapter 1: Introduction Page 16 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme The ISO/OSI Reference Model Reduce the complexity of a communication process (all details to be considered) through layers. 7 layers: 7 Application 6 Presentation 5 Session 4 Transport 3 Network 2 Data Link 1 Physical Common services for the end user Criticism of the model: Network-independent end-to-end data transfer Layer 5 and 6 are rarely being implemented Addressing and routing of “packets” Generally to much overhead – some details are unnecessary, some are overloaded Securing of “frames”; Flow Control Signal representation, character transmission Transmission medium („Layer 0”) Chapter 1: Introduction Page 17 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Layer Tasks 1. Physical layer This layer is responsible for transmitting single bits over the medium. Signal representation is defined here to ensure that a sent „1“ is understood by the receiver as „1“. For this, e.g. on a copper cable it is defined, which voltage is used to represent a „1“ resp. a „0“ and how long this voltage has to be for one bit. Moreover details are being defined like the type of cables, meaning of pins of network connectors, transmission direction on the cable (uni-/bidirectional), … 2. Data Link Layer Ensures an error-free data transmission between two neighbored hosts (e.g. in a sub-network). Therefore the incoming data are segmented into so-called frames which are being transmitted separately. The receiver, which identifies the start and the end of a frame e.g. with a bit pattern, checks if the transmission has been correct (e.g. with the help of a checksum). Additionally, flow control is used to control the re-transmission of corrupt frames and protect the receiver from overload. An additional task in broadcast networks is the control of medium access, i.e. the stations are coordinated in some way to prevent from access conflicts. Chapter 1: Introduction Page 18 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Layer Tasks 3. Network Layer This layer is responsible for the data transmission over larger distances and between heterogeneous sub-networks. The main task is (worldwide) uniform addressing of hosts and choosing a path through the whole network (routing). A necessary prerequisite for doing so is among other things a common address range and an agreement about a maximum size of the transferred data units. Intermediate stations (the routers) manage tables with routing information and use the uniform addresses to make a decision about the best path to the receiver. 4. Transport Layer (ISO/OSI) Layer 4 manages end-to-end communication between two processes. It is responsible for ensuring that the received data are complete and in correct order. For this, again flow control is used (sequence numbers, acknowledgements) to detect missing or wrong ordered data units. Beneath this, the current network state is considered to not only adapt to the receiver, but to the network capacities as well. Addressing is a topic here as well. On the transport layer, a single communication process on receiver side is addressed. Chapter 1: Introduction Page 19 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Layer Tasks 5. Session Layer This layer (like the transport layer) manages reliable data transport between the computers. However also additional services are being offered, like e.g. the possibility for dialogue control. I.e. it can be defined in which direction the transmission can take place. Closely related with this topic is the token management which also belongs to level 5. During the transmission so called tokens can be exchanged. With certain operations only the communication partner which owns the token is allowed to conduct the operation. Token management is also used here for other purposes, i.e. a set of tokens exist to coordinate several operations. One important operation is to set synchronization points in the communication process, to restart the transmission at the point it has ended in case of a connection loss. Chapter 1: Introduction Page 20 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Layer Tasks 6. Presentation Layer The task of this layer is to display the data to transmitted that way, that they can be handled from a lot of different systems. So computers code a string with ASCII characters, others use Unicode, some for integers the 1-, other the 2-complement. Instead of defining a new transmission syntax and –semantics for every application, it is tried to provide a universally valid solution. Specific data are encoded in an abstract (and commonly recognized) data format before the transmission and are being translated back by the receiver into its own personal data format. 7. Application Layer (ISO/OSI) In this layer (standard-) protocols are being provided which can be used from a whole set of applications/systems. One example is file transfer. On the application layer a universally valid protocol including an interface of file transfer is being provided. For systems from different manufacturers only the link-up into the local file system has to be realized. Other examples are file transfer, e-mail, remote operations etc. Chapter 1: Introduction Page 21 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Interplay between the Layers • Layer (n-1) offers its functionality to the above lying layer n as a communication service. • Layer n enhances the data to be sent with control information (Header) and sends the data together with the header as Protocol Data Units (PDU). • Two communication partners on layer n exchange PDUs by using the communication service of the nearest lower lying layer (n-1). • For layer (n-1), these PDUs are the data to be transmitted. Layer n Layer (n-1) H n-PDU Layer n Data Layer (n-1) (n-1)-PDU Chapter 1: Introduction H: Header, e.g. control information of the layer Page 22 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme The whole Communication Process Application process Application Layer H Presentation Layer H Session Layer H Transport Layer H Network Layer Data Link Layer H H Application process Data Application Layer Presentation Layer A-PDU Session Layer P-PDU Transport Layer S-PDU Network Layer T-PDU N-PDU Physical Layer T Data Link Layer Physical Layer Bit stream Chapter 1: Introduction Data Transmission medium Page 23 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme The Communication Process • Not necessarily a one-to-one mapping between layers • Depending on the protocol, n-PDUs can be segmented into several (n-1)-PDUs before transmission: Chapter 1: Introduction Page 24 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme The OSI Reference Model in the Network Application process Application process Application Protocol Application Layer Presentation Layer Application Layer Presentation Protocol Session Protocol Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Host A Chapter 1: Introduction Transport Protocol Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Network Layer Data Link Layer Physical Layer Data Link Layer Router A Router B Host B Internal Protocols Network Layer Physical Layer Page 25 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Computer Networks Chapter 1: Introduction Page 26 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme First Generation Computer Networks Computing Center Operator Rest of the world Mainframe Telephone lines Demultiplexer Multiplexer Terminals Terminals Chapter 1: Introduction Peripherals Page 27 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Introduction of Local Area Networks Building A Rest of the world Fixed lines Building B Computing Center Operator Mainframe Router Building C Terminals Chapter 1: Introduction Peripherals Page 28 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Global Networking Building A Rest of the world (Internet) Clients Local Server Fixed lines, ISDN, Provider ... Switch Computing Center Router Router Server Network and system administrator Router Backbone Building B Clients Local Server Switch Peripherals Switch Mainframe Router Chapter 1: Introduction Page 29 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Important Terms Switch A switch has several connectors, from each connector a cable can be drawn to a computer. These computers then are linked to a small network. The switch knows which computer is plugged in at which connector (address of the network interface card) and forwards data to a destination computer. Router A switch only knows which computers are connected to it directly; if someone wants to send data to a computer far away, some instance is needed which knows the way to the destination over several other computers or switches. Routers are used to manage global address information and forward data through complex networks. Backbone A backbone is a set of computers (usually routers) which are connected by point-to-point links over large distances. A backbone serves for covering a large region with a communication network which can interconnect small, local networks of single institutions. Chapter 1: Introduction Page 30 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Classification of Networks Point-to-Point Network • A pair of computers is directly connected by one cable Broadcast Network • One-to-all (e.g.: radio, television) • All connected stations are sharing one transmission channel • For ensuring that the data are sent the correct receiver, they have to marked with the destination address of the receiving computer • Data are being packed into packets with the Unicast Address of the receiver • Every computer connected controls each received packet for its destination address. Only the addressed computer processes the data, all others are simply deleting them. • To address all connected stations at once, so-called Broadcast Addresses are used Chapter 1: Introduction Page 31 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Classification of Networks Classification by Distance 1m Personal Area Network (PAN) 10 m Room 100 m Building 1 km Campus 10 km Town 100 km Country 1000 km Continent 10000 km Planet Chapter 1: Introduction Local Area Network (LAN) Metropolitan Area Network (MAN) Wide Area Network (WAN) Internet Page 32 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Networks Connection to a WAN Switch Local Networks (LAN) Router Metropolitan Network (MAN), Backbone for a town or a region Chapter 1: Introduction Page 33 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Networks Chapter 1: Introduction Page 34 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Networks Chapter 1: Introduction Page 35 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Networks Router 10 GBit/s 2,4 GBit/s 2,4 GBit/s 622 MBit/s Backbone in Germany Rostock Kiel Hamburg Global Upstream Oldenburg Braunschweig Hannover Berlin Magdeburg Bielefeld Essen Göttingen Leipzig St. Augustin Dresden Marburg Aachen Ilmenau Würzburg Frankfurt Erlangen Central entry router of RWTH. GEANT Heidelberg Karlsruhe Regensburg Kaiserslautern Stuttgart Augsburg Garching Point-to-Point connections Chapter 1: Introduction Page 36 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Networks Central node Frankfurt – connection to the European research network Géant. Also in Frankfurt and Hamburg: intercontinental connections. Chapter 1: Introduction Page 37 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Standards Organizations - IEEE Institute of Electrical and Electronic Engineers - IEEE • Standardization e.g. of the IEEE 802.XStandards for Local Area Networks • • • • • • • 802.1 802.2 802.3 802.4 802.5 802.6 802.7 Overview and Architecture of LANs Logical Link Control (LLC) CSMA/CD („Ethernet“) Token Bus Token Ring DQDB (Distributed Queue Dual Bus) Broadband Technical Advisory Group (BBTAG) • 802.8 Fiber Optic Technical Advisory Group (FOTAG) • 802.9 Integrated Services LAN (ISLAN) Interface • 802.10 Standard for Interoperable LAN Security (SILS) Chapter 1: Introduction www.ieee.org • 802.11 Wireless LAN (WLAN) • 802.12 Demand Priority (HP’s AnyLAN) • 802.14 Cable modems • 802.15 Personal Area Networks (Bluetooth) • 802.16 WirelessMAN • 802.17 Resilient Packet Ring • 802.18 Radio Regulatory Technical Advisory Group (RRTAG) • 802.19 Coexistence Technical Advisory Group • 802.20 Mobile Broadband Wireless Access (MBWA) Page 38 • 802.21 Media Independent Handover Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Communication Protocols Chapter 1: Introduction Page 39 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme Standards Organizations - IETF Internet Engineering Task Force - IETF www.ietf.org • Forum for the technical coordination of the work regarding Arpanet, the precursor of the Internet (since 1986). • Evolution to a large, open, and international community of administrators, vendors and researchers. • Works on evolution of the Internet architecture and the smooth operation of the Internet. • Several working groups on Internet protocols, applications, routing, security, … • Standard draft proposals can become a full standard only if an implementation of the proposal is successfully tested at two independent locations for at least four month. • Result of such a standardization process: the resounding success of the Internet protocols TCP/IP Chapter 1: Introduction Page 40 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme The TCP/IP Reference Model Application Layer Application Layer Presentation Layer Don´t exist Session Layer Transport Layer Transport Layer Network Layer Internet Layer Data Link Layer Host-to-Network Layer Physical Layer ISO/OSI Chapter 1: Introduction TCP/IP Page 41 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme The Tasks of the TCP/IP Layers Host-to-Network Layer (corresponds to ISO/OSI 1-2) Not defined exactly. The design does not matter, it is only defined that a host must be connected to the network via a protocol in a way that it is able to send and receive IP datagrams. The protocol design is left over to other standards to cover heterogeneous networks of all kinds. Internet Layer (corresponds to ISO/OSI 3) The term Internet refers here to the interworking of different networks, therefore not on the Internet itself. The protocol enables communication between hosts over the own network borders. In the Internet, the transmission is connectionless, meaning that the data are segmented into packets which are addressed and sent independently into the network. On each network border, a router takes over the forwarding of the packets. The choice of path can be dynamic, depending on the current network load. As a result, single packets can get lost by overload situations or received in wrong order. Such faults are not handled (this task is left over to the transport layer). In contrast to ISO, only one packet format is defined, together with a connectionless protocol, the Internet Protocol (IP). Chapter 1: Introduction Page 42 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme The Layers of TCP/IP Transport Layer (corresponds to ISO/OSI 4) This layer covers the communication between the end systems. To adapt to different applications, two protocols are defined. TCP (Transmission Control Protocol) is a reliable, connection-oriented protocol to protect the transmission of a byte stream between two hosts. The byte stream is segmented to fit into IP packets. On the receiving side the packets are reassembled in the original order with the purpose of restoring the original data stream. It also includes flow control to adapt to the receiver‘s capabilities and to overcome the faults caused by the connectionless IP. UDP (User Datagram Protocol) is an unreliable and connectionless protocol („best effort“). No error correction is integrated, thus the transmission is used when the speed of the data transmission is more important than the reliability (speech, video). Application Layer (corresponds to ISO/OSI 7) This layer defines common communication services. This comprises TELNET (remote work on another computer), FTP (file transfer), SMTP (electronic mail), DNS („phonebook“ for the Internet), HTTP (used for World Wide Web), etc. Chapter 1: Introduction Page 43 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme OSI vs. TCP/IP 1. Time The TCP/IP protocols were already widely used before OSI had finished the standardization activities. 2. Freedom from obligation A „reference model“ like OSI is free from obligation. It only defines what is to be done, but not how to do it. Result: incompatibility of products. 3. Complicatedness Very high and partly unneeded expense in the OSI specification (thousands of pages of specification descriptions). By the wish to consider all special cases, lots of options were included, making the products lavish, unhandy, and for too expensive - “The option is the enemy of the standard”! Chapter 1: Introduction Page 44 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme OSI vs. TCP/IP 4. Political reasons OSI was dominated too much by Europe – especially from the national telecommunication companies which had lucrative monopolies. The real market power was in the USA – nobody was interested in OSI over there. 5. Hurriedly product implementation The first OSI products were implemented too fast (driven by the success of TCP/IP protocols), were covered with faults, and had an overall low performance. In contrast, the “theoretically far more unmodern“ TCP/IP protocols were continuously modified and improved. They were of a high quality level and successfully tested before deployment and cheap to buy due to high production numbers. Chapter 1: Introduction Page 45 Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme And now… 1. Introduction • Networks and Network Topologies • Communication Protocols 2. Computer Networks • Network principles • Network Components (Cables, Repeaters, Hubs, Bridges, Switches, Routers) • Local Area Networks (Ethernet, Token Ring, Token Bus, FDDI, DQDB) • Wide Area Networks (Frame Relay, ATM, SDH, Resilient Packet Ring) 3. Internet Protocols • Internet/Intranet: the TCP/IP Reference Model • Network protocols (the Internet Protocol IP, Routing protocols) • Next Generation Internet • Transport protocols (TCP and UDP) 4. Application Protocols in the Internet • Higher protocols (FTP, HTTP, E-Mail, ...) Chapter 1: Introduction Page 46