IT必備網絡基礎知識

網絡設備

以太網

整個以太網的重心就是以太網卡。因此以太網的傳輸主要就是網卡對網卡直接的數據傳遞。IEEE802.3;CSMA/CD(衝突檢測的載波偵聽多路訪問)mysql

  • 監聽介質狀況:A主機發送數據包前,須要對網絡介質進行監聽,確認沒有人在使用後,才能發出數據幀。
  • 多點傳輸:A主機發送的數據會被集線器複製一份,而後發送給全部鏈接到此的集線器主機。只有目標主機選擇接受,其餘主機主動放棄
  • 衝突檢測:若其餘主機B也恰好在同一時間發送數據幀,那麼A與B數據衝突(出車禍),此時數據被毀壞,那麼A與B會各自隨機等待一個時間,而後從新經過第一步發送數據幀

集線器Hub

  • 集線器屬於OSI的第一層物理層設備
  • 集線器是一種網絡共享介質設備,單一時間內,僅能被一臺主機使用
  • 集線器全部端口在一個衝突域內

以太網橋和交換機(二層)

  • 交換機與集線器的差別,是能夠記錄每一個port與其鏈接PC的MAC地址
  • 分割了網絡衝突域,使網絡衝突被限制在最小的範圍內
  • 交換機能隔離衝突域,不能隔離廣播域
  • 擴展了網絡帶寬

路由器

  • 網關/路由器的功能就是負責不一樣網絡之間數據包的轉遞(IP Forwarding)
  • 路由的實現依靠路由器中的路由表來完成
  • 分隔廣播域
  • 同一網段內機器,若是刪除了路由記錄,也沒法Ping通

VLAN

  • VLAN = 廣播域= 邏輯網絡 (Subnet)
  • IEEE 802.1Q 幀結構算法

  • VLAN ID,12bit,表示該數據幀所屬VLAN的編號。VLAN ID取值範圍是0~
    4095。因爲0和4095爲協議保留取值,因此VLAN ID的有效取值範圍是1~4094

TCP/IP 協議棧

傳輸控制協議/因特網互聯協議,定義了四層。sql

TCP端口號

  • 傳輸層經過port號,肯定應用層協議(0-65535)
  • 0-1023:系統端口或特權端口(僅管理員可用) ,衆所周知,永久的分配給固定的
    系統應用使用,22/tcp(ssh), 80/tcp(http), 443/tcp(https)
  • 1024-49151:用戶端口或註冊端口,但要求並不嚴格,分配給程序註冊爲某應
    用使用,1433/tcp(SqlServer), 1521/tcp(oracle),3306/tcp(mysql),11211/tcp/udp
    (memcached)
  • 49152-65535:動態端口或私有端口,客戶端程序隨機使用的端口
    其範圍的定義:/proc/sys/net/ipv4/ip_local_port_range

tcp協議和udp協議對⽐的優缺點?

  1. TCP面向鏈接;UDP是無鏈接的,即發送數據以前不須要創建鏈接。服務器

  2. TCP提供可靠的服務。也就是說,經過TCP鏈接傳送的數據,無差錯,不丟失,不重複,且按序到達;UDP盡最大努力交付,即不保證可靠交付。網絡

  3. UDP具備較好的實時性,工做效率比TCP高,適用於對高速傳輸和實時性有較高的通訊或廣播通訊。oracle

  4. 每一條TCP鏈接只能是點到點的;UDP支持一對一,一對多,多對一和多對多的交互通訊。ssh

  5. TCP對系統資源要求較多,UDP對系統資源要求較少。

UDP以其簡單、傳輸快的優點,在愈來愈多場景下取代了TCP。
(1)網速的提高給UDP的穩定性提供可靠網絡保障,丟包率很低,若是使用應用層重傳,可以確保傳輸的可靠性。
(2)TCP爲了實現網絡通訊的可靠性,使用了複雜的擁塞控制算法,創建了繁瑣的握手過程,因爲TCP內置的系統協議棧中,極難對其進行改進。tcp

簡述tcp三次握⼿和四次揮⼿過程及各過程當中客戶端和服務器端的狀態

三次握手ide

  • 客戶端向服務器端發送SYN包,客戶端進入SYN_SEND狀態。memcached

  • 服務器端收到客戶端發送的包返回ACK+SYN包,服務器端進入SYN_RECV狀態。

  • 客戶端收到服務器端返回的包再發回ACK包,客戶端進入ESTABLISHED狀態,服務器端收到包也進入ESTABLISHED狀態。

    四次揮手

  • 客戶端發送FIN包詢問服務器端是否能斷開,客戶端進入FIN_WAIT_1狀態。

  • 服務器端收到客戶端發送的包並返回ACK包,服務器端進入CLOSE_WAIT狀態。

  • 服務器端準備好斷開後,發送FIN包給客戶端,服務器端進入LAST_ACK狀態。

  • 客戶端收到服務器端發送的包後返回ACK包,客戶端進入TIME_WAIT狀態,服務器端收到包後進入CLOSED狀態。
相關文章
相關標籤/搜索