Network protocols are organized into layers, with each layer building on the one below. This layered approach partitions functions into manageable groups and provides modularity and functionality reuse. Each layer offers services to the layers above while shielding them from implementation details. Data passes down the layers on one machine, is transmitted physically, and then passes up the layers on another machine. Protocols define rules for communication between peer layers, implementing the services. Connection-oriented services involve setting up connections for reliable data transfer, while connectionless services transfer data without acknowledgment.