I have a basic question. I have an OSPF network as a single area and have added a second fiber connection to the same ISP to balance the load over two distinct geographical areas connected with a 100Mpbs wireless connection.
The original router connecting to this fiber network is at X.X.X.2/22, gw X.X.X.1/22 the new router connected to the new fiber is at X.X.X.3/22 gw X.X.X.1/22. I’m seeing some interesting routing going on, even though I’ve bumped up the cost for the wireless connection between the two geographical areas to 100 from 10. Actually the routing looks good, with default routes pointing in the right directions for the areas, but I’m seeing traffic on both sides of the wireless link connecting the two areas that shouldn’t be there.
I’m thinking that the ISP needs to know what routes go to where, rather than the situation now where there is no information from my network being passed up to the ISP. So, I’m guessing I have to use BGP to do this. True?

You are correct about using BGP to do dynamic routing with your ISP because it is an exterior gateway protocol, while OSPF is an interior protocol - thus it only contains routing information about your own network.
I assume that there is NAT (masquerade) being done at each of your gateway routers, in which case BGP wouldn’t help and couldn’t be used anyway because no ISP is going to accept private IP addresses from you. BGP is a “big picture” thing. (It can be used for traffic engineering, but generally you must be using public IP addresses within your network and not just at the border)
In general, a configuration such as yours would cause routers closer to ISP1 to choose that router’s default gateway prefix, while routers closer to ISP2 will choose that one’s default prefix.
Routers which have an equal distance to both might use equal-cost multipath (you’ll see an active default gateway route having multiple next-hops in the routing tables of such routers)
Are you injecting default GW as type1 or type2? Type2 prefixes are announced with a cost (default = 20) and this cost does not change anywhere in your network. Type 1 prefixes will have a cost = 20 + the path cost to reach the originating router. So if you use multiple equal-cost default gateways both being type 2, then routers will see them as equivalent candidates, and choose whichever originating router has a shorter path to reach, while type 1 prefixes will cause routers to choose one gateway or the other based on the path cost outright. (It’s hard to quickly explain what the difference is, but it does have a definite effect on your routing). Also know that type1 routes are preferred over type2 always, regardless of cost.
Thanks, Zerobyte. We are not NATed, all customers are on public IPs. I’ll try changing the type of interface to 2 from 1 at the edge routers and see if that produces some improvements. I’m also learning BGP it seems!
BTW, the reason I’m worried about this at all, is there is traffic on the wireless connection between the two geographical areas that is significant in magnitude and is roughly balanced. That makes me think, there’s a problem, as conceptually, I’d think that the traffic on this link should be close to nothing as each fiber serves the routes for it’s area. Right now I have both geographical areas defined as backbone.
My guess is that you’re getting ingress traffic via both ISPs regardless of your internal topology. I.e. traffic for your “west” segment is arriving via the ISP on the “east” router (in your diagram) so it would have no choice but to cross the link in the middle.
If you’re announcing all of your IP space as a single /22, then this is almost certainly the case.
If you planned ahead and made sure that all IP allocations on each side fall within the same /23 blocks (i.e. half for the east and half for the west) then you could announce your space as two /23 prefixes, and use as-prepend (or your ISPs’ communities that reduce their localpref values) to engineer your inbound traffic.