1. 程式人生 > >Linux網絡(一)

Linux網絡(一)

ip mac socket linux網絡 資源子網

一、計算機網絡基礎
二、Mac&ip&port
三、通信子網和資源子網
四、網絡接口命名規範


一、計算機網絡基礎
Linux網絡屬性配置
計算機網絡:
文本流:把文件變成bit(01)流,傳輸,文本在線纜中傳輸的是bit流
根據時鐘頻率來決定:例如1s震動1000次,標識1s可以傳輸1000個數據流

為了完成數據傳輸:調制數字信號頻率是很重要的
同步傳輸
異步傳輸
文件的開始和結束位置,傳輸的頻率,同步還是異步:都需要雙方設備之間協定好
接收方阻塞,數據丟失,介質有效距離等各種問題
計算機網絡:
TCP/IP:協議棧,協議棧(使用)

ISO:國際標準化組織
OSI:開發系統互聯 //七層模型 ,學習模型
OSI是後期細化的
CSMA/CD //CSMA/CD(Carrier Sense Multiple Access with Collision Detection
token ring//誰拿到令牌,誰先發送
MAC: media access control:
48 bits:IANA,ICANN //6段8位
//8bit,2^4*2==16*2
24bits:需購買,2^24次方,前24bit需要申請
地址塊:2^24次方

開放的才是永久的
網橋/交換機:隔離沖突域
接口兩側本地通信:不會發送到其他網絡,在網橋的這個接口內,而不會傳輸到其他接口
默認會在整個網絡中傳輸
非本地通信:傳遞該信息
mac地址表
註意:網橋內部有一個表,mac地址表,記錄傳輸的信息,剛開始為空

路由器:隔離廣播域
二、Mac&ip&port
IP:internet protocol地址:網絡號+主機號
IP:32bits,4段8bit 2^8=256
IPv4:128bits,
IP地址分類:0000-0111
A類//第一位為0000
1-127.*.*.* //0000 0000-0111 1111
網絡數量:126,127環回地址
每個網絡中的主機數量:2^24-2
//全0標識網絡本身,全1標識廣播
子網掩碼:255.0.0.0
私網地址:10.0.0.0/255.0.0.0
B類// 1000-1011
前兩bit為網絡號,後兩bit為主機號
1000 0000-1011 1111 //128-191
網絡數:2^24
每個網絡中的主機數量:2^16-2
默認子網掩碼:255.255.0.0
私網地址:172.16.0.0-172.31.0.0
C類:1100-1101
前三位為網絡號,後1段位主機號
1100 0000-1101 1111 //192-223
網絡數量:2^8
每個子網中的主機數量:2^8-2
默認子網掩碼:255.255.255.0
私網地址:192.168.0.0-192.168.255.255
D類://組播通信 1110
前四位為網絡號,後
1110 0000 - 1110 1111 //224-239
默認子網掩碼:255.255.255.
網絡個數:2^4-2
私網地址:
E類://科研1111 0

1111 0000 - 1111 0111 //240-255
每個網絡中的主機數:2^3-2
默認子網掩碼:
私網地址

網橋:MAC地址表
靜態指定
動態學習:根據源地址學習,
TTL生存周期
交換機:switch:多端口網橋
路由器:router
靜態指定
動態學習
rip2,ospf,eigrp,等
OS:多用戶,多任務
多任務:多進程同時運行

Client:主動出擊,臨時可用地址,端口
//端口:標識每一個進程進行網絡通信的
2^16:65535:1-65535
server:端口固定
1-1023:固定分配,只有管理員才有權限啟動
1024-4W:半固定,不常見,
4W:隨機端口,每一個進程臨時通信,都可以使用
Server:固定且明確的地址,守株待兔
進程地址:IP:PORT,socket 地址
由內核提供的,向內核申請
OS:硬件,內核,應用程序,庫應用程序
OS:內核空間+用戶空間 //kernel | user space
一個端口,在同一時刻,只能被一個進程使用
進程需要註冊套接字:端口使用
進程是需要靠套接字進行通信的
完成通信至少需要三個地址:
mac地址:實現本地通信
ip地址:跨網絡通信//僅僅是用來標識使用,具體到內網還是靠mac通信,把ip轉換成mac地址
套接字地址:通信的發起者

MAC:本地通信:範圍:本地局域網
ip:界定通信主機,源和目標,範圍:全球互聯網
port:界定範圍,範圍:主機

具體內部的數據是如何組織的則需要application layer來查看
通信子網+資源子網

三、通信子網和資源子網
技術分享==========================================================
OSI模型 TCP/IP棧
通信子網:在內核空間實現
資源子網:在用戶空間實現

通信過程:封裝與解封裝
transport首部:網絡層首部:數據鏈路層報文
A-r1-r2--B //中間mac是來回變的,但是封裝的ip層是不變的
所有的不相同網段之間的通信:必須要有路由器轉發

默認網關:相當於總代理

ARP:地址解析協議,
局域網內部:通過arp請求,來獲取對方的mac地址
ARP可以緩存下來的,不是權威結果
TTL生存周期保存新鮮度

路由條目:
目標地址 下一跳(next hop)//網關
目標地址的類別:
主機:主機路由
網絡:網路路由
0.0.0.0/0.0.0.0 默認路由

www.baidu.com -->ip--->mac
FQDN-->ip:
本地:/etc/hosts文件
DNS:查找dns的ip地址,請求目標ip

將linux主機接入到網絡中
IP/NETMASK:本地通信
路由(網關):跨網絡通信
DNS服務器地址:基於主機名的通信
主DNS服務器地址:
備用DNS服務器地址:
第三備份DNS地址:
配置方式:
靜態指定:服務器一般都是靜態指定
命令:有的能保存到文件中,有的不能
配置文件:可能不會立即生效,有的需要強制內核重新執行配置文件

四、網絡接口命名規範
網絡接口的命名方式:
傳統命名
以太網:ethX,eth0,eth1,...
PPP命名:pppX,ppp0,ppp1,...
可預測命名//根據udev
支持多種不同的命名機制
Fireware,拓撲結構
//例如第幾個槽上的第幾個接口等
(1)如果firmware或BIOS為主板上集成的設備提供了索引信息可用,則根據此索引進行命名,
如:eno1,eno2
(2)如果firmware或BIOS為PCI-E擴展槽所提供的的索引信息可用,且可預測,則根據次索引進行命名,ens1,ens2,...
(3)如果硬件接口的物理位置信息可用,則根據此信息命名,如enp2s0,
(4)如果用戶顯式定義,也可根據MAC地址定義,例如enx122161ab2e10,..
上述均不可用,則仍使用傳統方式命名

根據(主板/pci-e擴展槽)索引,根據接口位置,MAC
eno1,ens1,en2s0,enx【12位】,eth0
命名格式的組成:
en:ethernet
wl:wlan
ww:wwan

名稱的類型:
0:index>:集成設備的設備索引號on the fireware
s:slot>:擴展槽
x:mac>
p:bus,s:slot:基於總線及槽的拓撲結構進行命名p:public


本文出自 “黑馬騰空” 博客,請務必保留此出處http://hmtk520.blog.51cto.com/12595610/1977175

Linux網絡(一)