Karma is essentially a tool which spawns a web server that executes source code against test code for each of the browsers connected. The results of each test against each browser are examined and displayed via the command line to the developer such that they can see which browsers and tests passed or failed.
Karma let's you use the Jasmine framework, or any other, for unit testing your Angular components like the controllers, the services or the directives.
Protractor is an end-to-end test framework for AngularJS applications. Protractor runs tests against your application running in a real browser, interacting with it as a user would.
Protractor will run your configured tests, with the describe and it syntax from the Jasmine framework, as it was a user interacting with your Angular.js application