problems with nurbs

i’ve only learned about nurbs a short time ago, but it seems to me that there are differences between some math books and OpenGL. i don’t understand why the number of knots is order + number of controlpoints.
i think it should be order + number of controlpoints -1.

a short example, why:

i want to describe a cubic bezier curve as a nurbs. for the cubic bezier curve i have 4 controlpoints, the knot vector for the nurbs should be (0,0,0,1,1,1), since i want endpoint approximation and it is cubic. but now the formula used by OpenGl is
6(knots)=? 3(order) + 4(controlpoints)

obviously there is something wrong, but what??

thanks for any help.