What is difference between internal and protected internal access specifiers

The type or member can be accessed by any code in the assembly in which it is declared, or from within a derived class in another assembly. Access from another assembly must take place within a class declaration that derives from the class in which the protected internal element is declared, and it must take place through an instance of the derived class type. 

Ref: http://studentboxoffice.in/articles.aspx?id=1