sabato 13 agosto 2011




Lab 11.5.1: Basic Cisco Device Configuration







Topology Diagram
Learning Objectives
• Configure Cisco router global configuration settings.
• Configure Cisco router password access.
• Configure Cisco router interfaces.
• Save the router configuration file.
• Configure a Cisco switch.
Background
Hardware
Qty
Description
Cisco Router
1
Part of CCNA Lab bundle.
Cisco Switch
1
Part of CCNA Lab bundle.
*Computer (host)
1
Lab computer.
Console (rollover) cable
1
Connects computer host 1 to Router console port.
UTP Cat 5 crossover cable
1
Connects computer host 1 to Router LAN interface Fa0/0
Straight Through Cable
3
Connects computer hosts to Switch and switch to router
Table 1. Equipment and hardware required for this lab.
Gather the necessary equipment and cables. To configure the lab, make sure the equipment listed in Table 1 is available.
Common configuration tasks include setting the hostname, access passwords, and MOTD banner.
Interface configuration is extremely important. In addition to assigning a Layer 3 IP address, enter a description that describes the destination connection speeds troubleshooting time.
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 1 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
Configuration changes are effective immediately.
Configuration changes must be saved in NVRAM to be persistent across reboot.
Configuration changes may also be saved off-line in a text file for auditing or device replacement.
Cisco IOS switch configuration is similar to Cisco IOS router configuration.
Scenario
In this lab students will configure common settings on a Cisco Router and Cisco Switch.
Given an IP address of 198.133.219.0/24, with 4 bits borrowed for subnets, fill in the following information in the table below.
(Hint: fill in the subnet number, then the host address. Address information will be easy to compute with the subnet number filled in first)
Maximum number of usable subnets: _______________
Number of usable hosts per subnet: ___________________
IP Address:
Subnet mask:
#
Subnet
First host address
Last host address
Broadcast
0
Before proceeding, verify your addresses with the instructor. The instructor will assign subnetworks.
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 2 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
Task 1: Configure Cisco Router Global Configuration Settings.
Figure 1. Lab cabling.
Step 1: Physically connect devices.
Refer to Figure 1. Connect the console or rollover cable to the console port on the router. Connect the other end of the cable to the host computer using a DB-9 or DB-25 adapter to the COM 1 port. Connect the crossover cable between the host computer’s network interface card (NIC) and Router interface Fa0/0. Connect a straight-through cable between the Router interface Fa0/1 and any of the switch’s interfaces (1-24).
Ensure that power has been applied to the host computer, switch and router.
Step 2: Connect host computer to router through HyperTerminal.
From the Widows taskbar, start the HyperTerminal program by clicking on Start | Programs | Accessories | Communications | HyperTerminal.
Configure HyperTerminal with the proper settings:
Connection Description
Name: Lab 11_2_11
Icon: Personal choice
Connect to
Connect Using: COM1 (or appropriate COM port)
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 3 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
COM1 Properties
Bits per second: 9600
Data bits: 8
Parity: None
Stop bits: 1
Flow Control: None
When the HyperTerminal session window comes up, press the Enter key until there is a response from the router.
If the router terminal is in the configuration mode, exit by typing NO.
Would you like to enter the initial configuration dialog? [yes/no]:no
Press RETURN to get started!
Router>
When in privileged exec command mode, any misspelled or unrecognized commands will attempt to be translated by the router as a domain name. Since there is no domain server configured, there will be a delay while the request times out. This can take between several seconds to several minutes. To terminate the wait, simultaneously hold down the 6 keys then release and press x:
Router>enabel
Translating "enabel"...domain server (255.255.255.255) %
Briefly hold down the keys 6, release and press x
Name lookup aborted
Router>
From the user exec mode, enter privileged exec mode:
Router> enable
Router#
Verify a clean configuration file with the privileged exec command show running-config. If a configuration file was previously saved, it will have to be removed. Appendix 1 shows a typical default router’s configuration. Depending on router’s model and IOS version, your configuration may look slightly different. However, there should be no configured passwords or IP addresses. If your router does not have a default configuration, ask the instructor to remove the configuration.
Step 3: Configure global configuration hostname setting.
What two commands may be used to leave the privileged exec mode? ___________________
What shortcut command can be used to enter the privileged exec mode? _________________
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 4 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
Examine the different configuration modes that can be entered with the command configure? Write down the list of configuration modes and description:
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
From the privileged exec mode, enter global configuration mode:
Router# configuration terminal
Router(config)#
What three commands may be used to leave the global configuration mode and return to the privileged exec mode?
___________________________________________________________________________________
___________________________________________________________________________________
What shortcut command can be used to enter the global configuration mode? ______________________
Set the device hostname to Router1:
router(config)# hostname Router1
Router1(config)#
How can the hostname be removed?
___________________________________________________________________________________
___________________________________________________________________________________
Step 4: Configure the MOTD banner.
In production networks, banner content may have a significant legal impact on the organization. For example, a friendly “Welcome” message may be interpreted by a court that an attacker has been granted permission to hack into the router. A banner should include information about authorization, penalties for unauthorized access, connection logging, and applicable local laws. The corporate security policy should provide policy on all banner messages.
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 5 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
Create a suitable MOTD banner. Only system administrators of the ABC Company are authorized access, unauthorized access will be prosecuted, and all connection information will be logged.
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
Examine the different banner modes that can be entered. Write down the list of banner modes and description.
Router1(config)# banner ?
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
Choose a terminating character that will not be used in the message text.__________________
Configure the MOTD banner. The MOTD banner is displayed on all connections before the login prompt. Use the terminating character on a blank line to end the MOTD entry:
Router1(config)# banner motd %
Enter TEXT message. End with the character '%'
***You are connected to an ABC network device. Access is granted to only current ABC company system administrators with prior written approval. ***
*** Unauthorized access is prohibited, and will be prosecuted. ***
*** All connections are continuously logged. ***
%
Router1(config)#
What is the global configuration command to remove the MOTD banner?
___________________________________________________________________________________
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 6 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
Task 2: Configure Cisco router password access.
Access passwords are set for the privileged exec mode and user entry point such as console, aux, and virtual lines. The privileged exec mode password is the most critical password, since it controls access to the configuration mode.
Step 1: Configure the privileged exec password.
Cisco IOS supports two commands that set access to the privileged exec mode. One command, enable password, contains weak cryptography and should never be used if the enable secret command is available. The enable secret command uses a very secure MD5 cryptographic hash algorithm. Cisco says “As far as anyone at Cisco knows, it is impossible to recover an enable secret based on the contents of a configuration file (other than by obvious dictionary attacks).” Password security relies on the password algorithm, and the password. . In production environments, strong passwords should be used at all times. A strong password consists of at least nine characters of upper and lower case letters, numbers, and symbols. In a lab environment, we will use weak passwords.
Set the privileged exec password to cisco.
Router1(config)# enable secret cisco
Router1(config)#
Step 2: Configure the console password.
Set the console access password to class. The console password controls console access to the router.
Router1(config)# line console 0
Router1(config-line)# password class
Router1(config-line)# login
What is the command to remove the console password? _____________________________
Step 3: Configure the virtual line password.
Set the virtual line access password to class. The virtual line password controls Telnet access to the router. In early Cisco IOS versions, only five virtual lines could be set, 0 through 4. In newer Cisco IOS versions, the number has been expanded. Unless a telnet password is set, access on that virtual line is blocked.
Router1(config-line)# line vty 0 4
Router1(config-line)# password class
Ro
uter1(config-line)# login
There are three commands that may be used to exit the line configuration mode:
Command
Effect
Return to the global configuration mode.
Exit configuration and return to the privileged exec mode.
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 7 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
Issue the command exit. What is the router prompt? What is the mode?
Router1(config-line)# exit
___________________________________________________________________________________
___________________________________________________________________________________
Issue the command end. What is the router prompt? What is the mode?
___________________________________________________________________________________
___________________________________________________________________________________
Task 3: Configure Cisco Router Interfaces.
All cabled interfaces should contain documentation about the connection. On newer Cisco IOS versions, the maximum description is 240 characters.
Figure 2. Physical lab topology.
Figure 2 shows a network topology where a host computer is connected to Router1, interface Fa0/0.
Write down your subnet number and mask: ________________________________________________
The first IP address will be used to configure the host computer LAN. Write down the first IP Address:
___________________________________________________________________________________
The last IP address will be used to configure the router fa0/0 interface. Write down the last IP Address:
___________________________________________________________________________________
Step 1: Configure the router fa0/0 interface.
Write a short description for the connections on Router1:
Fa0/0 ->
___________________________________________________________________________________
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 8 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
Apply the description on the router interface with the interface configuration command, description:
Router1(config)# interface fa0/0
Router1(config-if)# description Connection to Host1 with crossover cable
Router1(config-if)# ip address address mask
Router1(config-if)# no shutdown
Router1(config-if)# end
Router1#
Look for the interface to become active:
*Mar 24 19:58:59.602: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
Step 2: Configure the router Fa0/1 interface.
Write a short description for the connections on Router1:
Fa0/1 ->
___________________________________________________________________________________
Apply the description on the router interface with the interface configuration command, description:
Router1(config)# interface fa0/1
Router1(config-if)# description Connection to switch with straight-through cable
Router1(config-if)# ip address address mask
Router1(config-if)# no shutdown
Router1(config-if)# end
Router1#
Look for the interface to become active:
*Mar 24 19:58:59.602: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
Step 3: Configure the host computer.
Configure the host computer for LAN connectivity. Recall that the LAN configuration window is accessed through Start | Control Panel | Network Connections. Right-click on the LAN icon, and select Properties. Highlight the Internet Protocol field, and select Properties. Fill in the following fields:
IP Address: The first host address __________________________
Subnet Mask: The subnet mask ____________________________
Default Gateway: Router’s IP Address _______________________
Click OK, and then Close. Open a terminal window, and verify network settings with the ipconfig command.
Step 4: Verify network connectivity.
Use the ping command to verify network connectivity with the router. If ping replies are not successful troubleshoot the connection:
What Cisco IOS command can be used to verify the interface status? __________________________
What Windows command can be used to verify host computer configuration? _____________________
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 9 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
What is the correct LAN cable between host1 and Router1? _______________________________
Task 4: Save the Router Configuration File.
Cisco IOS refers to RAM configuration storage as running-configuration, and NVRAM configuration storage as startup-configuration. For configurations to survive rebooting or power restarts, the RAM configuration must be copied into non-volatile RAM (NVRAM). This does not occur automatically, NVRAM must be manually updated after any changes are made.
Step 1: Compare router RAM and NVRAM configurations.
Use the Cisco IOS show command to view RAM and NVRAM configurations. The configuration is displayed one screen at a time. A line containing “ -- more -- “ indicates that there is additional information to display. The following list describes acceptable key responses:
Key
Description
Display the next page.
Display the next line.
Q
Quit
c
Quit
Write down one possible shortcut command that will display the contents of NVRAM.
Display the contents of NVRAM. If the output of NVRAM is missing, it is because there is no saved configuration.:
Router1# show startup-config
startup-config is not present
Router1#
Display the contents of RAM.
Router1#show running-config
Use the output to answer the following questions:
How large is the configuration file? ____________________
What is the enable secret password? ________________________
Does your MOTD banner contain the information you entered earlier? __________________________
Do your interface descriptions contain the information you entered earlier? ____________________
Write down one possible shortcut command that will display the contents of RAM. _________________
Step 2: Save RAM configuration to NVRAM.
For a configuration to be used the next time the router is powered on or reloaded, it must be manually saved in NVRAM. Save the RAM configuration to NVRAM:
Router1# copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 10 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
Router1#
Write down one possible shortcut command that will copy the RAM configuration to NVRAM.
____________________________
Review the contents of NVRAM, and verify that the configuration is the same as the configuration in RAM.
Task 5: Configure a Cisco Switch.
Cisco IOS switch configuration is (thankfully) similar to configuring a Cisco IOS router. The benefit of learning IOS commands is that they are similar to many different devices and IOS versions.
Step 1: Connect the host to the switch.
Move the console, or rollover, cable to the console port on the switch. Ensure power has been applied to the switch. In Hyperterminal, press Enter until the switch responds.
Step 2. Configure global configuration hostname setting.
Appendix 2 shows a typical default switch configuration. Depending on router model and IOS version, your configuration may look slightly different. However, there should be no configured passwords. If your router does not have a default configuration, ask the instructor to remove the configuration.
From the user exec mode, enter global configuration mode:
Switch> en
Switch# config t
Switch(config)#
Set the device hostname to Switch1.
Switch(config)# hostname Switch1
Switch1(config)#
Step 3: Configure the MOTD banner.
Create a suitable MOTD banner. Only system administrators of the ABC company are authorized access, unauthorized access will be prosecuted, and all connection information will be logged.
Configure the MOTD banner. The MOTD banner is displayed on all connections before the login prompt. Use the terminating character on a blank line to end the MOTD entry. For assistance, review the similar step for configuring a router MOTD banner.
Switch1(config)# banner motd %
Step 4: Configure the privileged exec password.
Set the privileged exec password to cisco.
Switch1(config)# enable secret cisco
Switch1(config)#
Step 5: Configure the console password.
Set the console access password to class.
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 11 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
Switch1(config)# line console 0
Switch1(config-line)# password class
Switch1(config-line)# login
Step 6: Configure the virtual line password.
Set the virtual line access password to class. There are 16 virtual lines that can be configured on a Cisco IOS switch, 0 through 15.
Switch1(config-line)# line vty 0 15
Switch1(config-line)# password class
Switch1(config-line)# login
Figure 3. Network topology.
Step 7: Configure the interface description.
Figure 3 shows a network topology where Router1 is connected to Switch1, interface Fa0/1. Switch1 interface Fa0/2 is connected to host computer 2, and interface Fa0/3 is connected to host computer 3.
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 12 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
Write a short description for the connections on Switch1:
Router1 Interface
Description
Fa0/1
Fa0/2
Fa0/3
Apply the descriptions on the switch interface with the interface configuration command, description:
Switch1(config)# interface fa0/1
Switch1(config-if)# description Connection to Router1
Switch1(config)# interface fa0/2
Switch1(config-if)# description Connection to host computer 2
Switch1(config)# interface fa0/3
Switch1(config-if)# description Connection to host computer 3
Switch1(config-if)# end
Switch1#
Step 8: Save RAM configuration to NVRAM.
For a configuration to be used the next time the switch is powered on or reloaded, it must be manually saved in NVRAM. Save the RAM configuration to NVRAM:
Switch1# copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Switch1#
Review the contents of NVRAM, and verify that the configuration is the same as the configuration in RAM.
Task 6: Reflection
The more you practice the commands, the faster you will become in configuring a Cisco IOS router and switch. It is perfectly acceptable to use notes at first to help configure a device, but a professional network engineer does not need a ‘cheat sheet’ to perform common configuration tasks. The following table lists commands covered in this lab:
Purpose
Command
Enter the global configuration mode.
configure terminal
Example:
Router> enable
Router# configure terminal
Router(config)#
Specify the name for the router.
hostname name
Example:
Router(config)# hostname Router1
Router(config)#
Specify an encrypted password to prevent unauthorized access to the privileged exec mode.
enable secret password
Example:
Router(config)# enable secret cisco
Router(config)#
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 13 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
Specify a password to prevent unauthorized access to the console.
password password
login
Example:
Router(config)# line con 0
Router(config-line)# password class
Router(config-line)# login
Router(config)#
Specify a password to prevent unauthorized telnet access.
Router vty lines: 0 4
Switch vty lines: 0 15
password password
login
Example:
Router(config)# line vty 0 4
Router(config-line)# password class
Router(config-line)# login
Router(config-line)#
Configure the MOTD banner.
Banner motd %
Example:
Router(config)# banner motd %
Router(config)#
Configure an interface.
Router- interface is OFF by default
Switch- interface is ON by default
Example:
Router(config)# interface fa0/0 Router(config-if)# description description
Router(config-if)# ip address address mask
Router(config-if)# no shutdown
Router(config-if)#
Save the configuration to NVRAM.
copy running-config startup-config
Example:
Router# copy running-config startup-config
Router#
Task 7: Challenge
It is often necessary, and always handy, to save the configuration file to an off-line text file. One way to save the configuration file is to use HyperTerminal Transfer menu option Capture.
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 14 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
Figure 2. Hyperterminal Capture menu.
Refer to Figure 2. All communication between the host computer and router are saved to a file. The file can be edited, and saved. The file can also be edited, copied, and pasted into a router:
To start a capture, select Hyperterminal menu option Transfer | Capture Text. Enter a path and file name, and select Start.
Issue the privileged exec command show running-config, and press the key until all of the configuration has been displayed.
Stop the capture. Select menu option Transfer | Capture Text | Stop.
Open the text file and review the contents. Remove any lines that are not configuration commands, such as the more prompt. Manually correct any lines that were scrambled or occupy the same line. After checking the configuration file, highlight the lines and select Notepad menu Edit | Copy. This places the configuration in host computer memory.
To load the configuration file, it is ALWAYS best practice to begin with a clean RAM configuration. Otherwise, stale configuration commands may survive a paste action and have unintended consequences (also known as the Law of Unintended Consequences):
Erase the NVRAM configuration file:
Router1# erase start
Erasing the nvram filesystem will remove all configuration files! Continue? [confirm]
[OK]
Erase of nvram: complete
Reload the router:
Router1# reload
Proceed with reload? [confirm]
When the router reboots, enter the global configuration mode:
Router> en
Router# config t
Router(config)#
Using the mouse, right-click inside the Hyperterminal window and select Paste To Host. The configuration will be loaded, very quickly, to the router. Watch closely for error messages, each message must be investigated and corrected.
Verify the configuration, and save to NVRAM.
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 15 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
Task 8: Clean Up.
Before turning off power to the router and switch, remove the NVRAM configuration file from each device with the privileged exec command erase startup-config.
Delete any configuration files saved on the host computers.
Unless directed otherwise by the instructor, restore host computer network connectivity, then turn off power to the host computers. Remove anything that was brought into the lab, and leave the room ready for the next class.
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 16 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
Appendix 1- Default Cisco IOS router configuration
Current configuration : 824 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Router
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip cef
!
interface FastEthernet0/0
no ip address
shutdown
duplex auto
speed auto
!
interface FastEthernet0/1
no ip address
shutdown
duplex auto
speed auto
!
interface Serial0/1/0
no ip address
shutdown
no fair-queue
!
interface Serial0/1/1
no ip address
shutdown
clock rate 2000000
!
interface Vlan1
no ip address
!
ip http server
no ip http secure-server
!
control-plane
!
line con 0
line aux 0
line vty 0 4
login
!
scheduler allocate 20000 1000
end
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 17 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
Appendix 2- Default Cisco IOS switch configuration
Current configuration : 1519 bytes
!
version 12.1
no service pad
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname Switch
!
!
ip subnet-zero
!
!
spanning-tree mode pvst
no spanning-tree optimize bpdu transmission
spanning-tree extend system-id
!
!
interface FastEthernet0/1
no ip address
!
interface FastEthernet0/2
no ip address
!
interface FastEthernet0/3
no ip address
!
interface FastEthernet0/4
no ip address
!
interface FastEthernet0/5
no ip address
!
interface FastEthernet0/6
no ip address
!
interface FastEthernet0/7
no ip address
!
interface FastEthernet0/8
no ip address
!
interface FastEthernet0/9
no ip address
!
interface FastEthernet0/10
no ip address
!
interface FastEthernet0/11
no ip address
!
interface FastEthernet0/12
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 18 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
no ip address
!
interface FastEthernet0/13
no ip address
!
interface FastEthernet0/14
no ip address
!
interface FastEthernet0/15
no ip address
!
interface FastEthernet0/16
no ip address
!
interface FastEthernet0/17
no ip address
!
interface FastEthernet0/18
no ip address
!
interface FastEthernet0/19
no ip address
!
interface FastEthernet0/20
no ip address
!
interface FastEthernet0/21
no ip address
!
interface FastEthernet0/22
no ip address
!
interface FastEthernet0/23
no ip address
!
interface FastEthernet0/24
no ip address
!
interface GigabitEthernet0/1
no ip address
!
interface GigabitEthernet0/2
no ip address
!
interface Vlan1
no ip address
no ip route-cache
shutdown
!
ip http server
!
!
line con 0
line vty 5 15
!
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 19 of 20
CCNA Exploration
Network Fundamentals:
Configuring and Testing Your Network Lab 11.5.1 Basic Cisco Device Configuration
end
All contents are Copyright © 1992–2007 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information. Page 20 of 20

