Protocol (IP)IP 封包

合集下载

封包初级教程

封包初级教程

封包初级教程封包是计算机网络中的一个重要概念,它是指把一系列数据按照特定的格式封装成数据包,然后通过网络进行传输的过程。

封包的使用非常广泛,它可以用来传输各种类型的数据,包括文本、图像、音频等。

本文将介绍封包的基本原理和常用的封包技术,以帮助初学者了解和掌握封包的基本知识。

首先,我们来了解一下封包的基本原理。

封包的过程可以分为三个主要步骤:封装、传输和解封。

在封装过程中,数据被按照特定的格式封装成数据包。

这个格式通常包括数据包的头部和数据部分。

头部包含了一些元数据,如源地址、目标地址、数据类型等信息,用来帮助接收方正确解析和处理数据包。

数据部分则是实际要传输的数据。

在传输过程中,封装好的数据包通过网络传输到目标设备。

最后,在目标设备上进行解封过程,将数据包还原成原始数据,以便进行后续的处理和使用。

下面,我们将介绍一些常用的封包技术。

其中,最常用的封包技术是TCP/IP协议栈。

TCP/IP协议栈是现代计算机网络中使用的一种通信协议,它将通信过程分为不同的层次,每一层负责不同的功能。

在封包层次上,TCP/IP协议栈使用IP封包来传输数据。

IP封包是一种包含了源地址、目标地址和数据的简单封包格式,它可以通过互联网传输数据。

此外,TCP/IP协议栈还使用TCP封包来实现可靠的数据传输,以及使用UDP封包来实现低延迟的数据传输。

除了TCP/IP协议栈,还有其他一些常用的封包技术。

例如,HTTP封包是用于在Web上传输数据的一种封包格式,它通常使用TCP/IP协议栈来传输数据。

HTTP封包包含了请求和响应的头部信息以及数据部分,可以在Web浏览器和Web服务器之间进行数据传输。

另外,SMTP封包是用于在电子邮件系统中传输邮件的一种封包格式,它通常使用TCP/IP协议栈来传输数据。

SMTP封包包含了邮件的头部信息和正文部分,用于在发送方和接收方之间传输邮件。

封包是计算机网络中非常重要的概念,它在数据传输和通信中起着极其重要的作用。

什么是TCPIP协议栈?栈是什么意思?

什么是TCPIP协议栈?栈是什么意思?

什么是TCP/IP协议栈?栈是什么意思?TCP/IP协议叫做传输控制/网际协议,它是Internet国际互联网络的基础。

TCP/IP 是网络中使用的基本的通信协议。

虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。

通常说TCP/IP是Internet协议族,而不单单是TCP和IP。

TCP/IP协议的基本传输单位是数据包(datagram),TCP协议负责把数据分成若干个数据包,并给每个数据包加上包头(就像给一封信加上信封),包头上有相应的编号,以保证在数据接收端能将数据还原为原来的格式,IP协议在每个包头上再加上接收端主机地址,这样数据找到自己要去的地方,如果传输过程中出现数据丢失、数据失真等情况,TCP协议会自动要求数据重新传输,并重新组包。

总之,IP协议保证数据的传输,TCP协议保证数据传输的质量。

TCP/IP 协议数据的传输基于TCP/IP协议的四层结构:应用层、传输层、网络层、接口层,数据在传输时每通过一层就要在数据上加个包头,其中的数据供接收端同一层协议使用,而在接收端,每经过一层要把用过的包头去掉,这样来保证传输数据的格式完全一致。

TCP/IP协议介绍TCP/IP的通讯协议这部分简要介绍一下TCP/IP的内部结构,为讨论与互联网有关的安全问题打下基础。

TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。

确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。

数据包报文格式(IP包TCP报头UDP报头)

数据包报文格式(IP包TCP报头UDP报头)

数据包报文格式(IP包TCP报头UDP报头)一、IP包格式IP数据包是一种可变长分组,它由首部和数据负载两部分组成。

首部长度一般为20-60字节(Byte),其中后40字节是可选的,长度不固定,前20字节格式为固定。

数据负载部分的长度一般可变,整个IP数据包的最大长度为65535B。

1、版本号(Version)长度为4位(bit),IP v4的值为0100,IP v6的值为0110。

2、首部长度指的是IP包头长度,用4位(bit)表示,十进制值就是[0,15],一个IP包前20个字节是必有的,后40个字节根据情况可能有可能没有。

如果IP包头是20个字节,则该位应是20/4=53、服务类型(Type of Service TOS)长度为8位(bit),其组成:前3位为优先级(Precedence),后4位标志位,最后1位保留未用。

优先级主要用于QoS,表示从0(普通级别)到7(网络控制分组)的优先级。

标志位可分别表示D(Delay更低的时延)、T(Throughput 更高的吞吐量)、R(Reliability更高的可靠性)、C(Cost 更低费用的路由)。

TOS只表示用户的请求,不具有强制性,实际应用中很少用,路由器通常忽略TOS字段。

4、总长度(Total Length)指IP包总长度,用16位(bit)表示,即IP包最大长度可以达216=65535字节。

在以太网中允许的最大包长为1500B,当超过网络允许的最大长度时需将过长的数据包分片。

5、标识符(Identifier)长度为16位,用于数据包在分段重组时标识其序列号。

将数据分段后,打包成IP 包,IP包因走的路由上不同,会产生不同的到达目地的时间,到达目地的后再根据标识符进行重新组装还原。

该字段要与标志、段偏移一起使用的才能达到分段组装的目标。

6、标志(Flags)长度为3位,三位从左到右分别是MF、DF、未用。

MF=1表示后面还有分段的数据包,MF=0表示没有更多分片(即最后一个分片)。

网络IP的数据加密和传输安全

网络IP的数据加密和传输安全

网络IP的数据加密和传输安全随着互联网的快速发展,网络安全问题也越来越突出。

网络IP的数据加密和传输安全是保障网络通信安全的重要环节。

本文将从网络IP的数据加密和传输安全的概念、加密算法、传输协议以及相应的安全保障措施等方面进行探讨。

一、网络IP的数据加密和传输安全概述网络IP(Internet Protocol)是互联网的基础协议,它负责数据包的传输和路由选择。

然而,在传输过程中,网络IP数据包可能会面临被黑客窃取、劫持、篡改等风险,因此,确保网络IP的数据加密和传输安全显得尤为重要。

数据加密是指将明文数据通过一定的算法转换成密文数据,使得未经授权的人无法理解其中的内容。

传输安全则是指在数据传输的整个过程中,采取一系列措施确保数据的机密性、完整性和可用性。

网络IP的数据加密和传输安全的核心目标是保护数据的机密性,防止数据泄露、篡改和劫持。

二、数据加密算法数据加密算法是实现数据加密的核心方法。

