Overall structure of the whole network would look like follows (at least to me -:)). I know it is too much simplified at CoreNetwork part... but I think this is good enough for OpenRAN since it is mostly about RAN, not about Core Network. The only important part of Core Network in this context would be the interface to RAN part which is shown in this illustration.
Now let's look into RAN part which is labeled as Segment 1. Probably the ideal (maximum) level of modularization and separation of RAN can be something as shown below (Segment 1) which is described in 3GPP 38.801. If we can provide industry standard interface at all the split level labeled as Option 1 ~ 8, we may implement RAN with the components from all over the provides and put them together as lego block. But in practice, it may be a little overkill to define too many interfaces like this at this point. In most of OpenRAN standization and implementation, we focus mostly on Option 7 and 2 (In some SDR based implementation especially for LTE, Option 8 is also a common interface). Actually in recent Open RAN activities, Option 7 has been evolved into a few different flavours and the most popular one is 7.2x.
NOTE : There can many different implementation of open RAN and the overall architecture would vary depending on the specific implementation. But in this note, I would write on this based on ORAN and 3GPP since they are sharing the specification in public and I think they will be main stream of Open RAN implementation.
The architecture of a RAN defined by O-RAN specification looks as below. The blue part shown below indicates the components that are commonly defined in 3GPP as well.
The Open FH interface (the interface between O-DU and O-RU) corresponds to Option 7 and F1 interface corresponds to Option 2. As you see here, the interface between DU and CU and the interfaces among other RANs (e.g, X2, Ng, Xn etc) are also commonly defined by 3GPP.
< Figure 4.1 2: Logical Architecture of O-RAN >
Source : O-RAN.WG1.O-RAN-Architecture-Description
Followings are the list of OpenRAN specification from O-RAN allience. This is just a list for you to do quick check on what kind of subjects are specified. You can download each of the specification from O-RAN allience specification site.
Reference : Specification