欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:Linux學(xué)習(xí)-網(wǎng)絡(luò)UDP

柚子快報(bào)邀請(qǐng)碼778899分享:Linux學(xué)習(xí)-網(wǎng)絡(luò)UDP

http://yzkb.51969.com/

網(wǎng)絡(luò)

? ? 數(shù)據(jù)傳輸,數(shù)據(jù)共享

網(wǎng)絡(luò)協(xié)議模型

? ? OSI協(xié)議模型 ? ? ? ? 應(yīng)用層 ? ? ? ? ? ? ?實(shí)際發(fā)送的數(shù)據(jù) ? ? ? ? 表示層 ? ? ? ? ? ? ?發(fā)送的數(shù)據(jù)是否加密 ? ? ? ? 會(huì)話層 ? ? ? ? ? ? ?是否建立會(huì)話連接 ? ? ? ? 傳輸層 ? ? ? ? ? ? ?數(shù)據(jù)傳輸?shù)姆绞剑〝?shù)據(jù)報(bào)、流式) ? ? ? ? 網(wǎng)絡(luò)層 ? ? ? ? ? ? ?數(shù)據(jù)的路由(如何從一個(gè)局域網(wǎng)到達(dá)另一個(gè)局域網(wǎng)) ? ? ? ?IP地址 ? ? ? ? 數(shù)據(jù)鏈路層 ? ? ? ? ?局域網(wǎng)下如何通信 ? ? ? ? 物理層 ? ? ? ? ? ? ?物理介質(zhì)的連接

? ? TCP/IP協(xié)議模型 ?? ? ? ? ? 應(yīng)用層 ? ? ? ? ? ? ?傳輸?shù)臄?shù)據(jù) ? ? ? ? 傳輸層 ? ? ? ? ? ? ?傳輸?shù)姆绞?? ? ? ? 網(wǎng)絡(luò)層 ? ? ? ? ? ? ?數(shù)據(jù)如何從一臺(tái)主機(jī)到達(dá)另一臺(tái)主機(jī) ? ? ? ? 網(wǎng)絡(luò)接口層 ? ? ? ? ?物理介質(zhì)的連接

? ? 應(yīng)用層: ? ? ? ? HTTP ? ?超文本傳輸協(xié)議 ? ? ? ? HTTPS ?? ? ? ? ? FTP ? ? 文件傳輸協(xié)議 ? ? ? ? TFTP ? ?簡(jiǎn)單文本傳輸協(xié)議 ? ? ? ? SMTP ? ?郵件傳輸協(xié)議 ? ? ? ? MQTT? ? 物聯(lián)網(wǎng)交互 ? ? ? ? TELNET? ?遠(yuǎn)程登陸協(xié)議 ? ? ? ? .. ? ?? ? ? 傳輸層: ? ? ? ? UDP ? ? 用戶數(shù)據(jù)報(bào)協(xié)議 。 不會(huì)對(duì)接收ip是否可以接受進(jìn)行核驗(yàn),直接發(fā)送。是否收到數(shù)據(jù)也不知道。 ? ? ? ? ? ? ? ? 特點(diǎn): ? ? ? ? ? ? ? ? ? ? 1.實(shí)現(xiàn)機(jī)制簡(jiǎn)單 ? ? ? ? ? ? ? ? ? ? 2.資源開(kāi)銷小 ? ? ? ? ? ? ? ? ? ? 3.不安全不可靠

? ? ? ? TCP ? ? 傳輸控制協(xié)議? ?在通信之前進(jìn)行三次握手。發(fā)送請(qǐng)求應(yīng)答信號(hào)SYN。收到后回復(fù)ACK+SYN確認(rèn)應(yīng)答并請(qǐng)求對(duì)方應(yīng)答。對(duì)方在發(fā)ACK應(yīng)答,保證雙方都是收發(fā)通訊正常。

