1、 TCP/IP四層模型
緩存
一、應用層:應用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協議(FTP)、網絡遠程訪問協議(Telnet)等。網絡
二、傳輸層:在此層中,它提供了節點間的數據傳送服務,如傳輸控制協議(TCP)、用戶數據報協議(UDP)等,TCP和UDP給數據包加入傳輸數據並把它傳輸到下一層中,這一層負責傳送數據,而且肯定數據已被送達並接收。ide
三、互連網絡層:負責提供基本的數據封包傳送功能,讓每一塊數據包都可以到達目的主機(但spa
不檢查是否被正確接收),如網際協議(IP)。blog
四、網絡接口層:對實際的網絡媒體的管理,定義如何使用實際網絡(如Ethernet、Serial Line等)來傳送數據。接口
2、OSI七層模型進程
物理層、數據鏈路層、網絡層、傳輸層、表示層、會話層、應用層
路由
OSI七層協議體系結構的概念清楚,理論也比較完整,但它既複雜又不實用。因此轉換成了TCP/IP四層模型get
3、TCP/IP協議棧與數據包封裝同步
傳輸層及其如下的機制由內核提供,應用層由用戶進程提供應用程序對通信數據的含義進行釋,而傳輸層及其如下處理通信的細節,將數據從一臺計算機經過必定的路徑發送到另外一臺計算機。應用層數據經過協議棧發到網絡上時,每層協議都要加上一個數據首部(header),稱爲封裝(Encapsulation),以下圖所示:
不一樣的協議層對數據包有不一樣的稱謂,在傳輸層叫作段(segment),在網絡層叫作數據報(datagram),在鏈路層叫作幀(frame)。數據封裝成幀後發到傳輸介質上,到達目的主機後每層協議再剝掉相應的首部,最後將應用層數據交給應用程序處理。
上圖對應兩臺計算機在同一網段中的狀況,若是兩臺計算機在不一樣的網段中,那麼數據從一臺計算機到一臺計算機傳輸過程當中要通過一個或多個路由器,以下圖所示。
集線器工做在物理層,用於將已衰減的信號再次放大 使之傳的更遠
二、鏈路層有以太網、令牌環網、等標準,鏈路層負責網卡設備的驅動、幀同步、
交換機工做在鏈路層、用於在不一樣的鏈路層網絡之間轉發數據幀
三、網絡層的IP協議是構成Internet的基礎。
路由器工做在網絡層,兼有交換機的功能,能夠在不一樣的鏈路層接口之間轉發數據包,所以路 由器須要將進來的數據包拆掉網絡層和鏈路層兩層首部從新封裝。IP 協議不保證傳輸的可靠性,數據 包在傳輸過程當中可能丟失,可靠性能夠在上層協議或應用程序中提供支持
四、網絡層負責點到點的傳輸,而傳輸層負責端到端的傳輸。傳輸層可選擇TCP或UDP協議。
TCP是一種面向鏈接的、可靠的協議。
UDP協議不面向鏈接,也不保證可靠性,
4、目的主機收到數據包後,如何通過各層協議棧最後到達應用程序呢?
以太網驅動程序首先根據以太網首部中的「上層協議」字段肯定該數據幀的有效載荷(payload,指除去協議首部以外實際傳輸的數據)是IP、ARP仍是RARP協議的數據報,而後交給相應的協議處理。假如是IP數據報,IP協議再根據IP首部中的「上層協議」字段肯定該數據報的有效載荷 是TCP、UDP、ICMP仍是IGMP,而後交給相應的協議處理。假如是TCP段或UDP段,TCP或UDP協議再根據TCP首部或UDP首部的「端口號」字段肯定應該將應用層數據交給哪一個用戶進程。Ip地址是標識網絡中不一樣主機的地址,而端口號就是同一臺主機上標識不一樣進程的地址,IP 地址和端口號合起來標識網絡中惟一的進程。
雖然IP、ARP和RARP數據報都須要以太網驅動程序來封裝成幀,可是從功能上劃分,ARP和RARP屬於鏈路層,IP屬於網絡層。雖然ICMP、IGMP、TCP、UDP的數據都須要IP協議來封裝成數據報,可是從功能上劃分,ICMP、IGMP與IP同屬於網絡層,TCP和UDP屬於傳輸層
5、以太網的幀格式
以太網的幀格式以下所示:
一、其中的源地址和目的地址是指網卡的硬件地址(也叫MAC地址),長度是48位,是在網卡出廠時固化的.
幀協議類型字段有三種值,分別對應IP、ARP、RARP。幀末尾是CRC校驗碼。
二、以太網幀中的數據長度規定最小46字節,最大1500字節,ARP和RARP數據包的長度不夠46字節,要在後面補填充位.最大值1500稱爲以太網的最大傳輸單元(MTU),不一樣的網絡類型有不一樣的MTU,若是一個數據包從以太網路由到撥號鏈路上,數據包長度大於撥號鏈路的MTU了,則 須要對數據包進行分片。MTU這個概念指數據幀中有效載荷的最大長度,不包括幀首部的長度。
6、ARP數據包格式
ARP地址解析協議。每臺主機都維護一個ARP緩存表,能夠用arp -a命令查看。緩存表中的表項有過時時間(通常爲20分鐘),若是20分鐘內沒有再次使用某個表項,則該表項失效,下次還要發ARP請求來得到目的主機的硬件地址。
ARP數據報的格式以下所示:
硬件類型指鏈路層網絡類型,1爲以太網,協議類型指要轉換的地址類型,0x0800爲IP地址,後面兩個地址長度對於以太網地址和IP地址分別爲6和4(字節),op字段爲1表示ARP請求,op字段爲2表示ARP應答。