1. Technical Field
Embodiments of the present disclosure relate to communication methods, and particularly to a modem system and method.
2. Description of Related Art
Modems are devices that translate digital signals into specific frequencies to travel over telephone or cable television lines. Client devices use modems to communicate with one another over a network, such as over a wide area network (WAN). Usually, modems transmit communication data packets between the client devices and the WAN using one or more local area network (LAN) ports. Each communication data packet can be transmitted according to the identification of the communication data packet via a corresponding LAN port of a modem. However, if a communication data packet cannot be identified using the LAN ports of the modem, the communication data packet cannot be transmitted by the modem.
Therefore, there is a need for a system and method to overcome the aforementioned problem.
All of the processes described below may be embodied in, and fully automated via, function modules executed by one or more general purpose processors. Some or all of the methods may alternatively be embodied in specialized hardware. The code modules may be stored in any type of computer-readable medium or other computer storage device.
The modem 20 implements electronic data communication between the client device 10 and the WAN 30. The modem 20 comprises a plurality of local area network (LAN) ports and network access translation (NAT) ports. In one embodiment, the LAN ports are operable to transmit communication data packets having a virtual local area network identification (VLAN ID). In contrast to the LAN ports, the NAT ports are operable to transmit communication data packets in a particular form that can be identified using the NAT ports. Depending on the embodiment, the modem 20 may be an asymmetric digital subscriber line (ADSL) or a symmetric digital subscriber line (SDSL) modem, a cable modem or other appropriate device having modulating and demodulating data functions.
The receiving module 210 is operable to receive a communication data packet from the WAN 30 or the client device 10.
The determining module 211 is operable to determine if the communication data packet contains a VLAN ID. It may be understood that, the VLAN ID can identify the LAN port of the modem 20. The VLAN ID is defined by the IEEE 802.1Q standard, in one example. In one embodiment, the VLAN ID is attached to a tag field of the communication data packet. The determining module 211 determines if the communication data packet contains the VLAN ID by determining if the tag field of the communication data packet is void.
The determining module 211 is further operable to determine if the VLAN ID of the communication data packet identifies a LAN port of the modem 20, in response to a determination that the communication data packet contains the VLAN ID. For example, assuming that the modem 20 contains two LAN port A and B, if the VLAN ID of the communication data packet identifies the LAN port A, then the communication data packet is transmitted using the LAN port A of the modem 20.
The removing module 212 is operable to remove the VLAN ID of the communication data packet in response to a determination that the VLAN ID of the communication data packet does not identify the LAN port of the modem 20. In one embodiment, if the communication data packet having the VLAN ID cannot be transmitted using the LAN port of the modem 20, the communication data packet may be transmitted using the NAT port of the modem 20. It may be understood that the communication data packet having a VLAN ID cannot be transmitted using the NAT port directly, so the VLAN ID of the communication data packet should be removed.
The translating module 213 is operable to translate an Internet protocol (IP) address of the communication data packet having no VLAN ID. In one embodiment, the translating module 213 translates the IP address of the communication data packet into a form that the communication data packet having no VLAN ID can be transmitted using the NAT port of the modem 20. In one embodiment, the IP address may be defined according to different classes, such as A class, B class, or C class. For example, if the IP address of the communication data packet is A class or B class, the translating module 213 translates the IP address of the communication data packet into C class, then the translated communication data packet can be transmitted using the NAT port of the modem 20.
The transmitting module 212 is operable to transmit the translated communication data packet using the NAT port of the modem 20, or to transmit the communication data packet having the VLAN ID to the client device 10 or the WAN 30 using the LAN port of the modem 20.
In block S110, the receiving module 210 receives a communication data packet from the WAN 30.
In block S120, the determining module 211 determines if the communication data packet contains a virtual local area network ID (VLAN ID). As mentioned above, the VLAN ID can identify a LAN port of the modem 20.
If the determining module 211 determines that the communication data packet contains the VLAN ID, the procedure goes to block S130. Otherwise, if the determining module 211 determines that the communication data packet does not contain the VLAN ID, the procedure goes to block S150.
In block S130, the determining module 211 determines if the VLAN ID of the communication data packet identifies a LAN port of the modem 20. As mentioned above, assuming that the modem 20 contains two LAN port A and B, if the VLAN ID of the communication data packet identifies the LAN port A, then the communication data packet is transmitted using the LAN port A of the modem 20.
If the determining module 211 determines the VLAN ID of the communication data packet identifies the LAN port of the modem 20, the procedure goes to block S170, the transmitting module 214 transmits the communication data packet containing the VLAN ID to the client device 10 using the LAN port of the modem 20. Otherwise, if the VLAN ID of the communication data packet does not identify the LAN port of the modem 20, the procedure goes to block S140.
In block S140, the removing module 212 removes the VLAN ID of the communication data packet.
In block S150, the translating module 213 translates an IP address of the communication data packet having no VLAN ID. As mentioned above, the translating module 213 translates the IP address of the communication data packet into a form that the communication data packet can be transmitted using the NAT port of the modem 20.
In block S160, the transmitting module 214 transmits the translated communication data packet to the client device 10 using a NAT port of the modem 20.
Although certain inventive embodiments of the present disclosure have been specifically described, the present disclosure is not to be construed as being limited thereto. Various changes or modifications may be made to the present disclosure without departing from the scope and spirit of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
200810302226.1 | Jun 2008 | CN | national |