導航:首頁 > IDC知識 > im伺服器

im伺服器

發布時間:2020-09-06 23:17:39

1、什麼叫即時通信服務(網路安全)?

什麼是即時通訊?IM是英文Instant Messaging的縮寫,中文翻譯成「即時通訊」,根據美國著名的互聯網術語在線詞典NetLingo的解釋,其定義如下:「Instant Messaging(讀成I-M)縮寫為IM或IMing,它是一種使人們能在網上識別在線用戶並與他們實時交換消息的技術,被很多人稱為電子郵件發明以來最酷的在線通訊方式,典型的 IM是這樣工作的:當好友列表(buddy list)中的某人在任何時候登錄上線並試圖通過你的計算機聯系你時,IM系統會發一個消息提醒你,然後你能與他建立一個聊天會話並鍵入消息文字進行交流。 IM被認為比電子郵件和聊天室更具有自發性,甚至你能在進行實時文本對話的同時一起進行WEB沖浪(surf)。目前有多種競爭的IM服務,不幸的是沒有標准:即你想與之進行即時通訊對話的人必須使用和你一樣的IM系統。另一個不利因素是IM還沒有為安全性使用目的而設計。」

除NetLingo的定義之外,還有一些其他定義,但由於NetLingo在互聯網專業詞彙釋義方面具有比較大的影響,因此基本上都以此定義作為基礎,同時NetLingo是在線更新的詞典,它會經常針對互聯網技術的變化對詞彙釋義進行修改,在本文中對即時通訊的定義就是最新的,以前的定義中並沒有對標准化或者安全問題進行過相關說明。考慮到這些因素,本文將基於此定義進行研究。

即時通訊的出現和互聯網有著密不可分的關系,從技術上來說,IM完全基於TCP/IP網路協議族實現,而TCP/IP協議族是整個互聯網得以實現的技術基礎,最早期的即時通訊雛形可以追溯到芬蘭人Jarkko Oikarinen於1988年發明的一種網路聊天協議IRC(Internet Relay Chat),該協議僅支持文本聊天,並且也不支持好友列表的概念,1996年第一個 IM產品ICQ發明後,即時通訊的技術和功能開始基本成型,其工作原理開始被人們所了解,但不同廠商實現即時通訊技術原理時採用的協議卻有較大的差異,甚至到目前為止世界主要的 IM服務運營商AOL(American Online:美國在線)仍然沒有公布其主要即時通訊產品AIM(American Instant Messenger)的專用協議。雖然如此,但我們仍然可以從一個提供最基本服務的 IM系統開始來描述IM的技術原理,不管目前產品的新功能如何豐富,它必須遵循這些基本原理和結構。

首先,用戶A輸入自己的用戶名和密碼登錄即時通訊伺服器,伺服器通過讀取用戶資料庫來驗證用戶身份,如果用戶名、密碼都正確,就登記用戶A的IP地址、IM客戶端軟體的版本號及使用的TCP/UDP埠號,然後返回用戶A登錄成功的標志,此時用戶A在 IM系統中的狀態為在線(Online Presence)。

其次,根據用戶A存儲在IM伺服器上的好友列表(Buddy List),伺服器將用戶A在線的相關信息發送到也同時在線的即時通訊好友的PC機,這些信息包括在線狀態、IP地址、 IM客戶端使用的TCP埠(Port)號等,即時通訊好友PC機上的即時通訊軟體收到此信息後將在PC桌面上彈出一個小窗口予以提示。

第三步,即時通訊伺服器把用戶A存儲在伺服器上的好友列表及相關信息回送到他的PC機,這些信息包括也在線狀態、IP地址、IM客戶端使用的TCP埠(Port)號等信息,用戶A的PC機上的IM客戶端收到後將顯示這些好友列表及其在線狀態。

接下來,如果用戶A想與他的在線好友用戶B聊天,他將直接通過伺服器發送過來的用戶B的IP地址、TCP埠號等信息,直接向用戶B的PC機發出聊天信息,用戶B的IM客戶端軟體收到後顯示在屏幕上,然後用戶B再直接回復到用戶A的PC機,這樣雙方的即時文字消息就不通過 IM伺服器中轉,而是通過網路進行點對點的直接通訊,這稱為對等通訊方式(Peer To Peer)。在商用即時通訊系統中,如果用戶A與用戶B的點對點通訊由於防火牆、網路速度等原因難以建立或者速度很慢, IM伺服器還提供消息中轉服務,即用戶A和用戶B的即時消息全部先發送到IM伺服器,再由伺服器轉發給對方。早期的IM系統,在IM客戶端和IM伺服器之間通訊採用採用UDP協議,UDP協議是不可靠的傳輸協議,而在 IM客戶端之間的直接通訊中,採用具備可靠傳輸能力的TCP協議。隨著用戶需求和技術環境的發展,目前主流的即時通訊系統傾向於在即時通訊客戶端之間、即時通訊客戶端和即時通訊伺服器之間都採用TCP協議。