常见的加密算法有对称加密算法和非对称加密算法。

1. 对称加密算法对称加密算法使用相同的密钥进行数据的加密和解密操作。

加密和解密的过程具有相同的算法,因此速度较快,但需要确保密钥的安全性。

常见的对称加密算法有DES、3DES、AES等。

2. 非对称加密算法非对称加密算法使用一对密钥进行数据的加密和解密操作。

加密和解密使用不同的密钥,分别称为公钥和私钥,因此安全性较高。

常见的非对称加密算法有RSA、DSA、ECC等。

三、传输协议传输协议是指在网络通信中,用于规定数据传输格式和通信规则的协议。

常见的传输协议有TCP/IP协议和UDP协议。

1. TCP/IP协议TCP/IP协议是互联网通信的基础协议,它保证了数据的可靠传输。

TCP协议提供面向连接的、可靠的数据传输,而IP协议负责数据包的传输和路由选择。

在TCP/IP协议中,可以使用SSL/TLS等安全协议对数据进行加密和传输安全保障。

2. UDP协议UDP协议是一种无连接的传输协议,它提供了简单、快速的数据传输方式。

TCPIP名词说明

TCPIP名词说明

A PPLICATION 層DHCP (Dynamic Host Configuration Protocol)DHCP 這個Protocol 主要是用來配置電腦或Device的IP Address (IP位址). IP Address是Layer3(指的是Protocol stack中的Internet這一層)中用來識別一台機器的位址. 所以在主機與主機通訊中都必須指明來源位址及目的地位.在網路傳輸的過程網路封包就像是個郵件一樣來寄送, 而中間所經過的Router 就像是郵差一樣, 它會依據封包的目的地位址來配送郵件, 最終會將封包(郵件)送至目的地位址, 而收信者也會由來源位址知道這個封包是由那裡寄來的, 在回信時則以來源位址當做目的地位址來回信給原來的寄信者.由此可知每一台電腦或Device如果要使用IP address來通信的話一定要配置一個IP address. 而IP address可以透過手動設定或自動設定. 自動設定IP的方式則必項透DHCP這個protocol來完成這個自動配置IP的動作.而與DHCP所相關的SW則有下列3個.1. DHCP ServerDHCP Server是負責配送一個可用的IP 位址給需求的機器或Device. DSLAM其中一個功能是要負責配送IP位址給用戶. 通常會使用這個功能的可能是比較小型的網路, 如旅館業者. 在大型的ISP (Internet service provider, 如中華電信) 業者並不會在DSLAM中啟動DHCP Server的服務, 而是由一台專門的DHCP Server來統一管理IP address的配置.2. DHCP ClientDCHP Client 是負責提出需求一個合法IP需求的機器, 通知我們在使用的電腦則需要DHCP Client的軟體, 這個軟體則用來向DHCP Server來要一個合法的IP Address.DSLAM上的Management port有安裝這個功能. 通常DSLAM是不需要這個功能, 這個功能一般是使用在End User的PC, 但是因為有一個客戶有這個需求, 所以DSLAM則Implement了這個功能.3. DHCP Relay Option82DHCP Relay Option82 通常會存在於DSLAM中, 這個軟體則負責來監控使用者所得到的IP位址, 並且會在封包中另外加入一些標籤(通常這個標籤會讓DHCP Server可以辨識使用者的用戶線路ID), 讓DHCP Server依據這個標籤來配置一個固定的IP位置給使用者的機器, 而這個標籤與所配置的IP address會在DHCP Server上面有一個連結的記錄. 這個服務通常用來防止網路犯罪而制定的. 當某個IP位址在網路上有犯罪行為時, 這個機制則可以由用戶線路ID來查到犯罪者是由那一條線路犯罪的.FTP (File Transfer Protocol)這個Protocol是專門用來傳輸檔案. 而FTP這個protocol是可靠性傳輸, 也就是網路封包如果有漏包則會啟動重傳的機制來加強檔案傳輸的可靠性.TFTP (Trivial File Transfer Protocol)這個Protocol也是專門用來傳輸檔案, 但是TFTP與FTP最大的差別就是TFTP是不支援可靠性傳輸, 也就是漏包不重傳.TelnetTelnet是一個遠端登入服務專用的Protocol. DSLAM可以透過這個Protocol讓使用者可以在遠端使用CLI (Command Line Interface)這個軟體, 而CLI這個軟體在昨日的會議中做了完整解釋, 他是一個Text only (文字模式) 的使用者界面, 使用者可以透過這個界面來下達文字command來管理DSLAM.HTTP (Hypertext Transfer Protocol)Hypertext指的就是一般所看到的網頁, 而HTTP這個protocol是在負責將網頁傳送到使用者電腦上的瀏覽器, 在DSLAM的User Interface(CLI, WEB, SNMP)中, WEB 就是以網頁的形式來開發的, 但是所開發出來的網頁必須要利用HTTP protocol 才能將網頁配送到使用者電腦的瀏覽器中, 則使用者便可以透過瀏覽器來與DSLAM互動, 進而管理DSLAM上的所有設定(DSLAM上的設定參數超過數百個, 算是一個複雜的系統). 所以當我們開發完WEB的網頁之後, 在DSLAM上必須要有一個HTTP Server (WEB server)來負責將網頁來做配送的動作.SNMP (Simple Network Management Protocol)SNMP是一種Internet的standard protocol, 專門用來管理網路Device的protocol. 其中制定了統一的管理參數, 而參數統一之後則可以讓網管系統與被管理系統分開去開發, 也不一定要當做同一個產品線, 這樣的好處可以讓使用網管系統的公司或ISP只需要一套網管軟體也可以管理不同形形色色的網路Device.所以只要是利用了SNMP的protocol來管理網路的Device當送出同樣的封包時則代表了是要設定或查詢同一個參數, 因為都是網路Device, 雖然不一定功能都一樣多, 但是對於參數的定義一定是一樣的, 所以當網管系統對不同的機器發出一樣的需求/封包時, 接受到SNMP Request的機器, 在有支援這個功能的情形下, 也都能做出這個參數的回報及設定, 這個就是SNMP這個protocol被定義最大的目的.其由SNMP還有分了3種不同的版本, 基本上新版一定會相容於舊版.1. SNMPv12. SNMPv2cV1與V2C中間的差距不大, 嚴格說來只是V2C所支援的設定跟查詢較V1來的齊全. 例如: V2C可以支援一個request可以要求查詢一個Table中的所有資料, 但是V1一次只能要一筆.3. SNMPv3V3與V1及V2C不同的地方只有在security上不同而已, SNMPV3有支援使用帳號登入的方法, 但是V1及V2C沒有. 另外SNMPV3也支援封包加密, 但是V1及V2C沒有.Network SecurityNetwork security不是專指一個Protocol, 這裡特別一個單元主要是列出與Network security有關的Protocol. 下列對每一個Protocol一一做介紹.1. HTTPs (HTTP Secure)這個Protocol與HTTP是同樣的服務, 唯一的差別就是, HTTPs會將封包做加密再傳輸, 以保全及防止在網路上所傳輸的資料被偷看.2. SNMPv3這個Protocol在SNMP中已經做過解釋了, 這裡特別列出主要是強調SNMPv3 是因為想要加強SNMPv1及SNMPv2c的安全性, 而另外定義的protocol. 在SNMPv3中加入了使用者帳號與密碼的登入機制及封包加密的規則.3. SSH (Secure Shell)這個protocol所提供的服務與Telnet一樣, 唯一的差別只是在封包的傳輸上使用了加密的機制而不用明文.4. Radius Client這個Protocol專門提供了認證(使用者帳號及密碼的確認, 也可以說是身份的確認)及授權(權限等級的確認, 如管理者或來賓的確認, 不同的權限有不同的存取權限及功能的使用限制)的機制. 而Radius Client是負責提出認證及授權的要求, Radius Server只是負責接收認證及授權的需求, 通常網路管理者會將所有的使用者及其權限定義在Radius Server的資料庫中, 當有認證或授權需求時便會由這個資料庫來提供結果.而DSLAM便提供了Radius Client的功能, 其功能主要是用來認證及授權要管理DSLAM的管理者, 使用這個protocol可以讓管理者減去要每一台機器都必須去設定帳號的困擾. 例如: 當使用者利用瀏覽器來登入DSLAM時,DSLAM會最顯示登入的畫面讓使用者輸入, 當使用輸入完成後, DSLAM 會透過Radius client來發出認證及授權需求, 一但認證成功則這個使用者則可以管理DSLAM, 而所管理的權限也是由Radius服務來通知, 如這個使用者所拿到的權限是來賓, 則這個使用者在所有的功能上只有唯讀(Read Only), 並且還會有一部分的功能看不到也不能管理.5. TACACS+ Client這個protocol與Radius Client大致是相同的功能, 封包的格式無共用點, 在外觀上看來是2種不同的協定, 溝通方面也不相同. TACACS+ 這個protocol 早期是由Cisco(思科)所定義的. 一般可以說沒什麼人在用, 大部份都使用Radius, 而TACACS+幾乎都只有在Cisco的Switch或Router才看得到, 但是因為DSLAM有部份的客戶是都是使用Cisco的Switch或Router在局端的設備, 所以在客戶的推動下,我們也將TACACS+ Client implement到我們的DSLAM 中.SNTP (Simple Network Time Protocol)SNTP是一種會自動對時的protocol, 在DSLAM上有些功能必須要有正確的時間, 例如: Alarm發生的時間. 大部份DSLAM都會裝在電信局的局端, 如果有上千台機器要設定時間這是一件擾人的事情, 所以DSLAM也必須要有自動對時的Protocol來校正時間.SIP (Session Initiation Protocol)SIP這個protocol通常是用來做VoIP的撥號及Call feature用的protocol, 例如: 通話保留, 三方通話, 插撥...等. SIP已經慢慢成為與VoIP有關的Call feature主要使用的Protocol了, 其他Protocol都慢慢漸微了.另外3個與VoIP的Call feature有關的Protocol則不再作介紹了, 因為SIP已漸漸成為主流了, 其他Protocol都慢慢變成向前相容的需要才需要去implement它.1. H.2482. MGCP3. H.323VoIP/VoD (Voice over IP/Video on Demand)一般用來傳送語音或影像會使用下列3種protocol來達到穩定傳送品質的效果.1. RTPReal Time Protocol. 這個protocol的好處則是可以提供即時的語音及影像傳送, 以減少jitter的發生.2. RTCPRTCP(Real Time Transport Control Protocol)是必須配合RTP而使用的protocol, RTCP可以去控制RTP傳送的因子變數, 以達到最佳的網路傳輸品質給Voice及Video.3. RSTPReal Time Streaming Protocol. 這個Protocol主要用來控制Voice及Video播放的快轉或反轉.T RANSPORT層TCP (Transmission Control Protocol)這是一種傳輸控制的協定, 因為TCP本身是一種可靠性傳輸的protocol, 所以在傳輸的過程中會有很多的ACK機制去做傳輸成功或失敗的確認, 但是因為TCP中有很多的機制可以來調整傳送的速率或需不需重傳的機制也造成了TCP protocol 在傳送時速率較UDP(User Datagram Protocol, 下面會介紹)來的低.在Application layer中使用TCP protocol來當做傳輸控制的protocol如下:Http, Https, Telnet, SSH, TACACS+, FTP,UDP (User Datagram Protocol)與TCP同樣為傳輸層中的Protocol, 在傳輸層中只有2個Protocol, 其一為TCP, 另一個則為UDP. UDP 與TCP不同的是UDP層中沒有來回確認跟偵測的Protocol, 這個Protocol 較為簡單, 所以在傳送的規則上較為暴力, 有就送, 雖然較沒有保障, 但是也相對的使用UDP來當傳輸層中的Protocol也得到較高速的傳送, 通常較為Real time的資訊都是透過UDP來傳送的, 如果為了要解決無法重傳的問題, 通常會移到application層中再做重傳或不重傳的機制, 如此也可以省去TCP中繁複的通訊控制.在Application layer中使用UDP protocol來當做傳輸控制的protocol如下: SNMPv1/v2c/v3, Radius, DHCP, TFTP, SNTP, SIP, H.248, H.323, MGCP, RTP, RTCP, RTSP.I NTERNET/N ETWORK層(俗層L AYER 3)ARP (Address Resolution Protocol)這個Protocol是用來做位址解析的Protocol, 在網路7層(或稱TCP/IP model 4層)中, 在第3層(Layer3) 是以IP address來定址(也就是每個網路的Device都必須要有一個IP address來表示自己的身份, 以方便在資料傳輸時才知道每個封包是要給那一台機器的) , 而網路的7層通常是一層要包一層, 例如: SNMP的資料要傳輸出去前, 必須要先到Transport層中打包UDP的Header. (所以到了Transport 層中, SNMP的資料也就變成UDP Header + SNMP Data). 而UDP的資料再傳出去前必須到第3層打包IP的Header. (所以到了IP層中, SNMP的資料也就變成了IP Header + UDP Header + SNMP Data). 而IP的資料再傳出去前必須到第2層打包Ethernet 的Header. (所以到了Data Link層或Network Access 層, 俗稱Layer2層, SNMP的資料也就變成了Ethernet Header + IP Header + UDP Header + SNMP Data).所以按照上述的規則, 舉凡第3層的資料要往第2層打包前都必須要先知道目的地的MAC 位址, 因為最上層的application應用通常都只給IP address, 所以必須要有一個Protocol到網路上去問第2層的Destination MAC是那一個位址. 這時則會透過ARP這個Protocol來做詢問其他的網路Device有沒有人知道即將要送出去的這個封包的Destination IP它的MAC address是什麼.例如: 一個User 透過網頁要瀏覽hinet的網頁, 通常這個Request要送出去前, 封包打包到第3層Header完畢了, 即將要打包第2層的Header, 這時這個PC會送出一個ARP的封包到網路上去訽問有沒有人知道hinet的MAC address是什麼, 如果有人回應則這個封包便可以完成第2層的Header打包, 在完成第2層打包之後則可以透過實體層來傳輸這個封包.而RARP (Reverse Address Resolution Protocol), 這個Protocol則反之, 它是反過來詢問, 他會問"00:00:11:22:22:22" 這個MAC address的IP address是多少有沒有人知道.而DSLAM在ARP這個Protocol上面有支持2個與ARP有關的服務, 其解釋如下: 1. ARP Snooping通常Snooping則是代表監看的意思, 所以DSLAM會去監看ARP的封包, 來記錄這每一條線路的MAC與IP 位址.2. ARP Anti-SpoofingARP Anti-Spoofing指的是ARP 防假冒的功能, 這個功能必須要DSLAM先有ARP Snooping的功能才能防假冒, 也就是平時監看再記錄, 要檢查防假冒時會用先前記錄好的資料來確認是否有人假冒. 這個功能可以避免犯罪, 當然如果只單純靠ARP Anti-Spoofing及ARP Snooping來防假冒就太過淺薄, 通常還會搭配DHCP Relay Option82. 前面已經有介紹過了, DHCP Relay Option82可以將用戶所配到的IP 位址做記錄,這個位址是由DHCP Server所配置的, 所以非常準確, 而且在DSLAM的network中如果有機器不使用DHCP Server所配置的IP位址通常這個封包是會被檢查出來的且無法進入Internet, 所以在種種的配套之下可以達到安全的網路防護.IPv4 (Internet Protocol version 4)IPv4 Protocol是第3層中主要的protocol主要是用來打包TCP或UDP的資料. 打包之後會往第2層傳送, 其中會經過Switch與Router所組成的網路, 而Router 會依據IP 位址來傳送資料至指定的位址, 所以Router也被稱為Layer3的device. Switch 則是依據Ethernet MAC address來傳送資料至指定的位址, 所以Switch也被稱為Layer2的device.IPv6 (Internet Protocol version 6)與IPv4同樣為第3層的protocol, 但是因為IPv4位址只有32 bit, 目前全世界最後一個IP位址已經在今年賣出, 所以在未來就必須使用IPv6來取代IPv4. 而IPv6的位址長度為128bit. 因為前面有說過IP address是每個Device都必須要有一個, 如果重複的話也可能造成網路封包傳錯機器.ICMPv4/v6 (Internet Control Message Protocol)這個protocol是用來做網路debug用的, 例如網路突然不通了, 我們可以透過ICMP這個protocol來debug看看網路那個點有問題.ICMPv4與ICMPv6的功能是一樣的, 只是一個是用來debug IPv4的網路, 另一個是用來debug IPv6的網路.IGMPv2/v3 (Internet Group Message Protocol)這個Protocol主要的應用是用來控制VoD或MoD Video的播放頻道, 舉例: 如果一個DSLAM下面有多個用戶要看同一個Video, DSLAM中可以透過這個Protocol 來做Group的控管, 另一個簡單的例子, 台視有5個人要看, HBO 有6個人要看, 在這種情形下, 如果播放業者是中華電信的話, 如果沒有做group則必須要由中華電信配送5個台視的Video資料至DSLAM, 6個HBO的Video資料至DSLAM. 而這種情形非常浪費DSLAM與對上的頻寛, 如果使用了IGMP這個Protocol則DSLAM知道台視有5個人要看, HBO有6個人要看, 對上由DSLAM當代理服務跟中華電信只要了一份台視及一份HBO的Video則由DSLAM來對group做copy video的動作, 則可以省去很多頻寬, 畢竟愈中心的頻寬愈多人share.而V2及V3主要的功能一樣, 只是V3會支援一些進階的功能.MLDv1/v2 (Multicast Listener Discovery)MLDv1/v2是IPv6版本的IGMPv2/v3. 而IGMPv2/v3是屬於IPv4的版本. 其功能與IGMP一樣, 所以不再解說.RIP (Routing Information Protocol)這個Protocol是專門用來交換網路的路由資訊. 所謂的路由資訊也就是Forward 的資訊. 有點類似公車站牌上會有寫明說你做幾路公車可以到那裡去, 而比較中心的Router通常就跟比較大的公車站一樣, 你如果要去不同的點就要做不同號碼的公車. 所以比較大型的Router會有很多的Port但是如果由人工來maintain 每個port 可以到達的網路區段又太擾人不好maintain,所以就發明了Routing protocol這個協定, 他會自動的交換可以到達的路由給左右鄰舍的Router, 全世界的Router也是靠了routing protocol才把路由表串接起來的. 所以我們在家裡可以輕鬆的打個網址就可以把封包送到目的地也是因為這些routing protocol把全世界的路由串接起來的.這個protocol也算是Layer3 device最基本必須要支援的功能.OSPF (Open Shortest Path First Protocol)這個Protocol與RIP一樣是屬於Routing protocol, 它是屬於比較核心一點的Router在使用的, 它所交換的資料比較彈性也比較複雜的計算, 最主要是RIP的交換方式不能超過15個節點所以屬於比較Edge的Router在使用的Protocol交換資料簡單, 也計算不複雜.MPLS-TP (Multiprotocol Label Switching - Transport profile)這個是在back-hauling的應用中所需要使用的protocol. 這裡不詳談, 因為目前它的用途也偏向back-hauling而且, 在TCP/IP中無太多的應用與它有關.N ETWORK A CCESS/D ATA L INK 層(俗稱L AYER2層)PPP (Point-to-Point Protocol)PPP這個Protocol通常都是用來做撥接服務用的Protocol, 目前中華電信在用戶端為了方便管理使用者的data不會任意亂跑, 都是使用PPP撥接服務來做Internet Data的Access也就是一般俗稱的Internet上網服務. 因為他是點對點的服務所以資料本身不會亂跑所以管理簡單.而因為PPP可以跑在不同的Protocol上, 所以也會因為下層的網路協定不同而有不同的名稱, 如下:1. PPPoAPPPoA (PPP over ATM). 當PPP跑在ATM的protocol上則稱之為PPPoA.2. PPPoEPPPoE (PPP over Ethernet). 當PPP跑在Ethernet的Protocol上則稱之為PPPoE.3. PPPoE/IAPPPoE/IA (PPPoE intermediate Agent). 這個服務有點類似DHCP Relay Option82, DSLAM會監看PPPoE的封包並且會在PPPoE的request中插入用戶線路的ID, 以讓PPPoE Server可以針對用戶線路ID來配置IP Address, 在有違法行為時才知道是那一個用戶犯法. 這是一個避免網路犯罪行為的機制.802.1adIEEE 802.1ad是由IEEE所制定的協定專門用來討論VLAN, VLAN stacking, VLAN Translation的具體做法及規定.VLAN (Virtual LAN) 是Layer2中最基本的功能, 他可以將一個大型的區域網路切割成數個虛擬的區域網路. 一般對於Virtual(虛擬)這個字的定義是"不是真的但是又真的存在", 也就是說VLAN並非真的將LAN實體的分開, 但是他實做起來確是實體的分開. 所以VLAN可以減少LAN(區域網路)中資料廣播傳送的量, 以達到提升網路效能的目的. 對於一個LAN(區域網路)來說, 它是一個廣播的網路, 也就是不知道要forward到那裡去就forward 到所有的ports, 則這種廣播造成網路資料泛濫. 一般而言一個LAN是存在於Ethernet (乙太網路)中, Ethernet的特性是同時有2個device要傳送則會碰撞的網路, 換個方式來舉例: 如果有2個人在講電話, 而雙方都同時一直說話, 基本上這種碰撞會造成雙方無法溝通. 所以在乙太網路中有一種防止碰撞的方法, 雖然可以防止碰撞了, 但是還是有一個缺點, 如果太多機器存在於同一個LAN中則會造成網路效能非常的差. 所以VLAN可以將區域網路切割成多個區域網路因此可以提升網路中的使用效能. 另一個好處是VLAN也可以控制封包的去向, 所以透過VLAN的設定也可以提升網路中的安全性.VLAN Stacking通常會用在Metro-Ethernet的網路中, 使用VLAN Stacking的原因有幾種, 其中最重要的原因是VLAN最多只能分割為4094個, 因為表示VLAN ID的資料格式只有12個Bit所以無法再多了, 在Access Network(局端)中, 通常有太多的DSLAM, 所以容易造成VLAN不夠用, 所以因此定義了2層VLAN的方法來解決VLAN不夠用的問題.VLAN Translation 也是為了解決VLAN不夠用的問題而定義的. 雖然VLAN Translation還有其它的定義, 因為過於複雜, 所以這裡只解釋了主要的定義.通常的使用方法用以下的例子來解說:如使用者端至DSLAM之間使用VLAN10, 而DSLAM對上則轉換為VLAN1000. 這種中途換VLAN的方法稱之為VLAN Translation.通常比較高檔的DSLAM則會支援VLAN Translation, DSLAM在VLAN Translation的支援是完全follow TR-101的定義. TR-101是DSLAM Forum依照802.1ad來定義給DSLAM使用的規範. 剛才說比較高檔的DSLAM則會支援的原因是, 一般VLAN做交換的功能都是由Metro-Ethernet才會支援的功能, DSLAM支援這個功能完全是為了減輕Metro-Ethernet的負擔. 所以有點像自己的事情做完了, 幫忙做別人的事情一樣.802.3ad LACP (Link Aggregation Control Protocol)這個Protocol主要是在做Uplink頻寬聚集用的. 也就是把2個Uplink合併為一個Uplink port的功能以達到原來Uplink頻寬加倍的功效. 而通常2個ports虛擬為一個port時中間必需要有一個protocol去指定封包的平均分配規則, 以達到2個port都平均的配送. 而這個protocol便是LACP.802.1ab LLDP (Link Layer Discovery Protocol)LLDP這個封包是用來與隔壁鄰居交換資訊用的protocol, 其中包含了features的support, 型號,link狀態等等的, 這個protocol是用來做Ethernet OAM功能的其中一個protocol.STP/RSTP (Spanning Tree Protocol, Rapid Spanning TreeProtocol)STP這個protocol一般是用來做link實體的容錯. 剛才上面有介紹過LACP是用來aggregate 2個實體的ports讓頻寬合併, 而STP也是需要2個ports來當做Uplink port,但是STP這個protocol會彼此的溝通來偵測斷線, 讓網路的traffic改走另一條線路, 一般也稱為線路的redundancy.在斷線的偵測中STP有它偵測的timing, Worst case是50秒, 為了加快其偵測速度, 後面的IEEE standard又定了另一版本稱為RSTP. 基本上這2個版本有前後相容, 所以沒有IOP的問題, 可以混用, 但是如果不是所有的機器都開啟RSTP則會向下相容變成所有的機器都自動的使用STP而不是RSTP.STP與RSTP都是以實體線路為來計算, 但是MSTP (Multiple Spanning Tree Protocol), 則是以VLAN為單位來計算, 所以又變為更複雜. 但是基本上要做的事情是同一件事.IEEE 802.1x是一個控制Port security的功能, 也就是當一台電腦要連上網路時, DSLAM對於DSLAM的用戶會使用802.1X的protocol要求用戶的機器輸入帳號密碼來決定DSLAM的DSL port要不要讓這個用戶上網. 如果這個認證沒有通過則使用者無法使用網路. 雖然這個輸入帳號與密碼的功能與撥接也是PPPoE的形式很像, 只是形式不同但是都是透過帳號與密碼來認證並決定使用者可不可以上網. 在無線網路中WiFi則最常使用這個protocol來控管使用者能不能使用網路.IEEE 802.1ag (Ethernet OAM)Ethernet OAM中的OAM與我們在軟體模組中所討論的OAM是很像的, 它是以網路的線路狀態為基礎來溝通彼此之間的網路狀態, 進而做網路線路的Debug. ex1: 以Loopback線路來debugging那一段的線路不通但是在802.1ag中的Loopback 是虛擬的Loopback, 並不會影響使用者的封包傳輸, 也就是說使用者的網路封包並不會被Loopback,而是802.1ag的Loopback封包被Loopback而已, ex2:與802.1ab 一樣的功能在發送Discovery的封包來做keep alive的功能. 這個protocol是專門為Ethernet所制定的OAM功能,以方便Network Administrator做網路的管理及debugging. 例如:用戶打電話到中華電信抱怨網路不通,中華電信的operator 只要透過這個protocol就可以知道網路的線路那一段出了問題, 很快的可以解決用戶的問題.Y.1731這個protocol也是屬於Ethernet OAM中的相關protocol只是在OAM&P中802.1ag Ethernet OAM只做了OAM少了performance monitor, 而Y.1731則是針對performance monitor來加強802.1ag所遺漏的部份.802.3ah Ethernet OAM802.3ah也是用來做Ethernet OAM的protocol, 雖然與802.1ag的目的相同, 但是所做的事情還是有點不同, 802.3ah比較偏向實體層的OAM, 例如在802.1ag執行Ethernet OAM的Loopback是不會影響使用者的traffic, 但是802.3ah卻是會影響使用者的traffic, 使用者的traffic也會真的被Loopback. 由於實際整個protocol 的定義非常的廣泛, 這裡便以比較偏向實體層的Ethernet OAM來定義它因此而與802.1ag做一個分隔.IEEE 1588v2 (Precision Time Protocol)這個protocol是專門用來做網路時間同步的protocol, 這個protocol與SNTP是不同的用途, IEEE 1588v2可以校正網路時間精準到sub microsecond, 也就是可以精準到1 microsecond以下. 目前的應用會使用到這個protocol的如: Smart Grid, Mobile backhauling 等等的系統.。