? ? ? ? ? ? ? ? ? ? 數(shù)據(jù)發(fā)出后,對(duì)方?jīng)]有接收完整,返回ACK告知發(fā)送方自己接受多少數(shù)據(jù),然后發(fā)送方會(huì)再次進(jìn)行缺失數(shù)據(jù)的發(fā)送以保證數(shù)據(jù)完整。

? ? ? ? ? ? ? ? ? ? ? ?還可以進(jìn)行流量控制。

? ? ? ? ? ? ? ? ? ? ? ? 關(guān)閉實(shí)現(xiàn)四次揮手,等待數(shù)據(jù)傳輸完畢才可以關(guān)閉 ? ? ? ? ? ? ? ? 特點(diǎn): ? ? ? ? ? ? ? ? ? ? 1.實(shí)現(xiàn)機(jī)制復(fù)雜 ? ? ? ? ? ? ? ? ? ? 2.資源開(kāi)銷大 ? ? ? ? ? ? ? ? ? ? 3.安全可靠

? ? 網(wǎng)絡(luò)層: ? ? ? ? IPv4

? ? ? ? IP地址:唯一標(biāo)識(shí)網(wǎng)絡(luò)中一臺(tái)主機(jī)的標(biāo)號(hào) ? ? ? ? IP地址:網(wǎng)絡(luò)位 + 主機(jī)位 ? ? ? ? 子網(wǎng)掩碼:用來(lái)標(biāo)識(shí)IP地址的網(wǎng)絡(luò)位和主機(jī)位 ? ? ? ? ? ? ? ? 子網(wǎng)掩碼是1的部分表示IP地址的網(wǎng)絡(luò)位 ? ? ? ? ? ? ? ? 子網(wǎng)掩碼是0的部分表示IP地址的主機(jī)位 ? ? ? ? 網(wǎng)段號(hào):網(wǎng)絡(luò)位不變,主機(jī)位全為0,表示網(wǎng)段號(hào) ? ? ? ? 廣播地址:網(wǎng)絡(luò)位不變,主機(jī)位全為1,表示廣播地址

端口號(hào)就是找電腦中是哪個(gè)軟件需要接收信息

? ? ? ? IP地址類型: ? ? ? ? A類 ? ? ? ? ? ? 1.0.0.0 - 126.255.255.255 ? ? ? ? ? ? 子網(wǎng)掩碼:255.0.0.0 ? ? ? ? ? ? 管理超大規(guī)模網(wǎng)絡(luò) ? ? ? ? ? ? 10.0.0.0 - 10.255.255.255?

? ? ? ? B類 ? ? ? ? ? ? 128.0.0.0 - 191.255.255.255 ? ? ? ? ? ? 子網(wǎng)掩碼:255.255.0.0? ? ? ? ? ? ? 管理大中規(guī)模型網(wǎng)絡(luò) ? ? ? ? ? ? 172.16.0.0 - 172.31.255.255

? ? ? ? C類 ? ? ? ? ? ? 192.0.0.0 - 223.255.255.255 ? ? ? ? ? ? 子網(wǎng)掩碼:255.255.255.0 ? ? ? ? ? ? 管理中小規(guī)模型網(wǎng)絡(luò)? ? ? ? ? ? ? 192.168.0.0 - 192.168.255.255

? ? ? ? D類 ? ? ? ? ? ? 224.0.0.0 - 239.0.0.0 ? ? ? ? ? ? 用于組播

? ? ? ? E類 ? ? ? ? ? ? 240.0.0.0 - 255.255.255.255? ? ? ? ? ? ? 用于實(shí)驗(yàn)

UDP編程

