Está en la página 1de 17

1/ Architectural Principles of TCP/IP

- protocol suite
- allows different vendors hardware running different software to
communicate
- Open System :
* Definition of protocol suite + Implementations available
publicly at little to no price
- Basis of Global Internet = Internet
- != WWW (World Wide Web)
* = service/application that uses Internet for communication
* most used / important Internet application
- Goals :
* Develop an effective technique for multiplexed utilization of
existing interconnected networks
=> Multiple activities should be able to run simultaneously on
the resulting interconnected network
=> Internet architecture should be able to interconnect multiple
distinct networks
* The Internet must support multiple types of communication
services (i.e. File Transfer Service, Web Service...)
* The Internet architecture must accommodate a variety of
networks
* Internet communication must continue despite loss of networks
or gateways
* The Internet architecture must permit distributed management of
its resources
* The Internet architecture must be cost-effective
* The Internet architecture must permit host attachment with a
low level of effort
* The resources used in the Internet architecture must be
accountable

Notes about Networks :


- Network = End Systems +
Nodes (inputs, wiring + other eventual circuitry [i.e.
MUX, buffers] + eventual software, outputs) +
Links
- In all communication networks
Nodes : Do not generate data, all they do is :
* Perform Routing : select/search for a path for the traffic
incoming to reach its destination across networks
(To which output do I switch the input
=> what's the next node that receives the input?)
=> Build the forwarding/routing table for that node
Match its Input Ports to its Output Ports
-Usually, Node_1 is always known as the Default Gateway
(before communication starts in each node : circuit-switched
or at packets arrival to the node : packet-switched network)
* Perform Forwarding
=> Lookup in forwarding table to determine on which
output link to send incoming data + send data from
the input link to the output link
- When designing a network, we need to solve 4 issues :
1/Isolate up and down traffic between the 2 communicating end
systems
1/Isolate signals from 1 base station to multiple users using the
same medium
=> Downlink
- Multiplexing : Method to intermix packets from different inputs into
1 output Link (multiple-input single-output)
=> Multiple input connections share the same output link

N:1 MUX : Either temporal or frequencial


=> N inputs, 1 output, n Selection
Lines (usually N = 2n)
=> Output = Input which
index = (Sn-1,...,S0,)b
1:N DEMUX : Either temporal or frequencial
=> 1 input, N outputs, n Selection Lines
(usually N = 2n)
=> Input transfered to Output which
index
= (Sn-1,...,S0,)b

* Constant Bandwidth/Data Rate Multiplexing Techniques :

- Time-Division Multiplexing (TDM)


* MUX is Temporal = Timed Commutator
=> Time interleaving/retrieval of samples from several
sources to transmit their data serially over a single
output link
* DEMUX role is to switch the input to the appropriate
output MUX

* In TDM, nodes=switches connected to buffers


(not for queuing)
* Input Buffer size is usually 1 bit(Bit-Interleaving),
1 bytes(Byte-Interleaving) or x-bytes
and usually is the same for every input buffer
* Output Buffer size = Input Buffer Size * N (max)

* Synchronous :
- Inputs continuously feed input buffers of MUX with
blocks of data
- MUX allocates a Time Slot for each input buffer
during which the input buffers are being fed blocks of
data from the inputs, simultaneously => MUX
(even if there is no data to transfer)
- The MUX doesn't directly switch each input buffer to
the output link. Instead, it switches each input
buffer to the output buffer to gather all the
blocks of data. So, each input link is actually
wired to the output buffer for the whole Time
Slot, creating the illusion that the input link is
the only one using the output link. In reality,
the output buffer is fed with all the blocks from
all input buffers, creating a Frame which is then
sent through the output link with a Flag. Thus,
Output Link Data Rate > Sum of all Input Link Data Rates

- MUX allocates a Time Slot for each input


- During that Time Slot, the inputs transmit a block of
its data to its corresponding input buffer in the
MUX at the output
- MUX switches from one input to another to wire it to
the output buffer very fast << Time Slot
- Each input thinks that it is the only one using the
output link for THAT Time Slot
- What actually happens is that the MUX collects /
scans a Data-Block from each input during a
Time Slot and gathers all of them into a Frame =
single high-speed digital data stream which is
then sent to the output
- Frame = constant time interval
- If all inputs have same data rate
=> Frame = 1 Time Slot / Input + Flag
- MUX generates a Frame Periodically consisting of
constant number of timeslots + Flag
- Output Link Data Rate >> Sum of all Inputs Data Rates
After the circuit is established
- Each switch MUX can connect N maximum inputs.
Let n be the number of inputs actually connected
- MUX buffers are filled briefly with data from
inputs
- MUX starts scanning sequentially and rapidly every
buffer to form the frame
takes a data-block (1 bit, x bytes) from
each input every Input Time Slot = fixed-length=T
*
* During a Output Time Frame, the output link will
contain a data-block from each input
+ synchro data + error correction data
=> Time Frame = n x Time Slot = n x T
2/Reserve same fixed amount of time = Time Slot
for each input to fully use the whole capacity
of the output link (whole bandwidth)
- Frequency-Division Multiplexing (FDM)
Reserve a certain frequency range centered on
a carrier frequency Fc of the link for each
communication to use
- Static Multiplexing (?)

- : Network capacity not fully used (empty packets


i.e silence for TDM; frequency-range unused for FDM)
+ : predictable : performance, i.e constant bit-
rate for calls

* Variable Bandwidth Multiplexing Techniques :

-- Statistical Multiplexing provides variable bandwidths


- form of Dynamic Bandwidth Allocation
- form of ATDM : dynamic allocation of time slots
= FIFO buffer management + on-demand scheduling
-- Simple + Efficient
-- Based on the arrival statistics (timing
patterns of traffic)
-- Whenever and wherever there is network capacity
available (bandwidth in link + memory? in
node), use it => send traffic through that
link to that node
-- Compared to highway with multiple
interchangeable lines
- : Less predictible, performance seen by an app
depends on statistics of other apps using the
same link + node (cannot guarantee that
during the whole session, bit-rate is gonna
stay the same)
+ : Every link + node is as busy as it can be
(no wasted resources, full use)

(1) all users are typically not connected to the


network at one time
(2) even when connected, users are not
transmitting data (or voice or video) at all times
(3) most traffic occurs in bursts -- there are
gaps between packets of information that can be
filled with other user traffic
* Asynchronous Multiplexing : to do

When memory is not enough, some packets might get lost


See Multiple Access Schemes (i.e. CDMA)
2/ Packets, Connections and Datagrams

Analog data : TO DO

Digital Data : TO DO

Communication Networks :

In general, end-systems connected to a network are the only


generators of data, which they send with the same bandwidth
(i.e. All wired telephones use 64 Kbits/s)
The case of disparity of input data rates was a challenge that
was handled by the use of a lot of techniques : Asynchronicity

- Before 1960 : Data was analog (i.e. sound waves)


* Network example = Telephone network
Nodes : Multiple-Inputs Multiple-Outputs
Input in a way is an Ouput in the other way
Links : Physical wires (copper;caracterized by bandwidth)
Data : Voice Sounds

Circuit Switching => Dedicated Circuit must be established by the


caller to the callee before communication
Circuit = set of physical resources = Path
Circuit occupies a fixed capacity for the
entire lifetime of the communication
Data not delayed at the nodes
Data can be either analog or digital

** Before the use of Multiplexing : 1 signal/link

-- CS uses Nodes+Wires+Links as Physical Resources /


Circuit
(i.e. Plain Old Telephone System : POTS)

Nodes = Switching Offices


Inside each one, multiple physical wires to
connect input links to output links
(on-demand, usually manually)
Cannot connect more than 1 input to 1 output
=> Guarantees the full bandwidth of In/Out
link for that specific communication
=> Forwarding tables are hardwired (wires)

1/Circuit Establishment Phase :(time consuming)


Routing performed in each node before start
of communication
*Use signalling to
search for the
circuit/next switches to forward to
*Then, reserve it (by connecting in to
out using a wire)
Circuit = switches + links between switches +
physical wires inside switches
(from routing tables) allocated
from source to destination for the whole
duration of the communication

=> Path reserved can only be used by the 2


clients for the whole call duration
(exclusive use)
No other communication shall use the
circuit reserved for this communication

2/Data Transfer Phase : (fast, instantaneous)


All nodes do during this phase is forward
data =>fast operation
All data (voice sounds) follow the same
pre-established path
The 2 clients are guaranteed a constant=full
bandwidth/bit-rate and latency/bit delay
Path is still reserved even if no data is
transferred (i.e. Silence)

3/Connection Release Phase : (closed)


End of call => Signalling => circuit released
=> unwired switches + links can then be
used by other communications
=> well suited for long-lasting connections where the
initial circuit establishment time cost is
balanced by the low forwarding time cost
** Use of Multiplexing => Intermix data
from multiple inputs into 1
output link with out bandwidth > inps bws

-- CS uses Frequency Intervals


(FDM) / Time Slots (TDM)
(STDM) as Physical Resources / Circuits

Nodes = Circuit Switches


Each switch contains DEMUXs at the
inputs and MUXs at the outputs
all linked hardwired to 1 another
using wires (need signal)
=> All inputs linked to all outputs
Number of outputs of DEMUXs and inputs of MUXs != Maximum
number of possible circuits
(not predictable)
* Inter-Switches Links have bandwidth (in
frequency domain : Hz,
in time domain : bit-rate b/s)

FDM : Each input uses a Frequency Range of the whole output link
Bandwidth (centered on Fc)
After the circuit establishment,
* At the output of each switch, MUX devides the Frequency
spectrum of the output link into
non-overlapping frequency ranges, each for
every input signal,
each with its own carrier frequency Fc,
each with a width = input signal width,
separated by guard bands to allow for filtering individual channels
by the DEMUX in the input of next switch
* Circuit = Channel = Frequency Range + Fc
* Each circuit => Constant Bandwidth = Frequency
Range, transferring at the same time
* MUX : modulates incoming signals onto
multiple carrier frequencies Fcs of the
circuits/channels (shift) + adds guard
bands
* DEMUX : detects guard bands + demodulates
signals to get original signals

1/Circuit Establishment Phase : (Time Consuming)


Routing performed in each node before
start of communication
-Use signalling to search for the
circuit / next switches to forward to
knowing the bandwidth needed by input
a)Traffic coming to Switch1 from S
in In1 : DEMUX1
b)Signalling sent by DEMUX1
through all available wires
(not already wired in use by
on-going communications) to
available Outputs : MUXes
(from 1 to N) of Switch1 with
info:
-B(In1)