ipip隧道协议报文格式

ipip隧道协议报文格式

ipip隧道协议报文格式IPIP(Internet Protocol in IP)隧道协议是一种在IP 网络中封装另一种IP 协议的协议。

其主要作用是在不同网络环境中实现IP 协议的穿越,从而实现异构网络的互通。

本文将对IPIP 隧道协议的报文格式进行详细解析,以帮助读者更好地理解和使用该协议。

一、IPIP隧道协议概述IPIP 隧道协议是一种隧道协议,其主要功能是将原始IP 数据包封装在另一个IP 数据包中,使原始IP 数据包能够在不同网络环境中传输。

IPIP 隧道协议通常用于虚拟专用网络(VPN)和网络地址转换(NAT)等场景。

通过使用IPIP 隧道协议,可以在不同地域、不同运营商的网络之间实现IP 数据的传输,提高网络资源的利用率。

二、IPIP隧道协议报文格式解析IPIP 隧道协议报文分为两部分:报文头部和报文payload。

下面将分别对这两部分进行详细解析。

1.报文头部格式报文头部包含了版本号、协议类型、序列号、标记、数据包长度等字段,具体格式如下:```+----+----+----+----+----+----+| 版本号| 协议类型| 序列号| 标记|+----+----+----+----+----+----+```各字段含义如下:- 版本号:表示IPIP 协议的版本,目前仅支持版本4。