? ? socket套接字編程: ? ? 1.發(fā)端: ? ? ? ? socket? ? ? ? ? int socket(int domain, int type, int protocol); ? ? ? ? 功能: ? ? ? ? ? ? 創(chuàng)建一個(gè)用來(lái)通信的文件描述符 ? ? ? ? 參數(shù): ? ? ? ? ? ? domain:使用的協(xié)議族 AF_INET (IPv4協(xié)議族)? 還有其他協(xié)議組,可在手冊(cè)中查看。 ? ? ? ? ? ? type:套接字類型 ? ? ? ? ? ? ? ? SOCK_STREAM:流式套接字? ? ? ? tcp ? ? ? ? ? ? ? ? SOCK_DGRAM:數(shù)據(jù)報(bào)套接字? udp ? ? ? ? ? ? ? ? SOCK_RAW:原始套接字? ?協(xié)議 ? ? ? ? ? ? protocol:協(xié)議 ? ? ? ? ? ? ? ? 默認(rèn)為0? ? ? ? ? 返回值: ? ? ? ? ? ? 成功返回文件描述符 ? ? ? ? ? ? 失敗返回-1?

? ? ? ? sendto? ? ? ? ? ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, ? ? ? ? ? ? ? ? ? ? ? const struct sockaddr *dest_addr, socklen_t addrlen); ? ? ? ? 功能: ? ? ? ? ? ? 利用套接字向指定地址發(fā)送數(shù)據(jù)信息? ? ? ? ? 參數(shù): ? ? ? ? ? ? sockfd:套接字文件描述符 ? ? ? ? ? ? buf:發(fā)送數(shù)據(jù)空間首地址 ? ? ? ? ? ? len:發(fā)送數(shù)據(jù)的長(zhǎng)度 ? ? ? ? ? ? flags:屬性默認(rèn)為0? ? ? ? ? ? ? dest_addr:目的地址信息存放的空間首地址 ? ? ? ? ? ? addrlen:目的地址的長(zhǎng)度(就是dest_addrlen的大小) ? ? ? ?? ? ? ? ? struct sockaddr_in { ? ? ? ? ? ? sa_family_t ? ?sin_family; /* address family: AF_INET */協(xié)議族 ? ? ? ? ? ? in_port_t ? ? ?sin_port; ? /* port in network byte order */ ? ? ? ? ? ? struct in_addr sin_addr; ? /* internet address */ ? ? ? ? };

這是ipv4的協(xié)議結(jié)構(gòu)體,要轉(zhuǎn)換乘通用的要強(qiáng)制轉(zhuǎn)化(struct sockaddr *)

? ? ? ? /* Internet address. */ ? ? ? ? struct in_addr { ? ? ? ? ? ? uint32_t ? ? ? s_addr; ? ? /* address in network byte order */ ? ? ? ? }; ? ? ? ? ? ? ? ? ?? ? ? ? ? 返回值: ? ? ? ? ? ? 成功返回實(shí)際發(fā)送字節(jié)數(shù) ? ? ? ? ? ? 失敗返回-1?

? ? ? ? inet_addr: ? ? ? ? in_addr_t inet_addr(const char *cp); ? ? ? ? 功能: ? ? ? ? ? ? ? 將字符串IP地址轉(zhuǎn)換為內(nèi)存中的IP地址?

? ? ? ? htons ? ? ? ? uint16_t htons(uint16_t hostshort); ? ? ? ? 功能: ? ? ? ? ? ? 將本地字節(jié)序轉(zhuǎn)換為網(wǎng)絡(luò)的大端字節(jié)序 ? ? ? ? 關(guān)閉close()?

1.recvfrom ? ? ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, ? ? ? ? ? ? ? ? ? ? ? ? struct sockaddr *src_addr, socklen_t *addrlen); ? ? 功能: ? ? ? ? 從套接字中接收數(shù)據(jù) ? ? 參數(shù): ? ? ? ? sockfd:套接字文件描述符 ? ? ? ? buf:存放數(shù)據(jù)空間首地址 ? ? ? ? flags:屬性 默認(rèn)為0? ? ? ? ? src_addr:存放IP地址信息的空間首地址 ? ? ? ? addrlen:存放接收到IP地址大小空間的首地址 ? ? 返回值: ? ? ? ? 成功返回實(shí)際接收字節(jié)數(shù) ? ? ? ? 失敗返回-1?

