Miscommunication and Lack of Openness

My boyfriend and I have been together for 4 years, so I know him enough. For the past few days I have been sensing some kind of distance from him. I asked him if he is okay and addressed the fact that I felt he was being a little off, but he said, “No everything is perfectly fine.” But....I know when something is bothering him, and it shows.

The thing is, he isn’t very good with communicating or being open when things bother him. I basically have to get it out of him for him to open up and tell me what’s wrong. Sometimes, he would be upset about something, act distance for a week, and FINALLY tell me what I had done to upset him.

While he holds things in and / or does not tell me what’s bothering him until days later, I find it a major disadvantage in our relationship because:

A.) I do not know what I am doing wrong so I won’t be able to help fix the problem.

and B.) it is just straight up bad communication.

I do not know what to do. If this is the way he will always be, then I literally don’t know what to do. If we keep things this way, good communication is out of the question and we may suffer ever being able to open up to each other in the future...or he will. I am good with being open, but he is not.