-D : destination
N.B : Can check Routing Table to see which
output for that specific Destination
c)All available MUXes check whether
-Its Output Link has B(In1)
available
-If so, send signalling
through that Output Link
with same info to next switch
d)Check if D reached
d)Repeat b and c for each switch
until :
-D reached by a signal :
=> Going from last Switch to
Switch1, write in routing
table of Switch[i] :
In[j]<-->Out[k] : B(In1)

Circuit = switches + necessary bandwidth


in links between switches for the input
signal (if available resrv) + physical
wires inside switches between inputMUXes
and Output DEMUXes (routing table)
allocated from source to destination for
the whole duration of the communication

=> Path reserved can only be used by the 2


clients for the whole call duration
(exclusive use)
No other communication shall use the
frequency range + links reserved for
this communication + wires inside
switches until communication ends

Circuit Identifier = Frequency Bandwidth(i.e. B(In1)) + Fc


2/Data Transfer Phase :(fast, instantaneous)
All switches do during this phase is
* forward data following the routing
tables
=>fast operation
* Modulate/Shift in MUX incoming signal
on a carrier frequency : Fc on each
switch, which will be demodulated
in DEMUX of next switch

N.B : Each switch (MUX) determines the Fc to


use at signal arrival
=> Fcs not predetermined during phase 1
=> Circuit Identifier sent along the
signal changes at each switch
CI = local identifier
CI can be global but it will make adding
new connections difficult