- 协议类型:表示原始IP 协议的类型,如TCP、UDP 等。

- 序列号:用于保证报文的顺序,序列号相同的报文表示是连续的。

- 标记:用于标识报文是否需要加密和压缩。

- 数据包长度:表示整个IPIP 报文的长度,包括头部和payload。

2.报文payload 格式报文payload 部分包含了原始IP 头部和原始IP 数据payload,具体格式如下:```+----+----+----+----+| 原始IP 头部|+----+----+----+----+|| 原始IP 数据payload|+----+----+----+----+```原始IP 头部和原始IP 数据payload 保持了原始IP 数据包的结构,以便在目的端解封装后能够正常处理。

IP packet

從一直以來討論至今﹐我們都不斷地接觸到“封包”這個詞﹐相信您也很有興趣想知道這個“封包”究竟是個什麼樣的東東吧﹗下面就讓我們一起看看一個IP封包究竟包含了那些內容。

擷取IP封包如果您的機器上面裝有netxray 等封包擷取軟體﹐或使用NT的“網路監視器”﹐我們就可以擷取那些進出本機的封包了。

當我們打開擷取功能之後﹐然後使用ping命令隨便ping一個地址﹐如﹕。

我們可以擷取到如下這些封包﹕正如我們所見到的﹐我們擷取到DNS和ICMP的封包了﹐因為需要到DNS解釋﹐而ping是一個ICMP協定。

