網絡通信名詞總結
阿新 • • 發佈:2018-10-19
但是 其他 mage wid 協議頭 世紀 自己的 接下來 關系
名詞解釋
C\S架構,客戶端服務端架構
客戶端(client) : 享受服務端提供的服務
服務端(server) : 給客戶端提供服務
B\S 瀏覽器和服務端 B(browser)
路由器,的作用?
當路由器在內網時 起到的是管理局域網的左右
鏈接外網,(NAT;網路地址轉化,將你的內網ip轉換為公網ip,)
交換機的作用?
將所有的電腦連接起來,連到一塊
升級版集線器為交換機
簡述OSI七層協議
應用層: 以太網+ip頭+tcp\udp+http協議+數據
表示層
會話層
傳輸層:以太網+ip+tcp\udp協議+數據
網絡層:以太網協議頭+ip頭(目標ip+源ip地址)
數據鏈路層:目標mac地址+源mac地址+數據
物理層: 電信號
mac地址:
網卡的唯一標識 全球唯一的相當於身份證.6位點分16進制
ip地址:
劃分廣播域 IPv4 : 不能超過255
IPv6: 6個冒號分十六進制 尋找路徑:
打開網絡和共享中心 找到更改適配器 在打開本地連接 詳細信息
DHCP服務:自動分配IP地址
路由器:管理局域網,通過外網並由路由器轉發.
交換機:升級版集線器
網關:在路由器這 ,把關對外的請求,由NAT將你的IP地址轉換為公網的IP地址
外網又稱為公網,
子網掩碼:試計算目標IP地址是否和咱們是統一網段
DNS:表示的是服務器,記錄著所有的域名和他網站對應的那臺服務器的ip地址對應關系,理解為一個字典{"www.xx.com":192.168.x.x}
廣播:把信息發給所有人
BS:瀏覽器和服務器端進行通訊方式被稱為B\S架構
CS架構:分為硬件架構:打印機
軟件架構:QQ
服務端客戶端的進行溝通的方式簡稱cs架構
三次握手四次揮手的流程:
三次握手建立連接闡述:
第一次握手:客戶端要和服務端進行通信,首先要告知服務端一聲,遂發出一個SYN=1的連接請求信號,#”服務端哥哥,我想給你說說話”。
第二次握手:當服務端接收到客戶端的連接請求,時要給客戶端一個確認信息,我知道了,#(ACK),我這邊已經準備好了,你現在能連嗎(SYN)”。
第三次握手:當客戶端收到了服務端的確認連接信息後,要禮貌的告知一下服務端,#好的,咱們開始聯通吧(ACK)”。
到此整個建立連接的過程已經結束,接下來就是雙方你一句我一句甚至同時交流傳遞信息的過程了.
四次揮手斷開連接闡述:
第一次揮手:雙方交流的差不多了,此時客戶端也已經結尾了,接下來要斷開通信連接,所以告訴服務端#“我說完了(FIN)”,此時自身形成等待結束連接的狀態。
第二次揮手:服務端知道客戶端已經沒話說了,服務端此時還有兩句心裏話要給客戶端說,#“我知道你說完了(ACK),我再給你說兩句,&*……%¥”。
第三次揮手:此時客戶端洗耳恭聽繼續處於等待結束的狀態,服務器端也說完了,自身此時處於等待關閉連接的狀態,並對告訴客戶端#“我說完了,咱們斷了吧(FIN)”。
第四次揮手:客戶端收知道服務端也說完了,也要告訴服務端一聲,#(ACK),因為連接和斷開要雙方都按下關閉操作才能斷開,客戶端同時又為自己定義一個定時器,因為不知道剛才說的這句話能不能準確到達服務端(網絡不穩定或者其他因素引起的網絡原因),默認時間定為兩個通信的最大時間之和,超出這個時間就默認服務器端已經接收到了自己的確認信息,此時客戶端就關閉自身連接,服務器端一旦接收到客戶端發來的確定通知就立刻關閉服務器端的連接。
上圖為正確的,下圖為錯誤的
用大白話解釋三次握手四次揮手舉例:
首先是三次握手:
一次"餵,你聽的到麽?"
二次"我聽得到啊,你聽的到我麽?"
三次"我可以聽到你,"
四次握手:
一次"餵哥們在麽"
二次"在,,怎麽了"
三次"沒怎麽 看看你在不在線"
四次"哦"
什麽是socket ?簡述基於TCP協議的套接字通信流程
socket:又稱為套接字,他是應用層與TCP/IP協議族通信的中間軟件抽象層,他是一組接口,同時也是一個模塊,我們通過調用模塊中的已經實現的方法姬娜裏兩個進程之間的連接和通信
面試題
簡述tcp和udp協議的區別
tcp協議;面向連接,消息可靠需要通過鏈接,相對於udp來講,傳輸速度慢,消息是面向流的無消息保護邊界()
udp協議:面向無連接,消息不可靠,傳輸速度快,小時是面向包的,有消息保護邊界.
套接字socket的發展史及分類
套接字起源於 20 世紀 70 年代加利福尼亞大學伯克利分校版本的 Unix,即人們所說的 BSD Unix。 因此,有時人們也把套接字稱為“伯克利套接字”或“BSD 套接字”。一開始,套接字被設計用在同 一臺主機上多個應用程序之間的通訊。這也被稱進程間通訊,或 IPC。套接字有兩種(或者稱為有兩個種族),分別是基於文件型的和基於網絡型的。
基於文件類型的套接字家族
套接字家族的名字:
AF_UNIX
unix一切皆文件,基於文件的套接字調用的就是底層的文件系統來取數據,兩個套接字進程運行在同一機器,可以通過訪問同一個文件系統間接完成通信
基於網絡類型的套接字家族
套接字家族的名字:
AF_INET
(還有AF_INET6被用於ipv6,還有一些其他的地址家族,不過,他們要麽是只用於某個平臺,要麽就是已經被廢棄,或者是很少被使用,或者是根本沒有實現,所有地址家族中,AF_INET是使用最廣泛的一個,python支持很多種地址家族,但是由於我們只關心網絡編程,所以大部分時候我們只使用AF_INET)
網絡通信名詞總結