Claims
- 1. A method of determining a source of an Internet protocol (IP) packet, comprising the steps of:
comparing a destination address of said IP packet to a first destination address stored within a first destination address cell of a memory, and comparing a destination port of said IP packet to a first destination port stored within a first destination port cell of said memory; comparing a source address of said IP packet to a first source address stored within a first source address cell of said memory, and comparing a source port of said IP packet to a first source port stored within a first source port cell of said memory, wherein said stored first source address and said stored first source port are associated with said stored first destination address and said stored first destination port; and storing said source address and said source port of said IP packet within said memory to determine said source of said IP packet if:
said destination address and said destination port of said IP packet match said stored first destination address and said stored first destination port; said source address and said source port of said IP packet do not match said stored first source address and said stored first source port; and said stored first source address and said stored first source port are universal bits, wherein universal bits are bits that except any value.
- 2. The method of claim 1, further comprising the steps of:
removing a first header from said IP packet, wherein said first header comprises said source address of said IP packet and said destination address of said IP packet; and removing a second header from said IP packet, wherein said second header comprises said source port of said IP packet and said destination port of said IP packet.
- 3. The method of claim 1, further comprising the step of replacing said source address, said destination address, said source port, and said destination port of said IP packet with translation addresses if said source address, said destination address, said source port, and said destination port of said IP packet are the same as said stored first source address, said stored first destination address, said stored first source port, and said stored first destination port.
- 4. The method of claim 1, further comprising the step of replacing said source address, said destination address, said source port, and said destination port of said IP packet with translation addresses if said destination address and said destination port of said IP packet are the same as said stored first destination address and said stored first destination port, and said stored first source address and said stored first source port are universal bits.
- 5. The method of claim 1, wherein said memory is a content addressable memory.
- 6. The method of claim 1, wherein a first table group stored within said memory comprises said stored first destination address, said stored first destination port, said stored first source address and said stored first source port, said first table group being assigned a first weight value, said memory having a second table group comprising a stored second destination address, a stored second destination port, a stored second source address and a stored second source port, wherein said stored second source address and said stored second source port are universal cells, and said second table group being assigned a second weight value, said method further comprising the steps of:
prior to said step of storing said source address and said source port of said IP packet, comparing said source address, source port, destination address, and destination port of said IP packet to said first table group and said second table group; and if said source address, source port, destination address, and destination port of said IP packet are the same as said first table group, and said destination address and destination port of said IP packet are the same as said stored second destination address and said stored second destination port, comparing said first weight value to said second weight value, and not performing said step of storing said source address and said source port of said IP packet if said first weight value is larger than said second weight value.
- 7. The method of claim 6, wherein a table group comprising universal bits has a lower weight value than a table group not comprising universal bits.
- 8. The method of claim 1, wherein a first table group stored within said memory comprises said stored first destination address, said stored first destination port, said stored first source address, said stored first source port and a latch flag, wherein said stored first source address and said stored first source port are universal bits, said step of storing said source address and said source port of said IP packet within said memory further comprising the steps of:
storing said source address, said source port, said destination address and said destination port of said IP packet within a new table group, wherein said new table group does not have a latch flag; and deleting said first table group.
- 9. The method of claim 9, wherein a first weight value is associated with said first table group, and wherein said new table group is assigned a new weight value that is higher than said first weight value.
- 10. A system for determining a source of an Internet protocol (IP) packet, comprising:
a memory; and a processor, wherein said processor performs the steps of:
comparing a destination address of said IP packet to a first destination address stored within a first destination address cell of said memory, and comparing a destination port of said IP packet to a first destination port stored within a first destination port cell of said memory; comparing a source address of said IP packet to a first source address stored within a first source address cell of said memory, and comparing a source port of said IP packet to a first source port stored within a first source port cell of said memory, wherein said stored first source address and said stored first source port are associated with said stored first destination address and said stored first destination port; and storing said source address and said source port of said IP packet within said memory to determine said source of said IP packet if:
said destination address and said destination port of said IP packet match said stored first destination address and said stored first destination port; said source address and said source port of said IP packet do not match said stored first source address and said stored first source port; and said stored first source address and said stored first source port are universal bits, wherein universal bits are bits that except any value.
- 11. The system of claim 10, wherein said processor further performs the steps of:
removing a first header from said IP packet, wherein said first header comprises said source address of said IP packet and said destination address of said IP packet; and removing a second header from said IP packet, wherein said second header comprises said source port of said IP packet and said destination port of said IP packet.
- 12. The system of claim 10, wherein said processor replaces said source address, said destination address, said source port, and said destination port of said IP packet with translation addresses if said source address, said destination address, said source port, and said destination port of said IP packet are the same as said stored first source address, said stored first destination address, said stored first source port, and said stored first destination port.
- 13. The system of claim 10, wherein said processor replaces said source address, said destination address, said source port, and said destination port of said IP packet with translation addresses if said destination address and said destination port of said IP packet are the same as said stored first destination address and said stored first destination port, and said stored first source address and said stored first source port are universal bits.
- 14. The system of claim 10, wherein a first table group stored within said memory comprises said stored first destination address, said stored first destination port, said stored first source address and said stored first source port, said first table group having a first weight value, said memory having a second table group comprising a stored second destination address, a stored second destination port, a stored second source address and a stored second source port, wherein said stored second source address and said stored second source port are universal cells, and said second table group having a second weight value, said processor further performing the steps of:
prior to said step of storing said source address and said source port of said IP packet, comparing said source address, source port, destination address, and destination port of said IP packet to said first table group and said second table group; and if said source address, source port, destination address, and destination port of said IP packet are the same as said first table group, and said destination address and destination port of said IP packet are the same as said stored second destination address and said stored second destination port, comparing said first weight value to said second weight value, and not performing said step of storing said source address and said source port of said IP packet if said first weight value is larger than said second weight value.
- 15. The system of claim 14, wherein a table group comprising universal bits has a lower weight value than a table group not comprising universal bits.
- 16. The system of claim 10, wherein a first table group stored within said memory comprises said stored first destination address, said stored first destination port, said stored first source address, said stored first source port and a latch flag, wherein said stored first source address and said stored first source port are universal bits, said step of storing said source address and said source port of said IP packet within said memory further comprising the step of:
said network processor storing said source address, said source port, said destination address and said destination port of said IP packet within a new table group, within said memory, wherein said new table group does not have a latch flag; and deleting said first table group.
- 17. The system of claim 16, wherein a first weight value is associated with said first table group, and wherein said new table group is assigned a new weight value that is higher than said first weight value.
- 18. A system for determining a source of an Internet protocol (IP) packet, comprising:
means for comparing a destination address of said IP packet to a first destination address stored within a first destination address cell of a memory, and for comparing a destination port of said IP packet to a first destination port stored within a first destination port cell of said memory; means for comparing a source address of said IP packet to a first source address stored within a first source address cell of said memory, and for comparing a source port of said IP packet to a first source port stored within a first source port cell of said memory, wherein said stored first source address and said stored first source port are associated with said stored first destination address and said stored first destination port; and means for storing said source address and said source port of said IP packet within said memory to determine said source of said IP packet if:
said destination address and said destination port of said IP packet match said stored first destination address and said stored first destination port; said source address and said source port of said IP packet do not match said stored first source address and said stored first source port; and said stored first source address and said stored first source port are universal bits, wherein universal bits are bits that except any value.
- 19. The system of claim 18, further comprising:
means for removing a first header from said IP packet, wherein said first header comprises said source address of said IP packet and said destination address of said IP packet; and means for removing a second header from said IP packet, wherein said second header comprises said source port of said IP packet and said destination port of said IP packet.
- 20. The system of claim 18, further comprising means for replacing said source address, said destination address, said source port, and said destination port of said IP packet with translation addresses if said source address, said destination address, said source port, and said destination port of said IP packet are the same as said stored first source address, said stored first destination address, said stored first source port, and said stored first destination port.
- 21. The system of claim 18, further comprising means for replacing said source address, said destination address, said source port, and said destination port of said IP packet with translation addresses if said destination address and said destination port of said IP packet are the same as said stored first destination address and said stored first destination port, and said stored first source address and said stored first source port are universal bits.
- 22. The system of claim 18, wherein a first table group stored within said memory comprises said stored first destination address, said stored first destination port, said stored first source address and said stored first source port, said first table group having a first weight value, said memory having a second table group comprising a stored second destination address, a stored second destination port, a stored second source address and a stored second source port, wherein said stored second source address and said stored second source port are universal cells, and said second table group having a second weight value, said system further comprising:
means for comparing said source address, source port, destination address, and destination port of said IP packet to said first table group and said second table group; and means for comparing said first weight value to said second weight value.
- 23. The system of claim 18, wherein a first table group stored within said memory comprises said stored first destination address, said stored first destination port, said stored first source address, said stored first source port and a latch flag, wherein said stored first source address and said stored first source port are universal bits, said system further comprising:
means for storing said source address, said source port, said destination address and said destination port of said IP packet within a new table group, wherein said new table group does not have a latch flag; and means for deleting said first table group.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application incorporates by reference U.S. patent application entitled, “System and Method for Determining Flow Quality Statistics for Real-Time Transport Protocol Data Flows,” filed on Jul. 23, 2001, and having Ser. No. 09/911,256; U.S. patent application entitled, “System and Method for Providing Rapid Rerouting of Real-Time Multimedia Flows,” filed on Jul. 23, 2001, and having Ser. No. 09/911,304; U.S. patent application entitled, “System and Method for Providing Encryption for Rerouting of Real-Time Multimedia Flows,” filed on Aug. 28, 2001, and having Ser. No. 09/941,229; and U.S. patent application entitled, “System and Method for Improving Communication Between a Switched Network and a Packet Network,” filed on Nov. 2, 2001, having serial number (To Be Assigned) and attorney docket number 050115-1110, all of the foregoing disclosures of which are incorporated by reference herein in their entirety.