网络学习笔记协议篇Word格式文档下载.docx

上传人:b****4 文档编号:17154051 上传时间:2022-11-28 格式:DOCX 页数:15 大小:139.57KB
下载 相关 举报
网络学习笔记协议篇Word格式文档下载.docx_第1页
第1页 / 共15页
网络学习笔记协议篇Word格式文档下载.docx_第2页
第2页 / 共15页
网络学习笔记协议篇Word格式文档下载.docx_第3页
第3页 / 共15页
网络学习笔记协议篇Word格式文档下载.docx_第4页
第4页 / 共15页
网络学习笔记协议篇Word格式文档下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

网络学习笔记协议篇Word格式文档下载.docx

《网络学习笔记协议篇Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《网络学习笔记协议篇Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。

网络学习笔记协议篇Word格式文档下载.docx

UDP通讯时不需要接收方确认,属于不可靠的传输,可能会出丢包现象,实际应用中要求在程序员编程验证。

4、应用层

应用层一般是面向用户的服务。

如FTP、TELNET、DNS、SMTP、POP3。

FTP(FileTransmisionProtocol)是文件传输协议,一般上传下载用FTP服务,数据端口是20H,控制端口是21H。

Telnet服务是用户远程登录服务,使用23H端口,使用明码传送,保密性差、简单方便。

DNS(DomainNameService)是域名解析服务,提供域名到IP地址之间的转换。

SMTP(SimpleMailTransferProtocol)是简单邮件传输协议,用来控制信件的发送、中转。

POP3(PostOfficeProtocol3)是邮局协议第3版本,用于接收邮件。

数据格式:

数据帧:

帧头+IP数据包+帧尾(帧头包括源和目标主机MAC地址及类型,帧尾是校验字)

)))))).

))))))))

生存期等IP头包括源和目标主机地址、类型、IP头部+TCP数据信息(IPIP数据包:

头包括源和目标主机端口号、顺序号、确认(TCP+实际数据TCP数据信息:

TCP头部)号、校验字等ARP协议一、

(地址解析协议)的缩写。

在局域网中,网络“AddressResolutionProtocol”ARP协议是地址的。

在以太网中,一个主机要和另MAC帧”,帧里面是有目标主机的中实际传输的是“地址是如何MACMAC地址。

但这个目标一个主机进行直接通信,必须要知道目标主机的IP就是主机在发送帧前将目标地址解析”获得的呢?

它就是通过地址解析协议获得的。

所谓“地址,查IPARP协议的基本功能就是通过目标设备的地址转换成目标MAC地址的过程。

地址,以保证通信的顺利进行。

询目标设备的MAC协议ICMP二、

协议控制报文协议。

它是TCP/IP是(InternetControlMessageProtocol)InternetICMP

器之间传递控制消息。

控制消息是指网络通不通、主机、路由族的一个子协议,用于在IP

但路由是否可用等网络本身的消息。

这些控制消息虽然并不传输用户数据,主机是否可达、是对于用户数据的传递起着重要的作用ICM协议是一种面向连接的协议用于传输出错报告控制信息它是一个非常重要协议,它对网安全具有极其重要的意义

它TCP/I协族的一个子协属于网络层协主要用于在主机与路由器间传递控制信包括报告错误、交换受限控制和状态信息等。

当遇I数据无法问目标I路由器无法按当前的传输速率转数据等情况时,会自动发ICM消息。

ICMP原理ICMP提供一致易懂的出错报告信息。

发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。

发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据报。

但是ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。

我们在网络中经常会使用到ICMP协议,比如我们经常使用的用于检查网络通不通的Ping命令(Linux和Windows中均有),这个“Ping”的过程实际上就是ICMP

协议工作的过程。

还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协

议的。

三、IP地址和掩码

Ip4规范用32位数字确定一个IP地址,分成4组,xxx.xxx.xxx.xxx

IP地址分成3类

A类:

8位网络地址,24位主机地址,A类地址的特征是IP地址第一组最高位为0(二进制表示),所以第一位为0-127(实际应用1-126)的IP地址为A类IP地址,A类IP的缺省掩码为255.0.0.0

B类:

16位网络地址,16位主机地址,B类地址的特征是IP地址第一组最高2位为10(二进制表示),所以第一组为128-191的IP地址为A类IP地址,A类IP的缺省掩码为255.255.0.0

C类:

16位网络地址,16位主机地址,B类地址的特征是IP地址第一组最高2位为110(二进制表示),所以第一组为192-223的IP地址为A类IP地址,A类IP的缺省掩码为255.255.255.0

还有不常用的D和E类地址

最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。

同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有一个主机ID与其对应。

IP地址根据网络ID的不同分为5种类型,A类地址、B类地址、C类地址、D类地址和E类地址。

1.A类IP地址

一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,地址范围从1.0.0.0到126.0.0.0。

可用的A类网络有126个,每个网络能容纳1亿多个主机。

2.B类IP地址

一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,地址范围从128.0.0.0到191.255.255.255。

可用的B类网络有16382个,每个网络能容纳6万多个主机。

3.C类IP地址

一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是“110”。

范围从192.0.0.0到223.255.255.255。

C类网络可达209万余个,每个网络能容纳254个主机。

4.D类地址用于多点广播(Multicast)。

D类IP地址第一个字节以“lll0”开始,它是一个专门保留的地址。

它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。

多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。

5.E类IP地址

以“llll0”开始,为将来使用保留。

全零(“0.0.0.0”)地址对应于当前主机。

全“1”的IP地址(“255.255.255.255”))))))).

