1、什么是UDP?
這里簡單介紹下,UDP,即用戶數(shù)據(jù)報(bào)協(xié)議,一種面向無連接的傳輸層協(xié)議,提供不可靠的消息傳送服務(wù)。UDP協(xié)議使用端口號(hào)為不同的應(yīng)用保留其各自的數(shù)據(jù)傳輸通道,這一點(diǎn)非常重要。與TCP相比,占用資源更少,傳輸速度更快。
2、了解UDP單播、廣播和組播
單播:向一個(gè)單播地址發(fā)送UDP數(shù)據(jù)報(bào)時(shí),數(shù)據(jù)報(bào)只能被指定的IP主機(jī)接收,同一子網(wǎng)下的其它主機(jī)都不會(huì)接收該數(shù)據(jù)報(bào)。單播過程(假設(shè)子網(wǎng)地址:192.168.10,該子網(wǎng)下有兩臺(tái)主機(jī):192.168.10.2,192.168.10.3,向192.168.10.2發(fā)送數(shù)據(jù)報(bào))
向主機(jī)192.168.10.2的8060端口發(fā)送數(shù)據(jù)報(bào),該IP數(shù)據(jù)報(bào)目標(biāo)IP在以太網(wǎng)中被ARP解析成MAC地址,然后將此MAC地址設(shè)置為目標(biāo)地址發(fā)出去。
該子網(wǎng)下的主機(jī)以太網(wǎng)接口看到該數(shù)據(jù)幀時(shí),對比自己的MAC地址,如果不一樣,則忽略該數(shù)據(jù)幀。
直到192.168.10.2主機(jī)看到該數(shù)據(jù)幀時(shí),發(fā)現(xiàn)MAC一致,則讀入該數(shù)據(jù)幀,然后在IP層對比目標(biāo)IP和本機(jī)IP,在UDP層對比端口號(hào)是否一致,最后接收該數(shù)據(jù)幀。
廣播:向一個(gè)廣播地址發(fā)送UDP數(shù)據(jù)報(bào),該廣播網(wǎng)絡(luò)下的所有主機(jī)都會(huì)受到影響,主機(jī)根據(jù)端口號(hào)來判斷是否丟棄該數(shù)據(jù)。廣播過程(假設(shè)子網(wǎng)地址:192.168.10,則該網(wǎng)絡(luò)的廣播地址為:192.168.10.255,該子網(wǎng)下有兩臺(tái)主機(jī):192.168.10.2,192.168.10.3,向192.168.10.255發(fā)送數(shù)據(jù)報(bào)):
向192.168.10.255主機(jī)端口為8060發(fā)送數(shù)據(jù)報(bào),,該IP數(shù)據(jù)報(bào)目標(biāo)IP在以太網(wǎng)中被ARP解析成MAC地址,然后將此MAC地址設(shè)置為目標(biāo)地址發(fā)出去。
192.168.10.2和192.168.10.3的主機(jī)接口都會(huì)和此廣播地址匹配成功,直到該數(shù)據(jù)報(bào)進(jìn)入傳輸層時(shí)根據(jù)端口是否匹配判斷是否丟棄該數(shù)據(jù),端口為8060的會(huì)保留該數(shù)據(jù),否則將數(shù)據(jù)丟棄。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26