De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

La especificación de interfaz de servicio de datos por cable es un estándar internacional de telecomunicaciones que permite la adición de transferencia de datos de gran ancho de banda a un sistema de televisión por cable (CATV) existente. Muchos operadores de televisión por cable lo utilizan para proporcionar acceso a Internet (consulte Internet por cable ) a través de su infraestructura de fibra coaxial híbrida (HFC) existente. Los números de versión a veces tienen el prefijo simplemente "D" en lugar de "DOCSIS" (por ejemplo, D3 para DOCSIS 3).

Historia [ editar ]

DOCSIS fue desarrollado por CableLabs y empresas colaboradoras, incluidas 3Com , ARRIS , BigBand Networks , Broadcom , Cisco , Comcast , Conexant , Correlant, Cox , Harmonic , Hitron Technologies , Intel , Motorola , Netgear , Technicolor , Terayon , Time Warner Cable y Texas Instrumentos . [1] [2] [3]

Versiones [ editar ]

  • DOCSIS 1.0  : Publicado en marzo de 1997, DOCSIS 1.0 incluía elementos funcionales de los módems de cable patentados anteriores . [4]
  • DOCSIS 1.1  : publicado en abril de 1999, DOCSIS 1.1 estandarizó los mecanismos de calidad de servicio (QoS) que se describen en DOCSIS 1.0. [5]
  • DOCSIS 2.0  : lanzado en diciembre de 2001, DOCSIS 2.0 mejoró las velocidades de datos ascendentes en respuesta a la mayor demanda de servicios simétricos como la telefonía IP.
  • DOCSIS 3.0  : lanzado en agosto de 2006, DOCSIS 3.0 aumentó significativamente las velocidades de datos (tanto ascendentes como descendentes) e introdujo soporte para la versión 6 del Protocolo de Internet (IPv6).
  • DOCSIS 3.1  : Publicado por primera vez en octubre de 2013 y posteriormente actualizado varias veces, el conjunto de especificaciones DOCSIS 3.1 admite capacidades de hasta 10 Gbit / s en sentido descendente y 1 Gbit / s en sentido ascendente utilizando 4096 QAM . Las nuevas especificaciones eliminaron la separación de canales de 6 MHz y 8 MHz de ancho y en su lugar utilizan subportadoras de multiplexación por división de frecuencia ortogonal (OFDM) más estrechas (25 kHz o 50 kHz de ancho) ; estos pueden unirse dentro de un espectro de bloque que podría llegar a tener unos 200 MHz de ancho. [6] La tecnología DOCSIS 3.1 también incluye funciones de gestión de energía que permitirán a la industria del cable reducir su uso de energía, y DOCSIS-PIE [7]algoritmo para reducir el bufferbloat . [8] En los Estados Unidos , el proveedor de banda ancha Comcast anunció en febrero de 2016 que varias ciudades dentro de su presencia tendrán disponibilidad de DOCSIS 3.1 antes de fin de año. [9] A finales de 2016, Mediacom anunció que se convertiría en la primera gran empresa de cable de EE. UU. En realizar una transición completa a la plataforma DOCSIS 3.1. [10]
  • DOCSIS 4.0  : Mejora DOCSIS 3.1 para utilizar el espectro completo de la planta de cable (0 MHz a ~ 1.8 GHz) al mismo tiempo tanto en sentido ascendente como descendente. Esta tecnología permite servicios simétricos de varios gigabits sin dejar de ser compatible con DOCSIS 3.1. CableLabs lanzó la especificación completa en octubre de 2017. [11] Anteriormente denominadas DOCSIS 3.1 Full Duplex, estas tecnologías han sido renombradas como parte de DOCSIS 4.0. [12]

La compatibilidad entre versiones se ha mantenido en todas las versiones de DOCSIS, y los dispositivos recurren a la versión compatible más alta en común entre ambos extremos: módem de cable (CM) y sistema de terminación de módem de cable (CMTS). Por ejemplo, si uno tiene un cable módem que solo admite DOCSIS 1.0 y el sistema está ejecutando 2.0, la conexión se establecerá a velocidades de datos DOCSIS 1.0.

Comparación [ editar ]

