اگه بخواید از سرویس های پابلیک مثل Yahoo ,MSN, Google استفاده کنید ، نه. فقط کافیه از یه کتابخونۀ مخصوص (مثل agsXMPP ، MSNSharp و ...) استفاده کنید.
اما اگه بخواید از صفر ، خودتون یه client/server بنویسید ، بله.
نه ، شما فقط نیاز به دونستن پورت و IP طرف مقابل دارید ، همین. (حتی روی یک ویندوز هم می تونید همچین کاری بکنید)