亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

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

linux對于UDP的學習

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

一、UDP、linux基礎介紹

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

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

一些固定的端口號

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

查看端口號

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

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

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

【問題】

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

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

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

 網(wǎng)絡字節(jié)序轉(zhuǎn)換:
對于數(shù)據(jù)在網(wǎng)絡中傳輸?shù)臅r候有著自己遵循的傳輸規(guī)則大端傳輸
對于主機上的數(shù)據(jù)的傳輸序列有著兩種:
大端:即高位字節(jié)序放在低地址上
小端:即低位字節(jié)序放在低地址上
傳輸:均是先傳輸?shù)偷刂飞系臄?shù)據(jù)然后是高地址上的數(shù)據(jù)
所以對于主機上的數(shù)據(jù)傳輸?shù)臅r候傳輸?shù)骄W(wǎng)絡上的時候有可能導致數(shù)據(jù)錯誤(例如主機上是小端的時候,所以需要進行轉(zhuǎn)換)

轉(zhuǎn)換函數(shù):

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:表示網(wǎng)絡network
l:表示4字節(jié)long
s:表示2字節(jié)short

地址轉(zhuǎn)換函數(shù):

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

具有不可重入性,也就是不可多次調(diào)用,因為該函數(shù)自己在靜態(tài)區(qū)開辟一塊空間用來存放IP地址字符串的

 UDP協(xié)議:
UDP協(xié)議端格式

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

UDP的特點:

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

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

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

偽首部:

基于UDP的應用層的協(xié)議:

  • NFS:網(wǎng)絡文件系統(tǒng)
  • TFTP:簡單文件傳輸文件協(xié)議
  • DHCP:動態(tài)主機配置協(xié)議
  • DNS:域名解析協(xié)議

用UDP實現(xiàn)可靠傳輸?

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

二、對于各函數(shù)使用

1、對于socket函數(shù)的使用

1.1 函數(shù)原型

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

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

2、 對于bind函數(shù)的使用

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

3、 對于recvfrom函數(shù)的使用

3.1 函數(shù)原型

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

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

4、 對于sendto函數(shù)的使用

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

三、 擴展知識

1、 netstat

netstat是一個用來監(jiān)控TCP/IP網(wǎng)絡非重要工具
語法:netstat [選項]
功能:查看網(wǎng)絡狀態(tài)

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

2、 pidof

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

語法:pisdof [進程名]

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

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

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