En 1994, se autorizó 802.14 para desarrollar un control de acceso a los medios sobre un HFC. En 1995, se formó el Sistema de red de cable multimedia (MCNS). Los socios originales fueron TCI , Time Warner Cable , Comcast y Cox . Posteriormente, Continental Cable y Rogers se unieron al grupo. En junio de 1996, SCTE formó el Subcomité de Estándares de Datos para comenzar a trabajar en el establecimiento de estándares nacionales para datos de alta velocidad sobre la planta de cable. Julio de 1997: SCTE DSS votó a favor del documento DSS 97-2. Este estándar se basa en el conocido DOCSISespecificación. La norma también se envió al Sector de Normalización de Telecomunicaciones de la Unión Internacional de Telecomunicaciones (UIT-T) y se adoptó como UIT-T J.112 Anexo B.

Alternativa europea [ editar ]

Dado que los planes de asignación de ancho de banda de frecuencia difieren entre los sistemas CATV de Estados Unidos y Europa , los estándares DOCSIS anteriores a 3.1 se han modificado para su uso en Europa. Estas modificaciones se publicaron con el nombre de EuroDOCSIS . Las diferencias entre los anchos de banda existen porque la televisión por cable europea cumple con los estándares PAL / DVB-C de ancho de banda de canal de RF de 8 MHz y la televisión por cable de América del Norte cumple con NTSC / ATSCestándares que especifican 6 MHz por canal. El ancho de banda de canal más amplio en las arquitecturas EuroDOCSIS permite que se asigne más ancho de banda a la ruta de datos descendente (hacia el usuario). Las pruebas de certificación EuroDOCSIS las ejecuta la empresa belga Excentis (antes conocida como tComLabs), mientras que CableLabs ejecuta las pruebas de certificación DOCSIS. Normalmente, el equipo de las instalaciones del cliente recibe una "certificación", mientras que el equipo CMTS recibe una "calificación".

Normas internacionales [ editar ]

El Sector de Normalización de las Telecomunicaciones de la UIT (UIT-T) ha aprobado las distintas versiones de DOCSIS como normas internacionales. DOCSIS 1.0 fue ratificado como Recomendación UIT-T J.112 Anexo B (1998), pero fue reemplazado por DOCSIS 1.1 que fue ratificado como Recomendación UIT-T J.112 Anexo B (2001). Posteriormente, DOCSIS 2.0 fue ratificado como Recomendación UIT-T J.122 . Más recientemente, DOCSIS 3.0 fue ratificado como Recomendación UIT-T J.222 ( J.222.0 , J.222.1 , J.222.2 , J.222.3 ).

Nota: Aunque la Recomendación UIT-T J.112 Anexo B corresponde a DOCSIS / EuroDOCSIS 1.1, el Anexo A describe un sistema de módem de cable europeo anterior (" DVB EuroModem") basado en estándares de transmisión ATM. El Anexo C describe una variante de DOCSIS 1.1 que está diseñada para operar en sistemas de cable japoneses. El cuerpo principal de la Recomendación UIT-T J.122 corresponde a DOCSIS 2.0, J.122 Anexo F corresponde a EuroDOCSIS 2.0 y J.122 Anexo J describe la variante japonesa de DOCSIS 2.0 (análoga al Anexo C de J.112).

Funciones [ editar ]

DOCSIS proporciona una gran variedad de opciones disponibles en las capas 1 y 2 de interconexión de sistemas abiertos (OSI), las capas física y de enlace de datos .

