婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > linux對于UDP的學習

linux對于UDP的學習

熱門標簽:寧夏房產智能外呼系統要多少錢 400電話申請方案 貴陽教育行業電話外呼系統 藍點外呼系統 威海人工外呼系統供應商 在百度地圖標注車輛 烏海智能電話機器人 撫順移動400電話申請 做外呼系統的公司違法嗎

一、UDP、linux基礎介紹

套接字:就是IP地址+端口號

IP地址:4字節
端口號:2字節,也就是說范圍是0~65535
端口號分為:知名端口號、一些固定的端口號
知名端口號
0--1023:http,ssh,ftp,telnet等一些協議端口號都是固定的,對于操作系統來說是不能對其進行分配的

一些固定的端口號

ssh服務器,使用22端口
ftp服務器,使用21端口
telnet服務器,使用23端口
http服務器,使用80端口
https服務器,使用443端口
操作系統動態分配的端口號
客戶端服務器的端口號,這個范圍的端口號操作系統可以對其進行分配

查看端口號

less /etc/services
 //就可以查看Linux下所有的端口號了

IP地址的理解:
IP地址用來標識一個主機

端口號的理解:
端口號就是用來告訴操作系統要對于那一個進程進行操作,也就是說端口號就是用來標識一個進程
一個端口號只可被一個進程所占用,但是一個進程可以擁有多個端口號,也就是進程和端口號是一對多的關系
當我們寫一個程序使用端口號的時候,要避開這些知名端口號

【問題】

(1)一個進程是否可以bind多個端口號呢?
可以,因為一個進程可以打開多個文件描述符,而每一個文件描述符都對應著一個端口號,所以一個進程可以綁定多個端口號

(2)一個端口號是否可以被多個進程bind?
不可以
如果一個進程先綁定一個端口號,然后再fork一個子進程,這樣的話就實現了多個進程綁定一個端口號,但是不同的進程綁定同一個端口號是不可以的
TIME_WAIT狀態,服務器不能立即重啟也說明不用進程不能同時綁定同一個端口號