是当前子网的广播地址。

在IP地址3种主要类型里,各保留了3个区域作为私有地址,其地址范围如下:

A类地址:

10.0.0.0~10.255.255.255

B类地址:

172.16.0.0~172.31.255.255

C类地址:

192.168.0.0~192.168.255.255

四、IP报格式

IP数据包的格式:

(1)版本(version):

包含IP地址的版本号,4个比特。

(2)首部长度(headerlength):

表示IP数据报头长度,4个比特。

(3)优先级与服务器类型(priorityandtypeofservice):

用于表示数据包的优先级和服务器类型,8个比特。

(4)总长度(totallength):

表示整个IP数据包的长度,16个比特(两个字节)。

(5)标识符(identification):

用于表示IP数据包的标识符,16个比特。

(6)标志(flags):

标志字段,3个比特。

(7)段偏移量(fragmentoffset):

用于表示段的偏移量。

(8)TTL(timetotime):

表示IP数据包的生命周期,8个比特。

当TTL为0时,该数据包将被丢弃。

TTL还对应一个数据报通过的路由器的数目。

一个数据报每经过一个路由器,TTL值就会减一。

(9)协议号:

(protocol):

协议字段,8个比特,表示IP数据段封装的协议,是TCP还是UDP,TCP的协议号是6,UDP的协议号是17.。

(10)首部校验和(headerchechsum):

用于表示校验和,16个比特。

(11)源地址(SA,sourceipaddress):

32比特位,表示数据包的源地址

(12)目的地址(DA,destinationipaddress),32个比特位,表示数据报道目的地址。

(13)可选项

圖三、乙太網路的MAC訊框

在這個MAC當中,最重要的就是那個6Bytes的目的與來源位址了!

事實上,在所有的乙太網路卡當中都有一個獨一無二的網路卡卡號,那就是上頭的『目的與來源位址』,這個位址是硬體位址(hardwareaddress),共有6bytes,分別由00:

00:

00到

FF:

FF,這6bytes當中,前3bytes為廠商的代碼,後3bytes則是該廠商自行設定的裝置碼了。

在Linux當中,你可以使用ifconfig這個指令來查閱你的網路卡卡號喔!

不過,由於MAC主要是與網路卡卡號有關,所以我們也常常將MAC作為網路卡卡號的代稱。

特別注意,在這個MAC的傳送中,他僅在區域網路內生效,如果跨過不同的網域(這個後面IP的部分時會介紹),那麼來源與目的的位址就會跟著改變了。

這是因為變成不同網路卡之間的交流了嘛!

所以卡號當然不同了!

如下所示:

圖四、在不同主機間持續傳送相同資料的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改為MAC-3,而目的改為MAC-4,如此就可以直接傳送到C電腦了。