2、為什麼登陸客戶端 輸入ID密碼以後老是提示IM伺服器連接失敗,請檢查網路連接呢?

1.網線或者錨可能沒接好
2.路由器沒設置好
3.網路連接屬性沒有設置對
第三個很多人都有遇到,在剛剛開始的時候。
4.主伺服器還為與你那邊連接上,需打電話到當地辦理處咨詢

3、如何搭建一個linux的im追蹤伺服器

1、檢查系統密碼文件首先從明顯的入手,查看一下passwd文件,ls –l /etc/passwd查看文件修改的日期。
awk –F: 『length($2)==0 {print $1}』 /etc/shadow
2、查看一下進程,看看有沒有奇怪的進程
重點查看進程:ps –aef | grep inetd
inetd是UNIX系統的守護進程,正常的inetd的pid都比較靠前,如果你看到輸出了一個類似inetd –s /tmp/.xxx之類的進程,著重看inetd –s後面的內容。在正常情況下,LINUX系統中的inetd服務後面是沒有-s參數的,當然也沒有用inetd去啟動某個文件;而solaris系統中也僅僅是inetd –s,同樣沒有用inetd去啟動某個特定的文件;如果你使用ps命令看到inetd啟動了某個文件,而你自己又沒有用inetd啟動這個文件,那就說明已經有人入侵了你的系統,並且以root許可權起了一個簡單的後門。
輸入ps –aef 查看輸出信息,尤其注意有沒有以./xxx開頭的進程。一旦發現異樣的進程,經檢查為入侵者留下的後門程序,立即運行kill –9 pid 開殺死該進程,然後再運行ps –aef查看該進程是否被殺死;一旦此類進程出現殺死以後又重新啟動的現象,則證明系統被人放置了自動啟動程序的腳本。這個時候要進行仔細查找:find / -name 程序名 –print,假設系統真的被入侵者放置了後門,根據找到的程序所在的目錄,會找到很多有趣的東東,
接下來根據找到入侵者在伺服器上的文件目錄,一步一步進行追蹤。
3、檢查系統守護進程
檢查/etc/inetd.conf文件,輸入:cat /etc/inetd.conf | grep –v 「^#」,輸出的信息就是你這台機器所開啟的遠程服務。
一般入侵者可以通過直接替換in.xxx程序來創建一個後門,比如用/bin/sh 替換掉in.telnetd,然後重新啟動inetd服務,那麼telnet到伺服器上的所有用戶將不用輸入用戶名和密碼而直接獲得一個rootshell。
4、檢查網路連接和監聽埠
輸入netstat -an,列出本機所有的連接和監聽的埠,查看有沒有非法連接。
輸入netstat –rn,查看本機的路由、網關設置是否正確。
輸入 ifconfig –a,查看網卡設置。
5、檢查系統日誌
命令last | more查看在正常情況下登錄到本機的所有用戶的歷史記錄。但last命令依賴於syslog進程,這已經成為入侵者攻擊的重要目標。入侵者通常會停止系統的syslog,查看系統syslog進程的情況,判斷syslog上次啟動的時間是否正常,因為syslog是以root身份執行的,如果發現syslog被非法動過,那說明有重大的入侵事件。
在linux下輸入ls –al /var/log
檢查wtmp utmp,包括messgae等文件的完整性和修改時間是否正常,這也是手工擦除入侵痕跡的一種方法。
6、檢查系統中的core文件
通過發送畸形請求來攻擊伺服器的某一服務來入侵系統是一種常規的入侵方法,典型的RPC攻擊就是通過這種方式。這種方式有一定的成功率,也就是說它並不能100%保證成功入侵系統,而且通常會在伺服器相應目錄下產生core文件,全局查找系統中的core文件,輸入find / -name core –exec ls –l {} \; 依據core所在的目錄、查詢core文件來判斷是否有入侵行為。
7、檢查系統文件完整性
檢查文件的完整性有多種方法,通常我們通過輸入ls –l 文件名來查詢和比較文件,這種方法雖然簡單,但還是有一定的實用性。但是如果ls文件都已經被替換了就比較麻煩。在LINUX下可以用rpm –V `rpm –qf 文件名` 來查詢,查詢的結果是否正常來判斷文件是否完整。