您或許知道ICMP封包的type為“Echo Request”和“Echo Reply”分別代表什麼意思吧﹖讓我們再深入一點﹐看看DNS封包裡面有些什麼東東﹕如果您往上卷回有關“DNS”的文章﹐看看我們用nslookup 的debug 模式查找www.hinet.ne t這個網址時候﹐引證一下那裡的內容﹐您就知道這個封包說些什麼了。

下面讓我們再看看ICMP封包裡面的內容﹕其實我們真正擷取到的封包內容應該是紅圈的範圍﹐在上面和右邊的欄目裡面的資料是經過程式整理出來的結果。

在第一行裡面﹐我們看到“00 80 c7 47 8c 9a 48 54 e8 27 75 77”這串數字﹐所代表的分別是目的地和來源地的MAC地址﹔然後“08 00”代表的是一個Ethernet II 的IP協定類型。

Ethernet II可以說是IEEE802.3的改進版本。

(還記得“網路概論”裡面關於“邏輯形態”的敘述麼﹖)。

這裡可以說是Datalink網路層所要追蹤的資料。

然後﹐接下來的是屬於IP封包的內容﹕請先記著上圖的內容﹐我打算在下一節裡面在詳細討論每一行的意思。

IP封包格式首先﹐讓我們看看IP封包的格式是怎樣的﹐和其組成部份﹐以及各部份的長度如何﹕在上圖中﹐括號之內的數字就是各部件的長度(bit)﹐如果您夠細心﹐就會計算得出每一列的總長度都是32bit。

