Replacing a pattern using variable?

ip1="xxx"
ip2="bbb"

sed 's/$ip1/$ip2/g'

sed s/"$ip1"/"$ip2"/g filename

Hi,
Double quote doesn't work but single quote works fine...........

Thank you.......

no quote also work fine

 
TEST>echo "xxx" |sed s/$ip1/$ip2/g
bbb