Capa física [ editar ]

  • Ancho de banda:
    • Aguas abajo: Todas las versiones de DOCSIS anteriores a 3.1 utilizan canales de 6 MHz (por ejemplo, Norteamérica) o canales de 8 MHz ("EuroDOCSIS"). DOCSIS 3.1 utiliza anchos de banda de canal de hasta 192 MHz en el flujo descendente. [14]
    • Upstream: DOCSIS 1.0 / 1.1 especifica anchos de canal entre 200 kHz y 3.2 MHz. DOCSIS 2.0 y 3.0 especifican 6.4 MHz, pero pueden usar los anchos de canal anteriores y más estrechos para compatibilidad con versiones anteriores. DOCSIS 3.1 utiliza anchos de banda de canal de hasta 96 MHz en el flujo ascendente.
  • Modulación:
    • Aguas abajo: Todas las versiones de DOCSIS anteriores a 3,1 especifican que 64 niveles o de 256 niveles QAM (64-QAM o 256-QAM) utilizarse para la modulación de datos en sentido descendente, utilizando la ITU-T estándar J.83-Anexo B [15 ] para operación de canal de 6 MHz y el estándar de modulación DVB-C para operación de 8 MHz (EuroDOCSIS). DOCSIS 3.1 agrega 16-QAM, 128-QAM, 512-QAM, 1024-QAM, 2048-QAM y 4096-QAM, con soporte opcional de 8192-QAM / 16384-QAM.
    • Upstream: los datos upstream utilizan QPSK o QAM de 16 niveles (16-QAM) para DOCSIS 1.x, mientras que QPSK, 8-QAM, 16-QAM, 32-QAM y 64-QAM se utilizan para DOCSIS 2.0 y 3.0. DOCSIS 2.0 y 3.0 también admiten 128-QAM con modulación codificada en trellis en modo S-CDMA (con una eficiencia espectral efectiva equivalente a la de 64-QAM). DOCSIS 3.1 admite modulaciones de datos desde QPSK hasta 1024-QAM, con soporte opcional para 2048-QAM y 4096-QAM.

Capa de enlace de datos [ editar ]

  • DOCSIS emplea una combinación de métodos de acceso deterministas para transmisiones ascendentes, específicamente TDMA para DOCSIS 1.0 / 1.1 y TDMA y S-CDMA para DOCSIS 2.0 y 3.0, con un uso limitado de contención para solicitudes de ancho de banda. Debido a esto, los sistemas DOCSIS experimentan relativamente pocas colisiones, en contraste con el MAC CSMA / CD puramente basado en contención empleado en sistemas Ethernet más antiguos (por supuesto, no hay contención en Ethernet conmutada ).
  • Para DOCSIS 1.1 y superior, la capa de datos también incluye amplias características de calidad de servicio (QoS) que ayudan a soportar de manera eficiente aplicaciones que tienen requisitos de tráfico específicos como baja latencia, por ejemplo, voz sobre IP .
  • DOCSIS 3.0 incluye la vinculación de canales , que permite que un solo suscriptor utilice conjuntamente varios canales descendentes y ascendentes al mismo tiempo. [dieciséis]

Rendimiento [ editar ]

Las primeras tres versiones del estándar DOCSIS admiten un rendimiento descendente con 256-QAM de hasta 42,88 Mbit / s por canal de 6 MHz (aproximadamente 38 Mbit / s después de la sobrecarga), o 55,62 Mbit / s por canal de 8 MHz para EuroDOCSIS (aproximadamente 50 Mbit / s después de la sobrecarga). El rendimiento ascendente posible es de 30,72 Mbit / s por canal de 6,4 MHz (aproximadamente 27 Mbit / s después de la sobrecarga) o 10,24 Mbit / s por canal de 3,2 MHz (aproximadamente 9 Mbit / s después de la sobrecarga).

DOCSIS 3.1 admite un rendimiento descendente con 4096-QAM y un espaciado de subportadora de 25 kHz de hasta 1,89 Gbit / s por canal OFDM de 192 MHz. El rendimiento ascendente posible es de 0,94 Gbit / s por canal OFDMA de 96 MHz . [17]

Capa de red [ editar ]

  • Los módems DOCSIS se administran a través de una dirección de Protocolo de Internet (IP).
  • La especificación 'DOCSIS 2.0 + IPv6' permitió la compatibilidad con IPv6 en módems DOCSIS 2.0 mediante una actualización de firmware. [18] [19]
  • DOCSIS 3.0 agregó administración sobre IPv6 . [dieciséis]

Rendimiento [ editar ]

Rendimiento bruto máximo que incluye gastos generales ( rendimiento máximo de carga útil después de gastos generales). Las tablas asumen modulación 256-QAM para flujo descendente y 64-QAM para flujo ascendente en DOCSIS 3.0, y modulación 4096-QAM para OFDM / OFDMA (primeros métodos de flujo descendente / ascendente) en DOCSIS 3.1, aunque las velocidades de datos del mundo real pueden ser más bajas debido a variables modulación en función de SNR. Son posibles velocidades de datos más altas, pero requieren esquemas QAM de orden superior que requieren una tasa de error de modulación (MER) en sentido descendente más alta . DOCSIS 3.1 se diseñó para admitir hasta 8192-QAM / 16,384-QAM, pero solo es obligatorio admitir hasta 4096-QAM para cumplir con los estándares mínimos de DOCSIS 3.1.