(3)多個進程可以監聽同一個端口號嗎?
可以。監聽之前要進行創建套接字->綁定ip::端口號->監聽。我們可以在bind之前使用setsockopt函數,設置套接字選項,其中就包括REUSEADDR這個選項,表明多個進程可以復用bind函數中指定的地址和端口號
所以套接字就可以準確的標識一臺主機上的一個進程,從而完成計算機之間的通信(主機A的某個進程與主機B上的另一個進程進行通信

 網絡字節序轉換:
對于數據在網絡中傳輸的時候有著自己遵循的傳輸規則大端傳輸
對于主機上的數據的傳輸序列有著兩種:
大端:即高位字節序放在低地址上
小端:即低位字節序放在低地址上
傳輸:均是先傳輸低地址上的數據然后是高地址上的數據
所以對于主機上的數據傳輸的時候傳輸到網絡上的時候有可能導致數據錯誤(例如主機上是小端的時候,所以需要進行轉換)

轉換函數:

uint32_t htonl(uint32_t hostlong);
uint16_t htons(uint16 hostshort);
uint32_t ntohl(uint32_t netlong);
uint16_t ntohs(uint16_t netshort);
h:表示主機host name
n:表示網絡network
l:表示4字節long
s:表示2字節short

地址轉換函數:

字符串轉化為in_addr
in_addr_t inet_addr(const char* strptr)
in_addr轉化為字符串
char* inet_ntoa(struct in_addr inaddr)

具有不可重入性,也就是不可多次調用,因為該函數自己在靜態區開辟一塊空間用來存放IP地址字符串的

 UDP協議:
UDP協議端格式

  • 16為UDP長度,表示整個數據報(UDP首部+UDP數據)的最大長度(64KB)
  • 檢驗和:如果校驗和出錯,就會直接丟棄(檢驗的是把首部和數據部分一起都檢驗)
  • 校驗值首先在數據發送方通過特殊的算法計算得出,在傳遞到接收方之后,還要在重新計算。如果某個數據報在傳輸過程中被第三方篡改或者由于線路噪音等原因受到損壞,發送和接收方的校驗計算值將不會相符,由此UDP協議可以檢驗是否出錯。
  • 源端口號:在對方回信是選用,不需要時可用全0
  • 目的端口號:在終點交付報時必須要用到
  • 長度:UDP用戶數據報的長度,其最小值是8(僅有首部)

UDP的特點:

  • 無連接:直到對端的IP和端口號就直接進行傳輸,不需要建立連接
  • 不可靠:沒有確認機制,沒有重傳機制;因為沒有網絡故障該段無法發送到對方,UDP協議層也不會給應用層返回任何錯誤信息
  • 面向數據報:不能夠靈活的控制讀寫數據的次數和數量
  • 控制選項較少,數據傳輸過程中延遲小,數據傳輸效率高
  • 面向數據報
  • 應用層交給UDP多長的報文,UDP原樣發送,既不會拆分也不會合并

例:用UDP傳輸100個字節的數據
如果發送端調用一次sendto,發送100個字節。那么接收端也必須調用對應的一次recvfrom,接收100字節;而不能循環調用10次recvfrom,每次發送10個字節
UDP的緩存區
UDP沒有發送緩存區,調用sendto之后會直接交給內核,由內核·將數據傳給網絡層協議進行后續的傳輸動作。因為UDP是不面向連接的,所以沒有重發機制,也就不需要發送緩存區將已經發送的數據保存下來為了發送失敗進行重傳做準備
UDP具有接收緩存區。但是這個接收緩存區不能保證收到的UDP報的順序和發送UDP報的順序一致;如果緩存區滿了,在到達的UDP數據就會被丟棄
UDP的Socket既能讀,也能寫,全雙工

UDP的使用注意事項:
UDP協議首部中有一個16位的最大長度,也就是說一個UDP能傳輸的數據的最大長度是64K(包含UDP首部)。但是64K在當今的互聯網環境下,是一個非常小的數字。如果我們需要傳輸的數據超過64K,就需要應用層手動的分包,多次發送,并在接收端拼裝
UDP首部中校驗和的計算方法有些特殊。在計算校驗和時,要在UDP用戶數據報之前增加12個字節的偽首部
偽首部既不向下傳輸也不想上遞送,而僅僅是為了計算校驗和
與IP數據報的校驗和只檢驗IP數據報的首部不同,UDP的校驗和是把首部和數據部分一起都檢驗

偽首部:

基于UDP的應用層的協議:

  • NFS:網絡文件系統
  • TFTP:簡單文件傳輸文件協議
  • DHCP:動態主機配置協議
  • DNS:域名解析協議

用UDP實現可靠傳輸?

  • 參考TCP的可靠性機制,在應用層實現類似的邏輯
  • 引用序列號,保證數據順序
  • 引入確認應答,確保對端收到了數據
  • 引入超時重傳,如果隔一段時間沒有應答,就重發數據

二、對于各函數使用

1、對于socket函數的使用

1.1 函數原型

int socket(int domain, int type, int protocol);
domain: 領域
    AF_INET:IPV4
    AF_INET6:IPV6
type: 類型
    SOCK_STREAM
    SOCK_DGARM
protocol: 協議

1.2 函數的作用
在通信領域中創建一個未被綁定的套接字,并且返回一個文件描述符,可以在以后對套接字進行操作的函數調用中使用

2、 對于bind函數的使用

2.1 函數原型
int bind(int socket, const struct sockaddr* address, socklen_t address_len);
2.2. 函數的作用
該函數采用先前創建好的套接字來對于IP地址以及端口號進行綁定,也就是表示該套接字可以標識出在一個網絡中一臺確定的主機并且主機中的進程

3、 對于recvfrom函數的使用

3.1 函數原型

ssize_t recvfrom(int socket, void* restrict buffer, size_t length, 
                 int flags, struct sockaddr* restrict address, 
                socklen_t* restrict address_len);
​
socket:要接受那一個套接字的消息
buffer:用來接收消息的緩存區
length:接收的消息的長度
flags:類型
address:空指針或者存儲發送信息的sockaddr結構
addless_len:指定地址參數指向的sockaddr結構的長度

3.2 函數的作用 
用來接收從socket套接字發送來的消息。該套接字的sockaddr結構也知道

4、 對于sendto函數的使用

4.1 函數原型
ssize_t recvfrom(int socket, const void* message, size_t length,
                 int flags, const struct sockaddr* dest_addr,
                socklen_t* dest_len);
4.2 函數的作用
該函數是socket套接字從dest_addr出接收消息

三、 擴展知識

1、 netstat

netstat是一個用來監控TCP/IP網絡非重要工具
語法:netstat [選項]
功能:查看網絡狀態

選項:
-a,顯示所有連線的Socket
-c,持續列出網絡狀態
-n,直接使用ip地址,而不通過域名服務器,也就是顯示為數字
-l,顯示監控中的服務器的Socket,僅列出監聽(Listen)狀態下的Socket
-p,顯示正在使用Socket的程序的識別碼和名稱(PID/Program name)
-t,顯示TCP傳輸協議的連線狀況
-u,顯示UDP傳輸協議的連線狀況
-v,顯示指令執行過程
-V,顯示版本信息
-x,顯示UNIX傳輸協議的連線狀況
-s,顯示網絡工作信息統計表
-h,在線幫助

2、 pidof

查看服務器進程id是非常方面

語法:pisdof [進程名]

功能:通過進程名,查看進程id

到此這篇關于linux對于UDP的學習的文章就介紹到這了,更多相關linux內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:松原 慶陽 周口 那曲 泰州 銅川 蕪湖 朝陽

巨人網絡通訊聲明:本文標題《linux對于UDP的學習》,本文關鍵詞  linux,對于,UDP,的,學習,linux,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《linux對于UDP的學習》相關的同類信息!
  • 本頁收集關于linux對于UDP的學習的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美精品一区二区三区蜜桃视频| 国产一区免费电影| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美激情艳妇裸体舞| 99re这里都是精品| 免费人成网站在线观看欧美高清| 成人美女在线观看| 奇米综合一区二区三区精品视频| 国产精品国产三级国产aⅴ原创| 欧美日韩国产大片| 欧美一区二区观看视频| 国产成a人亚洲精| 国产精品一区免费在线观看| 亚洲丝袜精品丝袜在线| 一区二区不卡在线播放| 亚洲日本一区二区| 综合网在线视频| 亚洲精品日韩一| 国产精品的网站| 中文字幕在线观看一区| 五月天婷婷综合| 91色九色蝌蚪| 日韩精品一卡二卡三卡四卡无卡| 亚洲成人你懂的| 97久久精品人人爽人人爽蜜臀| 欧美mv日韩mv国产网站| 久久99精品国产麻豆婷婷洗澡| 一区二区三区美女视频| 亚洲一区二区在线观看视频 | 国产成人福利片| 久久久精品国产99久久精品芒果| 欧美精品日韩精品| 欧美中文一区二区三区| 中文字幕一区二区在线播放| 亚洲自拍偷拍综合| 亚洲精选在线视频| 国产亚洲制服色| 99热99精品| 在线不卡一区二区| 91传媒视频在线播放| 色婷婷久久一区二区三区麻豆| 91免费小视频| 精品欧美久久久| 久久久国产精华| 亚洲女同女同女同女同女同69| 久久精品久久精品| 盗摄精品av一区二区三区| 欧美疯狂性受xxxxx喷水图片| 久久综合久色欧美综合狠狠| 欧美在线色视频| 青青草97国产精品免费观看| 欧洲一区二区三区在线| 一级女性全黄久久生活片免费| 波多野洁衣一区| 国产色产综合色产在线视频| 九九国产精品视频| 中文字幕精品—区二区四季| 国产成人在线视频网址| 欧美日韩在线播| 国产精品久久久久久久浪潮网站 | 精品不卡在线视频| 亚洲chinese男男1069| 欧美日韩和欧美的一区二区| 亚洲啪啪综合av一区二区三区| 日韩网站在线看片你懂的| 国产精品一区二区久激情瑜伽| 亚洲三级电影网站| 国内精品在线播放| 激情国产一区二区 | 亚洲夂夂婷婷色拍ww47| 国产精品天美传媒| 麻豆成人在线观看| 欧美色成人综合| 国产精品传媒在线| 色婷婷精品久久二区二区蜜臂av| 日韩av在线播放中文字幕| 中文字幕一区二区三区精华液| 制服丝袜av成人在线看| 在线视频你懂得一区二区三区| 风流少妇一区二区| 九色综合狠狠综合久久| 一区二区三区中文字幕电影| 欧美va日韩va| 欧美三级在线看| 国产一区久久久| 精品国产成人在线影院| caoporm超碰国产精品| 一区二区在线观看免费视频播放| 91小视频免费看| 久久久久国产精品厨房| 亚洲美女视频在线| 日韩欧美激情在线| 国产精品三级av| 国产一区二区三区视频在线播放| 高清av一区二区| 日韩欧美123| 日本久久一区二区三区| 国产日韩在线不卡| 成人h精品动漫一区二区三区| 久久久久99精品一区| 亚洲一区二区三区四区五区黄| 久久亚洲精品小早川怜子| 一区二区三区不卡视频| 日本一区二区三区dvd视频在线| 国产午夜精品一区二区三区嫩草 | 99久久综合色| 另类小说图片综合网| 91精品国产综合久久精品麻豆 | 精品久久久久久综合日本欧美| jiyouzz国产精品久久| 亚洲女同ⅹxx女同tv| 日韩欧美激情四射| 国产精品亲子伦对白| 欧美精品一区二区久久久| 欧美影院一区二区三区| 宅男在线国产精品| 美女视频一区二区| 欧美mv日韩mv| 国产91精品在线观看| 国产欧美一区二区三区在线看蜜臀| 日韩综合小视频| 亚洲国产视频一区| 亚洲国产裸拍裸体视频在线观看乱了 | 激情综合色播激情啊| 一区二区日韩电影| 亚洲国产综合91精品麻豆| 欧美精品黑人性xxxx| 日韩午夜电影在线观看| 久久精品水蜜桃av综合天堂| 亚洲女与黑人做爰| 国产jizzjizz一区二区| 欧美一区二区三区喷汁尤物| 欧美激情一区二区在线| 午夜视频一区二区| 91亚洲大成网污www| 国产精品人人做人人爽人人添| 日本不卡一二三| 欧美色手机在线观看| 国产精品美女www爽爽爽| 韩日精品视频一区| 久久久高清一区二区三区| 国产一区二区不卡| 国产精品国产三级国产| 欧美性淫爽ww久久久久无| 亚洲国产精品一区二区久久 | 96av麻豆蜜桃一区二区| 国产区在线观看成人精品| 蜜臀av在线播放一区二区三区| 欧美色视频在线| 亚洲成av人片在线| 欧美二区乱c少妇| 日产国产欧美视频一区精品| 欧美一区午夜视频在线观看| 日韩 欧美一区二区三区| 欧美成人性战久久| 精品影视av免费| 国产精品久久777777| 亚洲国产精品av| 国产成人在线看| 国产精品美女久久久久aⅴ国产馆| 盗摄精品av一区二区三区| 亚洲欧洲日本在线| 91国产免费看| 图片区日韩欧美亚洲| 日韩精品中文字幕一区二区三区 | 中文字幕在线观看一区| 蜜臀a∨国产成人精品| 久久久激情视频| 欧美老肥妇做.爰bbww视频| www.欧美日韩| 国产精品一区二区x88av| 国产欧美日韩一区二区三区在线观看| 欧美午夜精品免费| av欧美精品.com| 白白色亚洲国产精品| 国内精品国产成人国产三级粉色| 午夜影院久久久| 三级亚洲高清视频| 亚洲综合久久久久| 亚洲成a人片在线观看中文| 亚洲激情在线激情| 亚洲综合成人在线| 亚洲国产精品一区二区www| 亚洲伊人伊色伊影伊综合网| 亚洲在线观看免费| 人人精品人人爱| 国产精品影音先锋| 99精品久久99久久久久| 99久久久精品| 欧美一区二区视频免费观看| 欧美一区二区三区四区久久| 日韩精品中文字幕在线一区| 国产亲近乱来精品视频| 亚洲美女屁股眼交3| 日韩国产欧美三级| 成人午夜大片免费观看| 欧美系列一区二区| 精品久久人人做人人爰| 国产精品乱子久久久久| 午夜欧美视频在线观看|