封包的发送及应用

封包的发送及应用封包的发送及应用是计算机网络中非常基础的概念。

在计算机网络中,封包(Packet)是指在数据链路层和网络层之间传输的数据单元,也被称作骨干信令或包。

一个封包包含了目的地址、源地址、数据和一些其他额外信息等。

封包是计算机网络实现通信的基本单位,封包的发送及应用是计算机网络设计和实现的核心之一,下面将从封包的发送和封包的应用两方面进行阐述。

一、封包的发送对于计算机网络中的数据传输,封包的发送是一个很重要的环节。

封包的发送包含了四个过程,分别是封包的分段、封包的编码、封包的传输和封包的重组。

1.封包的分段当数据的大小大于数据链路层的最大传输单元时,数据就需要被分成多个数据包,这就是封包的分段过程。

在数据链路层和网络层之间的协议中,TCP/IP会将数据分成合适的大小,以确保整个数据包被正确且有效地传输到接收方。

2.封包的编码封包的编码包括了计算机网络中的数据压缩和加密过程。

数据压缩是将数据压缩为更小的大小,从而节省传输带宽;数据加密是将数据进行加密操作,保护数据的隐私性和完整性,并防止数据在传输过程中被黑客攻击和泄露。

3.封包的传输封包的传输是指将编码后的封包在网络中传输。

封包的传输方式主要包括有线和无线两种方式。

在有线传输中,封包会通过光纤、网线等介质在各网络设备间传输,而在无线传输中,封包会通过无线信号在各设备间传输。

4.封包的重组封包的重组是指将分散在网络中的封包进行重组。

接收方一般会通过封包的首部信息,如IP地址、端口号等信息,判定封包是否出现丢包、错误和重复等问题,并对这些问题做出相对应的处理,最终将分散的封包重新组装成完整的数据。

