diff --git a/substrate/client/network/src/request_responses.rs b/substrate/client/network/src/request_responses.rs
index 44e6f588ab5206a1cf3add349678bf6d58c15ae1..b98a298bc0de812d968024ed194a4fad9733da1d 100644
--- a/substrate/client/network/src/request_responses.rs
+++ b/substrate/client/network/src/request_responses.rs
@@ -373,6 +373,8 @@ impl RequestResponsesBehaviour {
 		pending_response: oneshot::Sender<Result<Vec<u8>, RequestFailure>>,
 		connect: IfDisconnected,
 	) {
+		log::trace!(target: "sub-libp2p", "send request to {target} ({protocol_name:?}), {} bytes", request.len());
+
 		if let Some((protocol, _)) = self.protocols.get_mut(protocol_name) {
 			if protocol.is_connected(target) || connect.should_connect() {
 				let request_id = protocol.send_request(target, request);
@@ -616,6 +618,8 @@ impl NetworkBehaviour for RequestResponsesBehaviour {
 							continue 'poll_all
 						}
 
+						log::trace!(target: "sub-libp2p", "request received from {peer} ({protocol:?}), {} bytes", request.len());
+
 						let (tx, rx) = oneshot::channel();
 
 						// Submit the request to the "response builder" passed by the user at
@@ -675,6 +679,8 @@ impl NetworkBehaviour for RequestResponsesBehaviour {
 
 				if let Ok(payload) = result {
 					if let Some((protocol, _)) = self.protocols.get_mut(&*protocol_name) {
+						log::trace!(target: "sub-libp2p", "send response to {peer} ({protocol_name:?}), {} bytes", payload.len());
+
 						if protocol.send_response(inner_channel, Ok(payload)).is_err() {
 							// Note: Failure is handled further below when receiving
 							// `InboundFailure` event from request-response [`Behaviour`].
@@ -770,6 +776,12 @@ impl NetworkBehaviour for RequestResponsesBehaviour {
 								.remove(&(protocol.clone(), request_id).into())
 							{
 								Some((started, pending_response)) => {
+									log::trace!(
+										target: "sub-libp2p",
+										"received response from {peer} ({protocol:?}), {} bytes",
+										response.as_ref().map_or(0usize, |response| response.len()),
+									);
+
 									let delivered = pending_response
 										.send(response.map_err(|()| RequestFailure::Refused))
 										.map_err(|_| RequestFailure::Obsolete);