最近在籌畫寫乙個聊天室,所有就了解了一些計算機網路方面的知識,就想著輸出一下……這兩天看到網路的很好的定義:用物理裝置將各個「區域網」相連組成更大的「區域網」。
資料鏈路層
最底層是資料鏈路層,它由裝置驅動和到底層物理媒介的硬體介面。資料鏈路層在物理鏈結上傳輸幀並處理來自接受者的確認。這一層可能會進行物理檢測,重傳以及流量控制。一些資料鏈路層還可能會將大的網路包分割成多個幀並在接受者端對這些幀進行重組。從應用程式程式設計的角度來講通常可以忽略資料鏈路層,因為所有的通訊細節都是由驅動和硬體來處理的。如果是子網路就採用廣播方式傳送,否則採用路由的方式傳送。
這是整個傳送模型:
在應用層通過文字協議進行加密,
在傳輸層加頭,如果是tcp協議,裡面有源埠與目的埠,32位序列號,32位確認序列號,16位視窗大小,16為校驗和……如果是udp幾乎只包含埠。
到了網路層,加頭,裡面有版本號,源ip,目的ip……
到了資料鏈路層,頭裡面就含有目的實體地址,源實體地址,型別……
聊天室需要自己寫乙個應用層的文字協議,簡單的可以寫乙個結構體,也可以用json,xml等來構造。
其實在聊天室的服務端客戶端模型中,socktet 套接字 在建立的時候type
引數選擇tcp或者udp,其實還可以選擇原始套接字,網絡卡的混雜模式,就抓包開始了……,這個一定要寫一篇聊一聊。其他的你是不需要關心的,核心中已經寫好了有關的**,你直接呼叫就ok了。
int socket(int domain, int type, int protocol);
ip位址的分配,這塊還沒聊,那我就簡單說一下。
ipv4,ip協議的版本,現在已經有了ipv6,因為ipv4是32位元組,隨著主機的不斷增多,32為已經不能滿足,所以有了128位的ipv6。是通過ip與子網掩碼的組合,掩碼全為1(10進製255)的地方,代表網路,後部分代表主機。
計算機網路 一 1 計算機網路簡介
1.2.網際網路發展 1.3.網際網路標準化 1.1.網路,網際網路,網際網路 先講一下計算機網路 network 就是將一台以上的計算機互連起來,互連的計算機之間可以實現通訊,實現資訊共享,這就是網路。那麼,什麼是網際網路,網際網路的英文是 internet,它的意思是 網路的網路 是乙個通用名詞...
計算機網路 1
lan local area network 區域網。計算機近距離構成的小型網路。乙太網是區域網的一種技術。乙太網的最簡單的形式就是,一條乙太網電線連線數臺計算機。要傳輸的資訊在網線上以電訊號進行傳輸。在資料傳輸的過程中,有乙個問題。那就是我的目的計算機怎麼知道我的資訊就是傳給它的呢?這個依靠的就是...
(1)計算機網路概述 計算機網路複習筆記
網際網路具有兩個重要的基本特點 連通性和共享。計算機網路由若干結點和連線這些結點的鏈路組成。internet 互連網 是乙個通用名詞,它泛指由多個計算機網路互連而成的計算機網路。internet 網際網路 則是乙個專用名詞,它指當前全球最大的 開放的 由眾多網路相互連線而成的特定互連網,它採用 tc...