Para DOCSIS 3.0, el rendimiento máximo teórico para el número de canales enlazados se enumera en la tabla siguiente.

Tenga en cuenta que la cantidad de canales que puede admitir un sistema de cable depende de cómo esté configurado el sistema de cable. Por ejemplo, la cantidad de ancho de banda disponible en cada dirección, el ancho de los canales seleccionados en la dirección ascendente y las restricciones de hardware limitan la cantidad máxima de canales en cada dirección. También tenga en cuenta que, dado que en muchos casos, la capacidad de DOCSIS se comparte entre varios usuarios, la mayoría de las empresas de cable no venden la capacidad técnica máxima disponible como producto comercial, para reducir la congestión en caso de uso intensivo.

Tenga en cuenta que el ancho de banda descendente máximo en todas las versiones de DOCSIS depende de la versión de DOCSIS utilizada y del número de canales ascendentes utilizados si se utiliza DOCSIS 3.0, pero los anchos de canal ascendente son independientes de si se utiliza DOCSIS o EuroDOCSIS.

Equipo [ editar ]

Un cable módem DOCSIS 3.0
Un sistema de terminación de cable módem

Una arquitectura DOCSIS incluye dos componentes principales: un cable módem ubicado en las instalaciones del cliente y un sistema de terminación de cable módem (CMTS) ubicado en la cabecera CATV. Los sistemas de cable que admiten la programación bajo demanda utilizan un sistema híbrido de fibra coaxial . Las líneas de fibra óptica llevan señales digitales a los nodos del sistema, donde se convierten en canales de RF y señales de módem en líneas troncales coaxiales.

Un CMTS típico es un dispositivo que aloja puertos descendentes y ascendentes (su funcionalidad es similar a la del multiplexor de acceso de línea de abonado digital (DSLAM) utilizado en un sistema de línea de abonado digital (DSL)). Mientras que las comunicaciones descendentes y ascendentes viajan por una línea coaxial compartida en las instalaciones del cliente y se conectan a un solo conector FEn el módem de cable, es típico que el CMTS tenga conectores F separados para la comunicación descendente y ascendente. Esto permite flexibilidad para el operador de cable. Debido al ruido en la ruta de retorno (ascendente), un puerto ascendente generalmente está conectado a un solo vecindario (nodo de fibra), mientras que un puerto descendente generalmente se comparte en una pequeña cantidad de vecindarios. Por lo tanto, hay generalmente más puertos ascendentes que puertos descendentes en un CMTS. Un CMTS típico tiene cuatro o seis puertos ascendentes por puerto descendente.

Antes de que una empresa de cable pueda implementar DOCSIS 1.1 o superior, debe actualizar su red híbrida de fibra coaxial (HFC) para admitir una ruta de retorno para el tráfico ascendente. Sin una ruta de retorno, el antiguo estándar DOCSIS 1.0 todavía permite el uso de datos a través del sistema de cable, implementando la ruta de retorno sobre el antiguo servicio telefónico simple (POTS). Si el HFC ya es "bidireccional" o "interactivo", es muy probable que se pueda implementar DOCSIS 1.1 o superior.

La PC del cliente y los periféricos asociados se denominan equipos en las instalaciones del cliente (CPE). Los CPE están conectados al cable módem, que a su vez está conectado a través de la red HFC al sistema de terminación del cable módem (CMTS). El CMTS luego enruta el tráfico entre el HFC e Internet. Con el CMTS, el operador de cable (o los operadores de servicios múltiples, MSO) ejerce un control total sobre la configuración del módem de cable; la configuración de CM se cambia para ajustarse a las condiciones variables de la línea y los requisitos de servicio al cliente.

DOCSIS 2.0 también se utiliza en frecuencias de microondas (10 GHz) en Irlanda por Digiweb , utilizando enlaces inalámbricos dedicados en lugar de la red HFC. En las instalaciones de cada abonado, el CM ordinario está conectado a una caja de antena que convierte a / desde frecuencias de microondas y transmite / recibe en 10 GHz. Cada cliente tiene un enlace dedicado, pero el mástil del transmisor debe estar en la línea de visión (la mayoría de los sitios están en la cima de una colina). [20]