二、封包的应用封包的应用非常广泛,主要包含了以下三个方面:1.数据传输在计算机网络中,封包是完成数据传输的基本单元。

因此封包在数据传输方面的应用非常广泛。

例如:网页传输、文件传输、邮件传输等。

2.流量控制封包还可以用于网络流量控制。

现在许多网站或网络应用都会使用封包来进行流量控制,以防止网络拥塞和出现网络堵塞。

TCPIP几种协议数据报格式简介

z TCP 报文格式如下图:
TCP 是面向连接的可靠数据传输协议,因此比较复杂,在此仅作简单介绍。“序号”指数据在发送端数据流中 的位置。“确认号”指出本机希望下一个接收的字节的序号。与 IP 校验不同的是 TCP,UDP 校验采用伪头标加整个 报文一同校验的方法。TCP 协议工作原理另行介绍。
TCP 数据报中依次包括以下信息:
协议采用分层结构,因此,数据报文也采用分层封装的方法。下面以应用最广泛的以太网为例说明其数据报 文分层封装,如下图所示:
任何通讯协议都有独特的报文格式,TCP/IP 协议也不例外。对于通讯协议编程,我们首先要清楚其报文格式。 由于 TCP/IP 协议采用分层模型,各层都有专用的报头,以下就简单介绍以太网下 TCP/IP 各层报文格式。
1、 16 位源端口 Source Port。该部分占 16 个 BIT。通过此值,可以看出发起连接的计算机源端口号。
2、 16 位目的端口 Destination Port。该部分占 16 个 BIT。通过此值,可以看出要登录的目的端口号。
3、 32 位序列号 Initial Sequence Number。表示初始连接的请求号,即 SEQ 值。该部分占 32 个 BIT。
4、 32 位确认号 Next Expected SEQ Numbe。对方返回的 ACK 值。该部分占 32 个 BIT。
5、 4 位数据偏移 Data Offset。表示数据偏移的大小。该部分占 4 个 BIT。
6、 6 位保留位 Reserved Bites:保留位,此处不用。该部分占 6 个 BIT。
的 16 次方减 1,即:65535 个字节。因此,在以太网中能够传输的最大 IP 数据包为 65535 个字节。
5、 16 位标识号 Identification。该部分占 16 个 BIT,以十进制数表示。

TCPIP数据包结构详解

TCPIP数据包结构详解TCP/IP是一种广泛使用的网络协议,用于在Internet上进行数据通信。

TCP/IP数据包结构是指TCP/IP协议对数据包的组织和封装方式。

下面将详细介绍TCP/IP数据包结构。

TCP/IP数据包由多个部分组成,其中包括IP头部、TCP/UDP头部、数据(Payload)以及选项部分。

下面将逐一介绍每个部分的功能和结构。

1. IP头部(IP Header):IP头部是TCP/IP数据包的第一个部分,用于指定源IP地址和目标IP地址。

IP头部还包含其他一些字段,如版本号、服务类型、包长、标识符、标志位等。

-版本号:指定IP协议的版本,如IPv4或IPv6-服务类型:指定数据包的优先级。

-包长:指定整个IP数据包的长度。

-标识符:用于唯一标识一个数据包。

-标志位:用于控制数据包的分片和重组。

2. TCP/UDP头部(TCP/UDP Header):TCP/UDP头部紧随IP头部,用于指定源端口和目标端口。

TCP头部和UDP头部具有相似的结构。

-源端口:指定发送数据的应用程序端口。

-目标端口:指定接收数据的应用程序端口。

-序列号和确认号:用于实现TCP协议的可靠传输机制。

- 标识TCP选项:例如最大分段大小(Maximum Segment Size)等。

3. 数据(Payload):数据部分是TCP/IP数据包中的主要内容,包含应用层的数据信息。

例如,HTTP协议中的请求或响应报文就是通过数据部分传输的。

4. 选项部分(Options):选项部分是可选的,用于存储一些与特定协议相关的额外信息。

例如,TCP协议中的选项可以用于实现窗口缩放和选择确认等功能。

总结起来,TCP/IP数据包结构包括IP头部、TCP/UDP头部、数据和选项部分。

这些部分的结构和字段的具体定义可以根据具体的协议版本和实现来确定。

在实际的网络通信中,数据包会通过路由器和交换机等设备进行传输。