4、手機出現im伺服器切換中

據我所知,在MSN系統中,Client首先會連接一個固定的伺服器,此伺服器會返回一個新的連接伺服器地址給Client,而後Client會重新連接到新的務器地址並開始登錄。我想這樣做是伺服器端做到一個負載平衡的功能,也就是說有一個負載平衡伺服器,有多個登錄伺服器。最終Client保持連接的是登錄服務鰲
但是如果ClientA連接的是登錄伺服器A,而CientB連接的是登錄伺服器B,而ClientA和ClientB是好友,他們的在線狀態是怎麼得到的?
如果Client的數量比較少,那麼登錄伺服器之間可以傳遞消息告知對方。但是當上萬或者更多的時候。就不應該這樣處理了。
那麼有什麼方式來實現類似的伺服器網路結構中Client之間在線狀態的實時顯示呢?
(wyu2000 AT gmail.com)

正是我現在要面對的問題.

我現在准備採取的策略是:
由客戶端主動通知好友。

A 連接到 Login Server A 後。

我們假設A已經從主伺服器獲得了 好友列表,以及好友狀態。

那麼A可以主動發送LoginServerA 通知 在線好友B。

LoginServer的通知過程可以用如下方法:
ServerA,檢索到好友B的登陸伺服器(可以向主伺服器請求Client B的登陸伺服器,或者可以採用特定的ID演算法,根據用戶的ID計算出用戶B的登陸伺服器)
ServerA 發送一個ClientA登陸的消息給Server B,要求ServerB將該消息,轉發給 Client B

大家給點意見。

目前我做的IM系統是通過伺服器之間轉發實現的,想想也沒什麼更好的辦法,理論上每個Server可以達到幾萬,不過現實中,只有幾十個用戶/台。

引用

我提個方案:
首先做以下假設:
(1)維護100萬在線用戶的狀態需要多大的內存空間?
(2)從100萬在線用戶中檢索出自己需要的數據需要多少時間?

第一個問題我們可以這樣來定性:
設每用戶佔用的內存空間為:
SessionID會話標識(int)+AccountID用戶賬號ID(int)+loginTime登錄時間(long)+其它狀態(假設用4個byte型幢昝4個狀態)=20位元組
100萬用戶*20位元組=20,000,000(位元組)=19,531.25K==19M(約)
注:一條記錄就表示一個在線用戶;

(我靠,我的計算是不是有錯誤,一台386的內存都夠了.....)
看上去,似乎用一台伺服器做狀態伺服器是沒有什麼問題的;

第二個問題,我們這樣來定性:
假設在伺服器端的內存中使用如hashTable這樣的存儲結構來保存用戶的會話狀態,hashTable的讀操作為0/m復雜度,從100萬個記錄中讀取一條鍬嫉難爸肥奔淠鞘竅嗟鋇目斕,快到無法用毫秒來計算,只能用tick(一個CPU的時鍾滴答)來計算。1個毫秒=10,000個tick(毫微秒),(has環Table的操作平均值是多少我沒有統計過不好意思。我就猜個值吧:假設平均為100個tick),如果每次存取hashtable要花費100Tick,另庠詡由弦恍┮滴翊淼氖奔洌桶床僮饕淮問荼硪1個毫秒來計算吧。
那麼1秒鍾的時間內就可以處理1000次用戶的查詢操作;
問題是如果100萬用戶同時來查詢我們該怎麼辦?
我想可以做負載均衡及伺服器集群,當然還要涉汲到網路介面的流量限制,說來就話很長了。
總之,第二個問題看起來,似乎是我們可以通過其它的手段將單台伺服器無法處理的工作量分攤到多台伺服器中去進行;

於是可以得出第一個背景結論:
設置一台伺服器將其做為用戶狀態伺服器,用於記錄系統中所有用戶是否在線等狀態信息;通過對伺服器製作集群來分攤訪問壓力;

現在我們就可以做以下比較形象的結論和假設了:
(1)一個用戶要查詢自己所有好友的在線狀態,那麼這個用戶向剛才所說到的狀態伺服器發送一條查詢消息,伺服器可以很快的返回用戶的狀態給客戶;
(2)用戶在登錄系統後通知狀態伺服器自己已經登陸了。
(3)用戶如果從某台具體的功能伺服器掉線後,則由這台伺服器通知狀態伺服器用戶掉線;
(4)用戶可能會在多台功能伺服器中來回切換,由客戶端與伺服器端共同協作以判斷用戶是為否掉線;
(5)用戶定期向狀態伺服器報告自己的存活狀態,如果長時間不報告,則狀態伺服器把用戶從自己的內存狀態表中刪除;