La arquitectura DOCSIS también se utiliza para conexiones inalámbricas fijas con equipos que utilizan la banda de microondas del Servicio de distribución multipunto multicanal (MMDS) de 2,5 a 2,7 GHz en los EE. UU.

Seguridad [ editar ]

DOCSIS incluye servicios de seguridad de capa de control de acceso a medios (MAC) en sus especificaciones de interfaz de privacidad básica. DOCSIS 1.0 utilizó la especificación inicial de la interfaz de privacidad básica (BPI). BPI se mejoró posteriormente con el lanzamiento de la especificación Baseline Privacy Interface Plus (BPI +) utilizada por DOCSIS 1.1 y 2.0. Más recientemente, se agregaron una serie de mejoras a la Interfaz de privacidad básica como parte de DOCSIS 3.0, y la especificación pasó a llamarse "Seguridad" (SEC).

La intención de las especificaciones BPI / SEC es describir los servicios de seguridad de la capa MAC para DOCSIS CMTS para comunicaciones por cable módem. Los objetivos de seguridad de BPI / SEC son dobles:

  • Proporcionar a los usuarios de módem de cable la privacidad de los datos a través de la red de cable.
  • Proporcionar a los operadores de servicios de cable protección del servicio (es decir, evitar que los usuarios y módems no autorizados accedan a los servicios MAC de RF de la red).

BPI / SEC está diseñado para evitar que los usuarios de cable se escuchen entre sí. Para ello, cifra los flujos de datos entre el CMTS y el cable módem. BPI y BPI + utilizan el cifrado estándar de cifrado de datos (DES) de 56 bits , mientras que SEC agrega compatibilidad con el estándar de cifrado avanzado (AES) de 128 bits . Sin embargo, la clave AES está protegida solo por una clave RSA de 1024 bits, que ofrece aproximadamente 80 bits de seguridad como el enlace más débil [21] Todas las versiones proporcionan actualizaciones periódicas de claves (en un período configurado por el operador de red) para poder aumentar el nivel de protección.

El objetivo de BPI / SEC es permitir que los operadores de servicios de cable rechacen el servicio a módems de cable no certificados y usuarios no autorizados. BPI + reforzó la protección del servicio al agregar autenticación basada en certificados digitales a su protocolo de intercambio de claves , utilizando una infraestructura de clave pública (PKI), basada en las autoridades de certificación digital (CA) de los probadores de certificación, actualmente Excentis (anteriormente conocido como tComLabs) para EuroDOCSIS y CableLabs. para DOCSIS. Normalmente, el operador del servicio de cable agrega manualmente la dirección MAC del módem de cable a la cuenta de un cliente con el operador del servicio de cable; [22]y la red permite el acceso solo a un cable módem que pueda dar fe de esa dirección MAC mediante un certificado válido emitido a través de la PKI. La especificación BPI anterior (ANSI / SCTE 22-2) tenía una protección de servicio limitada porque el protocolo de administración de claves subyacente no autenticaba el cable módem del usuario.

La seguridad en la red DOCSIS mejora enormemente cuando solo se permiten las comunicaciones críticas para el negocio y se niega la comunicación del usuario final con la infraestructura de la red. Los ataques exitosos a menudo ocurren cuando el CMTS está configurado para compatibilidad con versiones anteriores de los módems DOCSIS 1.1 anteriores al estándar. Estos módems eran "actualizables por software en el campo", pero no incluían certificados raíz DOCSIS o EuroDOCSIS válidos.

Ver también [ editar ]

  • Cable de datos
  • Puerta de enlace decodificadora DOCSIS
  • Ethernet por cable coaxial
  • Lista de anchos de banda de dispositivos
  • Multimedia sobre alianza coaxial

