![网络学习笔记_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/e61866b2-f427-41a9-88b1-3f0ace8abe92/e61866b2-f427-41a9-88b1-3f0ace8abe921.gif)
![网络学习笔记_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/e61866b2-f427-41a9-88b1-3f0ace8abe92/e61866b2-f427-41a9-88b1-3f0ace8abe922.gif)
![网络学习笔记_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-10/7/e61866b2-f427-41a9-88b1-3f0ace8abe92/e61866b2-f427-41a9-88b1-3f0ace8abe923.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网络学习笔记(协议篇)协议概况:TCP/IP 协议簇TCP/IP(Tra nsmissio nCon trol Protocol/In ternetProtocol)已成为一个事实上的工业标准。TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇。TCP/IP协议簇分为四层,IP位于协议簇的第二层(对应OSI的第三层),TCP位于协议簇的第三层(对应OSI的第四层)。TCP和IP是TCP/IP协议簇的中间两层,是整个协议簇的核心,起到了承上启下的作用。1、接口层(物理层)TCP/IP的最低层是接口层,常见的接口层协议有:Ethernet 802.3、Token Ring
2、802.5、X.25、Frame reley、HDLC、PPP 等。2、网络层网络层包括:IP(Internet Protocol) 协议、ICMP(Internet Control Message Protocol)控制报文协议、 ARP(Address Resolution Protocol)地址转换协议、RARP(Reverse ARP)反向地址转换协议。IP是网络层的核心,通过路由选择将下一跳IP封装后交给接口层。IP数据报是无连接服务。ICMP是网络层的补充,可以回送报文。用来检测网络是否通畅。Ping命令就是发送ICMP的echo包,通过回送的 echo relay 进行网络测试。
3、ARP是正向地址解析协议,通过已知的IP,寻找对应主机的 MAC地址。RARP是反向地址解析协议,通过MAC地址确定IP地址。比如无盘工作站和DHCP 服务。3、传输层传输层协议主要是:传输控制协议 TCP(Transmission Control Protocol) 和用户数据报 协议 UDP(User Datagram rotocol) 。TCP是面向连接的通信协议,通过三次握手建立连接,通讯时完成时要拆除连接,由于TCP是面向连接的所以只能用于点对点的通讯。TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控
4、制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出丢包现象,实际应用中要求在程序员编程验证。4、应用层应用层一般是面向用户的服务。如FTP、TELNET、DNS、SMTP、POP3。FTP(File Transmision Protocol)是文件传输协议,一般上传下载用FTP服务,数据端口是20H,控制端口是21H。Telnet服务是用户远程登录服务,使用23H端口,使用明码传送,保密性差、简单方便。DNS(Domain
5、 Name Service)是域名解析服务,提供域名到IP地址之间的转换。SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,用来控制信件的发送、中转。 POP3(Post Office Protocol 3) 是邮局协议第3版本,用于接收邮件。数据格式:数据帧:帧头+ IP数据包+帧尾 (帧头包括源和目标主机MAC地址及类型,帧尾是校验字)IP数据包:IP头部+ TCP数据信息(IP头包括源和目标主机IP地址、类型、生存期等) TCP数据信息:TCP头部+实际数据(TCP头包括源和目标主机端口号、顺序号、确认 号、校验字等)一、ARP协议ARP协议是&q
6、uot;Address Resolution Protocol ”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标 MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标 MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的 MAC地址,以保证通信的顺利进行。二、ICMP协议ICMP 是(In ternet Con trol Message Protocol )1 nte
7、rnet 控制报文协议。它是 TCP/IP协议族的一个子协议,用于在 IP主机、路由器之间传递控制消息。控制消息是指网络通不 通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据, 但是对于用户数据的传递起着重要的作用。ICMP协议是一种面向连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。它是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包 等情况时,会自动发送ICMP消息
8、。ICMP原理ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据 ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据报。但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Pi ng命令(Linux和Win dows 中均有),这个“ Ping ”的过程实际上就是 ICMP 协议工作的过程。还有其他的网络命令如跟踪路由 的Tracert命令也是基于 ICMP协议的。三、IP地址和掩码Ip4规范用3
9、2位数字确定一个IP地址,分成4组,xxx . xxx . xxx .xxxIP地址分成3类A类:8位网络地址,24位主机地址,A类地址的特征是IP地址第一组最高位为 0 (二进 制表示),所以第一位为0-127 (实际应用1-126 )的IP地址为A类IP地址,A类IP的缺 省掩码为B类:16位网络地址,16位主机地址,B类地址的特征是IP地址第一组最高 2位为10 (二 进制表示),所以第一组为 128-191 的IP地址为A类IP地址,A类IP的缺省掩码为C类:16位网络地址,16位主机地址,B类地址的特征是IP地址第一组最高 2位为110(二进制表示),所以第一组为192-223的IP
10、地址为A类IP地址,A类IP的缺省掩码为还有不常用的D和E类地址3-1沪地址花世、臾和疊格式地引类需I个邸粗的格式A粪Oxxxxxxx12A-19Ignuxx.ixx192-123I I if'XXJX224-2J9(III 1XAX2407 SI最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上ID与其对应。IP地址根D类地址和E类地址。的一个主机(包括网络上工作站,服务器和路由器等)有一个主机 据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、1 . A类IP
11、地址一个A类IP地址由1字节的网络地址和 3字节主机地址组成,网络地址的最高位必须是“ 0”,地址范围从到。可用的A类网络有126个,每个网络能容纳 1亿多个主机。2. B类IP地址一个B类IP地址由2个字节的网络地址和 2个字节的主机地址组成,网络地址的最高位必须是“ 10 ”,地址范围从 至。可用的 B类网络有 16382个,每个网络能容纳6万多个主机。3 C 类 IP 地址一个 C 类 IP 地址由 3 字节的网络地址和 1 字节的主机地址组成, 网络地址的最高位必 须是“ 110 ”。范围从 到 。 C 类网络可达 209 万余个,每个网 络能容纳 254 个主机。4 D 类地址用于多
12、点广播( Multicast )。D 类 IP 地址第一个字节以“ lll0 ”开始,它是一个专门保留的地址。它并不指向特定的 网络,目前这一类地址被用在多点广播( Multicast )中。多点广播地址用来一次寻址一组 计算机,它标识共享同一协议的一组计算机。5 E 类 IP 地址以“ llll0 ”开始,为将来使用保留。全零(“ 0000”)地址对应于当前主机。 全“1”的 IP 地址(“ 255 255 255 255 ”) 是当前子网的广播地址。在 IP 地址 3 种主要类型里,各保留了 3 个区域作为私有地址,其地址范围如下:A 类地址:B 类地址:C 类地址:四 、 IP 报格式I
13、P数据包的格式:Ip数撮报文賂式4- X 赴氐淫(16) IQTTL <8?殊讪号R)(1 )版本(version ):包含IP地址的版本号,4个比特。(2) 首部长度(header length ):表示IP数据报头长度,4个比特。(3)优先级与服务器类型(priority and type of service )用于表示数据包的优先级和 服务器类型,8个比特。(4) 总长度(total length):表示整个IP数据包的长度,16个比特(两个字节)。(5) 标识符(identification ):用于表示IP数据包的标识符,16个比特。(6)标志(flags ):标志字段,3个
14、比特。(7) 段偏移量(fragment offset):用于表示段的偏移量。(8) TTL(time to time):表示IP数据包的生命周期,8个比特。当TTL为0时,该数据包将被丢弃。TTL还对应一个数据报通过的路由器的数目。一个数据报每经过一个路由器,TTL值就会减一。(9) 协议号:(protocol ):协议字段,8个比特,表示IP数据段封装的协议,是 TCP 还是UDP,TCP的协议号是 6,UDP的协议号是17.。(10) 首部校验和(header chechsum ):用于表示校验和,16个比特。(11) 源地址(SA, source ip address ): 32比特位
15、,表示数据包的源地址(12) 目的地址(DA,destination ip address ), 32个比特位,表示数据报道目的地 址。(13) 可选项前導碍目的位址來源位址資料欄位通訊主娈資料檢査碼8 Bytes6 Bytes6 Liytes2 Byte&46-)500 Byies4 Bytes圖三、乙太網路的 MAC訊框在這個 MAC當中,最重要的就是那個6 Bytes的目的與來源位址了!事實上,在所有的乙太網路卡當中都有一個獨一無二的網路卡卡號,那就是上頭的目的與來源位址,這個位址是硬體位址 (hardware address ), 共有 6 bytes ,分別由 00:00:0
16、0:00:00:00到FF:FF:FF:FF:FF:FF, 這6 bytes 當中,前 3bytes 爲廠商的代碼,後3bytes 則是該廠商自行設定的裝置碼了。在Linux當中,你可以使用ifconfig這個指令來查閱你的網路卡卡號喔!不過,由於 MAC主要是與網路卡卡號有關,所以我們也常常將MAC作爲網路卡卡號的代稱。特別注意,在這個 MAC的傳送中,他僅在區域網路內生效,如果跨過不同的網域(這個後面IP的部分時會介紹),那麼來源與目的的位址就會跟著改變了。 這是因爲變成不同網路卡之間的交流了嘛!所以卡號當然不同了!如下所示:來源:MACJMAC-1maC-2 MAC-3maC-4圖四、在
17、不同主機間持續傳送相同資料的MAC訊框變化例如上面的圖示,我的資料要由電腦A通過B後才送達C ,而B電腦有兩塊網路卡,其中MAC-2 與A電腦的 MAC-1 互通,至於 MAC-3 則與C電腦的 MAC-4 互通。但是 MAC-1 不能與 MAC-3 與MAC-4 互通,爲啥?因爲 MAC-1 這塊網路卡並沒有與MAC-3 及MAC-4 使用同樣的 switch/hub相接嘛!所以,資料的流通會變成:先由MAC-1 傳送到MAC-2 ,此時來源是 MAC-1 而目的地是 MAC-2 ;B電腦接收後,察看該訊框,發現目標其實是C電腦,而爲了與 C電腦溝通, 所以他會將訊框內的來源 MAC 改爲M
18、AC-3 ,而目的改爲 MAC-4 ,如此就可以直接傳送 到C電腦了。也就是說,只要透過B (就是路由器)才將封包送到另一個網域(IP部分會講)去的時候,那麼訊框內的硬體位址就會被改變,然後才能夠在同一個網域裡面直接進行frame 的流通啊!MAC 包大小:1 日为 1900bytes,大为 9000bytesIP封包的表頭現在我們知道IP這個資料封包(packet)是需要放置在 MAC訊框裡面的,所以當然不 能比MAC 所能容許的最大資料量還大!但是 IP封包其實可以到 65535 bytes 那麼大的吶! 那麼IP封包除了資料之外,他的表頭資料(head)是長怎樣呢?在圖三的MAC訊框表頭
19、裡面最重要的莫過於那個網路卡硬體位址, 那麼在 IP 表頭裡面當然就以來源與目標的 IP位址為最重要囉! 除此之外, IP 表頭裡面還含有哪些重要資料呢?如底下所示:(下圖第一行為每個欄位的 bit 數 )4 bits4 bits8 bits3 bits13 bitsVersionIHLType of ServiceTotal LengthIdentificationFlagsFragmentation OffsetTime To LiveProtocolHeader ChecksumSource AddressDestination AddressOptionsPaddingData 圖八、
20、 IP 封包的表頭資料在上面的圖示中有個地方要注意,那就是 每一行所佔用的位元數為 32 bits , 也就是說, IP 封包的表頭資料是 32 bits 的倍數喔!那各個表頭的內容分別介紹如下:? Version( 版本 )宣告這個 IP 封包的版本,例如目前慣用的還是 IPv4 這個版本,在這裡宣告的。? IHL(Internet Header Length, IP 表頭的長度 )告知這個 IP 封包的表頭長度,單位為位元組 (bytes) 。 此 IHL 長度的範圍為 515 。? Type of Service( 服務類型 )這個項目的內容為 PPPDTRUU ,表示這個 IP 封包的
21、服務類型,主要分為:PPP:表示此IP封包的優先度;D:若爲0表示一般延遲(delay),若為1表示為低延遲;T:若為0表示爲一般傳輸量(throughput),若為1表示爲高傳輸量;R:若爲0表示爲一般可靠度(reliability),若爲1表示高可靠度。UU :保留尚未被使用。我們前面談到 gigabit 乙太網路時曾提到 Jumbo frame 對吧!可以提高MTU ,由於 gigabit乙太網路的種種相關規格可以讓這個 IP 封包加速且降低延遲, 某些特殊的標誌就是在這裡說明的。? Total Length( 總長度 )指這個 IP 封包的總容量, 包括表頭與內容 (Data) 部分。
22、 最大可達 65535 bytes 。? Identification( 辨別碼 )我們前面提到 IP 袋子必須要放在 MAC 袋子當中。 不過,如果 IP 袋子太大的話, 就得先要將 IP 再重組成較小的袋子然後再放到 MAC 當中。而當 IP 被重組時, 每個來自同一筆資料的小 IP 就得要有個識別碼以告知接收端這些小 IP 其實是來 自同一個封包才行 。 也就是說,假如 IP 封包其實是 65536 那麼大 ( 前一個 Total Length 有規定 ), 那麼這個 IP 就得要再被分成更小的 IP 分段後才能塞進 MAC 訊框中。那麼每個小 IP 分段是否來自同一個 IP 資料,呵呵
23、!這裡就是那個識別 碼啦!? Flags( 特殊旗標 )這個地方的內容為 0DM ,其意義為:D :若為 0 表示可以分段,若為 1 表示不可分段M :若為 0 表示此 IP 為最後分段,若為 1 表示非最後分段。? Fragment Offset( 分段偏移 )表示目前這個 IP 分段在原始的 IP 封包中所佔的位置。 就有點像是序號啦,有這 個序號才能將所有的小 IP 分段組合成為原本的 IP 封包大小嘛! 透過 Total Length, Identification, Flags 以及這個 Fragment Offset 就能夠將小 IP 分段 在收受端組合起來囉!? Time To
24、Live(TTL, 存活時間 )表示這個 IP 封包的存活時間, 範圍為 0-255 。當這個 IP 封包通過一個路由器時,TTL 就會減一,當 TTL 為 0 時,這個封包將會被直接丟棄 。說實在的 ,要讓 IP 封包通過255個路由器,還挺難的A_A? Protocol Number(協定代碼 )由於網路上面的封包協定太多了,每個協定都是裝在 IP 當中的, 得在表頭上面告知收受端,這個 IP 內含有的資料是什麼協定才行。路協定如下所示:IP 內的號碼協定名稱 (全名 )1ICMP (Internet Control Message Protocol)2IGMP (Internet Gro
25、up Management Protocol)3GGP (Gateway-to-Gateway Protocol)4IP (IP in IP encapsulation)6TCP (Transmission Control Protocol)8EGP (Exterior Gateway Protocol)17UDP (User Datagram Protocol)當然啦,我們比較常見到的還是那個所以 IP 當然就一般常見的網TCP, UDP,ICMP 說!? Header Checksum( 表頭檢查碼 )用來檢查這個 IP 表頭的錯誤檢驗之用。? Source Address還用講嗎?當然是
26、來源的 IP 位址,相關的 IP 我們之前提過囉!? Destination Address有來源還需要有目標才能傳送,這裡就是目標的 IP 位址。? Options ( 其他參數 )這個是額外的功能,提供包括安全處理機制、路由紀錄、時間戳記、 嚴格與寬鬆之來源路由等。? Padding( 補齊項目 )由於 Options 的內容不一定有多大,但是我們知道 IP 每個資料都必須要是 32bits , 所以,若 Options 的資料不足 32 bits 時,則由 padding 主動補齊。你只要知道 IP 表頭裡面還含有: TTL, Protocol, 來源 IP 與目標 IP 也就夠了! 而
27、這個IP 表頭的來源與目標 IP ,以及那個判斷通過多少路由器的 TTL ,就能瞭解到這個 IP 將被如何傳送到目的端吶。下一節我們將介紹一下那麼 IP 封包是如何被傳送到目的地?TCP 協定在前幾個小節內談到的 IP 與路由的相關說明中 ,我們知道 IP 與路由僅能將資料封包傳送到正確的目標而已, 但是這個目的地是否真的能夠收下來這個封包?那可就不一定了。要 確認該資料能否正確的被目的端所接收, 就必須要在資料封包上面多加一些參數來判斷才 行。在前面的 OSI 七層協定當中,在網路層的 IP 之上則是傳送層,而傳送層的資料打包成什麼?最常見的就是 TCP封包了。這個 TCP封包資料必須要能夠
28、放到IP的資料袋當中才行喔! 所以,我們可以將 MAC, IP 與TCP的封包資料這樣看:亠trf n MM fci'.rtivIP杓總灵度TCP的總艮厦MAC卩TCP實降的査料圖十一、各封包之間的相關性所以說,IP除了表頭之外的 Data內容其實就是TCP封包的表頭與內容;而 MAC的Data內容,就是一個完整的IP封包資料!這也是我們上頭提到的,最終還是得以MAC能夠支援的最大容許容量,才能夠決定IP與TCP封包是否需要再進行分段的工作。那麼既然MAC與IP都有表頭資料,想當然爾,TCP也有表頭資料來記錄該封包的相關資訊囉?沒錯啦TCP封包的表頭是長這個樣子的:4 bits6 bi
29、ts6 bits8 bits8 bitsSource PortDestination PortSeque nee NumberAck no wledge NumberDataOffsetReservedCodeWindowCkecksumUrgent PointerOptionsPaddingData 圖十二、 TCP 封包的表頭資料圖就是一個 TCP 封包的表頭資料,各個項目以Source Port, Destination Port及Code 算是比較重要的項目,底下我們就分別來談一談各個表頭資料的內容吧!? Source Port & Destination Port (來源埠口
30、 & 目標埠口 )什麼是埠口 (port) ?我們知道 IP 封包的傳送主要是藉由 IP 位址連接兩端, 但是 到底這個連線的通道是連接到哪裡去呢?沒錯! 就是連接到 port 上頭啦! 舉例來 說,鳥站 有開放 WWW 伺服器, 這表示鳥站的主機必 須要啟動一個可以讓 client 端連接的端口,這個端口就是 port , 中文翻譯成為 埠口。 同樣的,用戶端想要連接到鳥哥的鳥站時,就必須要在client 主機上面啟動一個 port ,這樣這兩個主機才能夠利用這條 通道 來傳遞封包資料喔! 這個目 標與來源 port 的紀錄 ,可以說是 TCP 封包上最重要的參數了! 下個小單元我們
31、 還會繼續介紹。? Sequence Number (封包序號 )由於 TCP 封包必須要帶入 IP 封包當中,所以如果 TCP 資料太大時 (大於 IP 封包的容許程度 ) , 就得要進行分段。這個 Sequence Number 就是記錄每個封包的序號, 可以讓收受端重新將 TCP 的資料組合起來。? Acknowledge Number ( 回應序號 )為了確認主機端確實有收到我們 client 端所送出的封包資料,我們 client 端當然希望能夠收到主機方面的回應,那就是這個Acknowledge Number的用途了。當 client 端收到這個確認碼時 ,就能夠確定之前傳遞的封包
32、已經被正確的收下了。? Data Offset ( 資料補償 )在圖十二倒數第二行有個 Options 欄位對吧!那個 Options 的欄位長度是非固 定的, 而為了要確認整個 TCP 封包的大小,就需要這個標誌來說明整個封包區段 的起始位置。? Reserved ( 保留 )未使用的保留欄位。? Code (Control Flag,控制標誌碼 )當我們在進行網路連線的時候,必須要說明這個連線的狀態,好讓接收端瞭解這個 封包的主要動作。 這可是一個非常重要的控制碼喔!這個欄位共有 6 個 bits , 分別代表 6 個控制碼,若為 1 則為啟動。分別說明如下:o URG(Urgent) :若
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年个人住宅装修策划管理合同书
- 2025年信息技术集成项目合同范例
- 2025年农业承包合同协议书样本
- 2025年不动产权委托管理协议书格式
- 2025年农业温室大棚技术咨询合同
- 2025年建筑工程木工加工劳务分包合同
- 2025年伴侣相处协议模板
- 2025年人力资源保障合同样本
- 2025年分析仪器维修合同
- 2025年上海市居民自愿协议离婚指南规范文本
- 2025年陕西延长石油集团矿业公司招聘笔试参考题库含答案解析
- 2025中国烟草/中烟工业招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2025至2030年中国PVC热缩封帽数据监测研究报告
- 2025年辽宁农业职业技术学院高职单招高职单招英语2016-2024年参考题库含答案解析
- 老年髋部骨折患者围术期下肢深静脉血栓基础预防专家共识(2024版)解读 课件
- 三年级上册竖式计算练习300题及答案
- 江苏省特种设备安全条例2021
- 加速器控制 中国科学技术大学国家同步辐射实验室
- 民事庭审笔录
- 《安全监理上岗培训》PPT课件.ppt
- 青岛海洋地质研究所公开招聘面试答辩PPT课件
评论
0/150
提交评论