Que es un buffer (o como se interpreta) en Python?

-Hoy empece a ver el tema de los objetos binarios en Python (bytes / bytearrays) y entiendo la idea perfectamente, son basicamente objetos empleados para representar informacion a traves de notacion hexadecimal, sin embargo, me surgieron varias dudas (dos especificamente). La primera es la siguiente: que es el protocolo buffer??. Trate de ver la documentacion, sin embargo en ella emplea terminos que aun desconozco, por ejemplo …

"Si bien cada uno de estos tipos tiene su propia semántica (bytes / bytearrays), comparten la característica     
común de estar respaldados por un búfer de memoria posiblemente grande. Es deseable, 
en algunas situaciones, acceder a ese búfer directamente y sin copia intermedia."

-Da a entender que usualmente se crean copias entre los datos que se perciben en el programa y el buffer (o al menos es esto lo que entendi). Segun creia el buffer es basicamente una memoria de almacenamiento temporal en donde se almacenan datos para que los procesos no se queden sin los mismos, en este caso, el buffer seria el cli de la terminal. Por lo visto, el concepto de buffer que concibo no es el correcto, con lo cual, la pregunta finalmente seria: que es un buffer y que es el protocolo buffer en Python?