Distributed management system for a communication network comprising a plurality of virtual network functions, wherein the communication network comprises a plurality of machines connected by a plurality of links, wherein the plurality of virtual network functions is run by a plurality of machines called points of presence, wherein a software layer of each point of presence comprises: - a routing module connected between at least one physical port and at least one internal port of the point of presence, wherein the physical port is connected to the communication network for the routing of the packets based on an extended routing table stored by the point of presence, wherein the routing module is able to exchange routing information with the other machines of the communication network; - a switching module between the internal port and a plurality of virtual input ports (61, 62, 63); - a virtualization module; and, - at least one instance (71, 72, 73) of a virtual network function, the running of which is managed by the virtualization module, wherein a single virtual input port of the plurality of virtual input ports is associated with the said instance, wherein the routing module routes a packet from the internal port to the virtual input port of the instance of the virtual network function for processing the said packet, the software layer further comprises a management and orchestration module comprising: - a monitoring and managing algorithm capable of collecting management information from the virtualization module and the, or each, instance (71, 72, 73), routing information of the routing module and transmitting configuration information to the routing module; - an algorithm for updating the extended routing table from the management information and routing information collected by the monitoring and management algorithm; - an algorithm for placement and chaining, capable, according to the extended routing table, launching the running of a new instance of a virtual network function, and/or configuring an instance of a running virtual function, and/or interrupting the running of an instance of a virtual function, on the point of presence under consideration. - a routing module connected between at least one physical port and at least one internal port of the point of presence, wherein the physical port is connected to the communication network for the routing of the packets based on an extended routing table stored by the point of presence, wherein the routing module is able to exchange routing information with the other machines of the communication network; - a switching module between the internal port and a plurality of virtual input ports (61, 62, 63); - a virtualization module; and, - at least one instance (71, 72, 73) of a virtual network function, the running of which is managed by the virtualization module, wherein a single virtual input port of the plurality of virtual input ports is associated with the said instance, wherein the routing module routes a packet from the internal port to the virtual input port of the instance of the virtual network function for processing the said packet, - a monitoring and managing algorithm capable of collecting management information from the virtualization module and the, or each, instance (71, 72, 73), routing information of the routing module and transmitting configuration information to the routing module; - an algorithm for updating the extended routing table from the management information and routing information collected by the monitoring and management algorithm; - an algorithm for placement and chaining, capable, according to the extended routing table, launching the running of a new instance of a virtual network function, and/or configuring an instance of a running virtual function, and/or interrupting the running of an instance of a virtual function, on the point of presence under consideration.