After studying networking for some time, I just realize that the Layer 3 and Layer 2 don't care about the content of the packets they forward. All they care is the header, and further processing of the payload is left to higher layers.
If my router's address is static and known, can people flood it with excessive amount of garbage packets? Even if my router has no port opened, theoretically I think it is still possible to sent packets with random port numbers to it -- the router will drop the packet as there is either forwarding rule or program to process the packets with such port number, but such action would still consume precious bandwidth.
If this ever happens, can I do anything about it? Placing a firewall before the router and ban an IP address does not prevent the bandwidth from being consumed -- the firewall just drops them before they reach the router. Not to mention that the attacker can always change the source IP address on the IP packet header for every packet he sends. It sounds so easy for anyone with equal or higher bandwidth than mine to disrupt my WAN connection.