個人備案網(wǎng)站做企業(yè)會怎樣湖南靠譜的關(guān)鍵詞優(yōu)化
網(wǎng)絡(luò):
? ? ? 數(shù)據(jù)傳輸,數(shù)據(jù)共享
1.網(wǎng)絡(luò)協(xié)議模型:
? ? OSI協(xié)議模型? ? ? ? ? ? ? ? ? 7
? ? ? ? 應(yīng)用層 ? ? ? ? ? ? ?實際發(fā)送的數(shù)據(jù)
? ? ? ? 表示層 ? ? ? ? ? ? ?發(fā)送的數(shù)據(jù)是否加密
? ? ? ? 會話層 ? ? ? ? ? ? ?是否建立會話連接
? ? ? ? 傳輸層 ? ? ? ? ? ? ?數(shù)據(jù)傳輸?shù)姆绞?#xff08;數(shù)據(jù)報、流式)
? ? ? ? 網(wǎng)絡(luò)層 ? ? ? ? ? ? ?數(shù)據(jù)的路由(如何從一個局域網(wǎng)到達(dá)另一個局域網(wǎng)) ? ? ? ?IP地址
? ? ? ? 數(shù)據(jù)鏈路層 ? ? ? ?局域網(wǎng)下如何通信
? ? ? ? 物理層 ? ? ? ? ? ? ?物理介質(zhì)的連接
? ? TCP/IP協(xié)議模型? ? ? ? ? ?4
? ? ? ? 應(yīng)用層 ? ? ? ? ? ? ?傳輸?shù)臄?shù)據(jù)
? ? ? ? 傳輸層 ? ? ? ? ? ? ?傳輸?shù)姆绞?br /> ? ? ? ? 網(wǎng)絡(luò)層 ? ? ? ? ? ? ?數(shù)據(jù)如何從一臺主機(jī)到達(dá)另一臺主機(jī)
? ? ? ? 網(wǎng)絡(luò)接口層 ? ? ? ? ?物理介質(zhì)的連接
? ? 應(yīng)用層:
? ? ? ? HTTP ? ?超文本傳輸協(xié)議
? ? ? ? HTTPS? ? 加密
?
? ? ? ? FTP ? ? 文件傳輸協(xié)議
? ? ? ? TFTP ? ?簡單文本傳輸協(xié)議
? ? ? ? SMTP ? ?郵件傳輸協(xié)議
? ? ? ? MQTT ? ?
? ? ? ? TELNET ?
? ? ? ? ..
? ??
? ? 傳輸層:
? ? ? ? UDP ? ? 用戶 數(shù)據(jù)報? 協(xié)議
? ? ? ? ? ? ? ? 特點:
? ? ? ? ? ? ? ? ? ? 1.實現(xiàn)機(jī)制簡單
? ? ? ? ? ? ? ? ? ? 2.資源? ?開銷小
? ? ? ? ? ? ? ? ? ? 3.不安全不可靠
? ? ? ? TCP ? ? 傳輸控制? 協(xié)議
? ? ? ? ? ? ? ? 特點:
? ? ? ? ? ? ? ? ? ? 1.實現(xiàn)機(jī)制 復(fù)雜? ? ? ? ? ? ? 3次握手 4次揮手
? ? ? ? ? ? ? ? ? ? 2.資源? 開銷大
? ? ? ? ? ? ? ? ? ? 3.安全? 可靠
? ? 網(wǎng)絡(luò)層:
? ? ? ? IPv4
? ? ? ? IP地址:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?唯一標(biāo)識網(wǎng)絡(luò)中一臺主機(jī)的標(biāo)號
? ? ? ? IP地址:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?網(wǎng)絡(luò)位 + 主機(jī)位? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?192.168.? ?1.171
? ? ? ? 子網(wǎng)掩碼:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?用來標(biāo)識IP地址的網(wǎng)絡(luò)位和主機(jī)位? ? ? ? ? ? ? ? ?
? ? ? ? 255.255.255.0
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?共32位? ? ? 前24位為局域網(wǎng)IP? ? ?后8位為自身主機(jī)IP? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? 子網(wǎng)掩碼是? 1? 的部分表示? IP地址? 的??網(wǎng)絡(luò)位
? ? ? ? ? ? ? ? 子網(wǎng)掩碼是? 0? 的部分表示? IP地址? 的??主機(jī)位
? ? ? ? 網(wǎng)段號:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 網(wǎng)絡(luò)位不變,主機(jī)位全為0,? 表示? 網(wǎng)段號
? ? ? ? 廣播地址: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 網(wǎng)絡(luò)位不變,主機(jī)位全為1,表示 廣播地址
? ? ? ? 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?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?用于實驗
2.UDP編程
? ? socket套接字編程:
? ? 1.發(fā)端:
? ? ? ? socket?
? ? ? ? int socket(int domain, int type, int protocol);
? ? ? ? 功能:
? ? ? ? ? ? 創(chuàng)建一個用來? 通信? 的 文件描述符
? ? ? ? 參數(shù):
? ? ? ? ? ? domain: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 使用的協(xié)議族 AF_INET (IPv4協(xié)議族)
? ? ? ? ? ? type:? 套接字類型
? ? ? ? ? ? ? ? SOCK_STREAM:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?流式? ? 套接字
? ? ? ? ? ? ? ? SOCK_DGRAM:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 數(shù)據(jù)報? ?套接字? ? ? ? ? ? (UDP)
? ? ? ? ? ? ? ? ? ? ? SOCK_RAW:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?原始? ? ?套接字
? ? ? ? ? ? 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ù)的長度
? ? ? ? ? ? flags: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 屬性默認(rèn)為0?
? ? ? ? ? ? dest_addr: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 目的地址信息存放的空間首 地址
? ? ? ? ? ? addrlen: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 目的地址 的 長度
? ? ? ??
? ? ? ? struct sockaddr_in {
? ? ? ? ? ? sa_family_t ? ?sin_family; /* address family: AF_INET */
? ? ? ? ? ? in_port_t ? ? ?sin_port; ? /* port in network byte order */
? ? ? ? ? ? struct in_addr sin_addr; ? /* internet address */
? ? ? ? };
? ? ? ? /* Internet address. */
? ? ? ? struct in_addr {
? ? ? ? ? ? uint32_t ? ? ? s_addr; ? ? /* address in network byte order */
? ? ? ? };
? ? ? ? ? ? ? ? ??
? ? ? ? 返回值:
? ? ? ? ? ? 成功? 返回? 實際發(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);
? ? ? ? 功能:? ? ? ?8080? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 50000
? ? ? ? ? ? 將 本地字節(jié)序 轉(zhuǎn)換為網(wǎng)絡(luò)的? 大端字節(jié)序? (>10000)
? ? ? ? ? ? ? ? ? ? ?小端
ssize_和size_t區(qū)別
? ? ? ? ? ? ? ? ? ? ? ssize_t是有符號整型,在32位機(jī)器上等同與int,在64位機(jī)器上等同與long int,有沒有注意到,它和long數(shù)據(jù)類型有啥區(qū)別?其實就是一樣的。
? ? ? ? ? ? ? ? ? ? ?size_t 就是無符號型的ssize_t,也就是? ? unsigned long/ unsigned int? ?(在32位下),不同的編譯器或系統(tǒng)可能會有區(qū)別,主要是因為在32位機(jī)器上int和long是一樣的。
在64位沒有測試,但是參見百度百科,size_t 在64位下是64位,那么size_t的正確定義應(yīng)該是typedef unsigned long size_t