I think you are talking about two or different types of "communication" here: from you computer (programming device) to the PLC; from the PLC to non-local I/O; and perhaps from the PLC to some sort of HMI/SCADA/GUI.
(1) For PC to PLC, standard ethernet is common, and does exist for the model of Siemens you're looking at. You don't need to worry about 'protocols' or 'drivers' -- all that is handled by the programming software.
(2) Most PLCs, while they have I/O either on the main body or as additional cards in the local rack, also have the ability to talk to other I/O modules, via all kinds of protocols and cabling. Siemens often uses Profibus; Rockwell EthernetIP, ControlNet, DeviceNet, and RIO; Modbus is used by Modicon/Group Schneider (and almost everybody else). Depending on the model, the PLC can either support a particular protocol natively, or by adding a special communication card to its rack (see image in JRW's post).
The cabling used by each protocol varies: Profibus is a 2-wire "purple hose" cable, EthernetIP uses standard Cat-5/Cat-6. RS-485 is an 8-wire twisted pair serial cable. Each has its own distance limitations, network topology (serial point-to-point; star; ring).
Ask specific questions to get specific answers. "I need an explanation..." is best handled by Wikipedia, not us. We do best when you tell us what you know, ask about what you don't, and we can tailor our response to fit your needs.
(3) A PLC almost always needs some sort of operator interface. Pushbuttons and lights are all well and good, but a computer with some HMI/SCADA/GUI software running on it is usually better. How THAT communicates with your PLC will depend on what software/hardware you use for your HMI, and what the PLC is capable of supporting.