Page 1
Chapter 1: Introduction
Data Communication
and Internet Technology
Lehrstuhl für Informatik 4
RWTH Aachen
Dr. rer. nat. Dirk Thißen
Prof. Dr. Otto Spaniol
Page 2
Chapter 1: Introduction
Organization
• More or less fortnightly • Thursday 16:30 – 18:00 h • Lecture hall AH 5 • Presence exercise Exercises to the lecture
Dirk Thißen
Lehrstuhl für Informatik 4, Room 4226 (Building part E1) Phone: 0241 / 80 - 21450
E-Mail: [email protected] Contact information
http://www-i4.informatik.rwth-aachen.de/content/teaching/lectures/sub/datkom/WS06-07/index.html
Material (Slide copies, exercise sheets, video recordings)
At the end of winter term Written exam
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. ☺
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
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, ...)
Content
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Literature and Related Courses
• A.S. Tanenbaum: Computer Networks. 4thEdition, 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. 3rdEdition, Cisco Press, 2001.
Related courses:
Page 5
Chapter 1: Introduction
Data communication is the processing and the transport of digital data over connections between computers and/or other devices
(generally over large distances)
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? Data communication comprises two topical areas:
Data Communication
Page 6
Chapter 1: Introduction
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
Interaction of several communication partners: usually Client/Server principle
Evolution of Data Communication
The “driving power” for the enormous increasing significance of data communication:
• Decreasing costs for hardware... • … while the computing power increases.
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Client Server Client Process Server Process Request Reply Network Network →Cost reduction
→Better usage of resources →Modular extensions →Reliability by redundancy Advantages
The Client/Server Principle
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Client/Server Systems
Client Server
WWW Browser WWW Server
eMail Program Domain Name System (DNS)
FTP Client FTP Server
Examples for 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
Page 9
Chapter 1: Introduction
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
Page 10
Chapter 1: Introduction
• 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) • ...
Communication networks enable a faster and cheaper exchange/distribution of information. There is however a large number of social, ethnical, cultural, juridical, ... side effects.
Non-technical Aspects
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Data Communication
=
Protocols
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
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
Page 13
Chapter 1: Introduction
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.
Page 14
Chapter 1: Introduction
Example: Exchange of Ideas between
Philosophers
Philosopher A Language: Chinese Interpreter A additionally: English Recognizes single characters and sendsthem in Morse
Network
Thoughts about world politics
Uninterpreted sentences, i.e. no knowledge about politics
Uninterpreted characters in correct order Electrical signals Technical Expert A Language: Chinese Philosopher B Language: Spanish Interpreter B additionally: English Recognizes single characters and sends
them in Morse
Technical Expert B
Language: Spanish
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Standardization
Indispensable for the area-wide practical use of communication systems:
• Consequence:
Standardization processes are very slow (due to many, often non-technical reasons).
• On the national as well as the international level!
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
• Successful standardization is quite difficult due to:
Standardization
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
International Standards Organization - ISO
• Organisation, which is working on a volunteer basis (since 1946). • Members: standards organizations in approx. 90 countries
• 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!
www.iso.ch
Standards Organizations - ISO
Page 17
Chapter 1: Introduction
Layer 5 and 6 are rarely being implemented Application 7 Presentation 6 Session 5 Transport 4 Network 3 Data Link 2 1
Common services for the end user
Network-independent end-to-end data transfer
Addressing and routing of “packets” Securing of “frames”; Flow Control
Physical Signal representation, character transmission
Criticism of the model:
7 layers:
Transmission medium („Layer 0”) Generally to much overhead – some details are unnecessary, some are overloaded
Reduce the complexity of a communication process (all details to be considered) through layers.
The ISO/OSI Reference Model
Page 18
Chapter 1: Introduction
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.
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 pre-requisite 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.
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.
Page 21
Chapter 1: Introduction
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.
Page 22
Chapter 1: Introduction
Interplay between the Layers
Layer (n-1) Layer (n-1)
Layer n n-PDU Layer n
Data H
(n-1)-PDU H: Header, e.g. control information of the layer • 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 asProtocol 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.
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
The whole Communication Process
Physical Layer Data Link Layer
Network Layer Transport Layer Session Layer Presentation Layer Application Layer Physical Layer Data Link Layer
Network Layer Transport Layer Session Layer Presentation Layer Application process Data Data H A-PDU H P-PDU H S-PDU H T-PDU H N-PDU H Transmission medium Bit stream T Application process Application Layer
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:
Page 25
Chapter 1: Introduction
Physical Layer Data Link Layer Network Layer Physical Layer Data Link Layer Network LayerHost A Router A Router B Host B
Transport Protocol Session Protocol Presentation Protocol
Application Protocol
The OSI Reference Model in the Network
Physical Layer Data Link Layer
Network Layer Transport Layer Session Layer Presentation Layer Application process Application Layer Physical Layer Data Link Layer
Network Layer Transport Layer Session Layer Presentation Layer Application process Application Layer Internal Protocols
Page 26
Chapter 1: Introduction
Computer Networks
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
First Generation Computer Networks
Mainframe Operator Peripherals Terminals Rest of the world
Computing Center
Terminals Multiplexer Demultiplexer Telephone linesLehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Introduction of Local Area Networks
Mainframe Operator Peripherals Terminals
Computing Center
Fixed lines Router Building C Building B Building A Rest of the worldPage 29
Chapter 1: Introduction
Global Networking
Mainframe PeripheralsComputing Center
Fixed lines, Router Building A Router Switch Clients Local Server Building B Router Switch Clients Local Server SwitchRouter Server Network and system administrator Backbone Rest of the world (Internet) ISDN, Provider ...
Page 30
Chapter 1: Introduction
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.
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
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Classification of Networks
Classification by Distance 1 m 10 m Room 100 m Building 1 km Campus 10 km Town 100 km Country 1000 km Continent 10000 km PlanetLocal Area Network (LAN)
Metropolitan Area Network (MAN) Wide Area Network (WAN) Personal Area Network (PAN)
Page 33
Chapter 1: Introduction
Networks
Switch
Local Networks (LAN)
Metropolitan Network (MAN), Backbone for a town or a region Router Connection to a WAN
Page 34
Chapter 1: Introduction
Networks
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Networks
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Networks
Stuttgart Leipzig Berlin Frankfurt Karlsruhe Garching Kiel Braunschweig Dresden Aachen Regensburg Kaiserslautern Augsburg Bielefeld Hannover Erlangen Heidelberg Ilmenau Würzburg Magdeburg Marburg Göttingen Oldenburg Essen St.Augustin Rostock Global Upstream GEANT HamburgRouter
10 GBit/s 2,4 GBit/s 2,4 GBit/s 622 MBit/s Central entry router of RWTH. Point-to-Point connections Backbone in GermanyPage 37
Chapter 1: Introduction
Networks
Central node Frankfurt – connection to the European research network Géant.
Also in Frankfurt and Hamburg:
intercontinental connections.
Page 38
Chapter 1: Introduction
Institute of Electrical and Electronic Engineers - IEEE
• Standardization e.g. of the IEEE
802.X-Standards for Local Area Networks www.ieee.org
Standards Organizations - IEEE
• 802.1 Overview and Architecture of LANs • 802.2 Logical Link Control (LLC)
• 802.3 CSMA/CD („Ethernet“) • 802.4 Token Bus
• 802.5 Token Ring
• 802.6 DQDB (Distributed Queue Dual Bus) • 802.7 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)
• 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)
• 802.21 Media Independent Handover
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Communication Protocols
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
Standards Organizations - IETF
Internet Engineering Task Force - IETF
• 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
Page 41
Chapter 1: Introduction
The TCP/IP Reference Model
Don´t exist
Host-to-Network Layer
Application Layer Application Layer
Presentation Layer
Session Layer
Transport Layer Transport Layer
Network Layer Internet Layer
Data Link Layer
Physical Layer
ISO/OSI
TCP/IP
Page 42
Chapter 1: Introduction
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 Internetrefers 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).
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
re-assembled 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.
Lehrstuhl für Informatik 4
Kommunikation und verteilte Systeme
1. Time
The TCP/IP protocols were already widely used before OSI had finished the standardization activities.
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”!
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.
OSI vs. TCP/IP
Page 45
Chapter 1: Introduction
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.
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.
OSI vs. TCP/IP
Page 46
Chapter 1: Introduction
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, ...)