All data (voice sounds) follow the same


pre-established path
The 2 clients are guaranteed a constant
bandwidth/bit-rate and latency/bit delay
Path is still reserved even if no data is
transferred (i.e. Silence)

3/Connection Release Phase : (closed)


End of call => Signalling => circuit released
=> switches unwired + linkes free and
can then be used by other
communications

=> well suited for long-lasting connections where the


initial circuit establishment time cost is
balanced by the low forwarding time cost
=> FDM is almost always used for analog data

- : Channel spectrum allocated even if no data is


being transmitted (silence) = rigid allocation
Waste of bandwidth if traffic distributed unevenly
Guard Bands waste bandwidth
Noise problems
+ : Simple
Radio, TV, Cable TV

TDM : Each input uses the WHOLE output link bandwidth


for a certain amount of time
* Usually used with digital signals
If analog signal => sampled at MUX to get
digital signal then
desampled at DEMUX to get
original analog signal

* In Circuit-Switched Networks, Synchronous-TDM is


used
=> Each input has a Time Slot in the output
even if it is not sending data

* Link BitRate must be > Inputs required BitRates

* Each switch MUX can connect N maximum inputs.


Let n be the number of inputs connected
* MUX takes a data-block (1 bit, x bytes) from
each input every Input Time Slot = fixed-length=T
*
* During a Output Time Frame, the output link will
contain a data-block from each input
+ synchro data + error correction data
=> Time Frame = n x Time Slot = n x T

