Skip to main content

GARR

GARR Network Points of Presence (PoPs)

30 November 2015 | Network

The nodes of the GARR network on the national territory are called Points of Presence (PoP). PoPs host the transmission and routing equipment and are usually hosted by Universities and Research Organisations or, for long-distance fibers, by a Telecom operator.
Depending on the requirements of the users located in the area, the number of interconnected sites, and the aggregated access capacity, PoPs can work as transport nodes, regional/metropolitan aggregation nodes or both.

Access and backbone links connected to PoPs:

List of sites connected to the GARR network and backbone links divided by PoP termination

Traffic statistics of packet network PoPs:

Topological map of backbone links with real-time traffic status indication

GARR Network Points of Presence List

Use the search box to filter the results. You can search by name, code or region.

Total number of access points: 136

NameCodeRegionAG00-S.GiusippuzzoAG00SICILIAAN00-MonteDagoAN00MARCHEAN01-MontagnolaAN01MARCHEAQ00-TradardiAQ00ABRUZZOAQ01-VetoioAQ01ABRUZZOAQ02-AvezzanoAQ02ABRUZZOAQ04-AssergiAQ04ABRUZZOAQ05-GranSassoAQ05ABRUZZOAT01-S.LazzaroAT01PIEMONTEAV00-RomaAV00CAMPANIABA01-AmendolaBA01PUGLIABG00-CanianaBG00LOMBARDIABG01-CampagnolaBG01LOMBARDIABN00-GuerrazziBN00CAMPANIABO00-PalloneBO00EMILIA-ROMAGNABO01-MorassuttiBO01EMILIA ROMAGNABO02-CasalecchioBO02EMILIA ROMAGNABO03-GobettiBO03EMILIA ROMAGNABO04-MoroBO04EMILIA ROMAGNABO06-TecnopoloBO06EMILIA ROMAGNABR00-CittadellaBR00PUGLIABS00-ValottiBS00LOMBARDIABT00-AndriaMurgeBT00PUGLIACA01-MarengoCA01SARDEGNACA02-SaIllettaCA02SARDEGNACA04-MonserratoCA04SARDEGNACA06-MonserratoMedicinaCA06SARDEGNACA07-S.BasilioCA07SARDEGNACA08-SelargiusCA08SARDEGNACE00-VivaldiCE00CAMPANIACO00-InsubriaCO00LOMBARDIACS00-ArcavacataCS00CALABRIACS01-RogesRendeCS01CALABRIACT01-CittadellaCT01SICILIACZ00-GermanetoCZ00CALABRIACZ01-SoveratoCZ01CALABRIAFE00-SaragatFE00EMILIA ROMAGNAFG00-GramsciFG00PUGLIAFG01-AviatoriFG01PUGLIAFI00-BruniFI00TOSCANAFI01-SestoFI01TOSCANAFI02-GoreFI02TOSCANAFI03-S.MarcoFI03TOSCANAFI04-ProconsoloFI04TOSCANAFI05-ArcetriFI05TOSCANAFI06-GiulianiFI06TOSCANAFI08-LauraFI08TOSCANAGE00-LagaccioGE00LIGURIAGE01-VivaldiGE01LIGURIAGE02-S.MartinoGE02LIGURIAGE03-DodecanesoGE03LIGURIALE00-FioriniLE00PUGLIALI01-MunicipioLI01TOSCANAMB00-BicoccaMB00LOMBARDIAMC00-PiaggiaMC00MARCHEME00-PugliattiME00SICILIAME01-PapardoME01SICILIAME02-PoliclinicoME02SICILIAMI01-LancettiMI01LOMBARDIAMI02-CalderaMI02LOMBARDIAMI03-ColomboMI03LOMBARDIAMI04-BovisaMI04LOMBARDIAMI05-BreraMI05LOMBARDIAMI06-FestaPerdonoMI06LOMBARDIAMI08-BicoccaMI08LOMBARDIAMI13-BassiniMI13LOMBARDIAMT00-TerlecchiaMT00BASILICATAMT01-PlataniMT01BASILICATANA01-Mt.S.AngeloNA01CAMPANIANA02-MonteDiDioNA02CAMPANIANA03-MezzocannoneNA03CAMPANIANA04-ClaudioNA04CAMPANIANA06-PorticiNA06CAMPANIANU00-BiscollaiNU00SARDEGNANU01-Sos EnattosNU01SARDEGNAPA01-ScienzePA01SICILIAPA02-LaMalfaPA02SICILIAPD01-S.FrancescoPD01VENETOPD02-SpagnaPD02VENETOPD03-LegnaroPD03VENETOPE00-TriestePE00ABRUZZOPG00-DurantiPG00UMBRIAPI00-LaFigurettaPI00TOSCANAPI01-TorricelliPI01TOSCANAPI02-S.PieroAGradoPI02TOSCANAPI03-MoruzziPI03TOSCANAPT00-MontecatiniPT00TOSCANAPU00-UrbinoRepubblicaPU00MARCHEPU01-PesaroLidoPU01MARCHEPV00-BassiPV00LOMBARDIAPV01-FerrataPV01LOMBARDIAPZ00-MacchiaRomanaPZ00BASILICATARC00-MelissariRC00CALABRIARG00-TessagliaRG00SICILIARM01-SapienzaRM01LAZIORM02-TiziiRM02LAZIORM03-RomaTreRM03LAZIORM04-TorVergataRM04LAZIORM05-BravettaRM05LAZIORM06-FrascatiRM06LAZIORM12-CampoDiMareRM12LAZIORM13-Vasca NavaleRM13LAZIORM14-RomaNordRM14LAZIOSA00-FiscianoSA00CAMPANIASA01-CentroSA01CAMPANIASI00-BandiniSI00TOSCANASP00-LericiSP00LIGURIASR00-ScalaGrecaSR00SICILIASR01-PortopaloSR01SICILIASR02-NotoSR02SICILIASS01-RockefellerSS01SARDEGNASV00-MagliottoSV00LIGURIATA00-UmbriaTA00PUGLIATA01-TurismoTA01PUGLIATA03-MartinaFrancaTA03PUGLIATE00-FerroviaTE00ABRUZZOTN00-BriamascoTN00TRENTINO ALTO ADIGETN01-PovoTN01TRENTINO ALTO ADIGETO01-GiuriaTO01PIEMONTETO02-DucaAbruzziTO02PIEMONTETP00-FontanelleTP00SICILIATP01-MazaraTP01SICILIATS01-ValerioTS01FRIULI VENEZIA GIULIATS02-BasovizzaTS02FRIULI VENEZIA GIULIAUD00-RizziUD00FRIULI VENEZIA GIULIAVA00-MonteGenerosoVA00LOMBARDIAVE00-DorsoduroVE00VENETOVE01-VegaVE01VENETOVE02-LoredanVE02VENETOVE03-S.LorenzoVE03VENETOVE04-CotonificioVE04VENETOVE05-CampoLanaVE05VENETOVE06-S.ServoloVE06VENETOVE07-LidoVE07VENETOVE11-MestreVE11VENETOVR00-S.FrancescoVR00VENETO
$(document).ready(function() { $('#popTableEn').DataTable({ // Configurazione ricerca incrementale 'searching': true, 'search': { 'smart': true, 'regex': false, 'caseInsensitive': true }, // Configurazione scroll 'scrollY': '500px', 'scrollCollapse': true, 'scroller': true, // Configurazione paginazione 'paging': true, 'pageLength': 50, 'lengthMenu': [[25, 50, 100, -1], [25, 50, 100, 'All']], // Configurazione ordinamento 'ordering': true, 'order': [[ 0, 'asc' ]], // Configurazione responsive 'responsive': true, // Configurazione info 'info': true, 'infoEmpty': 'No PoPs found', 'infoFiltered': '(filtered from _MAX_ total PoPs)', // Configurazione linguaggio inglese 'language': { 'decimal': '.', 'thousands': ',', 'search': 'Search:', 'lengthMenu': 'Show _MENU_ PoPs per page', 'info': 'Showing _START_ to _END_ of _TOTAL_ PoPs', 'infoEmpty': 'Showing 0 to 0 of 0 PoPs', 'infoFiltered': '(filtered from _MAX_ total PoPs)', 'infoPostFix': '', 'loadingRecords': 'Loading...', 'zeroRecords': 'No matching PoPs found', 'emptyTable': 'No data available in table', 'paginate': { 'first': 'First', 'previous': 'Previous', 'next': 'Next', 'last': 'Last' }, 'aria': { 'sortAscending': ': activate to sort column ascending', 'sortDescending': ': activate to sort column descending' } }, // Performance 'deferRender': true, 'processing': true, // Configurazione colonne 'columnDefs': [ { 'targets': [2], // Colonna Region 'className': 'prima-maiuscola' } ] }); // Focus automatico sulla casella di ricerca $('#popTableEn_filter input').focus(); // Personalizza il placeholder della ricerca $('#popTableEn_filter input').attr('placeholder', 'Search by name, code or region...'); // Aggiunge un filtro per regione var table = $('#popTableEn').DataTable(); // Crea un select per filtrare per regione var regions = []; table.column(2).data().unique().sort().each(function(d, j) { if (d && regions.indexOf(d) === -1) { regions.push(d); } }); if (regions.length > 1) { var regionSelect = '
Filter by region: All regions'; regions.forEach(function(region) { regionSelect += '' + region + ''; }); regionSelect += '
'; $('#popTableEn_filter').prepend(regionSelect); $('#regionFilterEn').on('change', function() { var val = $(this).val(); table.column(2).search(val ? '^' + val + '$' : '', true, false).draw(); }); } });

International Research Networks

12 January 2016 | Other networks connections

GARR Meet

27 February 2026 | Services

 

GARR Meet

support & service

Contacts

Tech support

This email address is being protected from spambots. You need JavaScript enabled to view it.

GARR Meet

The open source platform for meetings and webinars.

BlueMeet is an open source solution to host events with up to 100 participants. Useful features for online teaching include polls, shared whiteboard, breakout rooms and session recording. BlueMeet is available upon request in a platform-as-a-service mode, fully customisable and with autonomous access management.

Statistics

GARR Meet

more info

eduMeet

more info

BlueMeet

more info

Documents

service information

Compare the services

Comparison table

FAQs

read the FAQs

Cos’è Cloud GARR

Meetings, seminars, distance learning, webinars, and real-time collaboration

GARR Meet solutions

A single access platform to choose the tool that best suits your needs: meetings, seminars, distance learning, webinars, and real-time collaboration.

All services guarantee simple and secure access through institutional credentials, with the reliability of the GARR infrastructure.

Webinar mode

On-demand virtual rooms for webinars


blueMeet

Bridge PSTN

Participation by dialling a phone number


blueMeet

WebRTC

Participation directly from desktop and mobile browser

blueMeet eduMeet 

Recording

Meeting or webinar video-recording feature

blueMeet

Rooms with high audio and video quality levels and direct user control

sezione eduMeet

Easy meetings, real quality

eduMeet offers the quick creation of rooms with high audio and video quality levels, adjustable by users. Possibility of moderation of the participants to create webinar layouts. This is a free access service offered to everyone in best effort mode.

EduMeet can be used both on mobile (iOS and Android) and on desktop directly from the web browser. The service is based on the Mediasoup open source system, developed within the European collaboration GÉANT. With EduMeet users can hold instant meetings even with devices that are not particularly powerful and with suboptimal connections, for a maximum recommended of about 20 participants. The service, offered by GARR in best effort mode, is open to everyone and supports room moderation through IDEM federated authentication.

banner blueMeet

Learning without boundaries

In the classroom, anywhere

Ideal solution for meetings, webinars and online teaching. Based on the BigBlueButton open source system, BlueMeet can accommodate up to 100 participants and offers useful and easy-to-use features for online teaching, including instant pollsshared whiteboard and session recording. BlueMeet can be integrated with LMS such as Moodle.
Organizations connected to GARR can access BlueMeet in as-a-service mode, using the GARR infrastructure to create customised videoconferencing and virtual classroom services. Thanks to the integration with its own Moodle LMS or other front-end, organizations can autonomously manage access and user support.

Service comparison table

Compare the services and choose the one that best suits your needs

eduMeet BlueMeet Powered by MediaSOUP BBB Target users Everyone IDEM users IDEM authentication Max participants (meeting) ~20 ~20 Max participants (webinar) ~50 ~100 Support team Join from Browser, Mobile Browser, Mobile Session recording Video streaming Webinar mode Max video resolution 4K HD Room privacy IDEM login or lock room PIN

Statistics

source: GARR annual report 2024 

.charts-grid { display: grid; gap: 20px; padding: 20px; } .chart-card { background: #fff; border-radius: 12px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); padding: 20px; transition: transform 0.3s ease; } .chart-header { margin-bottom: 15px; } .chart-title { margin: 0; font-size: 1.5em; color: #333; } .chart-subtitle { margin: 5px 0 0; color: #666; font-size: 0.9em; } .chart-container { position: relative; height: 300px; } .controls { margin-top: 15px; text-align: center; } .download-btn { background: #667eea; color: white; border: none; padding: 10px 20px; border-radius: 6px; cursor: pointer; font-size: 14px; } .download-btn:hover { background: #5a6fd6; } .stats-summary { padding: 20px; } .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 15px; } .stat-item { background: #ffffff; padding: 15px; border-radius: 8px; text-align: center; } .stat-number { font-size: 1.8em; font-weight: bold; color: #667eea; } .stat-label { font-size: 0.85em; color: #666; margin-top: 5px; }

GARR Meet

GARR Meet: daily average

📊 download chart
// Color palette const colorsMul = { primary: ['#667eea', '#764ba2', '#3b82f6', '#06b6d4', '#10b981', '#f59e0b', '#ef4444', '#8b5cf6', '#ec4899', '#6366f1'] }; // Default options const defaultOptionsMul = { responsive: true, maintainAspectRatio: false, plugins: { legend: { position: 'bottom', labels: { padding: 20, usePointStyle: true, font: { size: 11, family: "'Segoe UI', sans-serif" } } }, tooltip: { backgroundColor: 'rgba(0, 0, 0, 0.8)', titleColor: 'white', bodyColor: 'white', borderColor: 'rgba(255, 255, 255, 0.2)', borderWidth: 1, cornerRadius: 8, padding: 12 } }, animation: { duration: 1500, easing: 'easeOutQuart' } }; // Data GARR Meet const dataGARRMeet = { labels: ['2020', '2021', '2022', '2023', '2024'], datasets: [{ label: 'eduMeet - Peak', data: [473, 337, 237, 305, 119], backgroundColor: colorsMul.primary[0], borderColor: colorsMul.primary[0], borderWidth: 2 }, { label: 'eduMeet - Average', data: [158, 69, 35, 50, 50], backgroundColor: colorsMul.primary[0] + '80', borderColor: colorsMul.primary[0], borderWidth: 2 }, { label: 'BlueMeet - Peak', data: [null, 182, 254, 195, 200], backgroundColor: colorsMul.primary[2], borderColor: colorsMul.primary[2], borderWidth: 2 }, { label: 'BlueMeet - Average', data: [null, 26, 30, 22, 26], backgroundColor: colorsMul.primary[2] + '80', borderColor: colorsMul.primary[2], borderWidth: 2 }] }; let chartGARRMeet; function createBarChart(id, data, options = defaultOptionsMul) { const ctx = document.getElementById(id).getContext('2d'); return new Chart(ctx, { type: 'bar', data: data, options: { ...options, scales: { x: { grid: { color: 'rgba(0, 0, 0, 0.1)' }, ticks: { font: { size: 11 } } }, y: { grid: { color: 'rgba(0, 0, 0, 0.1)' }, ticks: { font: { size: 11 } } } } } }); } function updateStatsMul() { const statsMultimedia = [ { label: 'eduMeet - Maximum peak', value: '473' }, { label: 'eduMeet - 2024 Average', value: '50' }, { label: 'BlueMeet - Maximum peak', value: '254' }, { label: 'BlueMeet - 2024 Average', value: '26' } ]; const containerMultimedia = document.getElementById('statsGridMultimedia'); containerMultimedia.innerHTML = statsMultimedia.map(stat => `
${stat.value}
${stat.label}
`).join(''); } document.addEventListener("DOMContentLoaded", () => { // Initialize chart chartGARRMeet = createBarChart("chartGARRMeet", dataGARRMeet); // Download handler document.getElementById("downloadGARRMeet").addEventListener("click", () => { const link = document.createElement('a'); link.download = 'garr-meet-daily-average.png'; link.href = chartGARRMeet.toBase64Image(); link.click(); }); // Initialize stats updateStatsMul(); // Add hover effects document.querySelectorAll('.chart-card').forEach(card => { card.addEventListener('mouseenter', function() { this.style.transform = 'translateY(-8px)'; }); card.addEventListener('mouseleave', function() { this.style.transform = 'translateY(0)'; }); }); });
informazioni

Do you need support for this service?

GARR Meet Support

Do you want to request information about BlueMeet as-a-service?

BlueMeet as-a-service

Cloud GARR

10 February 2026 | Services

 

Cloud GARR

Cloud support & service

Contacts

technical support
  +06 4962 2000
 This email address is being protected from spambots. You need JavaScript enabled to view it.

Requesting the service
  +06 4962 2000
  This email address is being protected from spambots. You need JavaScript enabled to view it.

Documentation

Cloud GARR

Cloud GARR is the cloud services platform designed by GARR for Italy's education and research community. It offers computing, storage, and GPU services in a secure, reliable environment tightly integrated with the GARR network.

With Cloud GARR, you can create Virtual Data Centers and develop flexible projects with full control over your virtual machines.
The service promotes innovation, collaboration, and research project growth through resources entirely located in Italy, ensuring greater security, reliability, and compliance with regulatory requirements.

statistics

About
Cloud GARR

learn more

Users

Who can use the service

more info

Features and Benefits

Learn more

e-Infrastructure

learn more

How to join?

join

FAQs

View FAQs

Cos’è Cloud GARR

GARR complements its high-performance network with a computing and storage infrastructure based on the cloud paradigm, on which the Cloud GARR platform has been develope

What is Cloud GARR

GARR complements its high-performance network with a cloud-based computing and storage infrastructure, on which the Cloud GARR platform has been developed.

Operational since 2016, the platform is based on open source technologies and offers users and system administrators an easy-to-access and manage environment, highly automatable and with a wide choice of preconfigured tools.

Cloud Computing services can be accessed in three ways.

Virtual Data Centre

A virtual environment to create and manage:

  • virtual machines
  • networks, firewalls and security rules
  • storage

The Virtual Data Center is accessible via web interface (dashboard.cloud.garr.it) or via OpenStack APIs, ensuring full control of resources and the flexibility typical of cloud.

Object storage

A highly scalable virtual storage space accessible through HTTP REST calls and compatible with Amazon S3 APIs.

Ideal for storing large amounts of data, in distributed applications, backups, archives, disaster recovery, data lakes.

Advanced computing with GPU (Graphics Processing Unit)

Service connected to the IaaS infrastructure, which provides NVIDIA V100, A30 and A100 GPUs.

These devices offer significantly superior performance compared to traditional CPUs in executing specialized calculations such as image analysis or Artificial Intelligence and Machine Learning applications.

The service is available upon request.

The service dedicated to the education and research community

A chi è rivolto

Who is the service for?

The service, dedicated to the education and research community, is available for organizations connected to the GARR network that have joined the IDEM Digital Identity Federation .

he service cannot be activated by individual users and may only be requested through the authorised contacts of their organisation (APMs, APAs and delegates)

Contact persons in organizations


Key features

The Cloud GARR platform leverages the characteristics of robustness, modularity, security and capacity of the underlying hardware infrastructure to offer the research and education community:

  • transparent access to resources thanks to unified management of authentication and authorization mechanisms;
  • elastic allocation of resources thanks to extensibility across other geographic sites;
  • ability to implement security policies at individual user or resource level

Thanks to the chosen architecture and total control of the physical network infrastructure, GARR manages security and throughput issues optimally. Furthermore, segregation has been implemented both at infrastructure level (between physical equipment management networks, server management networks and networks dedicated to delivered services) and at user level.

The Cloud GARR platform is based on OpenStack, an open source software for creating public or private clouds, which has become a de facto standard, with the contribution of tens of thousands of developers from around the world and with the support of many companies.

The choice to use open source software avoids the risk of being dependent on proprietary solutions.

The use of automation and orchestration tools, also open source, allows to automate cloud installation and management processes, achieving efficiency levels comparable to those of major commercial clouds.

Benefits

Cloud GARR offers users all the typical benefits of cloud services:

  • Agility and flexibility

    Agility and flexibility: the right resources at the right time

  • Simplified management

    Reduced burden of managing and maintaining equipment and services for users
  • Cost reduction

    Reduced overhead costs (procurement and equipment management) and costs limited to actual needs
  • Ease of operation

    API-driven automation for provisioning and infrastructure management

A platform built and managed by the GARR user community also provides:

  • uno

    shared expertise: cloud administration and the skills to manage it are shared within the same community
  • due

    experimentation with architectures suitable for research

  • tre

    full utilization of the GARR network's high-performance connectivity

  • quattro

    location of equipment within national borders ensuring greater security and privacy

  • cinque

    infrastructure-independent workload using standard APIs and open source software

  • sei

    integration with other cloud platforms both public and private

Infrastruttura cloud

The Cloud GARR platform relies on an infrastructure distributed across 3 sites in three different cities with high-capacity interconnections

e-Infrastructure

The Cloud GARR platform is based on an infrastructure distributed across 3 sites in three different cities, interconnected at high capacity. Available resources include approximately 8,000 physical cores (hyper-threaded), 60 TB of RAM, 10 PB of disk storage and 300 TFLOPS GPU

The equipment guarantees a high degree of hardware reliability, thanks to redundancy of all active and passive components.

Technical specifications

The Cloud GARR infrastructure has the following characteristics:

Linux operating system for servers

cloud platform based on OpenStack

Ceph for Block and Object Storage provision

The platform components are divided into global, meaning managed as a single entity across the entire infrastructure, and local, managed independently on individual sites.

Are you a professor, researcher or student?

come aderire

How to join?

  • Are you a professor, researcher or student?
    Contact the technical contact person of your organization (APM) to verify if the service is already available at your organization or to request its activation.
  • Are you an APM, APA or Delegate?
    Send an email to This email address is being protected from spambots. You need JavaScript enabled to view it. to request service activation.

The service can only be requested by organizations through official contact persons and not by individual departments, research groups or users.

Activation requires signing a dedicated agreement, following a risk assessment related to personal data processing, signing the appointment deed and accepting the terms of service.

Access to the platform is exclusively through IDEM credentials.

Statistics

source: GARR annual report 2024 

* { margin: 0; padding: 0; box-sizing: border-box; } .cloud-container { max-width: 1400px; margin: 0 auto; } .cloud-header { text-align: center; margin-bottom: 3rem; color: white; } .cloud-header h1 { font-size: 2.5rem; font-weight: 300; margin-bottom: 0.5rem; text-shadow: 0 2px 4px rgba(0,0,0,0.3); } .cloud-header p { font-size: 1.1rem; opacity: 0.9; } .cloud-charts-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(600px, 1fr)); gap: 2rem; margin-bottom: 2rem; } .cloud-chart-card { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); border-radius: 20px; padding: 2rem; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); transition: transform 0.3s ease, box-shadow 0.3s ease; } .cloud-chart-card:hover { transform: translateY(-5px); box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15); } .cloud-chart-header { text-align: center; margin-bottom: 1.5rem; } .cloud-chart-title { font-size: 1.3rem; font-weight: 600; color: #2d3748; margin-bottom: 0.3rem; } .cloud-chart-title-en { font-size: 1rem; font-style: italic; color: #414853; margin-bottom: 0.5rem; } .cloud-chart-subtitle { font-size: 0.85rem; color: #383b40; line-height: 1.4; } .cloud-chart-container { position: relative; height: 400px; margin-bottom: 1rem; } .cloud-chart-container.pie-chart { height: 350px; } .cloud-controls { display: flex; justify-content: center; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 1rem; } .cloud-period-btn { padding: 0.5rem 1rem; border: 2px solid #e2e8f0; border-radius: 8px; background: white; color: #2d3748; font-size: 0.9rem; cursor: pointer; transition: all 0.3s ease; } .cloud-period-btn:hover { border-color: #1e3c72; box-shadow: 0 0 0 3px rgba(30, 60, 114, 0.1); } .cloud-year-selector { padding: 0.5rem 1rem; border: 2px solid #e2e8f0; border-radius: 8px; background: white; color: #2d3748; font-size: 0.9rem; cursor: pointer; transition: all 0.3s ease; } .cloud-year-selector:hover, .cloud-year-selector:focus { border-color: #1e3c72; box-shadow: 0 0 0 3px rgba(30, 60, 114, 0.1); outline: none; } .cloud-download-btn { background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%); color: white; border: none; padding: 0.6rem 1.2rem; border-radius: 8px; font-size: 0.9rem; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(30, 60, 114, 0.3); } .cloud-download-btn:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(30, 60, 114, 0.4); } .cloud-stats-summary { background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(10px); border-radius: 15px; padding: 1.5rem; margin-top: 2rem; } .cloud-stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; } .cloud-stat-item { text-align: center; padding: 1rem; border-radius: 10px; background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%); } .cloud-stat-number { font-size: 1.8rem; font-weight: 700; color: #2d3748; } .cloud-stat-label { font-size: 0.9rem; color: #718096; margin-top: 0.25rem; } @media (max-width: 768px) { .cloud-charts-grid { grid-template-columns: 1fr; } .cloud-header h1 { font-size: 2rem; } .cloud-chart-container { height: 300px; } }

Usage by Type

Cloud GARR: resource usage by type (vCPU)

2024 2023 📊 Download Chart

Usage by Community

Cloud GARR: resource usage by community (vCPU)

2024 2023 📊 Download Chart

Object Storage by Community

Cloud GARR: object storage usage by community

📊 Download Chart
// Color palette const colorsCloud = { primary: ['#667eea', '#764ba2', '#3b82f6', '#06b6d4', '#10b981', '#f59e0b', '#ef4444', '#8b5cf6', '#ec4899', '#6366f1'] }; // Default options const defaultOptionsCloud = { responsive: true, maintainAspectRatio: false, plugins: { legend: { position: 'bottom', labels: { padding: 20, usePointStyle: true, font: { size: 11, family: "'Segoe UI', sans-serif" } } }, tooltip: { backgroundColor: 'rgba(0, 0, 0, 0.8)', titleColor: 'white', bodyColor: 'white', borderColor: 'rgba(255, 255, 255, 0.2)', borderWidth: 1, cornerRadius: 8, padding: 12, displayColors: true } }, animation: { duration: 1500, easing: 'easeOutQuart' } }; // Options estese con percentuali per i grafici a torta cloud const pieOptionsWithPercentagesCloud = { ...defaultOptionsCloud, cutout: '50%', plugins: { ...defaultOptionsCloud.plugins, tooltip: { ...defaultOptionsCloud.plugins.tooltip, callbacks: { label: function(context) { const total = context.dataset.data.reduce((a, b) => a + b, 0); const percentage = ((context.parsed * 100) / total).toFixed(1); return `${context.label}: ${context.parsed.toLocaleString()} (${percentage}%)`; } } } } }; // Data const dataTipologia = { 2024: { "Disaster Recovery, Business Continuity": 1064, "GARR Services": 1076, "ICT Experimentation": 1208, "Training/Education": 568, "AI/ML Data Storage": 200, "Computing": 4968, "Web Services": 307, "Other": 732 }, 2023: { "Disaster Recovery, Business Continuity": 524, "GARR Services": 1304, "ICT Experimentation": 459, "Training/Education": 77, "AI/ML Data Storage": 714, "Computing": 3328, "Web Services": 235, "Other": 455 } }; const dataComunita = { 2024: { "GARR Experimentation": 1444, "GARR Services": 1062, "Scientific Research": 2472, "Biomedical Research": 2370, "Universities": 2356, "Cultural Heritage": 195, "Performing Arts": 0, "School": 0, "Other": 72 }, 2023: { "GARR Experimentation": 1468, "GARR Services": 565, "Scientific Research": 2211, "Biomedical Research": 1307, "Universities": 1413, "Cultural Heritage": 101, "Performing Arts": 6, "School": 8, "Other": 17 } }; const dataObjectStorage = { "GARR Experimentation": 800, "GARR Services": 1600, "Scientific Research": 52200, "Biomedical Research": 420000, "Universities": 209400, "Cultural Heritage": 800, "Performing Arts": 0, "School": 0, "Other": 1200 }; let chartTipologia, chartComunita, chartObjectStorage; function createChart(id, data, colors) { const ctx = document.getElementById(id).getContext('2d'); const dataset = { labels: Object.keys(data), datasets: [{ data: Object.values(data), backgroundColor: colors, borderColor: '#fff', borderWidth: 3, hoverBorderWidth: 4, hoverOffset: 10 }] }; return new Chart(ctx, { type: 'doughnut', data: dataset, options: pieOptionsWithPercentagesCloud }); } function updateChart(chart, data) { chart.data.labels = Object.keys(data); chart.data.datasets[0].data = Object.values(data); chart.update(); } function updateStats() { // Totali 2024 per ogni dataset const totalTipologia = Object.values(dataTipologia["2024"]).reduce((a,b) => a+b, 0); const totalComunita = Object.values(dataComunita["2024"]).reduce((a,b) => a+b, 0); const totalObjectStorage = Object.values(dataObjectStorage).reduce((a,b) => a+b, 0); const stats = [ { label: 'Total vCPU by Type (2024)', value: totalTipologia.toLocaleString() }, { label: 'Total vCPU by Community (2024)', value: totalComunita.toLocaleString() }, { label: 'Total Object Storage (GB)', value: (totalObjectStorage/1000).toFixed(1) + ' TB' }, { label: 'Type with Most vCPU (2024)', value: 'Computing' } ]; const container = document.getElementById('statsGridCloud'); container.innerHTML = stats.map(stat => `
${stat.value}
${stat.label}
`).join(''); } document.addEventListener("DOMContentLoaded", () => { // Initialize charts chartTipologia = createChart("chartTipologia", dataTipologia["2024"], colorsCloud.primary); chartComunita = createChart("chartComunita", dataComunita["2024"], colorsCloud.primary); chartObjectStorage = createChart("chartObjectStorage", dataObjectStorage, colorsCloud.primary); // Event listeners for year selectors document.getElementById("yearTipologia").addEventListener("change", (e) => { updateChart(chartTipologia, dataTipologia[e.target.value]); updateStats(); }); document.getElementById("yearComunita").addEventListener("change", (e) => { updateChart(chartComunita, dataComunita[e.target.value]); updateStats(); }); // Download handlers document.getElementById("downloadTipologia").addEventListener("click", () => { const year = document.getElementById("yearTipologia").value; const link = document.createElement('a'); link.download = `cloud-tipologia-${year}.png`; link.href = chartTipologia.toBase64Image(); link.click(); }); document.getElementById("downloadComunita").addEventListener("click", () => { const year = document.getElementById("yearComunita").value; const link = document.createElement('a'); link.download = `cloud-comunita-${year}.png`; link.href = chartComunita.toBase64Image(); link.click(); }); document.getElementById("downloadObjectStorage").addEventListener("click", () => { const link = document.createElement('a'); link.download = 'cloud-object-storage-2024.png'; link.href = chartObjectStorage.toBase64Image(); link.click(); }); // Initialize stats updateStats(); // Add hover effects document.querySelectorAll('.cloud-chart-card').forEach(card => { card.addEventListener('mouseenter', function() { this.style.transform = 'translateY(-8px)'; }); card.addEventListener('mouseleave', function() { this.style.transform = 'translateY(0)'; }); }); });
go to the FAQs page
FAQs 

Need help with the GARR Cloud service?

This email address is being protected from spambots. You need JavaScript enabled to view it.

Need information or want to activate a new cloud service?

This email address is being protected from spambots. You need JavaScript enabled to view it.

GARR Services

27 May 2016 | Services

GARR Services

 manages the network infrastructure

Network and access

Through the Network Operations Center (NOC), GARR manages the network infrastructure and related faults, activations of new connections, and the collection and publication of traffic statistical data.

GARR offers on-demand end-to-end connectivity services to establish direct, physical or virtual connections between two or more locations in order to geographically extend its data centers or segment the data traffic of specific applications. Based on technical requirements, various types of services are available, from end-to-end circuits to Level 2 or 3 VPNs, implemented using IP/MPLS technology.

GO TO THE PAGE

IPv4 and IPv6 addresses

IP addresses & DNS

Il LIR (Local Internet Registry ) is the service that assigns IPv4 and IPv6 networks.

GARR provides a secondary DNS service for entities upon request. To register a .it domain, it is necessary to have at least two DNS servers (primary, secondary). Institutions are ensured support for DNS configuration both during activation and for all service maintenance operations.

GO TO THE PAGE

.it and .eu domain names

Domain names

Il GARR NIC (Network Information Center)   is the service responsible for registering .it and .eu domain names free of charge for all entities connected to the GARR network.

GO TO THE PAGE

IT Security

IT Security

Il CERT (Computer Emergency Response Team) assists users in managing cybersecurity incidents and supports them in risk prevention. It provides information on the most common vulnerabilities, issues directives on the minimum security requirements for machines with network access, and verifies compliance.

GO TO THE CERT WEBSITE

Education Roaming

eduroam

eduroam (Education Roaming) is the service that enables researchers, teachers and students traveling to other institutions to access the wireless network easily and securely using the same credentials provided by their own organization.

GO TO THE PAGE

Digital Identity

Digital Identity

IDEM (IDEntity Management per l'accesso federato) is the service that provides a single key for accessing online services. Through the IDEM Federation, organizations simplify credential management, and users only need to remember one password. IDEM is part of the international eduGAIN federation, thus making thousands of digital resources and services accessible worldwide.

go to the website
free digital certificates

Digital certificates

Il GARR Certification Service provides its community with free digital certificates, including personal and server versions. These certificates are issued by DigiCert, a leading commercial Certification Authority, and are automatically recognized by nearly all web browsers.

GO TO THE PAGE

Go to the GARR Cloud Page

Cloud

Cloud GARR is the cloud services platform designed by GARR for the Italian education and research community. Computing, storage and GPU services are available in a secure, reliable environment closely integrated with the GARR network.

GO TO THE PAGE

LIVE STREAMING & VIDEO

Live streaming & video

GARR.tv is the open source platform for live streaming and video on-demand, allowing users to broadcast, record and make videos and events available. With GARR.tv, the ownership of the footage and personal data is not transferred to the platform but remains with the organization that produces them.

GO TO THE WEBSITE

Webconference

Webconference

GARRmeet provides open-source solutions for videoconferencing that can adapt to the needs of its community. These services result from collaborative development activities with the research and open-source communities.

GO TO THE WEBSITE

APPLICATIONS

Applications

Cloud applications and services for the GARR community, ranging from storage to sending large files, an evolving offering for the world of research.

DISCOVER AVAILABLE APPLICATIONS

(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const l of o.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function t(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=t(i);fetch(i.href,o)}})();var W,f,se,P,Y,fe,j,C={},ae=[],we=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,K=Array.isArray;function S(_,e){for(var t in e)_[t]=e[t];return _}function de(_){var e=_.parentNode;e&&e.removeChild(_)}function $e(_,e,t){var r,i,o,l={};for(o in e)o=="key"?r=e[o]:o=="ref"?i=e[o]:l[o]=e[o];if(arguments.length>2&&(l.children=arguments.length>3?W.call(arguments,2):t),typeof _=="function"&&_.defaultProps!=null)for(o in _.defaultProps)l[o]===void 0&&(l[o]=_.defaultProps[o]);return U(_,l,r,i,null)}function U(_,e,t,r,i){var o={type:_,props:e,key:t,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:i??++se};return i==null&&f.vnode!=null&&f.vnode(o),o}function B(_){return _.children}function D(_,e){this.props=_,this.context=e}function T(_,e){if(e==null)return _.__?T(_.__,_.__.__k.indexOf(_)+1):null;for(var t;ev?H>x-v?k+=g-v:k--:k=g=0||s=0){if((u=e[l])&&i==u.key&&o===u.type)return l;l--}if(s

Local Internet Registry - LIR

20 April 2017 | LIR

 

Local Internet Registry
LIR

LOCAL INTERNET REGISTRY

Contacts

  +06 4962 2000
  This email address is being protected from spambots. You need JavaScript enabled to view it.

other contacts

LIR (Local Internet Registry)

It's the service that assigns IPv4 and IPv6 networks.

GARR provides a secondary DNS service for institutions connected to the GARR network upon request. When registering a .it domain, you must have at least two DNS servers (primary and secondary). Institutions receive support for DNS configuration both during the initial setup and for ongoing maintenance of the service.

statistics

IP Address Assignment

more info

DNS Request

more info

whois

whois

Vai a WHOIS
 References and Information

References and Information

More info

Statistics

More info

Organization Data Modification Form

go to the form

go to Network Information Center - NIC

go to NIC

Assignment of IPv4 and IPv6 Networks section

Assignment of IPv4 and IPv6 Networks

ASSIGNMENT OF IPv4 NETWORKS

Any organization authorized to access GARR can request IPv4 networks from GARR-LIR

Request Procedure

  • Request via email in English to: This email address is being protected from spambots. You need JavaScript enabled to view it.

    Complete by indicating:

    • Organization
    • Type of network requested(IPv4 - IPv6)
    • Reasons / Motivation
    • Contacts
    • Please note that the networks remain the property of GARR and must be returned to GARR-LIR in case of a change of provider.
  • The LIR will evaluate the request and send an email to notify the assignment of the network. A detailed explanation of the request for the networks is recommended; detailed instructions for filling out the form are provided in document RIPE-424 in English.
  • The requester will receive a confirmation email once the request has been submitted.
  • The information regarding the assignment request will be transmitted to GARR-LIR. The request will then proceed with GARR-LIR evaluating the provided information.
  • If the evaluation outcome is positive, GARR-LIR will assign the requested IP addresses and will directly communicate this to the requester. If the evaluation outcome is negative, GARR-LIR will contact the requester for further clarification.

IPv6 NETWORK REQUEST

Each organization authorized to access GARR is assigned an IPv6 /48 network. This assignment can be requested directly from GARR-LIR.

A /48 network is considered sufficient for use in a medium to large infrastructure. If the user deems an additional allocation of IPv6 addresses necessary, they must request it from GARR-LIR, specifying the reasons for the request.

Follow the procedure outlined for IPv4 addresses.

Primary or Secondary DNS Assignments

Primary or Secondary DNS Assignments section

DNS ASSIGNMENT

The service is reserved for istitutions connected to the GARR network

Upon the assignment of an IPv4 or IPv6 network, the user must activate reverse resolution on their Name Servers.

GARR offers a secondary DNS service for entities upon request. For registering a .it domain, it is necessary to have at least 2 DNS servers (primary, secondary).
Institutions are provided support for DNS configuration both during activation and for all service maintenance operations.


  • The user must provide GARR-LIR with the name and IP address of the machines that will serve as the primary and secondary DNS for the assigned network(s).
  • GARR provides, if necessary, secondary DNS service through its own DNS servers.
  • If there is a change in the primary and secondary DNS, the user must immediately inform GARR-LIR. Otherwise, reverse resolution will not be visible on the Internet.
  • It is recommended to refer to the following document for the configuration of DNS zones regarding the networks:
    • ripe-203 Recommendations for DNS SOA Values
  • Useful Documents for DNS Configuration :
    • ripe-192 Simple DNS Configuration Example
    • BIND 9 Administrator Reference Manual (9.17.23)

INFORMATION AND REFERENCES

Refer to the RIPE website.

  • RIPE-424 IPv4 Address Allocation and Assignment Policies for the RIPE NCC Service Region
  • RIPE-421 IPv6 Address Allocation and Assignment Policy
  • RIPE-425 IPv6 First Allocation Request Form
  • RIPE-436 Global Policy for the Allocation of the Remaining IPv4 Address Space

Refer to the IETF - RFC archive

  • RFC1466 - Gerich, "Guidelines for Management of IP Address Space"
  • RFC1918 - Rekhter, Moskowitz, Karrenberg, de Groot, Lear, "Address Allocation for Private Internets"
  • RFC1219 - Tsuchiya, "On the Assignment of Subnet Numbers"
  • RFC1338 - Fuller, Li, Yu, Varadhan, "Supernetting: an Address Assignment and Aggregation Strategy"
  • RFC1467 - Topolcic, "Status of CIDR Deployment in the Internet"
  • RFC1878 - Pummil, Manning, "Variable Length Subnet Table for IPv4"
  • RFC 3513 IPv6 Addressing Architecture
  • RFC2460 - Internet Protocol, Version 6 (IPv6) Specification

Links and References

  • Web Link IANA
    The Internet Assigned Numbers Authority (IANA) is responsible for the global coordination of the DNS Root, IP addressing, and other Internet protocol resources
  • Web Link ICANN
    To reach another person on the Internet you have to type an address into your computer - a name or a number. That address has to be unique so computers know where to find each other. ICANN coordinates these unique identifiers across the world. Without that coordination we wouldn't have one global Internet.
  • Web Link RIPE
    The RIPE NCC is one of five Regional Internet Registries (RIRs) providing Internet resource allocations, registration services and co-ordination activities that support the operation of the Internet globally.
  • Web Link GARR NIC
    Nel rispetto delle regole di accesso alla Rete GARR e secondo la decisione presa dalla CRCS il 6 luglio 2000, gli utenti GARR, possono richiedere al GARR NIC la registrazione di nuovi nomi a dominio sotto il ccTLD "IT" e sotto il TLD "EU".

Statistics

Source: GARR annual report 2024 

* { margin: 0; padding: 0; box-sizing: border-box; } /* body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; */ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; } .container { max-width: 1200px; margin: 0 auto; } .header { text-align: center; margin-bottom: 30px; color: white; } .header h1 { font-size: 2.5rem; margin-bottom: 10px; text-shadow: 0 2px 4px rgba(0,0,0,0.3); } .header p { font-size: 1.1rem; opacity: 0.9; } .charts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-bottom: 30px; } @media (max-width: 768px) { .charts-grid { grid-template-columns: 1fr; } } .chart-card { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); border-radius: 20px; padding: 25px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); transition: all 0.3s ease; } .chart-card:hover { transform: translateY(-5px); box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15); } .chart-header { margin-bottom: 20px; } .chart-title { font-size: 1.4rem; color: #2d3748; margin-bottom: 8px; font-weight: 600; } .chart-subtitle { color: #114693; font-size: 0.9rem; line-height: 1.4; margin-top: 10px; } .chart-container { position: relative; height: 300px; margin-bottom: 20px; } .pie-chart { height: 350px; } .controls { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; } .period-btn, .download-btn { padding: 8px 16px; border: none; border-radius: 25px; cursor: pointer; font-size: 0.9rem; font-weight: 500; transition: all 0.3s ease; } .period-btn { background: linear-gradient(45deg, #667eea, #764ba2); color: white; } .period-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4); } .period-btn.active { background: linear-gradient(45deg, #4c63d2, #5a4291); box-shadow: 0 4px 12px rgba(102, 126, 234, 0.6); } .download-btn { background: #0f6e37; color: white; } .download-btn:hover { background: #38a169; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(72, 187, 120, 0.4); } .stats-summary { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); border-radius: 20px; padding: 25px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); } .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; } .stat-item { text-align: center; padding: 15px; background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%); border-radius: 15px; border: 1px solid #e2e8f0; } .stat-number { font-size: 1.8rem; font-weight: 700; color: #667eea; margin-bottom: 5px; } .stat-label { font-size: 0.9rem; color: #4a5568; font-weight: 500; }

IPv4 Address Allocation by Organization

New IPv4 addresses assigned by organization type (2024)

📊 Download Chart

New IPv4 and IPv6 Address Classes Assigned

Timeline of new IPv4 and IPv6 networks assigned to GARR network organizations

2019-2024 2014-2018 📊 Download Chart
// Color palette const colors = { primary: [ '#667eea', '#764ba2', '#f093fb', '#f5576c', '#4facfe', '#00f2fe', '#43e97b', '#38f9d7', '#ffecd2', '#fcb69f', '#a8edea', '#fed6e3' ] }; // Chart.js default options const defaultOptions = { responsive: true, maintainAspectRatio: false, plugins: { legend: { labels: { font: { size: 12, weight: '500' }, color: '#4a5568', padding: 15 } }, tooltip: { backgroundColor: 'rgba(0, 0, 0, 0.8)', titleColor: 'white', bodyColor: 'white', borderColor: 'rgba(255, 255, 255, 0.2)', borderWidth: 1, cornerRadius: 8, padding: 12 } } }; // Data definitions const ipv4NetworksData = { 'Universities': 574, 'INFN': 510, 'GARR': 1082, 'Other research institutions': 42, 'IRCCS': 36, 'AFAM': 6 }; const networksData = { period1: { labels: ['2019', '2020', '2021', '2022', '2023', '2024'], data: [18, 41, 27, 12, 12, 25] }, period2: { labels: ['2014', '2015', '2016', '2017', '2018'], data: [79, 225, 37, 11, 14] } }; // Chart instances let ipv4NetworksChart, networksChart; // Initialize IPv4 Networks Chart function createIPv4NetworksChart() { const ctx = document.getElementById('ipv4NetworksChart').getContext('2d'); ipv4NetworksChart = new Chart(ctx, { type: 'doughnut', data: { labels: Object.keys(ipv4NetworksData), datasets: [{ data: Object.values(ipv4NetworksData), backgroundColor: colors.primary, borderWidth: 3, borderColor: '#ffffff', hoverBorderWidth: 4, hoverOffset: 10 }] }, options: { ...defaultOptions, cutout: '50%', plugins: { ...defaultOptions.plugins, tooltip: { ...defaultOptions.plugins.tooltip, callbacks: { label: function(context) { const total = context.dataset.data.reduce((a, b) => a + b, 0); const percentage = ((context.parsed * 100) / total).toFixed(1); return `${context.label}: ${context.parsed.toLocaleString()} (${percentage}%)`; } } } } } }); } // Initialize Networks Timeline Chart function createNetworksChart(period = 'period1') { const ctx = document.getElementById('networksChart').getContext('2d'); const data = networksData[period]; if (networksChart) { networksChart.destroy(); } networksChart = new Chart(ctx, { type: 'bar', data: { labels: data.labels, datasets: [{ label: 'IPv4 and IPv6 Networks', data: data.data, backgroundColor: colors.primary[0], borderColor: colors.primary[0], borderWidth: 1, borderRadius: 8, borderSkipped: false }] }, options: { ...defaultOptions, scales: { y: { beginAtZero: true, title: { display: true, text: 'Number of networks assigned', font: { size: 12, weight: '500' }, color: '#4a5568' }, grid: { color: 'rgba(0, 0, 0, 0.1)' }, ticks: { color: '#4a5568', font: { size: 11 } } }, x: { title: { display: true, text: 'Year', font: { size: 12, weight: '500' }, color: '#4a5568' }, grid: { display: false }, ticks: { color: '#4a5568', font: { size: 11 } } } } } }); // Update button states document.querySelectorAll('.period-btn').forEach(btn => btn.classList.remove('active')); document.getElementById(`networksPeriod${period === 'period1' ? '1' : '2'}`).classList.add('active'); } // Event Listeners document.getElementById('networksPeriod1').addEventListener('click', () => { createNetworksChart('period1'); updateStats(); }); document.getElementById('networksPeriod2').addEventListener('click', () => { createNetworksChart('period2'); updateStats(); }); // Download handlers document.getElementById('downloadIPv4Networks').addEventListener('click', () => { const link = document.createElement('a'); link.download = 'ipv4-networks-by-organization-2024.png'; link.href = ipv4NetworksChart.toBase64Image(); link.click(); }); document.getElementById('downloadNetworks').addEventListener('click', () => { const period = document.querySelector('.period-btn.active').textContent; const link = document.createElement('a'); link.download = `networks-ipv4-ipv6-${period}.png`; link.href = networksChart.toBase64Image(); link.click(); }); // Update stats function updateStats() { const currentPeriod = document.querySelector('.period-btn.active').textContent; const periodData = currentPeriod === '2019-2024' ? networksData.period1 : networksData.period2; const totalNetworks = Object.values(ipv4NetworksData).reduce((a, b) => a + b, 0); const lastYearNetworks = periodData.data[periodData.data.length - 1]; const totalPeriodNetworks = periodData.data.reduce((a, b) => a + b, 0); const avgPerYear = (totalPeriodNetworks / periodData.data.length).toFixed(1); const stats = [ { label: 'Total IPv4 addresses (2024)', value: totalNetworks.toLocaleString() }, { label: `Networks assigned (${periodData.labels[periodData.labels.length - 1]})`, value: lastYearNetworks.toString() }, { label: `Annual average networks assigned (${currentPeriod})`, value: avgPerYear }, { label: `Total networks assigned (${currentPeriod})`, value: totalPeriodNetworks.toString() } ]; document.getElementById('statsGrid').innerHTML = stats.map(stat => `
${stat.value}
${stat.label}
` ).join(''); } // Initialize charts createIPv4NetworksChart(); createNetworksChart(); updateStats(); // Add hover effects document.querySelectorAll('.chart-card').forEach(card => { card.addEventListener('mouseenter', function() { this.style.transform = 'translateY(-8px)'; }); card.addEventListener('mouseleave', function() { this.style.transform = 'translateY(0)'; }); });
info image

For more information about the services or to request activation, please visit:

Contact us

torna su