鏈路層是做什麼的?

2021-09-11 13:21:33 字數 1430 閱讀 6130

為ip模組傳送和接收ip資料報

為arp模組傳送arp請求和接收arp應答

為rarp傳送rarp請求和接收rarp應答

區域網採用的通訊協議標準,封裝格式詳見 rfc 894。

乙太網鏈路層協議:slip(serial line ip 序列線路ip)、ppp(點對點協議)
ieee制定的區域網和都會網路通訊協議標準,封裝格式詳見 rfc 1042。

幀格式的規則為:

缺點是:

如果只傳1個位元組資料它需要額外包裝20個ip首部20個tcp首部,為了節省,提出cslip(壓縮),能將這40個位元組壓縮到3到5個,詳見 rfc 1144
點對點是指1條鏈路上就乙個通訊端和接收端,比如兩個路由器通過串列埠相連

幀格式規則為:

轉義字元:防止某些通訊雙方的序列介面驅動程式或者數據機吧控制字元解釋成特殊字元,另外用鏈路控制協議指定是否要對某些值(小於0x20)進行轉義。一般情況下,字元值小於0x20都會轉義
同步鏈路:以幀為單位傳輸(每幀大小不固定)
非同步鏈路:以字元為單位傳輸(傳輸大小是固定的,比如8位元組),傳輸的首尾分別增加起始符合結束符
零位元填充技術:邊界符0x7e二進位制表示為 01111110,每當接受到5個1時就插入1個0,接收的時候遇到5個1再把後面的0刪掉

相對slip的優點:

迴圈冗餘檢驗:把原始的資料當做乙個二進位制,接收方和傳送方選定乙個除數,假定除數有4位,在原始資料二進位制後新增3個0當做被除數,將除的結果餘數(位數必須等於除數的位數減1,少了高位補0)替換掉原來增加的3個0,作為資訊傳送出去,接收方使用相同的除數去除(摸2除法,不借位不進製),如果發現餘數為0,認為資訊傳遞沒有問題
設定:身份驗證、壓縮等等

與環迴驅動互動影響的主要是流程1-7
網路層輸出ip資料

輸出函式發現目的地是環迴位址則交給環迴驅動程式處理

環迴程式又將ip資料報為ip輸入函式進入網路層

廣播和多播的資料報必須複製乙份給環迴介面

廣播和多播的資料同時上傳乙太網

任何給主機ip的資料均送到環迴介面

通過乙太網傳送到目的主機

環迴驅動使得同一臺機器上的服務端和客戶端能通過tcp/ip進行通訊。

最大傳輸單元。鏈路層[乙太網(1500位元組)和802.3(1492位元組)]對資料幀的長度存在限制。

路徑mtu:兩台主機中的路由不同,而每個網路鏈路層的mtu可能不同,這樣的通訊主機之間的最小mtu為路徑路由

lipo 是做什麼的

lipo create release iphoneos libiphone.a debig iphonesimulator libiphone.a output libiphone.a 看到這樣的命令列,你會怎樣理解呢。很簡單,我將模擬器和裝置的靜態庫檔案合併成乙個檔案輸出了,以後在發布可以庫的時...

他是做什麼的?

他是做什麼的?楓華網路從默默無聞到現在這樣默默地火了。我每天都在瘋狂地為客戶建立著檔案,安排課程培訓時間,協助新客戶付款。客戶都自覺自願地在這裡預約,排隊,毫無怨言。我顧不上整理客戶案例,顧不上寫成我的心聲,顧不上出門旅遊。太多的時候,我想登高而呼,可是單子紛沓而至,我顧不上。今天,這個風和日麗的週...

eval 是做什麼的?

把字串引數解析成js 並執行,並返回執行的結果 例如 1 eval 2 3 執行加運算,並返回運算值。2 eval varage 10 宣告乙個age變數 例如1 functiona a console.log x 輸出1 應該避免使用eval,不安全,非常耗效能 2次,一次解析成js語句,一次執行...