venerdì 16 ottobre 2009

Commutazione di pacchetto

Da Wikipedia, l'enciclopedia libera.

La commutazione di pacchetto è una tecnica di accesso multiplo a ripartizione nel tempo, utilizzata per condividere un canale di comunicazione tra più stazioni in modo non deterministico, utilizzata generalmente per realizzare reti di calcolatori. Si distingue dalla commutazione di circuito, che è tipicamente usata nelle comunicazioni telefoniche.

Tali tecniche non comportano l'attivazione di una linea di comunicazione dedicata fra un elaboratore ed un altro, ma consentono lo svolgimento simultaneo di più comunicazioni fra computer, massimizzando così l'utilizzazione dei mezzi trasmissivi impiegati.

Pacchetti [modifica]

In una rete a commutazione di pacchetto (PBN, Packet Based Network) l'informazione da trasmettere viene suddivisa in pacchetti di dimensione abbastanza piccola; ad ognuno di essi viene aggiunta un'intestazione che contiene tutta l'informazione necessaria affinché il pacchetto possa venire inoltrato alla sua destinazione finale e sulla sua posizione all'interno dell'informazione che viene trasferita. I pacchetti vengono inviati individualmente attraverso la rete e vengono poi riassemblati nella loro forma originale quando arrivano sul computer di destinazione.