以上我的瞎解,不一定對,必競自己沒有做過,僅供參考。

5、IM軟體原來的測試IP 是127.0.0.1,我們要上伺服器使用,請問這個域,怎麼修改

127.0.0.1是保留地址,是每台機子的保留地址,客戶端你測這個地址當然通了,因為每台機子都有這個保留地址,我不知道這個IM軟體的用法,我覺得哥們你被騙了。

6、100萬用戶同時在線IM通訊系統需要多大容量伺服器?伺服器配置 購買伺服器 伺服器容量

100萬人及以上的及時通信系統
對於伺服器本身都的要求都不是最重要的了,那隻是你的這個整體方案中的一部分了,最主要的就是整體系統的搭建
現在主流的這種網路應用解決方案主選品牌只有IBM DELL HP 三種
要搭建這個主要需要的設備有:1,中心數據存儲,不建議光纖SCS數據傳輸方式,現在主流的這種類型主要都是使用ISCS鏈接,成本低速度也不遜色光纖;2,交換機;3,伺服器;4,終端機
可以去www.dell.com.cn裡面去看下各種產品的資料
因為我也只是比較了解戴爾的產品所以就簡單的用戴爾的來介紹下
中心數據存儲,如果預算充足是可以考慮下DELL的目前全球最先進的EQL系列產品,如果普通的話直接用MD3000I系列還是不錯的,用MD3000I做數據儲存陣列,利用ISCS 通過交換機鏈接到前段伺服器,伺服器可以考慮主流的R710系列或者更高端的R900
這樣一套下來,如果還要做雙機熱備,容災我想應該不用了,MD3000I按照8台來算,交換機4台,前段伺服器至少10台,終端PC機器根據具體需求來配置,其中還要配置軟體
這樣預算下來的話大約在150萬-180左右
其實這個只是一個大眾化的解決方案
有興趣了解的話可以留下你的聯系方式,深入探討下

7、什麼是IM軟體

IM是Instant Messaging的縮寫,中文名:即時通訊軟體。

即時通訊軟體是通過即時通訊技術來實現在線聊天、交流的軟體。目前有2種架構形式,一種是C/S架構,採用客戶端/伺服器形式,用戶使用過程中需要下載安裝客戶端軟體,典型的代表有:微信、QQ、百度HI 、Skype 、Gtalk、新浪UC、MSN等。

即時通訊功能,你可以知道你的親友是否正在線上,及與他們即時通訊。即時通訊比傳送電子郵件所需時間更短,而且比撥電話更方便,無疑是網路年代最方便的通訊方式。

(7)im伺服器擴展資料

最早的即時通訊軟體是ICQ,ICQ是英文中I seek you的諧音,意思是我找你。四名以色列青年於1996年7月成立Mirabilis公司,並在11月份發布了最初的ICQ版本,在六個月內有85萬用戶注冊使用。

早期的ICQ很不穩定,盡管如此,還是受到大眾的歡迎,雅虎也推出Yahoo! pager,美國在線也將具有即時通訊功能的AOL包裝在Netscape Communicator,而後微軟更將Windows messenger內建於Microsoft Windows XP作業系統中。

8、普通伺服器可以作為im(即時通訊)伺服器嗎

可以啊,看您的需求,可以租用不同的配置,大部分需求都是可以滿足的哦。我就是做伺服器這款的

9、伺服器的im是什麼,在哪重啟

stantMessaging(即時通訊,實時傳訊)的縮寫是IM,這是一種可以讓使用者在網路上建立某種私人聊天室(chatroom)的實時通訊服務。大部分的即時通訊服務提供了狀態信息的特性——顯示聯絡人名單,聯絡人是否在線及能否與聯絡人交談。目前在互聯網上受歡迎的即時通訊軟體包括百度hi、QQ、MSN Messenger、AOL Instant Messenger、Yahoo! Messenger、NET Messenger Service、Jabber、ICQ等。

天互數據 為您解答,希望能幫到你

10、請問架設一個支持1萬用戶同時在線的IM通信系統需要什麼樣的伺服器?

普通配置即可,100M獨享帶寬足夠,電信線路,這個就是基本要求.

與im伺服器相關的知識