巨人網(wǎng)絡通訊聲明:本文標題《linux對于UDP的學習》,本文關鍵詞  linux,對于,UDP,的,學習,linux,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《linux對于UDP的學習》相關的同類信息!
  • 本頁收集關于linux對于UDP的學習的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    91麻豆精品国产片在线观看| 久久国产精品只做精品| 欧美国产日韩一区二区三区| 91麻豆爱豆果冻天美星空| 国产麻豆精品| 欧美激情一区二区三区视频 | 午夜激情视频在线播放| 国产麻豆精品hdvideoss| 国产精品自拍亚洲| 久久99青青久久99久久| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 韩国妈妈的朋友在线播放| 黄色福利| 亚洲天堂免费观看| 99色精品| 一本伊大人香蕉高清在线观看| 美女免费精品高清毛片在线视| 国产麻豆精品免费密入口| 国产国语在线播放视频| 色综合久久久久综合体桃花网| 高清一级片| 欧美激情在线精品video| 四虎论坛| 免费国产在线观看| 中文字幕一区二区三区 精品| 国产高清视频免费| 色综合久久天天综合绕观看| 九九久久99| 亚洲 激情| 成人免费观看的视频黄页| 国产91精品一区二区| 免费毛片播放| 精品视频在线观看一区二区 | 精品久久久久久综合网| 一a一级片| 日韩欧美一二三区| 国产一级生活片| 欧美激情在线精品video| 97视频免费在线| 精品国产三级a| 91麻豆精品国产片在线观看| 欧美另类videosbestsex视频| 91麻豆国产福利精品| 日韩一级黄色片| 毛片高清| 亚洲精品影院久久久久久| 国产伦理精品| 精品国产香蕉在线播出| 高清一级毛片一本到免费观看| 欧美另类videosbestsex视频| 沈樵在线观看福利| 麻豆午夜视频| 九九免费高清在线观看视频| 国产91精品一区二区| 国产91精品一区二区| 久久99爰这里有精品国产| 日韩免费在线观看视频| 国产麻豆精品hdvideoss| 国产伦久视频免费观看视频| 日韩专区第一页| 99久久网站| 国产亚洲男人的天堂在线观看| 日韩欧美一及在线播放| 99色视频在线观看| 国产网站麻豆精品视频| 韩国三级香港三级日本三级| 国产91精品一区| 免费一级生活片| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 成人高清免费| 麻豆系列 在线视频| 欧美激情一区二区三区在线| 黄色免费网站在线| 精品国产亚洲一区二区三区| 精品国产香蕉伊思人在线又爽又黄| 日韩av片免费播放| 国产a视频| 亚州视频一区二区| 精品视频在线观看一区二区 | 精品久久久久久中文字幕一区 | 国产91精品系列在线观看| 日本在线不卡免费视频一区| 麻豆网站在线看| 国产不卡精品一区二区三区| 欧美激情一区二区三区视频 | 久久精品大片| 超级乱淫黄漫画免费| 国产福利免费视频| 久久99中文字幕| 99久久精品国产麻豆| 麻豆系列国产剧在线观看| 国产一区二区精品| 九九久久99| 美女免费毛片| 成人影院久久久久久影院| 久久精品免视看国产明星| 国产一区二区精品久| 高清一级毛片一本到免费观看| 国产91精品一区二区| 国产亚洲精品成人a在线| 日日日夜夜操| 欧美爱爱动态| 国产亚洲精品成人a在线| 日韩在线观看视频网站| 欧美另类videosbestsex| 色综合久久久久综合体桃花网| 国产一区二区精品| 精品国产香蕉在线播出| 超级乱淫伦动漫| 欧美另类videosbestsex高清| a级毛片免费全部播放| 成人a级高清视频在线观看| 亚洲精品影院| 日韩免费在线视频| 中文字幕一区二区三区精彩视频 | 国产一区二区高清视频| 久久久久久久久综合影视网| 国产成人啪精品| 色综合久久天天综合观看| 一级女性全黄久久生活片| 成人在激情在线视频| 国产韩国精品一区二区三区| 久草免费资源| 日韩一级黄色| 欧美激情一区二区三区中文字幕| 亚洲不卡一区二区三区在线 | 高清一级毛片一本到免费观看| 美女免费毛片| 免费的黄视频| 天天色色色| 欧美a级大片| 日本在线www| 欧美激情一区二区三区视频 | 日本伦理片网站| 久久国产精品自线拍免费| 尤物视频网站在线观看| 高清一级做a爱过程不卡视频| 999久久狠狠免费精品| 久久精品大片| 欧美18性精品| 欧美一区二区三区性| 久久国产一区二区| 沈樵在线观看福利| 国产一级生活片| 免费一级片在线观看| 国产成a人片在线观看视频| 黄视频网站免费观看| 99久久精品国产国产毛片| 欧美另类videosbestsex久久| 欧美激情在线精品video| a级精品九九九大片免费看| 亚欧视频在线| 精品久久久久久影院免费| 日韩欧美一二三区| 色综合久久天天综合绕观看| 欧美激情一区二区三区在线| 四虎影视库| 精品视频一区二区三区| 91麻豆精品国产综合久久久| 欧美大片毛片aaa免费看| 国产精品自拍在线观看| 久久国产精品自线拍免费| 99热精品在线| 99久久精品国产高清一区二区| 精品国产亚洲一区二区三区| 亚欧视频在线| 精品国产一区二区三区久久久蜜臀| 免费一级片在线观看| 91麻豆精品国产片在线观看| 一级女性大黄生活片免费| 999精品视频在线| 国产激情一区二区三区| 日韩一级黄色| 99久久网站| 韩国三级视频网站| 亚洲 国产精品 日韩| 亚洲第一页乱| 国产麻豆精品免费密入口| 99久久精品国产麻豆| 欧美a级成人淫片免费看| 欧美电影免费看大全| 二级片在线观看| 日韩欧美一及在线播放| 国产视频久久久| 国产一级强片在线观看| 99久久精品国产高清一区二区| 国产韩国精品一区二区三区| 日韩专区在线播放| 国产精品免费久久| 九九热精品免费观看| 日韩在线观看免费| 日韩一级黄色片| 国产一区精品| 99色视频在线| 你懂的福利视频| 欧美日本韩国| 亚洲天堂免费观看| 香蕉视频久久| 国产极品白嫩美女在线观看看| 午夜在线观看视频免费 成人|