L'intera capacità trasmissiva disponibile viene impegnata per la trasmissione di ciascun pacchetto. Se vi sono più pacchetti da trasmettere contemporaneamente, questi vengono memorizzati in una coda, subendo un ritardo di accodamento e rischiando di essere scartati in caso di esaurimento della memoria disponibile per la coda.

Commutatori [modifica]

Quando un nodo intermedio detto commutatore di pacchetto, generalmente un router o uno switch, riceve un pacchetto, esso decide quale è il percorso migliore che il pacchetto può prendere per raggiungere la sua destinazione. Questa strada può cambiare da pacchetto a pacchetto dipendentemente dalle condizioni della rete, per cui pacchetti appartenenti ad uno stesso messaggio possono intraprendere anche percorsi distinti.

Ritardi [modifica]

Un pacchetto che attraversa una rete subisce un ritardo, legato in parte alle caratteristiche del percorso ed in parte allo stato di carico della rete.

Le componenti del ritardo sono:

È anche possibile che i pacchetti inviati tra due stessi host in momenti diversi subiscano ritardi differenti. La variazione del ritardo subito dai pacchetti è detta jitter.

Perdita di pacchetti [modifica]

La perdita di pacchetti può avvenire in diverse occasioni. Un pacchetto può perdersi in quanto viene ricevuto con un errore e quindi scartato, oppure quando il buffer di un commutatore, sia nelle porte di ingresso che in quelle di uscita, risulta saturo e quindi si trova costretto a scartarlo.

Per questa ragione, una rete a pacchetto non può generalmente garantire che tutti i pacchetti inviati arrivino a destinazione.

TCP risolve questo problema reinviando i pacchetti persi (i pacchetti per i quali non riceve un ACK positivo).

Commutazione di pacchetto e commutazione di circuito [modifica]

In una rete a commutazione di circuito la capacità del canale trasmissivo è interamente dedicata ad una specifica comunicazione. In una rete di questo tipo (ad esempio, quella telefonica), si stabilisce dunque una connessione diretta tra sorgente e ricevente al momento di inizio della comunicazione (ad esempio quando inizia la chiamata telefonica). Invece la commutazione di pacchetto si rivela molto più efficiente nonostante la maggior quantità di dati inviata, in quanto i canali fisici sono utilizzati solo per il tempo strettamente necessario. Inoltre, poiché ogni pacchetto porta con sé la sua identificazione, una rete può trasportare nello stesso tempo pacchetti provenienti da sorgenti differenti.

La commutazione di pacchetto permette quindi a più utenti di inviare informazioni attraverso la rete in modo efficiente e simultaneo, risparmiando tempo e costi mediante la condivisione di uno stesso canale trasmissivo (cavo elettrico, etere, fibra ottica ecc.).

Storicamente la commutazione di pacchetto poneva qualche problema nel caso fosse necessaria una disponibilità garantita di banda o nelle trasmissioni real time: si pensi a una trasmissione video, dove le immagini arrivano con un flusso costante. Al giorno d'oggi è però possibile aggiungere una "priorità" ai pacchetti per garantire che un numero sufficiente di essi venga inviato, a scapito di altri pacchetti che non abbiano un'urgenza specifica - ad esempio, un file da trasferire.

La commutazione di pacchetto è uno dei possibili metodi di multiplazione, ovvero è una tecnica per suddividere la capacità trasmissiva di un canale tra diversi utilizzatori. Vedi ancheMultiplazione.

Switch

Come con un hub, due nodi possono comunicare attraverso uno switch come se questo non ci fosse, ovvero il suo comportamento è trasparente. A differenza però di quanto farebbe unhub, uno switch normalmente inoltra i frame in arrivo da una qualsiasi delle sue porte soltanto a quella cui è collegato il nodo destinatario del frame.

Uno switch possiede quindi l'intelligenza necessaria a riconoscere i confini dei frame nel flusso di bit, immagazzinarli, decidere su quale porta inoltrarli, trasferirli verso una porta in uscita, trasmetterli. Normalmente uno switch opera al livello datalink del modello di riferimento ISO/OSI.

Lo switch gode, rispetto ad un bridge, di:

Inoltre uno switch di fascia alta fornisce tipicamente le seguenti caratteristiche:

Prestazioni [modifica]

Il ritardo introdotto da uno switch è generalmente di pochi microsecondi, quindi quasi ininfluente per la gran parte delle applicazioni.

Quando un host è connesso ad uno switch, o su una connessione diretta tra due switch, non sono possibili collisioni, e quindi è possibile utilizzare la modalità "Full-Duplex", ovvero i due nodi possono trasmettere contemporaneamente.

