以前都在學習Internet的歷史,從這周開始,進入到了Internet技術的學習。
數組
80年代以前,主流網絡的仍是Store and Forward Networking(存儲轉發網絡),可是因爲其在數據處理方面延時較大,沒法應用於條件嚴苛的軍事領域,故軍方出力研究出了ARPANET——一個典型的packet switch network(分組交換網絡)。網絡
ARPANET給出了一個不同的網絡:Shared Network——把一大段信息分紅許多個packets(數據包),利用路由器作短時間短距離的數據傳輸,多個路由器接連負責將收到的數據包傳送給下一個路由器,hop依然存在,路由器之間的不斷轉發最終讓數據匯聚到目的地。ide
Shared Network上的數據須要在路由器與路由器之間不停的Hop,爲了簡化和管理,業界提出了分爲四層的Layered Network Model(網絡分層模型),隨之在各層上用協議(Protocol)來約束層與層之間要如何協同工做,簡化過程。學習
Link Layer(鏈路層)是協議的第一層。因爲是分層模型,所以在這層上,只考慮物理層面上實現傳輸數據便可。物理的傳輸介質,若有線、無線傳輸、光纜等,均可以看作是一個Link。spa
Ethernet(以太網)能夠說是目前應用最爲普遍的Link Layer,硬件製造商在製造帶有以太網或者無線適配器的電子器件時,都會用六組兩兩結合的字符去標識這些硬件,這其實屬於一種物理地址(Mac地址),硬件之間正是經過地址來識別。blog
當涉及到共享的問題時,必然須要一個與之相對應的衝突解決方案,以太網採用的則是CSMA/CD(Carrier Sense Multiple Access/Collision Detection,載波監聽多路訪問及衝突檢測)。設備在發送數據前會對信道進行Listen(監聽),當沒有其餘正在傳輸的數據時,才能夠進行傳輸,不然在某個週期內將會一直持續監聽。索引
Internetwork Layer(網絡層)須要關心的是多個Link的鏈接問題,這是分層模型帶來的好處。ip
與前面的Mac地址不一樣,IP地址不是與硬件有關的且一成不變的,物理地址在某個硬件被製造時就由製造商決定了,IP地址是全球性的,當你到了其餘地方IP地址就會隨之發生改變。路由
IP地址(IPv4)格式是32bits的,由四個小數點分隔,每組都由0 ~ 255(8bits)的二進制數組成。IP地址分爲前綴網絡號和後綴主機號,前者用子網掩碼來表示,用於表示IP地址從屬的網絡,後者指明網絡中的具體主機號。數據在網絡傳輸過程當中會先根據網絡號找到指定網絡,再根據主機號索引到目標主機。it
Router Tables(路由表)是路由器等網絡設備上存儲的一張動態更新的信息表,路由表中存放了發送源和目的地的地址,能夠根據目的地的ip地址決定了數據該往哪一個方向傳遞,路由表中還包含了相鄰鏈路的帶寬狀況,智能選擇路徑以免擁堵。
DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個局域網的網絡協議,在接收申請以後,能夠爲新連入網絡的主機分配一個IP地址。例如當咱們在咖啡廳、在家與在工做單位分別鏈接網絡時,其實分配的IP地址是不一樣的,可是咱們在接入網絡的時候卻沒有由於地址不一樣而被拒絕,這都歸功於DHCP。
若是爲全部機構的全部電腦都分配一個真實存在的IP地址,那麼IP地址將會很緊缺(IPv4狀況下是2的32次方個),因此出現了Network Address Translation技術。
NAT(Network Address Translation,網絡地址轉換)技術可以使專用網內部已分配的本地IP地址與因特網上的主機進行通訊,這種經過使用少許的公有IP地址表明較多的私有IP地址的方式,有助於減緩IP地址枯竭的狀況。不過NAT分配的只在內部網絡使用的虛擬IP地址,不能直接訪問因特網,只有經過ISP(Internet Service Provider,互聯網服務提供商)轉換爲real global routable address,才能與因特網傳輸數據。
TTL(Time to Live,存活時間)是每一個IP數據包自帶的一個用來表示生存時間的字節,最大值爲255。TTL每通過一個路由器減小1,減到零以後就丟棄數據包,防止無限hop致使死循環形成網絡堵塞。