協議,網路協議的簡稱,網路協議是通訊計算機雙方必須共同遵從的一組約定。如怎麼樣建立連線、怎麼樣互相識別等。只有遵守這個約定,計算機之間才能相互通訊交流。通俗的講:協議就是通訊的雙方,就資料傳輸和交換做出約定,指定的乙個通訊標準。
例如:a說中文,b說英文,兩個人則無法正常交流,此時規定,都說英文就可以正常交流。
作用:在網路當中標識唯一的一台主機
本質:ipv4版本中,ip位址就是乙個無符號32位整數,即uint32_t,粗略計算範圍大概0~42億,通常以點分十進位制方式表示。該版本現已經面臨枯竭問題
ipv6版本的ip位址,為了彌補ipv4版本枯竭問題,它的本質是16位整數。範圍在0~2^128。因此不存在枯竭問題。
ipv4和ipv6天生不相容作用:在主機中表示乙個程序
本質:uint16_t 無符號16位整形,範圍0~65532。注意:0 ~ 1023都是知名埠,例如mysql(3306),oracle(1521)。如果不加以注意,容易造成不相容問題
網路中,同樣的每一條資料需要兩個埠port,源埠、目的埠。
因此,在網路中,每一條資料都具備五元資訊:源ip、目的ip、源埠、目的埠、協議測試大端小端的程式:
#icnlude
int check_byte_order
un; un.i=1;
return un.j;
}int
main()
主機位元組序:當前計算機的位元組序,x86_64機器都是小端位元組序。網路位元組序:在網路標準中,資料以大端位元組序進行傳輸。
因此,在網路通訊中,需要進行轉換
主機位元組序轉網路位元組序:uint32_t htonl(uint32_t hostlong) //32位
uint32_t htons(uint32_t hostshort) //16位
網路位元組序轉主機位元組序:
uint32_t ntohl(uint32_t netlong) //32位
uint32_t ntohs(uint32_t netshort) //32位
點分十進位制ip轉換成無符號32位、主機位元組序轉換位網路位元組序:
inet_addr(string.c_str())
將字串轉整形、將整形轉字串
int atoi(const char *str );
char *itoa( int value, char *string,int radix);
ORACLE基本常識
個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率 每個資料庫最少有兩個聯機日誌檔案 乙個資料檔案只能屬於乙個表空間 乙個資料檔案一旦被加...
電腦基本常識
一.32位cpu中的32代表什麼?1.32代表cpu的位址線長度,32位處理器表示一次只能處理32位 4個位元組 而64位處理器一次能處理64位,即8個位元組的資料。2.如果我們將總長128位的指令分別按照如果我們將總長128位的指令分別按照16位 32位 64位為單位進行編輯的話 舊的16位處理器...
html基本常識
用div布局,css控制 編輯器用的是sublime 1.doctype標籤是一種標準通用標記語言的文件型別宣告,它的目的是要告訴標準通用標記 語言解析器,它應該使用什麼樣的文件型別定義 dtd 來解析文件。作用 宣告文件的解析型別 document.compatmode 避免瀏覽器的怪異模式。do...