L'inoltro selettivo dei frame permette anche a più frame di attraversare contemporaneamente lo switch, e quindi la banda totale disponibile non viene ridotta con l'aumento del numero di nodi attivi. In una connessione di questo tipo si dice che l'host ha un accesso dedicato al commutatore. Questo garantisce che due nodi connessi da uno switch possano comunicare tra loro alla velocità nominale del collegamento, ma solo se non sono impegnati contemporaneamente in altre conversazioni.

Nella realtà, l'introduzione di uno switch in una rete locale porta ad un aumento del traffico sulla rete ed a un miglioramento delle prestazioni, ma spesso questo miglioramento porta ad evidenziare altri "colli di bottiglia" della rete, spesso la connessione ad internet o la capacità dei server.

Utilizzo dello switch [modifica]

Storicamente lo switch è stato introdotto per ridurre le collisioni nelle reti Ethernet (ora IEEE 802.3). L'uso esclusivo di switch per collegare nodi (con esclusione di hub e bridge) consente di aumentare l'efficienza di una tipica rete 10Base-T di un fattore 10, portandola dunque a competere con una più costosa rete 100Base-T provvista esclusivamente di hub, e quindi con topologia logica a bus.

Normalmente uno switch non è in grado di interconnettere reti di livello 2 eterogenee, ad esempio una rete Ethernet con una Token Ring, a meno che non si tratti di un cosiddetto "switch transazionale", mentre può interconnettere ad esempio reti ethernet con velocità o tecnologie fisiche diverse.

Nel gergo delle reti locali, uno switch separa i domini di collisione connessi alle sue porte, ovvero se due calcolatori collegati a porte diverse trasmettono contemporaneamente, non si verifica una collisione, e i due frame possono attraversare lo switch contemporaneamente.

Il termine switch viene usato anche al di fuori delle reti Ethernet, ad indicare un dispositivo che inoltri selettivamente i frame ricevuti, per esempio in ATM o frame relay. Inoltre, un dispositivo di rete che abbini le prestazioni di uno switch con le funzioni di livello superiore di un router viene detto switch-router o, più precisamente, switch di livello 3 (layer-3 switch).

Instradamento [modifica]

Per decidere su quale porta inoltrare un frame ricevuto, uno switch deve possedere una funzione di instradamento. Questa è basata sull'apprendimento passivo degli indirizzi sorgente deiframe inoltrati (transparent learning o backward learning.), attraverso il quale lo switch impara su quale porta si trova un determinato indirizzo: questa associazione viene scritta in una tabella chiamata forwarding database. Gli indirizzi appresi vengono "dimenticati" dopo un certo tempo dalla loro ultima apparizione.

Quando un nodo A cerca di comunicare con un nodo B, il comportamento dello switch dipende dalla porta cui è collegato B:

Normalmente, il nodo riceverà il pacchetto e risponderà, permettendo allo switch di scoprire a quale porta è collegato.

Alcuni frame hanno un indirizzo destinazione particolare, denominato broadcast, che indica che sono destinati a tutti i calcolatori della rete. Uno switch inoltra questi frame su tutte le porte. Per questo si dice che lo switch crea un unico dominio di broadcast.

La complessità del comportamento di uno switch è compensata dalle migliori prestazioni ottenibili.

Il fatto che i frame vengano ritrasmessi selettivamente ha anche delle implicazioni di sicurezza informatica, in quanto evita che un calcolatore possa facilmente intercettare (sniffare) il traffico diretto ad un altro. Esistono comunque tecniche raffinate che permettono lo sniffing anche in presenza di switch, come l'ARP Poisoning o lo Switch Flooding, per cui uno switch non deve essere considerato come una protezione inattaccabile contro i rischi di intercettazione.

Struttura interna [modifica]



Switch modulare a 24 porte

Internamente, uno switch è costituito da una o più schede munite di porte. Ad ogni porta può essere connesso un nodo, che può essere una stazione, un altro switch, un hub o altro dispositivo di rete.

Quando un nodo A cerca di comunicare con un nodo B, il comportamento dello switch dipende dalla scheda cui è collegato B:

L'intelligenza necessaria a gestire le porte di ingresso e di uscita (riconoscere i frame, estrarre gli indirizzi sorgente e destinazione, trasmetterli) è distribuita sulle singole schede.

Spesso su alcune porte possono essere montati trasduttori di tipo diverso per risolvere diversi tipi di esigenze (si veda ad esempio la ricchezza ditecnologie di livello fisico disponibili per IEEE_802.3). Questa possibilità viene tipicamente utilizzata per aggiungere ad uno switch 100Base-TX una o due porte di tipo 1000Base-X per il collegamento verso il resto della rete (uplink) o per un server veloce.

Alcuni switch hanno una costruzione modulare, ovvero le schede possono essere montate dal gestore, per modulare il numero di porte a disposizione o per utilizzare porte di tipo diverso.

Anche se non conveniente soprattutto in termini economici, è possibile realizzare uno switch anche con un comune computer dotato di più interfacce di rete.

Metodi di instradamento [modifica]

Esistono 3 tipologie di instradamento che possono essere utilizzate da uno switch:

Nella prima tipologia lo switch si limita a leggere l'indirizzo MAC del destinatario e quindi manda il contenuto del frame contemporaneamente alla sua lettura. In questo caso l'invio dei framenon attende la ricezione completa dello stesso. Questo tipo di switch è quello con latenza minore.

Negli switch store-and-forward invece viene letto l'intero frame e ne viene calcolato il cyclic redundancy check (CRC) confrontandolo con il campo FCS all'interno del frame. Solo se i due valori corrispondono il frame viene mandato al destinatario, altrimenti non viene trasmesso. Questi tipi di switch consentono di bloccare frame contenenti errori ma hanno una latenzamaggiore.

L'ultima tipologia è un compromesso tra le due precedenti in quanto si leggono i primi 64 bytes del frame in modo da rilevare solo alcune anomalie nel frame.

Gli switch fragment-free e cut-through possono essere impiegati solamente nello switching simmetrico ovvero dove trasmettitore e ricevitore operano alla stessa velocità, gli switch store-and-forward invece consentono anche lo switching asimmetrico.

Le tre tipologie si differenziano solo se il buffer di trasmissione è vuoto e se il link di uscita è libero. Nel caso contrario le tre tipologie si riducono all'unica store-and-forward.

Gestione [modifica]

Uno switch di fascia medio-alta è tipicamente dotato di un agente di gestione, ovvero un piccolo programma software che permette di controllarne e monitorarne il funzionamento. Questo è accessibile sia attraverso una porta seriale (gestione out-of-band) che attraverso la stessa rete ethernet (gestione in-band). In questo caso, all'agente di gestione viene normalmente assegnato un indirizzo IP, e questo risponde ai protocolli SNMPtelnet e/o sshHTTP.

Uno switch gestito permette tipicamente di accedere da remoto a queste funzionalità:

Stackable [modifica]

Macchine più evolute sono dotate di funzionalità che permettono l'interconnessione backbone, in cui rami con caratteristiche di velocità e capacità inferiori confluiscono ordinatamente su rami con caratteristiche superiori; per questi collegamenti vengono utilizzate velocità che possono arrivare anche a 10Gbps. Generalmente in una macchina stackabile le porte adibite a queste connessioni sono dotate di interoperabilità o sono addirittura modulari, questa caratteristiche rendendo flessibile la modalità di link es. nella scelta di velocità e trasporto fisico (rame o fibra).

