##輸出http頭資訊到8,-e表示解析轉義字元\n
& 8##從8中讀取流資訊
http協議
傳送的http請求頭.資料傳輸協議tcp 或 udp####tcp:面向連線,傳輸可靠.echo -e "get / http/1.0\n" 1>& 8
#####面向連線(三次握手):
雙方資源開闢,拋出線程#####傳輸字段解釋:
urg:緊急指標(urgent pointer)有效。socket 套接字:ack:確認序號有效。(為了與確認號ack區分開,我們用大寫表示)
psh:接收方應該盡快將這個報文交給應用層。
rst:重置連線。
syn:發起乙個新連線。
fin:釋放乙個連線。
是一對 ip+port -> ip+port四次分手:服務端,ip是固定的;
客戶端,ip的隨機的(0-65535)
linux中socket 會對映到fd/某個程序pid繫結.
三次握手到四次分手不可分割:
使用抓包工具抓取,檢視http請求(傳輸控制層)的全部過程:由此結果可見,確認機制,保證傳輸可靠.檢視自身網路的一些配置:抓包工具: tcpdump
## -nn 將每個監聽到的資料報中的網域名稱轉換成ip、埠從應用名稱轉換成埠號後顯示
## -i 指定監聽的網路介面(網絡卡);
## -x 把協議頭和包內容都原原本本的顯示出來
tcpdump -nn -i eth0 port 80
抓取結果:
ip=網路號+主機號開啟網絡卡設定:網路層定址原理:cd /etc/sysconfig/network-scripts/
##編輯網絡卡配置檔案
目標ip位址---->查詢路由表------>子網掩碼進行與運算—>和網路號做匹配–>如果找不到匹配的網路號–>進入閘道器(路由器,下一跳)
route -n路由表
192.168.111:網路號.
192.168.111.2:下一跳(路由器)
下一跳怎麼找到下乙個下一跳?
兩個相鄰結點之間傳送資料是直接傳送的(點對點),這時就需要使用專門的鏈路層的協議。
攜帶資料:
現在找到了閘道器,現在有兩個ip,乙個是目標ip,乙個是閘道器ip,怎麼攜帶資料呢?
擴充套件唯一識別符號,每一台聯網裝置都有自己的mac位址,記錄在網絡卡中.arp協議:
閘道器首先檢視自身的[apr快取表中是否有]目標ip位址的mac值,
我是192.168.1.5,我的硬體位址是"ff.ff.ff.ff.ff.fe".請問ip位址為192.168.1.1的mac位址是什麼?
首先將發過來的ip位址和mac位址,記錄到自己的arp快取表中,然後將自己的mac位址值傳送回去.
這樣,主機a就知道了主機b的mac位址,它就可以向主機b傳送資訊了。同時a和b還同時都更新了自己的arp快取表.
apr協議的使用範圍:
1,在同一區域網內;arp快取表2,在一段鏈路中使用.
arp -a發起的arp請求:
聯絡層資料報跳轉過程:
將發過來的ip位址和mac位址,記錄到自己的arp快取表中,然後將自己的mac位址值傳送回去.
這樣,主機a就知道了主機b的mac位址,它就可以向主機b傳送資訊了。同時a和b還同時都更新了自己的arp快取表.apr協議的使用範圍:1,在同一區域網內;arp快取表2,在一段鏈路中使用.
arp -a發起的arp請求:
聯絡層資料報跳轉過程:
完整的TCP通訊包實現
using system namespace jh.sockets 執行緒狀態引數 class parm public parm jhthreadstatus nstatus,object obj jhthreadstatus status object objparm 上下文物件 public o...
一次完整的HTTP通訊過程
http通訊機制是在一次完整的http通訊過程中,web瀏覽器與web伺服器之間將完成下列7個步驟 在http工作開始之前,web瀏覽器首先要通過網路與web伺服器建立連線,該連線是通過tcp來完成的,該協議與ip協議共同構建internet,即著名的tcp ip協議族,因此internet又被稱作...
解析一次TCP連線的過程
這是我的第一篇部落格 介紹一下自己 我是一名小小的網管,是乙個塵世中的迷茫小書童。作為一名網管,要學的東西很雜,很多。譬如我,公司是乙個跨境電商,自己有自己的一套erp系統。我的工作是 電腦的硬體知識 一些桌面的運維的知識 一些手機的知識 公司有pda 一些無線網路的知識 一些linux的知識 還有...