路由器根据IP头部中的目标IP地址进行路由选择,将数据包转发到正确的下一个网络节点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Type of Service (服務類型)
佔 8 Bits, 包含了 6 個參數。第一個參數 Precedence (佔 3 bits) 是用來決定 IP 封包的優 先等級, 接下來 4 個參數 Delay、Throughput、 Reliability、Cost 則是提供路由器選擇路徑時 的參考, 最後一個參數 Reserved 則是保留未 使用。總而言之, 路由器可根據 Type of Service 中的參數, 決定如何處理IP 封包。
Identification (識別碼)
佔 16 Bits, 記錄 IP 封包的識別碼。 識別碼由來源裝置決定, 按照 IP 封包發
出的順序遞增 1。 由於在 IP 路由的過程中, 每個 IP 封包所
走的路徑可能不一樣, 因此, 到達目的裝 置的先後順序可能與出發時的順序略有 不同。此時, 目的裝置便可利用 IP 封包 的 Identification 欄位, 判斷 IP 封包原來 的順序, 並予以重組。
Flag (封包切割標示)
佔 3 Bits, Flag 欄位主要與 IP 封包的切割與 重組有關。
總共有 3 個參數, 每參數由 1 Bit 來表示。第 1 個參數為保留用途, 因此, 實際有作用的只 有第 2、3 個參數:
DF 參數
DF 參數用來定義 IP 封包是否可加以切 割。
Don‘t Fragment 代表不允許路由器切割 IP 封包。May Fragment 代表允許路由器切 割 IP 封包。
IP 路由
IP協議最為複雜的方面可能就是在於定址和 路由了。定址就是如何將IP地址分配給各個 網路端點,以及局部網路如何劃分和組合。 所有網路端點都需要路由,尤其是網際之 間的路由器。
網際網路可視為由許多個網路連結起來所 形成的大型網路。若要在網際網路中傳送 IP 封包, 必須確保網路上每個裝置都有一個 獨一無二的 IP 位址。
Type of Service (服務類型)
Precedence (優先等級)
Precedence 參數可用來代表 IP 封包的優先 等級。此參數使用了 3 Bits, 因此會產生 8 種 參數值。參數值愈大, 代表優先等級愈高。 各參數值的意義如下:
Precedence (優先等級)
Delay (延遲性)
Cost (成本)
Cost 參數定義 IP 封包對於路徑成本的要求。
Low Cost 代表路由器應儘量選擇成本較低 的傳遞路徑來傳送此封包。若傳輸的資料 不是很重要, 則應用程式可將 Cost 參數設為 1。一般的 IP 封包皆設為 0。
Type of Service 的重要觀念
路由器必須具備以下條件, 才能讓 Type of Service 中定義的參數發揮作用:
對下則將整個 IP 封包交付給 Data Link 層的協定, 包裝後直接在介質上傳送:
IP 表頭內容
Version (4)
Internet Header Length (IHL) (4)
Type of Service Total Length
(TOS) (8)
(16)
Identification (16)
IHL (表頭長度)
由 IHL 欄位的定義, 我們可以得知以下有關 IP 表頭長度的特性:
IP 表頭的長度必然為 4 的倍數, 例如:24、32、 40、52 Bytes 等長度。
由於 IHL 欄位的長度為 4 Bits, 最大值為 1111 (二進位), 換算為十進位為 15, 因此 IP 表頭的長 度最長可達 15 x 4 = 60 Bytes。
Flags (3)
Fragment Offset (13)
Time To Live (8)
Protocol (8)
Header checksum (16)
Source Address (32)
Destination Address (32)
Options (Variable)
Padding (0-24)
切割與重組 IP 封包
前文提及 IP 必須將封包放到 Data Link 層傳 送。每一種 Data Link 層的技術都會有所謂 的 MTU (Maximum Transmission Unit, 最大傳 輸單位), 亦即該種技術所能傳輸的封包的最 大 Payload 長度。下表列舉幾種常見 技術的 MTU:
IP 路r) 來相互連接。
路由器的功能是為 IP 封包選擇傳送的路徑。 換言之, IP 封包必須靠沿途各路由器的通力 合作, 才能到達目的地。
請讀者特別注意, 在 IP 路由的過程中, 是由 路由器負責選擇路徑, 至於 IP 封包則是處於 被動的狀態。
IHL (表頭長度)
佔 4 Bits,由於 IP 表頭長度並不固定, 因此有 必要記載其長度。IHL (Internet Header Length) 用來定義 IP 表頭的長度, 而且是以 4 Bytes 為基本單位。
例如:IHL 欄位值為 0101 (二進位) 時, 換算 為十進位為 5, 即代表 IP 表頭的長度為 5 x 4 = 20 Bytes。
Internet Protocol (IP)
簡介 IP 封包 IP 表頭
IP 簡介
網際網路協議(Internet Protocol,IP): 數據 在IP網際網路中傳送時會被封裝為封包。IP協 議的獨特之處在於,在封包交換中主機在網路 傳輸數據之前,無須事先與前未曾通信過的目 的主機預先建立好一條特定的「通路」。
Delay 參數用來定義 IP 封包對於延遲性的 要求。
Low Delay 代表 IP 封包儘量不要延遲。
Delay (延遲性)
因此, 路由器會儘量選擇延遲較低的傳遞路 徑來傳送此封包。一些具有即時性需求的 應用程式, 例如:即時影音、會議或 Telnet 等, 會將 Delay 參數設為 1, 至於一般的 IP 封包皆設為 0。
IP 負責將 IP 封包從來源裝置 傳送到目的裝 置。
IP 位址
每個網路裝置都有一個 IP 位址, 相關單位在 分配 IP 位址時也會考慮分佈的合理性, 儘量 將連續的 IP 位址集合在一起, 以方便 IP 封 包的傳遞。
IP 位址(Internet Protocol Address)是一種 在Internet上的給主機編址的方式,也稱為 網際協定位址。常見的IP 位址,分為IPv4 與IPv6兩大類。
佔 16 Bits, 由於 IP 表頭與 IP Payload 皆非固 定長度, 因此有必要記錄 IP 封包的長度 (亦 即 IP 表頭 與 IP Payload 的總和) 。
Total Length 即是用來記錄整個 IP 封包的長 度, 單位為 Byte。以乙太網路為例, 整個 IP 封包最大可達 1500 Bytes, 因此 Total Length 欄位的最大值即為 1500 (進位)。
網際網路協議提供了一種「不可靠的」數據包
傳輸機制(也被稱作「盡力而為」);也就是 說,它不保證數據能準確的傳輸。數據包在到 達的時候可能已經損壞,順序錯亂(與其它一 起傳送的封包相比),產生冗余包,或者全部 丟失。如果 應用需要保證可靠性,一般需要採 取其他的方法,例如利用IP的上層協議控制。
IP 簡介
Connectionless 的傳送特性
在傳送過程中若發生問題, UDP 並不具有確 認、重送等機制, 而是必須仰賴上層 (應用 層) 的協定來處理這些問題。
使用 Connectionless 方式的好處就是將過程 簡單化, 可提高傳輸的效率。此外, 由於 IP 封包必須透過 IP 路由的機制, 在一個個路由 器之間傳遞, Connectionless 的方式較易在此 種機制中運作。
切割與重組 IP 封包
由於 IP 封包在傳送過程中, 可能會經過許多 個使用不同技術的網路。
假設 IP 封包是從 ATM (Asynchronous Transfer Mode, 非同步傳輸) 網路所發出, 原 始長度為 9180 Bytes, 若 IP 路由途中經過乙 太網路, 便會面臨封包太大, 無法在乙太網路 上傳輸的障礙。
IHL (表頭長度)
在 IP 表頭中, 除了 Options 與 Padding 欄 位非固定長度外, 其他的欄位都是固定長 度。換言之, IP 表頭長度主要是隨著 Options 與 Padding 這兩個欄位的長度而 有所變化。
Options 與 Padding 的欄位長度最短是 0, 也就是沒有這兩個欄位, 此時 IP 表頭的 長度為 20 Bytes;最長是 40, 此時 IP 表頭 的長度為 60 Bytes。
路由器必須要能支援解讀這些參數。 路由器必須有多條路徑可供選擇, Delay、
Throughput、Reliability、Cost 等參數才會有作 用。 當路由器有多條路徑可供選擇時, 路由器必須 『知道』每條路徑的特性。
Type of Service 建議值
Total Length (總長度)
Reliability 參數定義 IP 封包對於路徑可 靠度的要求。
參數質(二進位)
說明
1
Hight Reliability
0
Normal Reliability
High Reliability 代表路由器應儘量選擇可
靠度較高的路徑來傳送此封包。若應用
程式希望在傳送過程中儘量減少 IP 封包 遺失, 會將 Reliability 參數設為 1。一般 的 IP 封包皆設為 0。
切割與重組 IP 封包
為了解決此問題, 路由器必須有 IP 封包切割 與重組 (Fragmentation & Reassembly) 的機制, 將過長的封包加以切割, 以便能在 MTU 較 小的網路上傳輸。切割後的 IP 封包, 會由目 的裝置重組, 恢復成原來 IP 封包的模樣。
相关文档
最新文档