Caratteristiche significative della macchine stackabili sono:

  1. la possibilità di impilare varie macchine;
  2. la possibilità di gestirle assieme come fossero una;
  3. la possibilità di interconnettere macchine di tipo diverso switch, hubrouter;
  4. la possibilità di realizzare sistemi tolleranti ai guasti (se si rompe una macchina le altre continuano a funzionare e allo stesso modo se una porta non funziona se ne collega un'altra

Frame

Nonostante Ethernet abbia diverse tipologie, l'elemento comune è nella struttura del frame, che viene definito DIX (DECIntelXerox), è rimasto fedele alla versione originale.


Questo è il frame ricevuto dallo strato di rete nella pila di protocolli. Gli elementi sono:

È molto simile al frame IEEE 802.3, tranne che per il campo tipo, che nell'802.11 diventa Tipo o Lunghezza e il preambolo ridotto a 7 byte con 1 byte trasformato in Start of Frame.

Indirizzo Ethernet [modifica]

Gli indirizzi sono tutti a 6 byte, in quanto Ethernet definisce uno schema di indirizzamento a 48 bit: ogni nodo collegato, quindi, ha un indirizzo Ethernet univoco di questa lunghezza, che è l'indirizzo fisico della macchina ed è associato all'hardware.

Tali indirizzi sono anche detti indirizzi hardwareindirizzi MAC o MAC address, oppure indirizzi di livello 2.

Legacy Ethernet [modifica]

Le Legacy Ethernet hanno in comune:

Tipologia di trasmissione [modifica]

La codifica usata per i segnali binari è la codifica Manchester.

Ethernet è una tecnologia che fornisce al livello di rete un servizio senza connessione. In pratica, il mittente invia il frame nella LAN senza alcun handshake iniziale in modalità broadcast (oa bus condiviso): il frame attraversa tutta la LAN e viene ricevuto da tutti gli adattatori presenti, ma solo l'adattatore che vi riconosce il proprio indirizzo di destinazione lo recepirà, mentre tutti gli altri lo scarteranno.

Il frame ricevuto può contenere errori, la maggior parte dei quali sono verificabili dal controllo CRC. Un frame che non supera il controllo CRC viene scartato. Ethernet non prevede la ritrasmissione del frame scartato, né una notifica della sua perdita agli strati superiori. Ethernet non è quindi affidabile, ma grazie a ciò è semplice ed economica. Il compito di provvedere alla ri-trasmissione dei frame perduti viene demandato agli strati superiori (ad esempio il protocollo TCP).

La gestione delle collisioni e dell'occupazione simultanea del canale di trasmissione viene gestita mediante il CSMA/CD (Carrier Sense Multiple Access with Collision Detection). Anche da questo punto di vista, Ethernet non è in grado di garantire la consegna di un frame, e men che meno che il frame sia consegnato entro un tempo prevedibile.

Per approfondire, vedi la voce CSMA/CD.

Nei sistemi Ethernet recenti, il problema non si presenta in quanto con gli switch e la crescita della capacità (vedi Gigabit Ethernet) si eliminano le collisioni e si rende molto più improbabile la congestione.

Efficienza [modifica]

Ethernet utilizza un algoritmo di accesso multiplo alla rete detto CSMA/CD. Ciò permette all'Ethernet, in certe condizioni, di avere un'efficienza di trasmissione del 100%.

L'efficienza è vista come la frazione di tempo a lungo termine durante la quale sono trasmessi frame senza collisioni con altri mittenti.

Ethernet con ripetitori e hub [modifica]

Per approfondire, vedi la voce Hub (informatica).



Rete con hub centrale

Ethernet tende a crescere, ma il cavo Ethernet ha una capacità limitata sia in lunghezza sia in capacità di traffico, per cui le LAN di grosse dimensioni vengono suddivise in reti più ridotte interconnesse tra loro da particolari nodi tra i quali possiamo trovare dei ripetitori, degli hub o elementi più sofisticati come bridge oswitch.

Il ripetitore semplicemente replica il segnale ricevuto. Il cavo Ethernet può quindi assumere lunghezze molto maggiori alle sue capacità. L'unico vincolo è che tra due computer ci devono essere al massimo due ripetitori per salvaguardare la temporizzazione di CSMA/CD.

Ethernet con bridge e switch [modifica]

Per approfondire, vedi la voce Bridge (informatica).



Rete complessa collegata da più switch

Il bridge è un elemento di interconnessione più sofisticato dell'hub perché opera sui frame e non sui segnali elettrici. Con questo sistema si possono creare segmenti di LAN indipendenti in cui le collisioni e i ritardi restano limitati.

Molti bridge sono adattativi o ad apprendimento per cui sono provvisti di un software con elenchi di indirizzi per ogni scheda ethernet che posseggono. In questo modo quando arriva un frame, estrapolano l'indirizzo di destinazione, e inviano lo stesso frame nel segmento giusto in base agli elenchi associati alle schede.

Molto più sofisticati sono gli switch che sono composti da un numero elevato di schede ethernet che consente ad ogni host di essere connesso direttamente. Allo switch vengono poi collegati uno o più cavi Ethernet ad alta velocità che collegano altri segmenti di LAN.

In questo modo lo switch intercetta i frame e li ridireziona ad un host oppure sui segmenti Ethernet. La gestione dei frame, quindi, è ottimizzata perché questi sono subito reindirizzati alla destinazione evitando, per quanto possibile, collisioni. In questo modo ogni scheda ha un suo dominio di collisione.

Broadcasting

Per broadcasting (o con l'obsoleto termine italiano radioaudizioni circolari) si intende la trasmissione di informazioni da un sistema trasmittente ad un insieme di sistemi riceventi non definito a priori.

L'esempio più classico è costituito da un trasmettitore radio di grande potenza e da un gran numero di ricevitori montati nelle automobili o nelle case. In questo caso, tutti i ricevitori situati nell'area di copertura del trasmettitore riceveranno il segnale, e il trasmettitore non potrà sapere esattamente con chi ha comunicato.

La trasmissione broadcasting è unidirezionale. Le informazioni sono inviate dal trasmettitore ai ricevitori, senza canale di ritorno e senza sicurezza che le stesse riescano ad essere consegnate.

In opposizione alle comunicazioni broadcasting, ci sono le comunicazioni punto-punto o bidirezionali.

Nel mondo della radio e nella televisione, il termine broadcasting indica anche il livello di qualità richiesto per trasmissioni commerciali a grande diffusione, e gli strumenti professionali utilizzati per ottenerlo.

Nelle reti di calcolatori, il termine ha un significato simile: un pacchetto inviato ad un indirizzo di tipo broadcast verrà consegnato a tutti i computercollegati alla rete (ad esempio, tutti quelli su un segmento di rete ethernet, o tutti quelli di una sottorete IP).

Broadcasting (informatica)

Da Wikipedia, l'enciclopedia libera.

Nelle reti di calcolatori, il termine Broadcast indica una modalità di instradamento per la quale un pacchetto inviato ad un indirizzo particolare (detto appunto di broadcast) verrà consegnato a tutti i computer collegati alla rete (ad esempio, tutti quelli su un segmento di rete ethernet, o tutti quelli di unasottorete IP).

Un pacchetto destinato ad un solo computer è detto Unicast, uno destinato a molti è detto Multicast, uno destinato ad uno qualunque di un gruppoAnycast

Per via dei costi gli indirizzamenti broadcast non sono consentiti a livello globale (internet), ma risultano vincolati nell'ambito di una rete locale.

Il Broadcast può essere eseguito su diversi livelli del modello OSI. A livello Data Link (Secondo Livello) l'invio del pacchetto o richiesta viene eseguito sfruttando il MAC Address (Indirizzo Fisico) impostandolo al suo valore più alto (FFFFFF.FFFFFF). A livello Network (Terzo Livello) l'invio del pacchetto o richiesta viene eseguita sfruttando l'IP (indirizzo logico) impostandolo sempre al suo valore più alto facendo attenzione alla relativa subnet di appartenenza.

Si definisce broadcast, in generale, la spedizione contemporanea della stessa informazione a più nodi di arrivo contemporaneamente.

Si chiama broadcasting l'utilizzo di questo metodo di comunicazione.

Un sistema definito broadcast consente l'elaborazione e l'invio di pacchetti di dati che, grazie all'inserimento di un codice speciale nel campo indirizzo, può essere ricevuto da tutti i computer contemporaneamente collegati, invece che da uno solo. Nel caso di un funzionamento di questo tipo si è soliti dire che il dispositivo di rete opera in broadcasting.

Transmission Control Protocol

Da Wikipedia, l'enciclopedia libera.

Transmission Control Protocol (TCP) è un protocollo di livello di trasporto della suite di protocolli Internet. È definito nella RFC 793, e su di esso si appoggiano gran parte delle applicazioni Internet.

Il TCP può essere classificato al livello trasporto (OSI level 4) del modello di riferimento OSI, e di solito è usato in combinazione con il protocollo di livello rete (OSI level 3) IP. La corrispondenza con il modello OSI non è perfetta, in quanto il TCP e l'IP nascono prima. La loro combinazione è indicata come TCP/IP e, alle volte, è erroneamente considerata un unico protocollo.

Da qui, la difficoltà di una classificazione univoca per un protocollo che comprende, a pieno titolo, due livelli dello stackOSI (o pila ISO/OSI in italiano)

Il TCP è stato progettato per utilizzare i servizi del protocollo IP, che non offre alcuna garanzia in ordine alla consegna dei pacchetti, al ritardo, alla congestione, e costruire un canale di comunicazione affidabile tra due processi applicativi. Il canale di comunicazione è costituito da un flusso bidirezionale di byte. Inoltre, alcune funzionalità di TCP sono vitali per il buon funzionamento complessivo di una rete IP.

Il TCP nacque nel 1970 come frutto del lavoro di un gruppo di ricerca del dipartimento di difesa statunitense. I suoi punti di forza sono l'alta affidabilità e robustezza. La sua popolarità si deve anche grazie ad una sua implementazione diffusa dallaUniversità di Berkeley, rilasciata in California sotto forma di sorgenti.

Caratteristiche principali [modifica]

Confronto con UDP [modifica]

Le principali differenze tra TCP e UDP (User Datagram Protocol), l'altro principale protocollo di trasporto della suite di protocolli Internet, sono:

L'utilizzo del protocollo TCP rispetto a UDP è, in generale, preferito quando è necessario avere garanzie sulla consegna dei dati o sull'ordine di arrivo dei vari segmenti (come per esempio nel caso di trasferimenti di file). Al contrario UDP viene principalmente usato quando l'interazione tra i due host è idempotente o nel caso si abbiano forti vincoli sulla velocità e l'economia di risorse della rete.

Header TCP [modifica]

La PDU di TCP è detta segmento. Ciascun segmento viene normalmente imbustato in un pacchetto IP, ed è costituito dall'intestazione (header) TCP e da un carico utile (in inglesepayload), ovvero dati di livello applicativo. I dati contenuti nell'intestazione costituiscono un canale di comunicazione tra le due entità TCP, che viene utilizzato per realizzare le funzionalità dello strato di trasporto e non è accessibile agli strati dei livelli superiori.

Un segmento TCP è così strutturato:

TCP Header 

Bit offset 

Bits 0–3 

4–7 

8–15 

16–31 

0

Source port 

Destination port 

32

Sequence number 

64

Acknowledgment number 

96

Data offset 

Reserved 

CWR 

ECE 

URG 

ACK 

PSH 

RST 

SYN 

FIN 

Window Size 

128

Checksum 

Urgent pointer 

160

Options (optional) 

160/192+

 
Data
 

Sequence number e Acknowledgment number [modifica]

Il Sequence number, o numero di sequenza, serve a posizionare il carico utile del segmento TCP all'interno del flusso di dati.

TCP si aspetta di ricevere il segmento successivo all'ultimo segmento ricevuto in ordine, ovvero quello il cui numero di sequenza è pari al numero di sequenza dell'ultimo segmento ricevuto in ordine più la dimensione del carico utile dello stesso segmento (cioè del suo campo Data).

In ricezione, TCP controlla se il numero di sequenza ricevuto è quello atteso e in caso affermativo può inviare direttamente il carico utile al processo di livello applicativo e liberare i propribuffer.

Se invece riceve un numero di sequenza maggiore di quello atteso, deduce che uno o più segmenti ad esso precedenti sono andati persi o ritardati dal livello di rete sottostante. Pertanto, memorizza temporaneamente in un buffer il carico utile del segmento per poterlo consegnare al processo applicativo dopo aver ricevuto e consegnato anche tutti quelli precedenti. Dal punto di vista del processo applicativo, quindi, i dati arriveranno in ordine anche se la rete ha per qualsiasi motivo alterato questo ordine, realizzando così il requisito della consegna ordinata dei dati.

Se infine il numero di sequenza ricevuto è inferiore a quello atteso, il segmento viene considerato un duplicato di uno già ricevuto e già inviato allo strato applicativo, e quindi scartato. Questo permette di realizzare l'eliminazione dei duplicati di rete.

In ogni segmento inoltre, viene inviato un Acknowledgment Number, o numero di riscontro. Il numero di riscontro presente in un segmento riguarda il flusso di dati nella direzione opposta. In particolare, il numero di riscontro inviato da A a B è pari al numero di sequenza atteso da A e, quindi, riguarda il flusso di dati da B ad A.

Il protocollo TCP adotta la politica di Conferma cumulativa, ciò significa semplicemente che l'arrivo di numero di riscontro indica al ricevente che il mittente ha ricevuto e correttamente inoltrato al proprio processo applicativo, il segmento avente numero di sequenza uguale al numero di riscontro indicato (-1) e anche tutti i segmenti ad esso precedenti. Per tale motivo, in trasmissione, TCP mantiene temporaneamente una copia di tutti i dati inviati ma non ancora riscontrati. Quando riceve un numero di riscontro per un segmento, ne deduce che tutti i dati precedenti a quel numero sono stati ricevuti correttamente e quindi libera il proprio buffer da questi dati.

Per ciascun segmento inviato, TCP avvia un timer, detto timer di ritrasmissione RTO (Retransmission Time Out). Se il segmento non riceve un ACK prima che il timer scada, TCP assume che tutti i segmenti trasmessi a partire da quello siano andati persi e quindi li ritrasmette.

Si noti che, in TCP, il meccanismo dei numeri di riscontro non permette al ricevitore di comunicare al trasmettitore che un segmento è stato perso, ma alcuni dei successivi sono stati ricevuti (meccanismo ad Acknowledgment Number negativi), quindi è possibile che per un solo pacchetto perso ne debbano essere ritrasmessi molti. Questo comportamento non ottimale è compensato dalla semplicità del protocollo. Questa tecnica è detta Go-Back-N; l'alternativa, ovvero progettare il protocollo di trasporto in modo che solo i pacchetti effettivamente persi vengano ritrasmessi, è detta Selective Repeat (ripetizione selettiva); l'utilizzo però di alcuni campi opzionali appositi permette l'utilizzo della ripetizione selettiva.

I numeri di riscontro e i relativi timer permettono quindi di realizzare la consegna affidabile, ovvero di garantire che tutti i dati inviati siano consegnati anche se alcuni pacchetti vengono persi dalla rete.

I timer del TCP [modifica]

Timer di ritrasmissione [modifica]

Come descritto sopra, il timer di ritrasmissione serve a verificare che ciascun segmento trasmesso venga riscontrato.

La corretta impostazione di questo timer è difficile ma molto importante, in quanto un timer troppo breve comporta ritrasmissioni inutili (il timer scatta mentre il riscontro o il pacchetto sono ancora in viaggio), mentre un timer troppo lungo comporta attese in caso di perdita di pacchetti.

TCP aggiusta continuamente il timer di ritrasmissione basandosi su una stima a media mobile del Round Trip Time.

Timer di persistenza (finestra scorrevole) [modifica]

Come spiegato sopra, il TCP utilizza il metodo della finestra scorrevole per gestire il flusso di dati che il ricevente è in grado di accettare. Tra i valori validi di questo campo vi è anche lo zero, a significare che il ricevente richiede l'interruzione momentanea dell'invio di dati.

Nel malaugurato caso in cui il pacchetto che riapre la finestra venga perso, il mittente del canale TCP rimarrà però in attesa indefinita. Per evitare questo, il TCP avvia un timer, detto timer di persistenza, ogni qual volta il ricevente chiude la finestra. Quando questo timer scade, il mittente invia un pacchetto sonda al ricevente, provocandone una risposta: in questo modo il mittente potrà essere sicuro che la finestra sia chiusa (ricevendo un altro pacchetto con campo Window a 0) o sbloccarsi dallo stallo (ricevendo un pacchetto con campo Window diverso da zero).

Per approfondire, vedi la voce Controllo della congestione in TCP.

Timer di keepalive [modifica]

La RFC 793 che definisce il protocollo TCP non prevede particolari azioni da intraprendere quando non ci sono dati da trasmettere sulla connessioni. Alcune implementazioni però consentono di trasmettere periodicamente segmenti vuoti, detti keepalive, per evitare di mantenere indefinitamente in memoria connessioni con sistemi che potrebbero anche non essere più attivi. In molti sistemi il software applicativo ha la possibilità di scegliere se abilitare o meno i keepalive per ogni connessione.

Quando si usano i keepalive, è presente dunque il timer di keepalive: esso viene reimpostato alla ricezione o alla trasmissione di ogni segmento, e quando scade viene trasmesso un keepalive. Un valore tipico è di due ore.

Timed wait [modifica]

L'ultimo timer utilizzato da TCP è il timed wait. In pratica, prima di disconnettere effettivamente una connessione, i due estremi del canale attendono un tempo pari al doppio del tempo di vita di un comune pacchetto: questo evita che dei pacchetti possano rimanere circolanti per la rete anche dopo la chiusura.

Apertura di una connessione - Three-way handshake [modifica]


La procedura utilizzata per instaurare in modo affidabile una connessione TCP tra due host è chiamata three-way handshake (stretta di mano a 3 vie), indicando la necessità di scambiare 3 messaggi tra host mittente e host ricevente affinché la connessione sia creata correttamente. Consideriamo ad esempio che l'host A intenda aprire una connessione TCP con l'host B; i passi da seguire quindi sono:

  1. A invia un segmento SYN a B - il flag SYN è impostato a 1 e il campo Sequence number contiene il valore x che specifica l'Initial Sequence Number di A;
  2. B invia un segmento SYN/ACK ad A - i flag SYN e ACK sono impostati a 1, il campo Sequence number contiene il valore yche specifica l' Initial Sequence Number di B e il campo Acknowledgment number contiene il valore x+1 confermando la ricezione del ISN di A;
  3. A invia un segmento ACK a B - il campo Acknowledgment number contiene il valore y+1 confermando la ricezione del ISN di B.

Il terzo segmento non sarebbe, idealmente, necessario per l'apertura della connessione in quanto già dopo la ricezione da parte di A del secondo segmento, entrambi gli host hanno espresso la loro disponibilità all'apertura della connessione. Tuttavia esso risulta necessario al fine di permettere anche all'host B una stima del timeout iniziale, come tempo intercorso tra l'invio di un segmento e la ricezione del corrispondente ACK.

Il flag SYN risulta utile nell'implementazione pratica del protocollo, e nella sua analisi da parte dei firewall: nel traffico TCP i segmenti SYN stabiliscono nuove connessioni, mentre quelli con il flag non attivo appartengono a connessioni già instaurate.

I segmenti utilizzati durante l'handshake sono solitamente 'solo header', ossia hanno il campo Data vuoto essendo questa una fase di sincronizzazione tra i due host e non di scambio di dati.

Chiusura di una connessione - Chiusura a 4 vie [modifica]


Dopo che è stata stabilita, una connessione TCP non è considerata una singola connessione bidirezionale, ma piuttosto come l'affasciamento di due connessioni monodirezionali. Pertanto, ognuna delle parti deve terminare la sua connessione, e possono esistere anche connessioni aperte a metà, in cui solo uno dei due terminali ha chiuso la connessione e non può più trasmettere, ma può (e deve) ricevere i dati dall'altro terminale.

Di conseguenza, la chiusura della connessione si può effettuare in due modi: con un handshake a tre vie, in cui le due parti chiudono contemporaneamente le rispettive connessioni, o con uno a quattro vie, in cui le due connessioni vengono chiuse in tempi diversi.

L'handshake a 3 vie è omologo a quello usato per l'apertura della connessione, con la differenza che il flag utilizzato è il FIN invece del SYN. Un terminale invia un pacchetto con la richiesta FIN, l'altro risponde con un FIN + ACK, ed infine il primo manda l'ultimo ACK, e l'intera connessione viene terminata.

L'handshake a 4 vie invece viene utilizzato quando la disconnessione non è contemporanea tra i due terminali in comunicazione. In questo caso uno dei due terminali invia la richiesta di FIN, e attende l'ACK. L'altro terminale farà poi altrettanto, generando quindi un totale di 4 pacchetti.

Multiplazione e porte [modifica]

Ciascuna connessione TCP attiva è associata a un socket aperto da un processo (il socket è lo strumento offerto dal sistema operativo alle applicazioni per usare le funzionalità della rete). TCP si occupa di smistare i dati tra le connessioni attive ed i relativi processi. Per questo, a ciascuna connessione tra due host viene associato un numero di porta su ciascuno dei due host, che è un intero senza segno a 16 bit (1-65535), contenuto nell'apposito campo dell'header.

Una connessione TCP sarà quindi identificata dagli indirizzi IP dei due host e dalle porte utilizzate sui due host.

In questo modo, un server può accettare connessioni da più client contemporaneamente attraverso una o più porte, un client può stabilire più connessioni verso più destinazioni, ed è anche possibile che un client stabilisca contemporaneamente più connessioni indipendenti verso la stessa porta dello stesso server.

Server e Client [modifica]

I due processi che comunicano attraverso una connessione TCP hanno ruoli diversi:

Le porte conosciute e registrate sono quindi utilizzate dai processi server, e sono convenzionalmente associate a particolari servizi, in modo che un client sappia a quale porta connettersi per raggiungere un determinato server.

Il processo server, che è in ascolto su una certa porta, rimane bloccato in attesa che un client si colleghi. Il processo client richiede di stabilire una connessione verso un determinato server su una determinata porta. Normalmente la porta sorgente usata dal client viene allocata dinamicamente dal sistema operativo del client. Quando il TCP stabilisce la connessione, a entrambi i processi viene assegnato un socket tramite cui essi possono comunicare tra loro. Tipicamente il processo server effettua una fork, affida al figlio il compito di comunicare con il nuovo client e si rimette in ascolto. Da questo punto in poi, client e server hanno ruoli simmetrici, e utilizzano gli stessi strumenti per comunicare attraverso il socket.

Internet Protocol

L'Internet Protocol (IP) è un protocollo di rete a pacchetto, non connesso; secondo la classificazione ISO/OSI è di livello rete (3).

La versione correntemente usata del protocollo IP è detta anche IPv4 per distinguerla dalla più recente IPv6, nata dall'esigenza di gestire meglio il crescente numero di computer connessi ad Internet.

IP è un protocollo di interconnessione di reti (Inter-Networking Protocol), nato per interconnettere reti eterogenee per tecnologia, prestazioni, gestione.

I protocolli di trasporto utilizzati su IP sono soprattutto TCP e UDP.

Porta (reti)

Nelle reti di calcolatori, le porte sono lo strumento utilizzato per realizzare la multiplazione delle connessioni a livello di trasporto, ovvero per permettere ad un calcolatore di effettuare più connessioni contemporanee verso altri calcolatori, facendo in modo che i dati contenuti nei pacchetti in arrivo vengano indirizzati al processo che li sta aspettando.

Il termine è la traduzione dell'inglese port, nella accezione derivante dal latino porta: apertura, portale, oblò; il termine che in italiano si traduce in porto deriva invece dal latino portus, cfr.[1][2].

Le porte sono numeri (in TCP e UDP sono a 16 bit) utilizzati per identificare una particolare connessione di trasporto tra quelle al momento attive su un calcolatore. I pacchetti appartenenti ad una connessione saranno quindi identificati dalla quadrupla [<indirizzo IP sorgente>, <indirizzo IP destinazione>, <porta sorgente>, <porta destinazione>]. I pacchetti nella direzione opposta avranno ovviamente sorgente e destinazione scambiati.

Il livello di trasporto (tipicamente realizzato dal sistema operativo) associa a ciascuna porta utilizzata un punto di contatto (ad esempio, una socket), utilizzato da uno (o più) processiapplicativi per trasmettere e/o ricevere dati.

Per poter inviare con successo un pacchetto con una certa porta destinazione, ci deve essere un processo che è "in ascolto" su quella porta, ovvero che ha chiesto al sistema operativo di ricevere connessioni su quella porta. L'operazione di impegnare una porta TCP o UDP da parte di un processo è detta "bind", dal nome della chiamata di sistema unix che la realizza.

La porta sorgente utilizzata in una connessione viene scelta dal calcolatore che inizia la connessione tra una di quelle al momento non impegnate.

In Internet, c'è una convenzione per cui ad alcuni numeri di porta sono associati determinati protocolli di livello applicativo. Ad esempio, se voglio contattare il server HTTP eventualmente in esecuzione su un certo calcolatore, so che devo tentare di stabilire una connessione verso la porta 80.

I numeri di porta sono classificabili in tre gruppi:

Sicurezza 

Supervisionare le porte "in ascolto" cioè aperte è di estrema importanza, per evitare attacchi informatici che nel caso più grave possono portare al controllo completo del computer. Per visualizzare le porte aperte sul proprio computer è necessario un programma di scansione delle porte e dei relativi servizi collegati ad esse. Le porte normalmente più vulnerabili sono:

Finestra scorrevole

La finestra scorrevole (dall'inglese sliding window) è un metodo di controllo del flusso di dati nelle reti di calcolatori, in particolare usato dal protocollo TCP. La finestra rappresenta il numero di byte che il destinatario della trasmissione si dichiara disposto a ricevere oltre l'ultimo byte per cui il mittente abbia già ricevuto il segnale di conferma, ovvero ACK (acknowledgement). Essa viene definita scorrevole in quanto si sposta partendo sempre dall'ultimo byte confermato e non è di dimensione costante, ma può variare durante la trasmissione per controllare il flusso dei dati inviati dal mittente. I fattori che vanno ad influenzare l'ampiezza della finestra indicata possono essere molteplici, ad esempio il controllo di flusso, ossia il controllo della capacità di ricezione della destinazione, ed il controllo della congestione, che limita la velocità della trasmissione in relazione alle capacità dei componenti di rete interessati dal trasferimento.

Nel TCP, il ricevente comunica al trasmittente la propria finestra attraverso il campo Window presente nell'header dei segmenti, costituito da un numero intero senza segno in 16 bit. Tale campo indica il numero di ottetti di dati a partire da quello indicato nel campo acknowledgement (Acknowledgement Number) accettati nella comunicazione.

User Datagram Protocol

Lo User Datagram Protocol (UDP) è uno dei principali protocolli della suite di protocolli Internet. È un protocollo di trasporto a pacchetto, usato di solito in combinazione con il protocollo IP.

 

Funzionamento 

A differenza del 

TCP, l'UDP è un protocollo di tipo connectionless, inoltre non gestisce il riordinamento dei pacchetti né la ritrasmissione di quelli persi, ed è perciò generalmente considerato di minore affidabilità. È in compenso molto rapido ed efficiente per le applicazioni "leggere" o time-sensitive. Ad esempio, è usato spesso per la trasmissione di informazioni audio o video. Dato che le applicazioni in tempo reale spesso richiedono un ritmo minimo di spedizione, non vogliono ritardare eccessivamente la trasmissione dei pacchetti e possono tollerare qualche perdita di dati, il modello di servizio TCP può non essere particolarmente adatto alle loro caratteristiche. L'UDP fornisce soltanto i servizi basilari del livello di trasporto, ovvero:

mentre TCP garantisce anche il trasferimento affidabile dei dati, il controllo di flusso e il controllo della congestione.

L'UDP è un protocollo stateless, ovvero non tiene nota dello stato della connessione, dunque ha rispetto al TCP informazioni in meno da memorizzare. Un server dedicato ad una particolare applicazione che scelga UDP come protocollo di trasporto può supportare molti più client attivi.

Struttura di un datagramma UDP [modifica]

Un datagramma (o pacchetto) UDP è così strutturato:

+

Bit 0-15

16-31

0

Source Port (optional)

Destination Port

32

Length

Checksum (optional)

64+

 
Data
 

Applicazioni che utilizzano UDP [modifica]

Le applicazioni che hanno la necessità di un trasferimento affidabile dei loro dati si affidano ovviamente a TCP. Le applicazioni più elastiche riguardo alla perdita dei dati e dipendenti dal tempo si affidano invece a UDP. Inoltre si utilizza UDP per comunicazioni in broadcast (invio a tutti i terminali in una rete locale) e multicast (invio a tutti i terminali iscritti ad un servizio).
Di seguito è proposto un elenco dei principali servizi internet e dei protocolli che adottano:

Applicazione

Protocollo strato applicazione

Protocollo strato trasporto

Posta elettronica

SMTP

TCP

Accesso a terminale remoto

telnet

TCP

Trasferimento file

FTP

TCP

Web

HTTP

TCP

Streaming Audio/Video

proprietario

tipicamente UDP

Server di file remoto

NFS

tipicamente UDP

Telefonia su internet (VoIP)

SIPH.323altri

tipicamente UDP

Gestione della rete

SNMP

tipicamente UDP

Protocollo di routing

RIP

tipicamente UDP

Risoluzione dei nomi

DNS

tipicamente UDP

Controllo della congestione in TCP

Il controllo della congestione in TCP è una funzionalità di TCP che permette di limitare la quantità di dati trasmessi e non ancora riscontrati dal mittente, adattando il flusso di dati inviato alle eventuali condizioni di congestione della rete.

TCP è uno dei protocolli di trasporto più diffusi nelle reti IP, ed attua il controllo della congestioneUDP non implementa invece alcuna forma di controllo di flusso o della congestione, anche se queste funzionalità possono essere realizzate allivello applicazioni.

Il TCP implementa il controllo della congestione, congiuntamente al controllo di flusso, solo agli estremi della comunicazione, e non richiede nessun supporto da parte dei router intermedi per realizzare questa funzione. Questo è coerente con il modello progettuale di IP, che prevede di aggiungere intelligenza ai nodi terminali lasciando i router il più possibile semplici.

Il controllo della congestione è implementato usando una variabile dell'header TCP detta CongWin (Congestion window, cioè "finestra di congestione"). Tale variabile impone un vincolo alla quantità di dati trasmessi e non ancora riscontrati dal mittente, ovvero i dati che sono stati consegnati per la trasmissione al livello di rete, che sono in viaggio sulla rete, in fase di elaborazione da parte di TCP sul nodo destinazione, o i cui ACK sono a loro volta in viaggio sulla rete.

Nello specifico la quantità di dati non riscontrati dal mittente non può essere superiore ai minimo tra i valori di CongWin e RcvWindow, ovvero LastByteSent − LastByteAcked < = min(CongWin,RcvWindow)

Questo vincolo limita la frequenza trasmissiva del mittente solo in modo indiretto. Supponendo che un host A invii segmenti ad un host B all'inizio di ogni RTT (Round Trip Time), il vincolo consente al mittente di trasmettere CongWin Byte sulla propria connessione; al termine dell'RTT il mittente riceve il riscontro dei dati. Da ciò si evince che la frequenza di invio del mittente è CongWin / RTT byte/sec, quindi il mittente può regolare la frequenza di invio di segmenti sulla propria connessione modificando il valore di CongWin.

In presenza di congestione nella rete, le code nei commutatori diventano più lunghe, e questo fa aumentare il ritardo subito dai pacchetti e dai relativi riscontri, e quindi l'RTT. Questo comporta una diminuzione della velocità di trasmissione di tutte le sessioni TCP attive.

L'algoritmo di controllo di congestione presenta due fasi:

  1. Partenza Lenta - Slow Start (Slow-Start)
  2. aumento additivo - diminuzione moltiplicativa (AIMD)

Per distinguere tra le due fasi viene usata una variabile chiamata SSTHRESH. Quando il valore della CongWin è minore del valore di SSTHRESH ci troviamo nella fase di 'Slow-Start', altrimenti siamo nella fase AIMD. All'avvio della trasmissione la variabile viene settata ad un valore molto alto, mentre la dimensione della CongWin è pari alla dimensione di un segmento.

Se la congestione diventa severa, uno o più buffer dei router lungo il percorso vanno in overflow, causando l'eliminazione di un datagramma IP che contiene un segmento TCP.

Quando avviene un evento di perdita dati, che viene rilevato allo scadere di un timeout di ritrasmissione, TCP reagisce dimezzando il valore di SSTHRESH e reimpostando CongWin alla dimensione di un segmento, tornando quindi nella fase di Slow-Start.

Le formule per il calcolo della finestra di trasmissione sono:

MaxWindow = MIN(AdvertisedWindow,CongestionWindow)

EffectiveWindow = MaxWindow − (LastByteSent − LastByteAcked)

con il seguente significato delle variabili:

MaxWindow indica la quantità massima di dati che il mittente può inviare

AdvertisedWindow indica la quantità massima di dati che la rete può accettare (ritardo * ampiezzadibanda)

EffectiveWindow indica i dati effettivi che il mittente può ancora spedire

LastByteSent indica l'ultimo byte inviato dalla sorgente (che può anche non essere stato confermato dalla destinazione)

LastByteAcked indica la l'ultimo byte confermato dalla destinazione

Politiche per il controllo della congestione [modifica]

Gli eventi che indicano al sender la perdita di dati trasmessi sono:

  1. ACK non riscontrati allo scadere del timer.
  2. ACK duplicati ricevuti 3 volte.

Esistono due algoritmi per il controllo della congestione: il primo, l'algoritmo di Tahoe, non distingue tra gli eventi sopra elencati, mentre il secondo, l'algoritmo di Reno, fa una netta distinzione tra i due casi.

TCP Tahoe [modifica]

TCP Tahoe prevede che ogni qual volta si verifichi un evento perdita di qualsiasi tipo, la finestra di congestione venga dimezzata e il nuovo valore memorizzato in una variabile soglia. Fatto questo la trasmissione dei dati ricomincia impostando il valore iniziale della finestra di congestione corrente pari ad 1 MSS (massima dimensione di un segmento TCP). Si ha quindi una 'ripartenza lenta', la crescita avverrà lentamente ma in maniera esponenziale fino a raggiungere il valore di soglia prima determinato. Oltre questo valore la crescita avviene linearmente fino a quando non si verifica nuovamente un evento perdita e l'algoritmo viene rieseguito. La crescita esponenziale fino al livello di soglia avviene poiché si ritiene che all'inizio di ogni trasferimento il canale trasmissivo sia più libero, e quindi si cerca di inviare all'inizio i pacchetti più grossi. Una volta raggiunto il livello di soglia, la crescita avviene lentamente per cercare di raggiungere il livello di congestione il più lentamente possibile.

TCP Reno [modifica]

TCP Reno distingue tra i due eventi di perdita sopra elencati:

  1. Si fa ripartire la trasmissione impostando la finestra corrente al valore minimo di 1 MSS.
  2. Si ricomincia con la partenza lenta con crescita esponenziale.
  1. Il valore soglia viene impostato alla metà del valore della finestra di congestione al momento della ricezione di tre ack duplicati.
  2. La trasmissione riparte impostando il valore di finestra corrente pari al valore di soglia e proseguendo nell'invio con un incremento lineare di 1 MSS ad ogni RTT il valore della finestra di congestione.

Un esempio di controllo della congestione con TCP-RENO:


TCP New Reno [modifica]

Il TCP Reno risolve in parte il problema di perdite non dovute a congestione solo quando le perdite non sono fortemente correlate tra loro, cioè quando si perde al massimo un pacchetto all'interno di ogni finestra. Questo comportamento è problematico nelle situazioni in cui si perdono interi burst di pacchetti (situazione frequente ad esempio nei collegamenti wireless). TCP New Reno cerca di aggirare il problema basandosi sul sistema degli ACK parziali. Vengono considerati ACK parziali gli ACK che riscontrano pacchetti intermedi, e non gli ultimi pacchetti che necessiterebbero riscontro, dopo che è stata già iniziata la fase di Fast Retransmit in seguito all'arrivo di tre ack duplicati. Quando uno di questi ack si presenta durante una fase di Fast Retransmit (cioè in seguito alla ricezione di 3 ack duplicati), TCP New Reno si mantiene in Fast Retransmit continuando a reinviare i pacchetti via via richiesti finché non viene riscontrato l'ultimo pacchetto inviato.