Download 2 - Networking

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

AppleTalk wikipedia , lookup

Network tap wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Zero-configuration networking wikipedia , lookup

CAN bus wikipedia , lookup

Deep packet inspection wikipedia , lookup

Computer network wikipedia , lookup

IEEE 1355 wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Airborne Networking wikipedia , lookup

TCP congestion control wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Internet protocol suite wikipedia , lookup

Transcript
Unix Communications
- TCP/IP
(Release 2.1)
Unix Communications - TCP/IP
Page 1 - 1
ABRS
Centre for Professional Development
Course Overview








Introduction to Data communications
Terminology for Computer Networking
Overview TCP/IP
Architecture of TCP/IP
Internet Addresses
Transport Layer - UDP and TCP
IP Layer
Application Layer
Unix Communications - TCP/IP
Page 1 - 2
ABRS
Centre for Professional Development
Introduction to Data Communications
The fundamental purpose of data communications is
to exchange information between two agents.
Simplified Communications Block Diagram
(1)
Input
Message
M1
Agent
1
(2)
Input Data/
Signal
S1
Input
Device
2
Unix Communications - TCP/IP
(3)
Transmitted
Signal
T1
Tx
3
Transmission
Medium
Page 1 - 3
(4)
Received
Signal
T2
4
(5)
Received
Data/Signal
S2
Rx
5
(6)
Received
Message
M2
Output
6
Agent
Device
ABRS
Centre for Professional Development
Introduction to Data Communications
Consider two examples, telephone conversation and
electronic mail, on the Simplified Communications Block
Diagram.
Case #1: Telephone Conversation
1. The agent in this case is the speaker, who generates a
message (M1) in the form of sound waves. The sound
waves are converted by the telephone into electrical signals
of the same frequency.
2. These signals are transmitted without modification over the
telephone line. Hence the input signal S1 and the
transmitted signal T1 are identical.
Unix Communications - TCP/IP
Page 1 - 4
ABRS
Centre for Professional Development
Introduction to Data Communications
Case #1: Telephone Conversation
3. The signal T1 will suffer some distortion over the medium,
so that received signal T2 will not be identical to T1.
4. Nevertheless, the signal T2 is converted back into a sound
wave with no attempt at correction or improvement of
signal quality.
5 & 6. Thus M2 is not exact replica of M1. However, the
received sound message is general comprehensible to the
listener.
Unix Communications - TCP/IP
Page 1 - 5
ABRS
Centre for Professional Development
Introduction to Data Communications
Case #2: Electronic Mail
Consider that the input device and transmitter (Tx) are
components of a personal computer (PC).
Agent
M1
T1
Transmission
Medium
PC
M2
T2
Agent
PC
1. The agent is a user who wishes to send a message M1 to
another user. The user activates the electronic mail
package on the PC and enters the message via the keyboard
(input device). The character string of M1 is briefly
buffered in main memory.
Unix Communications - TCP/IP
Page 1 - 6
ABRS
Centre for Professional Development
Introduction to Data Communications
Case #2: Electronic Mail
2. We can view it as a sequence of bits S1 in memory. The PC
is connected to some transmission medium (such as a
phone line) by a Tx such as a modem. The input data are
transferred to the Tx as a sequence of bits (S1) on some
communication bus or cable. The Tx is connected directly
to the medium and converts the incoming bits (S1) into a
signal T1 suitable for transmission.
3. The transmitted signal T1 presented to the medium is
subject to a number of impairments before it reaches the
receiver (Rx).
Unix Communications - TCP/IP
Page 1 - 7
ABRS
Centre for Professional Development
Introduction to Data Communications
Case #2: Electronic Mail
4. Thus the received signal T2 may differ to some degree
from T1. The Rx will attempt to estimate the nature of T1,
based on T2 and its knowledge of the medium, producing a
sequence of bits S2.
5. These bits S2 are sent to the output PC, where they are
briefly buffered in memory as a block of bits or characters.
In many cases, the destination system will attempt to
determine if an error has occurred and, if so, cooperate
with the source system to eventually obtain a complete,
error-free block of data.
Unix Communications - TCP/IP
Page 1 - 8
ABRS
Centre for Professional Development
Introduction to Data Communications
Case #2: Electronic Mail
6. These data then presented to the user via an output device,
such a screen. The message M2 as viewed by the user will
usually be an exact copy of the original message M1.
Unix Communications - TCP/IP
Page 1 - 9
ABRS
Centre for Professional Development
Tasks Of A Communications System
1. Transmission system utilization
This refers to the need to make efficient use of
transmission facilities typically shared among a number
of communication devices.
2. Interfacing and signal generation (in data link
layer)
Transmission
Medium
Network Interface Card (NIC)
Workstation
Unix Communications - TCP/IP
Page 1 - 10
ABRS
Centre for Professional Development
Tasks Of A Communications System
2. Interfacing and signal generation (in data link
layer)
In order to communicate, a device must interface with the
transmission system. All forms of communications
depend on the electromagnetic signals or lightwave
signals propagated over a transmission medium. Thus,
once an interface is established, signal generation is
required for communications.
3. Synchronization (in Data Link Layer)
...
Unix Communications - TCP/IP
Page 1 - 11
ABRS
Centre for Professional Development
Tasks Of A Communications System
3. Synchronization (in Data Link Layer)
In a communications system, there must be some form of
synchronization between transmitter and receiver. The
receiver must be able to determine when a signal begins
to arrive and when it ends. It must also know the duration
of each signal element.
4. Exchange management
It is a variety of requirements for communications
between two parties such as establishing a connection;
certain conventions must be decided upon.
These conventions may include:
- whether both devices may transmit simultaneously or
may take turns, ...
Unix Communications - TCP/IP
Page 1 - 12
ABRS
Centre for Professional Development
Tasks Of A Communications System
4. Exchange management
…
- the amount of data to be sent at one time,
- the format of the data, and
- what to do if certain contingencies such as an error arise.
5. Error detection and correction
They are required in circumstances where errors cannot
be tolerated.
6. Flow control
It is required to assure that the source does not overwhelm
the destination by sending data faster than they can be
processed and absorbed.
Unix Communications - TCP/IP
Page 1 - 13
ABRS
Centre for Professional Development
Tasks Of A Communications System
7. Addressing and routing
When a transmission facility is shared by more than two
devices, a source system must somehow indicate the
identity of the intended destination. The transmission
system must assure that the destination system, and only
that system, receives the data. Further, the transmission
system may itself be a network through which various
paths may be taken. A specific route through this network
must be chosen.
8. Recovery
...
Unix Communications - TCP/IP
Page 1 - 14
ABRS
Centre for Professional Development
Tasks Of A Communications System
8. Recovery
It is a concept distinct from that of error correction.
Recovery techniques are needed in situations in which an
information exchange, such a data base transaction or file
transfer, is interrupted due to a fault somewhere in the
system. The objective is either to be able to resume
activity at the point of interruption or at least to restore the
start of the systems involved to the condition prior to the
beginning of the exchange.
9. Message formatting
...
Unix Communications - TCP/IP
Page 1 - 15
ABRS
Centre for Professional Development
Tasks Of A Communications System
9. Message formatting
It has to do with an agreement between two parties as to
the form of the data to be exchanged or transmitted. E.g.
both side must use the same binary code for characters.
10. Protection
Frequently, it is important to provide some measure of
protection in a data communications system. The sender
of data may wish to be assured that only the intended
receiver actually receives the data that have not been
altered in transit.
Unix Communications - TCP/IP
Page 1 - 16
ABRS
Centre for Professional Development
Tasks Of A Communications System
11. System management
Finally, a data communications facility is a complex
system that cannot create or run itself. System
management capabilities are needed to configure the
system, monitor its status, react to failures and overloads,
and plan intelligently for future growth.
Note:
This list of communications tasks is somewhat arbitrary.
Elements could be added; items on the list could be
merged; and some items represent several tasks that are
performed at different “levels’ of the system.
Unix Communications - TCP/IP
Page 1 - 17
ABRS
Centre for Professional Development
Terminology For Computer Networking
Computer Network and Host
A Computer Network is a communications system for
connecting end-system. We often refer to the end-systems
as hosts.
Local Area Network (LAN)
A local area network connects computer systems that are
close together – typically within a single building, but
possibly up to a few kilometers apart.
Unix Communications - TCP/IP
Page 1 - 18
ABRS
Centre for Professional Development
Terminology For Computer Networking
Network Topologies
The topologies of a network is its physical layout – the
way in the computers and other units are connected. There
are three basic layouts: star, ring, and bus.
Star Network
Each node in a star network is connected to a central
microcomputer which controls the network. Network
signals travel from the server to the station along each
individual station’s cable. A polling system is commonly
used – the file server polls each station in turn to see if it
has a signal to send. The server then handles signals as
they are received.
Unix Communications - TCP/IP
Page 1 - 19
ABRS
Centre for Professional Development
Terminology For Computer Networking
Ring Network
In a ring network, a series of computers is connected
together and there is no central controlling computer. Each
computer may communicate with messages being
specifically addressed to the destination computer. Using
the ‘token ring’ system, a ‘message token’ is passed from
node to node, and each node has a designated time at
which it can remove the token and either add a message or
take a message from it.
Unix Communications - TCP/IP
Page 1 - 20
ABRS
Centre for Professional Development
Terminology For Computer Networking
Bus Network
In a bus network, all the devices share a single cable.
Information can be transmitted in either direction from any
PC to any other. The problem here is that several stations
may want to transmit down the same line simultaneously, and
there has to be some strategy for deciding who gets the line.
A popular scheme called Ethernet uses a collision system
known as ‘Carrier Sense Multiple Access with Collision
Detection’ (CSMA-CD). Before a station begins to transmit,
it checks that the channel is not busy; if it is, it has to wait
before transmission can begin. Once it begins transmission, it
listens for other nodes also beginning transmission. If the
transmitted message collides with another, both stations abort
and wait a random period of time before trying again.
Unix Communications - TCP/IP
Page 1 - 21
ABRS
Centre for Professional Development
Terminology For Computer Networking
This system works well if the channels are not too heavily
loaded. On the other hand if many student (say 20) sit
down and at computers all at once and all try to load
software from the network’s hard disk, the whole system
more or less grinds to a halt!
Ethernet
Ethernet is a popular LAN design and the trade-marked
product of Xerox Corp., characterized by 10-Mbit/s
baseband transmission over a shield coaxial cable and
employing CSMA/CD as the access-control mechanism. It
is standardized by the IEEE as specification IEEE 802.3;
referring to the Ethernet design or compatible with
Ethernet.
Unix Communications - TCP/IP
Page 1 - 22
ABRS
Centre for Professional Development
Terminology For Computer Networking
Inter-network (internet)
An internet is the connection of two or more distinct
networks so that computers on one network are able to
communicate with computers on another network. The
goal of internetworking is to hide the details of what might
be different physical network, so that the internet functions
as a co-ordinated unit.
Unix Communications - TCP/IP
Page 1 - 23
ABRS
Centre for Professional Development
Terminology For Computer Networking
There are some ways to connect networks together. The term
we use to describe the interconnection depends on the layer in
the OSI model at which the connection takes place.
Repeaters operate at the Physical Layer (Layer 1) and
typically just copy electrical signals (including noise) from
one segment of a network to the next.
Bridges often operate at the Data-Link Layer (Layer 2)
and they copy frames from one network to the next.
Bridges often contain logic so that they only copy a subset
of the frames they receive.
Routers ...
Unix Communications - TCP/IP
Page 1 - 24
ABRS
Centre for Professional Development
Terminology For Computer Networking
Routers operate at the Network Layer (Layer 3). The
term router implies that this entity not only moves
information (packets) from one network to another, but it
can also make decisions about what route the information
should take.
Gateway is generic term that refers to an entity used to
interconnect two or more networks. (e.g. In the TCP/IP
community, the term gateway refers to a network level
router.)
Unix Communications - TCP/IP
Page 1 - 25
ABRS
Centre for Professional Development
Terminology For Computer Networking
OSI Model, Protocols, and Layering
The computers in a network use well-defined protocols to
communicate.
A protocol is a set of rules and conventions between the
communicating participants. Since these protocols can be
complex, they are designed in layers, to make their
implementation more manageable.
Unix Communications - TCP/IP
Page 1 - 26
ABRS
Centre for Professional Development
Terminology For Computer Networking
Open Systems Interconnection (OSI) Model:
The Seven Layers
The seven layers are Physical Layer, Data Layer, Network
Layer, Transport Layer, Session Layer, Presentation Layer,
and Application Layer.
This model, developed between 1977 and 1984, is a guide,
not a specification. It provides a framework in which
standards can be developed for the services and protocols at
each layer.
Note: - TCP/IP was developed before the OSI model;
- No network is implemented exactly as the OSI model;
- Protocols exist at each layer in the OSI model;
Unix Communications - TCP/IP
Page 1 - 27
ABRS
Centre for Professional Development
OSI Model: The Seven Layers
7
Application
Application
6
Presentation
Presentation
5
Session
Session
4
Transport
Transport
3
Network
Network
2
Data Link
Data Link
1
Physical
Physical
Unix Communications - TCP/IP
Page 1 - 28
ABRS
Centre for Professional Development
OSI Model: The Seven Layers
The Application Layer is the only part of the
communications process that a user sees, and even then, the
user doesn’t see most of the work that the application does to
prepare a message for sending over a network. The layer
converts a message’s data from human-readable form into bits
and attaches a header identifying the sending and receiving
computers.
The Presentation Layer ensures that the message is
transmitted in a language that the receiving computer can
interpret (often ASCII). This layer translates the language, if
necessary, and then compresses and perhaps encrypts the
data. It adds another header specifying the language as well as
the compression and encryption schemes.
Unix Communications - TCP/IP
Page 1 - 29
ABRS
Centre for Professional Development
OSI Model: The Seven Layers
The Session Layer opens communications and has the job
of keeping straight the communications among all nodes on
the network. It sets boundaries (called bracketing) for the
beginning and end of the message, and establishes whether
the message will be sent half-duplex, with each computer
taking turns sending and receiving, or full duplex, with both
computers sending and receiving at the same time. The details
of these decisions are placed into a session header.
The Transport Layer ...
Unix Communications - TCP/IP
Page 1 - 30
ABRS
Centre for Professional Development
OSI Model: The Seven Layers
The Transport Layer protects the data being sent. It
subdivides the data into segments, creates checksum tests –
mathematical sums based on the contents of data – that can be
used later to determine if the data was scrambled. It can also
make backup copies of the data. The transport header
identifies each segment’s checksum and its position in the
message.
The Network Layer selects a route for the message. It
forms data into packets, counts them, and adds a header
containing the sequence of packets and the address of the
receiving computer.
The Data-Link Layer ...
Unix Communications - TCP/IP
Page 1 - 31
ABRS
Centre for Professional Development
OSI Model: The Seven Layers
The Data-Link Layer supervises the transmission. It
confirms the checksum, then addresses and duplicates the
packets. This layer keeps a copy of each packet until it
receives confirmation from the next point along the route that
the packet has arrived undamaged.
The Physical Layer encodes the packets into the medium
that will carry them – such as an analog signal, if the message
is going across a telephone line – and sends the packets along
that medium.
Unix Communications - TCP/IP
Page 1 - 32
ABRS
Centre for Professional Development
OSI Model: The Seven Layers
An intermediate node calculates and verifies the check sum
for each packet. It may also reroute the message to avoid
congestion on the network.
At the receiving node, the layer process that sent the message
on its way to reversed. The physical layer reconverts the
message into bits. The data-links layer recalculates the
checksum, confirms arrival, and logs in the packets. The
network layer recounts incoming packets for security and
billing purpose. The transport layer recalculates the checksum
and reassembles the message segments. The session layer
holds the parts of the message until the message is complete
and sends it to the next layer. The presentation layer converts
the bits into readable characters, and directs the data to the
correct application.
Unix Communications - TCP/IP
Page 1 - 33
ABRS
Centre for Professional Development
Terminology For Computer Networking
Protocol Suite
A protocol suite/family is a collection of protocols from
more than one layer that forms the basis of a useful
network.
The protocol suite that we consider is
- Transmission Control Protocol/Internet Protocol
(TCP/IP) Protocol Suite
Unix Communications - TCP/IP
Page 1 - 34
ABRS
Centre for Professional Development
Overview TCP/IP
-
It is also known as Defense Advanced Research Projects
Agency (DARPA) Internet Protocol Suite.
It is commonly referred to as the TCP/IP Protocol Suite, or
just TCP/IP.
Overview of TCP/IP Protocol Suite
Although the protocol family is referred to as TCP/IP,
there are more members of this family than TCP and IP.
The following figure shows the relationship of the
protocols in the protocol suite along with their approximate
mapping into the OSI model.
Unix Communications - TCP/IP
Page 1 - 35
ABRS
Centre for Professional Development
TCP/IP Protocol Suite
user
process
user
process
OSI Layers 5-7
TCP
UDP
OSI Layer 4
ICMP
IP
ARP
hardware
interface
Unix Communications - TCP/IP
RARP
OSI Layer 3
OSI Layers 1-2
Page 1 - 36
ABRS
Centre for Professional Development
TCP/IP Protocol Suite
Transmission Control Protocol (TCP)
A connection-oriented protocol that provides a reliable,
full-duplex, byte stream for a user process. Most Internet
application programs use TCP. Since TCP uses IP (as
shown in the figure), the entire Internet protocol suite is
often called the TCP/IP protocol family.
User Datagram Protocol (UDP)
A connectionless protocol for user processes. Unlike TCP,
which is a reliable protocol, there is no guarantee that UDP
datagrams ever reach their intended destination.
Internet Control Message Protocol (ICMP)
...
Unix Communications - TCP/IP
Page 1 - 37
ABRS
Centre for Professional Development
TCP/IP Protocol Suite
Internet Control Message Protocol (ICMP)
The protocol to handle error and control information
between gateways and hosts. While ICMP messages are
transmitted using IP datagrams, these messages are
normally generated by and processed by the TCP/IP
networking software itself, not user processes.
5 kinds of ICMP messages:





ICMP Source Quench Message (for flow control)
ICMP Destination Unreachable Message
ICMP Redirect Message (Tell a host to use another gateway)
ICMP Echo Message (for checking remote)
Note: Ping use this message
ICMP Get Network Mask from gateway Message
Unix Communications - TCP/IP
Page 1 - 38
ABRS
Centre for Professional Development
TCP/IP Protocol Suite
Internet Protocol (IP)
IP is the protocol that provides the packet delivery service
for TCP, UDP, and ICMP. (Note from the figure: user
processes normally do not need to be involved with the IP
layer.)
Address Resolution Protocol (ARP)
The protocol that maps an Internet address into a hardware
address. This protocol and the next, RARP, are not used on
all networks. Only some networks need it.
Reverse Address Resolution Protocol (RARP)
The protocol that maps a hardware address into an Internet
address.
Unix Communications - TCP/IP
Page 1 - 39
ABRS
Centre for Professional Development