*
* Time is divided into fixed-length Time Slots
* Each input will use whole bandwidth during
1 Time Slot

* Principle : Input signals use the whole


bandwidth each during a Time Slot

Circuit Identifier = Time Frame (determined by the


MUX at each switch)
Wires in switches allocated for that amount of
time
TO DO
(Exceptional case : 2 clients send signalling at the same time
requiring same path)
C/C :
Circuit Switching without TDM/FDM :
* Pre-allocated and established circuit for the
communicating pair = switches + links + wires in
switches (routing tables)
* Circuit used solely by these 2 clients for
the whole session (until circuit release)
* 2 Clients guarateed a constant bit-rate/bandwidth +
latency = full bandwidth of the links
* All data (voice sounds) follow the same path
determined by the physical circuit
Circuit Switching with TDM/FDM :
=> Multiplex links
* Pre-allocated and established circuit for the
communicating pair
-FDM : switches + wires in switches between
DEMUXes and MUXes (routing tables) +
frequency range from the total bandwidth
of links for every input
All communicating pairs guaranteed constant
bit-rate + latency provided by the
channel
Circuit Identifier (CI) = Frequency Range+Fc
Fc determined by each MUX at arrival time
In Routing Table : InPort->OutPort : BW
-TDM : switches + wires in switches between
DEMUXes and MUXes (routing tables) for
an amount of time + time slot to
transfer data from every input using the
WHOLE bandwidth of the links
All communicating pairs guaranteed constant
bit-rate + latency for the period of
time defined by the TDM (full width)
Circuit Identifier (CI) = Time Slot
* Circuit used solely by these 2 clients for
the whole session (until circuit release)
* Links can be used by different communicating pairs
(Multiplexed)
* All data follow the same path

- In 1960s and after:


* Transition from Analog to Digital Signals

Packet Switching (2 important points in bold)

-- Data = digital = sequence of bytes = divised into


'chunks' of a number of bytes = packets

-- Packets are moved on from one node to another until


destination is reached, through Multiplexed Links

-- Packets carried through network independantly using TDM


* Packetizing
* Multiplexing using TDM

