The maximum possible is number of knights is:
This can be achieved by:
Putting a knight on every white square (thanks to Timtech for the graphic).
There's also other nontrivial configurations, like:
A knight on every edge or corner square (28), plus the four very center squares.
This is optimal because of existence of a construction with the following properties:
Partition the chessboard into 16 sets of 4 squares, with each set forming a a loop of four connected by knight moves.
One instance of this construction is:
Splitting the 4x4 square into four sets as follows
Then, split the chessboard into four 4*4 quadrants each with a copy of this pattern.
This construction proves optimality because:
Each set of 4 can only have 2 knights, since if there are 3, one knight must be attacking two knights. So, this gives a maximum of 2*16=32.