Referencias [ editar ]

  1. ^ "Sistemas de cinco fabricantes de módem considerados para especificaciones de datos de cable" . Archivado desde el original el 21 de octubre de 2002 . Consultado el 14 de junio de 2015 .
  2. ^ "CableLabs selecciona Broadcom y Terayon para crear propuestas de tecnología de módem avanzado" . Archivado desde el original el 11 de octubre de 2013 . Consultado el 16 de diciembre de 2013 .CS1 maint: bot: estado de URL original desconocido ( enlace )
  3. ^ "Especificaciones de la interfaz de servicio de datos por cable" . Consultado el 16 de diciembre de 2013 .
  4. ^ "Sistema de terminación de cable módem - Especificación de interfaz de lado de red" (PDF) . cablelabs.com . Archivado desde el original (PDF) el 17 de agosto de 2016 . Consultado el 27 de julio de 2016 .
  5. ^ "Especificaciones - CableLabs" . Cablelabs.com . Consultado el 2 de diciembre de 2017 .
  6. ^ "Docsis 3.1 tiene como objetivo 10 Gig Downstream - Lectura ligera" .
  7. ^ Greg, blanco; Rong, Pan. "Active Queue Management (AQM) basado en PIE mejorado de controlador integral proporcional para especificaciones de interfaz de servicio de datos por cable (DOCSIS) Cable módems" . Tools.ietf.org . Consultado el 12 de abril de 2021 .
  8. ^ "Gestión activa de colas en [http://www.cablelabs.com DOCSIS 3.x] Cable módems" (PDF) . CableLabs.com . CableLabs . Enlace externo en |title=( ayuda )
  9. ^ "Comcast para presentar el primer servicio de Internet Gigabit alimentado por DOCSIS 3.1 del mundo en Atlanta, Chicago, Detroit, Miami y Nashville | Business Wire" . BusinessWire.com . Consultado el 15 de febrero de 2016 .
  10. ^ "Mediacom va todo DOCSIS 3.1 a fin de año - lectura ligera" . Lightreading.com . Consultado el 2 de diciembre de 2017 .
  11. ^ "CableLabs completa la especificación DOCSIS Full Duplex | CableLabs" . Consultado el 17 de junio de 2019 .
  12. ^ "Tecnología DOCSIS® 4.0" . CableLabs . Consultado el 18 de julio de 2019 .
  13. ^ "DOCSIS 4.0 - CableLabs" . CableLabs . Consultado el 15 de abril de 2020 .
  14. ^ "Tecnología DOCSIS" . Rohde & Schwarz .
  15. ^ "Recomendación J.83 (1997) Enmienda 1 (06/11)" . Noviembre de 2006 . Consultado el 20 de junio de 2013 .
  16. ^ a b "CableLabs emite especificaciones DOCSIS 3.0 que permiten 160 Mbps" . Cablelabs.com . Archivado desde el original el 20 de noviembre de 2010 . Consultado el 2 de diciembre de 2017 .
  17. ^ Sinclair, Dave. "Qué sigue de DOCSIS: descripción general" (PDF) . Archivado desde el original (PDF) el 15 de agosto de 2017.
  18. ^ "Interfaz DOCSIS 2.0" . CableModem.com . Archivado desde el original el 4 de septiembre de 2009.
  19. ^ Torbet, Dan (9 de abril de 2008). "IPv6 y cable: cómo Cable está gestionando la transición de IPv4 a IPv6" (PDF) . Grupo de trabajo de las Montañas Rocosas IPV6 . Consultado el 12 de febrero de 2015 .
  20. ^ "Internet de banda ancha inalámbrica" . Electrónica Ogier . Consultado el 30 de abril de 2020 .
  21. ^ CM-SP-SECv3.0-I15-130808 pág. 87
  22. ^ "Estados Unidos contra Ryan Harris también conocido como DerEngel y TCNISO, INC" (PDF) . Cableado . pag. 2. Cuando un usuario de computadora busca acceder a Internet, el módem del usuario informará su dirección MAC al ISP, y si el ISP reconoce la dirección MAC del módem como perteneciente a un suscriptor de pago, el ISP le permitirá al usuario acceder a Internet. a través de la red del ISP.

Enlaces externos [ editar ]

  • Especificaciones de DOCSIS 1.0
  • Especificaciones de DOCSIS 1.1
  • Especificaciones de DOCSIS 2.0
  • Especificaciones de DOCSIS 3.0
  • Especificaciones de DOCSIS 3.1
  • Especificaciones de DOCSIS 4.0
  • DOCSIS 3.1 Esta nota de aplicación de Rohde & Schwarz analiza los avances tecnológicos fundamentales de DOCSIS 3.1.
  • Tutorial de DOCSIS (2009) en Volpe Firm