RELACION ENTRE SERVICIOS Y PROTOCOLOS Por Javier Bauset
Los conceptos de servicio y protocolo tienen un significado distinto, a pesar de que frecuentemente
se les confunde. Esta diferencia es tan importante que nuevamente se har nfasis aqu.
Un servicio es un conjunto de primitivas (operaciones, que una capa proporciona a la capa
superior. El servicio define las operaciones que la capa efectuara en !eneficio de sus usuarios, pero
no dice nada con respecto a como se reali"an dichas operaciones. Un servicio se refiere a una
interfase entre dos capas, siendo la capa inferior la que provee el servicio y la capa superior la que
utili"a el servicio.
Un protocolo, a diferencia del concepto de servicio, es un conjunto de reglas que go!iernan el
formato y el significado de las tramas, paquetes o mensajes que son intercam!iados por las
entidades corresponsales dentro de una capa. Las entidades utili"an protocolos para reali"ar sus
definiciones de servicio, teniendo li!ertad para cam!iar el protocolo, pero asegurndose de no
modificar el servicio visi!le a los usuarios. #e esta manera, se o!serva con claridad como los
conceptos de servicio y protocolo estn completamente desacoplados.
$eria conveniente hacer una analoga con los lenguajes de programaci%n. Un servicio es como un
tipo de dato a!stracto que define las operaciones que pueden efectuarse so!re un o!jeto, pero no
especifica la manera como se reali"an estas operaciones. Un protocolo se relaciona con la
reali"aci%n de un servicio y, como tal, no es visi!le para el usuario del servicio.
&arios protocolos pre'($) no distinguan el servicio del protocolo. En efecto, una capa tpica
podra ha!er tenido una primitiva de servicio $E*# +,-.E/, con el usuario proporcionando un
puntero a un paquete completamente ensam!lado. Este convenio significa que todos los cam!ios al
protocolo eran de inmediato visi!les para los usuarios. ,hora se acepta, de manera universal, que
dicho dise0o es un error de gran magnitud.