如果要接收收據(jù)要加上

ssize_t recv_len;

socklen_t len;

len = sizeof(s);

recv_len = recvfrom(sco_num, b, sizeof(b), 0, (struct sockaddr *)&s, &len);

傳長(zhǎng)度指針,是因?yàn)楫?dāng)接受完了之后,該指針指向的值會(huì)改正真正結(jié)收的地址的大小

2.修改虛擬機(jī)到橋接模式: ? ? 點(diǎn)擊"虛擬機(jī)" ? ? 點(diǎn)擊"設(shè)置" ? ? 點(diǎn)擊"網(wǎng)絡(luò)適配器" ? ? 選擇"橋接模式" ? ? 點(diǎn)擊"確定"

3.將網(wǎng)卡橋接到無(wú)線網(wǎng)卡 ? ? 點(diǎn)擊"編輯" ? ? 點(diǎn)擊"虛擬網(wǎng)絡(luò)編輯器" ? ? 點(diǎn)擊"更改設(shè)置"

4.在Ubuntu中重啟網(wǎng)絡(luò)服務(wù) ? ? sudo /etc/init.d/networking restart?

? ? ifconfig

2.bind? ? ? int bind(int sockfd, const struct sockaddr *addr, ? ? ? ? ? ? ? ? socklen_t addrlen); ? ? 功能: ? ? ? ? 在套接字上綁定一個(gè)IP地址和端口號(hào),只能綁定自己的IP地址 ? ? 參數(shù): ? ? ? ? sockfd:套接字文件描述符 ? ? ? ? addr:綁定IP地址空間首地址 ? ? ? ? addrlen:綁定IP地址的長(zhǎng)度 ? ? 返回值: ? ? ? ? 成功返回0? ? ? ? ? 失敗返回-1?

3.UDP編程: ? ? 發(fā)端:socket -> sendto -> close? ? ? 收端: socket -> bind -> recvfrom -> close?

練習(xí): ? ? 編寫程序?qū)崿F(xiàn)兩臺(tái)主機(jī)間傳輸一個(gè)文件 ? ? ./recv? ? ?? ? ? ./send? ? ? a.txt?

4.UDP需要注意的細(xì)節(jié)點(diǎn): ? ? 1.UDP是無(wú)連接,發(fā)端退出,收端沒(méi)有任何影響 ? ? 2.UDP發(fā)送數(shù)據(jù)上限,最好不要超過(guò)1500個(gè)字節(jié) ? ? 3.UDP是不安全不可靠的,連續(xù)且快速的傳輸數(shù)據(jù)容易產(chǎn)生數(shù)據(jù)丟失

5.wireshark ? 抓包工具

? 操作流程: ? ? 1.sudo wireshark ? ? ? 打開(kāi)wireshark抓包工具 ? ? 2.選擇抓取數(shù)據(jù)包的網(wǎng)卡 ? ? ? any ? ? 3.執(zhí)行通信的代碼 ? ? 4.停止通信 ? ? 5.設(shè)定過(guò)濾條件 ? ? ? ? ip.addr == IP地址? ? ? ? ? udp? ? ? ? ? tcp? ? ? ? ? udp.port == 端口

6.UDP包頭長(zhǎng)度:8個(gè)字節(jié) ? ? 源端口號(hào)(2個(gè)字節(jié)) ? ? 目的端口號(hào)(2個(gè)字節(jié)) ? ? 長(zhǎng)度(2個(gè)字節(jié)) ? ? 校驗(yàn)和(2個(gè)字節(jié))

?

柚子快報(bào)邀請(qǐng)碼778899分享:Linux學(xué)習(xí)-網(wǎng)絡(luò)UDP

http://yzkb.51969.com/

推薦閱讀

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18847494.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