也就是說,只要透過B(就是路由器)才將封包送到另一個網域(IP部分會講)去的時候,那麼訊框內的硬體位址就會被改變,然後才能夠在同一個網域裡面直接進行frame

的流通啊!

MAC包大小:

旧为1900bytes,大为9000bytes

IP封包的表頭

現在我們知道IP這個資料封包(packet)是需要放置在MAC訊框裡面的,所以當然不能比MAC所能容許的最大資料量還大!

但是IP封包其實可以到65535bytes那麼大的吶!

那麼IP封包除了資料之外,他的表頭資料(head)是長怎樣呢?

圖三的MAC訊框表頭

裡面最重要的莫過於那個網路卡硬體位址,那麼在IP表頭裡面當然就以來源與目標的IP

位址為最重要囉!

除此之外,IP表頭裡面還含有哪些重要資料呢?

如底下所示:

(下圖第一行為每個欄位的bit數)

4bits

8bits

3bits

13bits

Version

IHL

TypeofService

TotalLength

Identification

Flags

FragmentationOffset

TimeToLive

Protocol

HeaderChecksum

SourceAddress

DestinationAddress

Options

Padding

Data圖八、IP封包的表頭資料

在上面的圖示中有個地方要注意,那就是『每一行所佔用的位元數為32bits』,也就是說,IP封包的表頭資料是32bits的倍數喔!

那各個表頭的內容分別介紹如下:

Version(版本)

?

宣告這個IP封包的版本,例如目前慣用的還是IPv4這個版本,在這裡宣告的。

IHL(InternetHeaderLength,IP表頭的長度)

告知這個IP封包的表頭長度,單位為位元組(bytes)。

此IHL長度的範圍為

5~15。

TypeofService(服務類型)

這個項目的內容為『PPPDTRUU』,表示這個IP封包的服務類型,主要分為:

PPP:

表示此IP封包的優先度;

D:

若為0表示一般延遲(delay),若為1表示為低延遲;

T:

若為0表示為一般傳輸量(throughput),若為1表示為高傳輸量;

R:

若為0表示為一般可靠度(reliability),若為1表示高可靠度。

UU:

保留尚未被使用。

我們前面談到gigabit乙太網路時曾提到Jumboframe對吧!

可以提高MTU,由於gigabit乙太網路的種種相關規格可以讓這個IP封包加速且降低延遲,某些特殊的標誌就是在這裡說明的。

TotalLength(總長度)

指這個IP封包的總容量,包括表頭與內容(Data)部分。

最大可達65535bytes。

Identification(辨別碼)

我們前面提到IP袋子必須要放在MAC袋子當中。

不過,如果IP袋子太大的話,

就得先要將IP再重組成較小的袋子然後再放到MAC當中。

而當IP被重組時,每個來自同一筆資料的小IP就得要有個識別碼以告知接收端這些小IP其實是來自同一個封包才行。

也就是說,假如IP封包其實是65536那麼大(前一個Total

Length有規定),那麼這個IP就得要再被分成更小的IP分段後才能塞進MAC

訊框中。

那麼每個小IP分段是否來自同一個IP資料,呵呵!

這裡就是那個識別碼啦!

Flags(特殊旗標)

這個地方的內容為『0DM』,其意義為:

D:

若為0表示可以分段,若為1表示不可分段

M:

若為0表示此IP為最後分段,若為1表示非最後分段。

FragmentOffset(分段偏移)

表示目前這個IP分段在原始的IP封包中所佔的位置。

就有點像是序號啦,有這個序號才能將所有的小IP分段組合成為原本的IP封包大小嘛!

透過Total

Length,Identification,Flags以及這個FragmentOffset就能夠將小IP分段在收受端組合起來囉!

TimeToLive(TTL,存活時間)

表示這個IP封包的存活時間,範圍為0-255。

當這個IP封包通過一個路由器時,

TTL就會減一,當TTL為0時,這個封包將會被直接丟棄。

說實在的,要讓IP封包通過255個路由器,還挺難的~^_^

ProtocolNumber(協定代碼)

由於網路上面的封包協定太多了,每個協定都是裝在IP當中的,所以IP當然就得在表頭上面告知收受端,這個IP內含有的資料是什麼協定才行。

一般常見的網路協定如下所示:

IP內的號碼