* No pre-allocated physical circuit (followed by all


the data and used exclusively for that
communication, with constant bit-rate + latency)
=> Datagram Packet Switched Network
* A pre-allocated virtual circuit may be used though
(i.e X.25)
=> Virtual Circuit Packet Switched Network
=> Allocates switches + wire in switch between
input and an output (routing table) for an
amount of time + time slot in the output link

=> Packets coming from different sources share same


network links and are mixed together in switch
and pulled apart later
(Use TDM : Asynchronous or Statistical)
=> Packets belonging to the same communication can
travel through different paths (but may not do so)
(i.e. Connection-Oriented Packet Networks vs.
Connection-Less Packet Networks)

In VC : Packets coming from different sources can go


through an already reserved internal switch
wiring (by VC) by queuing up in the buffer
In Datagram : Routing is done at the arrival of
packet to the switch

-- Advantages
1/ Network more resilient : in case link or node
down, data can still find another way to arrive
2/ Better/Efficient usage of network links + nodes :
no resource wasting

Packet node device = switch or router (in TCP/IP)

* Single/Multiple-Input Single/Multiple-Output
=> Node contains memory
=> Node has 2 circuitries : MUXs + DeMUXs
* Packets stored in memory = buffers or queues
* Packets processed FIFO/FCFS(First-Come-First-Served)
(from both ways)
=> usage of a method for scheduling packets
processing : Statistical MUXing

Packet Switched Networks Types


* Connection-Oriented Packet Switched Networks
- Use Virtual Circuits for Data Transfer
- Nodes = Switches (Layer 2 or Layer 3 Switches)
=> Perform Routing only during "Connection
Establishment Phase" using Signalling
=> Create a table in each switch :
InPort<-->OutPort : VCI
- Small overhead in Packets = VCI or VCN
- Switches only look up the VCI in the table and
then forward => Fast
- Usually use ASIC hardware and no software

* Connection-Less Packet Switched Networks


- Use Datagrams for Data Transfer
- Nodes = Routers
-- Routing = Analyse Packet/Extract info
about destination + Calculate
appropriate route + Forward packets
=> Routing done individually for each packet
at each node
=> Slow
=> Routing done by µproc using software
(algorithms)
- Every packet must contain all necessary
information about destination
=> large overhead

Packet Switch Data Transport Means :

* Virtual Circuit (Switched) != Permanent VC


https://en.wikipedia.org/wiki/Virtual_circuit
-- Used by Connection-Oriented Packet Switched
Networks at different layers (OSI Model)
-- Layer 2/3 VCs :
* Similar to a Physical Circuit
-> All packets follow the same path
determined during the "Connection
Establishment Phase" by the
signalling until end of connection
-> Packets arrive in order
-> BUT links can be multiplexed to
transfer other applications packets
(no exclusive use of the path)
* May or may not provide a guaranteed QoS
(i.e. Constant Bit-rate = per-flow /
circuit bandwidth;Error Control @ nodes)
* Switches are fast and have high capacity :
perform routing only in Connection
Establishment Phase
* Make use of a "Signalling protocol"
--> Connection Establishment + Release
* Steps :
1/ Connection Establishment Phase using
Signalling for Routing
=> Find necessary switches to
transfer from Source to Dest
=> Set the 'per-flow state' info
Routing Table :
InPort<-->OutPort : VCI
2/ Packet Transfer, no routing here
=> Each packet contains a VCI :
Virtual Channel Identifier
Look up VCI in the table
3/ Connection Release Phase

* NB : PVC => for repeated/continous data


tranfer (steps 1 and 3 once)

* Examples :
3- X.25 PLP, MultiProtol Label Switch
(MPLS)
2- X.25 LAPB, Frame Relay, Asynchronous
Transfer Mode (ATM)
In switch : (which has multiple output ports)
VCI | Next Switch Address
| (or output port of switch)
1 | 50
2 | 50
3 | 51

--Layer 4 VCs :
*

También podría gustarte