What do I need to do to use a R3 Ethernet shield with a R3 Arduino Mega 2560?
http://arduino.cc/en/Hacking/PinMapping2560


digitalPin 50 = MISO; 
digitalPin 51 = MOSI;
digitalPin 52 = SCK; 
digitalPin 53 = SS.


The signals on the right in that table are required for your Ethernet shield to work and they happen to be routed to different pins than on an Uno. Some pins on the microcontroller have more than one function, and that is what is happening here. You can find the same signals on the 6-pin ISP header, so if the Ethernet shield attaches to that 6 pin ISP header too, it should work without hardware modifications.

$$
\begin{array}{|c|c|c|c|c|c} \text{Uno} &amp; \text{Mega} &amp; \text{Name} &amp; \text{ISP Pin} &amp; \text{ISP pin} &amp; \text{Name} &amp; \text{Mega} &amp; \text{Uno}  \\
\hline
\text{d12}&amp;\text{d50}&amp;\text{MISO}&amp;1&amp;2&amp;\text{V}_{CC}&amp;\text{V}_{CC}&amp;\text{V}_{CC}\\
\hline
\text{d13}&amp;\text{d52}&amp;\text{SCK}&amp;3&amp;4&amp;\text{MOSI}&amp;\text{d51}&amp;\text{d11}\\
\hline
\overline{\text{RESET}}&amp;\overline{\text{RESET}}&amp;\overline{\text{RESET}}&amp;5&amp;6&amp;\text{GND}&amp;\text{GND}&amp;\text{GND}\\
\hline
\end{array}
$$