協定名稱(全名)

1

ICMP(InternetControlMessageProtocol)

2

IGMP(InternetGroupManagementProtocol)

3

GGP(Gateway-to-GatewayProtocol)

4

IP(IPinIPencapsulation)

6

TCP(TransmissionControlProtocol)

8

EGP(ExteriorGatewayProtocol)

17

UDP(UserDatagramProtocol)當然啦,我們比較常見到的還是那個TCP,UDP,ICMP

說!

HeaderChecksum(表頭檢查碼)

用來檢查這個IP表頭的錯誤檢驗之用。

還用講嗎?

當然是來源的IP位址,相關的IP我們之前提過囉!

有來源還需要有目標才能傳送,這裡就是目標的IP位址。

Options(其他參數)

這個是額外的功能,提供包括安全處理機制、路由紀錄、時間戳記、嚴格與寬鬆之來源路由等。

Padding(補齊項目)

由於Options的內容不一定有多大,但是我們知道IP每個資料都必須要是32

bits,所以,若Options的資料不足32bits時,則由padding主動補齊。

你只要知道IP表頭裡面還含有:

TTL,Protocol,來源IP與目標IP也就夠了!

而這個IP表頭的來源與目標IP,以及那個判斷通過多少路由器的TTL,就能瞭解到這個IP

將被如何傳送到目的端吶。

下一節我們將介紹一下那麼IP封包是如何被傳送到目的地?

TCP協定

在前幾個小節內談到的IP與路由的相關說明中,我們知道IP與路由僅能將資料封包傳送到正確的目標而已,但是這個目的地是否真的能夠收下來這個封包?

那可就不一定了。

要確認該資料能否正確的被目的端所接收,就必須要在資料封包上面多加一些參數來判斷才行。

在前面的OSI七層協定當中,在網路層的IP之上則是傳送層,而傳送層的資料打包成什麼?

最常見的就是TCP封包了。

這個TCP封包資料必須要能夠放到IP的資料袋當中才行喔!

所以,我們可以將MAC,IP與TCP的封包資料這樣看:

圖十一、各封包之間的相關性

所以說,IP除了表頭之外的Data內容其實就是TCP封包的表頭與內容;

而MAC的Data

內容,就是一個完整的IP封包資料!

這也是我們上頭提到的,最終還是得以MAC能夠支援的最大容許容量,才能夠決定IP與TCP封包是否需要再進行分段的工作。

那麼既然

MAC與IP都有表頭資料,想當然爾,TCP也有表頭資料來記錄該封包的相關資訊囉?

沒錯啦~TCP封包的表頭是長這個樣子的:

6bits

SourcePort

DestinationPort

SequenceNumber

AcknowledgeNumber

Data

Offset

Reserved

Code

Window

Ckecksum

UrgentPointer

Data圖十二、TCP封包的表頭資料

上圖就是一個TCP封包的表頭資料,各個項目以SourcePort,DestinationPort及Code

算是比較重要的項目,底下我們就分別來談一談各個表頭資料的內容吧!

SourcePort&

DestinationPort(來源埠口&

目標埠口)

什麼是埠口(port)?

我們知道IP封包的傳送主要是藉由IP位址連接兩端,但是到底這個連線的通道是連接到哪裡去呢?

沒錯!

就是連接到port上頭啦!

舉例來說,鳥站(http:

//linux.vbird.org)有開放WWW伺服器,這表示鳥站的主機必須要啟動一個可以讓client端連接的端口,這個端口就是port,中文翻譯成為埠口。

同樣的,用戶端想要連接到鳥哥的鳥站時,就必須要在client主機上面啟動一個port,這樣這兩個主機才能夠利用這條『通道』來傳遞封包資料喔!

這個目標與來源port的紀錄,可以說是TCP封包上最重要的參數了!

下個小單元我們還會繼續介紹。

SequenceNumber(封包序號)

由於TCP封包必須要帶入IP封包當中,所以如果TCP資料太大時(大於IP封包的容許程度),就得要進行分段。

這個SequenceNumber就是記錄每個封包的序號,

可以讓收受端重新將TCP的資料組合起來。

AcknowledgeNumber(回應序號)

為了確認主機端確實有收到我們client端所送

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1