Unit testing is the testing of the functionality of a single or multiple components which we refer as unit. It is done to see if any particular unit or piece of code is doing what it is intended to do and it is working as per requirement.
Unit testing is the responsibility of software developer. After creating any unit, he checks that the created unit is performing the intended operation. It comes under white box testing.
After creating many different units, the developer integrates them. The developers then have to test that multiple unit are working fine after integration or not. This testing is called Integration testing.
Many different units may combine to create to software. Multiples units as a whole can also be termed as one single unit. Testing of this unit which is created by many smaller units comes under unit testing. However, testing this unit to see if multiple units are working fine after integration with each other comes under Integration testing.