网络基础

时间:2024-01-31 08:59:24

 

一. 以太网基础:

1. 常见传输介质:

(1)      同轴电缆(有线电视):

 

(2)      双绞线(局域网网线):

 

(3)      光纤(广域网网线):

 

右图中为光纤接口类型:

① ST

② FC

③ SC

④ LC

(4)串口电缆(帧中继网络):

 

2. 换算单位:

最小的单位为:位(bit),表示形式为0和1

第二小的单位:字节(Byte),一个标准英文字母占一个字节位置,8个bit;一个标准汉字占二个字节位置,16个bit

比TB还大的单位有:还有PB、EB、ZB、YB 、NB、DB,一般人不常使用

1TB=1024GB;

1GB=1024MB;

1MB=1024KB;

1KB=1024Byte;

1Byte=8bit

3. 以太网MAC地址:

 

MAC地址总共为48bits,前24bit为各个厂商的唯一标识;后24bits为每个厂商为此网卡提

供的唯一的身份标识。

例如:E8-4E-56-19-01-72

4. cmd命令:

① Net view—查看当前局域网中有哪些主机

② Hdwwiz­----安装系统硬件、、、、

③ Nslookup---查看DNS解析

④ route  add  10.253.251.0  mask  255.255.255.0  -p  192.254.1.1—配置静态路由

⑤ route delete 10.253.251.0  mask  255.255.255.0  -p  192.254.1.1—删除静态路由

⑥ route print------查看路由

⑦ nslookup wwww.baidu.com-------------------查看域名对应的IP

⑧ 保存日志:ping –t 10.1.1.1 > D:\ping.txt

⑨ 清空dns缓存:ipconfig /flushdns

⑩ 清空arp缓存:ARP-D

⑪ 释放IP/获取IP:ipconfig /release;ipconfig /renew

⑫ 脚本生成:

 ping 192.168.1.1 -n 10

ping www.baidu.com -n 10

ping www.163.com -n 10

pause

⑬ ping:

   -t 连续ping

   -l 定义包大小

   -n 定义发送的次数

5. 接口地址:

(1)一个接口可以借用环回口的接口地址:

[Huawei-GigabitEthernet0/0/1]ip address unnumbered interface LoopBack 0

(2)一个接口可以配置一个主IP地址和多个从IP地址:

注:此功能适用于一台交换机一条链路上来但存在多个网关的情况,子接口只能用于802.1q封装

[Huawei-GigabitEthernet0/0/1]ip add 172.16.1.1 24

[Huawei-GigabitEthernet0/0/1]ip add 172.16.2.1 24 sub

[Huawei-GigabitEthernet0/0/1]ip add 172.16.3.1 24 sub

6. 系统管理:

(1)文件管理命令:

①    dir:查看flash中的文件

 

②    pwd:显示当前所处目录

 

③    more:查看文本文档

 

④    cd:切换目录(cd .. 回到父路径)

 

⑤    mkdir:创建新的目录  rmdir:删除一个目录

 

⑥    copy:复制文件

 

⑦    move:移动文件

 

⑧    rename:重命名文件

 

⑨     删除文件命令:

 

⑩    Display startup:查看启动配置

 

⑪ Startup saved-configuration:配置下次启动的配置文件

 

⑫ Compare configuration:比较当前配置与下次启动的配置

(2)系统管理命令:

①    startup system-software vrp5.5.cc:配置下次启动的系统

 

7. 网络三层架构:

网络三层架构为核心层、分布层(汇聚层)、接入层。

8. CSMA/CD:

载波侦听多路访问/冲突检测技术:共享式网络(HUB)中存在冲突域,所有的主机共享一根总线型链路(例如接Hub集线器),当同一时刻两台或两台以上的主机同时发送数据会产生数据冲突,解决数据冲突的技术为CSMA/CD(Carrier Sense Multiple Access/Collision Detection)。

工作原理:

① 终端设备不停地检测共享线路的状态。如果线路空闲,则可以发送数据;如果线路不空闲,则等待一段时间后继续检测(检测时间由退避算法决定)。

② 如果有另外一个设备同时发送数据,两个设备发送的数据会产生冲突。

③ 终端设备检测到冲突之后,马上停止发送自己的数据,并发送特殊阻塞信息,以强化冲突信号,使线路上其他站点能够尽早检测到冲突。

④ 终端设备检测到冲突后,等待一段时间后再进行数据发送(延时时间由退避算法决定)

注:CSMA/CD的工作原理可简单总结为:先听后发、边发边听、冲突停发、随机延迟后重

发。

9. Wireshark:

(1)过滤源ip、目的ip。在wireshark的过滤规则框Filter中输入过滤条件。如查找目的地址为192.168.101.8的包,ip.dst==192.168.101.8;查找源地址为ip.src==1.1.1.1;

 

(2)端口过滤。如过滤80端口,在Filter中输入,tcp.port==80,这条规则是把源端口和目的端口为80的都过滤出来。使用tcp.dstport==80只过滤目的端口为80的,tcp.srcport==80只过滤源端口为80的包;

 

(3)协议过滤比较简单,直接在Filter框中直接输入协议名即可,如过滤HTTP的协议;

 

10. 时间值:

协议名称

更新时间

Dead时间

STP---BPDU

2S

802.1D-------20S

Huawei-------18S

802.1W--------18S

802.1S---------18S

RIP---Response

30S

Age Timer------180S

Garbage-collect timer---120S

OSPF-----Hello

Broadcast------10S

Broadcast---------40S

NBMA---------30S

NBMA----------120S

P2P--------------10S

P2P---------------40S

P2MP------------30S

P2MP-----------120S

OSPF------LSA

1800S

3600S(超过3600S失效)

IS-IS-------IIH

DIS-------3S

DIS-------------10S

普通路由器-----10S

普通路由器----30S

IS-IS------LSP

900S

1200S(倒计时为0失效)

BGP----KeepAlive

60S

180S

Multicast-----Hello

30S

105S

Multicast-----DM State-Refresh Message

60S

 

Multicast-----DM Assert

 

180S(收到Register报文被重置)

Multicast-----(S,G)

 

210S(收到Register报文被重置)

Multicast------Prune Delay

 

3S(2.5S Prune Delay+0.5S Link Delay)

Multicast-----DM模式接口重回到(S,G)表项

 

210S(收到Register报文被重置)

Multicast----SM模式Register

60S(Huawei为55S)

 

Multicast-----IGMP普遍组查询

60S

130S(2*60S+10S(Forwarding delay)

Multicast----IMGP特定组查询

1S

2S

Multicast----MSDP

20S

60S

LDP-------Hello

5S

15S

LDP------KeepAlive

15S

45S

11. 接口类型:

100Base-FX是在光纤上实现的100 Mbps以太网标准,其中F指示光纤,IEEE标准为802.3u。快速以太网目前制定的三种有关传输介质的标准之一,另外两种是100BASE-T4、100BASE-TX。

类似这样的在百度百科上都可以查到。BASE 是基带宽度。-fx是线缆类型,f是光纤,T是双绞线。也就是说,-后面这些都是线缆类型。

具体,100Base-TX和100Base-T是从属关系。

100Base-T简称快速以太网技术,其协议标准是IEEE 802.3u,其中的T代表双绞线、光纤传输介质。

100Base-T定义了3种不同的物理层协议,

分别是:100Base-TX、100Base-T4和100Base-FX。

其中,标识符分三段,

第一段,100是传输速度;

第二段,Base代表“基带”,信令的一种;

第三段,是关于网络段类型的阐述,

       “TX”属于双绞线网络段类型,具有两对高质量双绞线,基于ANSI(美国国家标准化组织)制定的数据级双绞线物理介质标准;

       “T4”也属于双绞线网络段类型,它是具有4对电话线路级双绞线;

       “FX”属于光纤链路网络段类型。

    

其中,“TX”和“FX”均为ANSI制定的物理介质标准,统称为“100Base-X”。

COMBO口么也是千兆口,但是需要配模块,可以用光模块,也可以用电口。

光口就是可以接光纤,电口就是跟GE一样了,所以叫COMBO口。

二. 分层模型:

为了降低网络设计的复杂度,将协议进行了分层设计。

互联网模型大体上分为:

① OSI七层模型

② TCP/IP模型

③ IPX/SPX模型

④ SNA模型

1.     OSI七层模型:

开放式系统互联参考模型,国际标准化组织ISO于1948年提出了OSI模型。

 

①  七层→应用层:OSI参考模型中最靠近用户的一层,为应用层序提供网络服务;

②  六层→表示层:提供各种用于应用层数据的变法和转换功能,确保仪的系统的应用层发  

送的数据能够被另一个系统的应用层识别。(数据表示、加密,图片、文档、文字);

③  五层→会话层:负责建立、管理和终止表示层实体之间的通信回话,该层的通信有不同 

设备中的应用程序之间的服务和请求相应。(通信设备可能存在多个会话);

④  四层→传输层:提供面向连接(TCP)或非面向连接(UDP)的数据传递以及进行重传前

的差错检测;

⑤  三层→网络层:提供逻辑地址,供路由器确定路径;

⑥  二层→数据链路层:将比特组合成字节,再将字节组合成针,使用链路层地址(以太网

使用MAC地址)来访问介质,并进行差错检测。

⑦  一层→物理层:在设备之间传输比特流,规定了电平、速度、和电缆针脚;

2.     TCP/IP四层模型:

TCP/IP时20世纪70年代中期美国国防部为APPANET开发的网络体系协议,所有协议基于此类标准进行开发,此协议为所有厂商制定网络设备提供了一套完整的系统标准。

 

注:也有人将TCP/IP分为5层模型。

3.     OSI与TCP/IP对比图:

 

三. 数据封装:

 

①    数据在高层称之为:数据单元

②    到达传输层,再数据单元前封装协议头,称之为:数据段

③    到达网络层,封装IP头部,称之为:数据包

④    到达网络接口层,封装MAC地址,称之为:数据帧

⑤    最终传输到物理介质,称之为:比特流

1. 四层传输层协议:

传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是:

①    传输控制协议TCP(Transmission Control Protocol)

②    用户数据包协议(User Datagram Protocol)

 

(1)TCP:

① TCP报文:

Transmission Control Protocol,传输控制协议,TCP是一种面向连接的传输层协议,提供可靠地传输服务。

注:因为存在Options选项,所以TCP头长度不固定,最小为20字节,最大为60字节

 

①    Source Port2Byte,源端口号

②    Destination Port2Byte,目标端口号

③    Sequence Number4Byte,序列号,在TCP传送的数据流中,每一个字节都有一个序

号,每发送一次数据包都会携带一个序列号

④    Acknowledge Number4Byte,确认序列号,如果收到对端的一个数据包,会查看包中

的序列号,并将序列号+对端ACK值的总和作为确认序列号返回给对端,表示此序列号的数据包已经收到,并期待收到下一个标识数据包的序列号是多少

⑤    Header Length头部长度

⑥    Resv6Byte,保留位,供往后应用,默认为0

⑦     URG紧急比特URG,当URG=1时,注解此报文应尽快传送,而不要按本来的列

队次序来传送。与“紧急指针”字段共同应用,紧急指针指出在本报文段中的紧急数据的最后一个字节的序号,使接管方可以知道紧急数据共有多长

⑧     ACK确认比特ACK,默认为0,如果ACK=1时,确认序列号有效位,表明该数据包

包含确认信息

⑨     PSH急迫比特PSH,默认为0,当PSH=1时,表示通知接收端立即将数据提交给用户

进程,不要在缓存中停留,等待更多的数据

⑩    RST复位比特RST,默认为0,当RST=1时,注解呈现严重错误,必须开释连接,然  

后再重建传输连接。

⑪ SYN同步比特SYN, 当为1时,表示对端请求建立连接,TCP三次握手第一次时SYN 

为1

⑫ FIN终止比特FIN,为1时,表示数据发送完毕,请求断开连接

⑬ Window2Byte,滑动窗口大小,,默示报文段发送方的接管窗口,单位为字节。此窗

口告诉对方,“在未收到我的确认时,你可以或许发送的数据的字节数至多此

窗口的大小。”

⑭ Checksum校验和

⑮ Urgent Pointer紧急指针,当URG=1时,注解此报文应尽快传送,而不要按本来的列

队次序来传送。与“URG”字段共同应用,紧急指针指出在本报文段中的紧急数据的最后一个字节的序号,使接管方可以知道紧急数据共有多长

⑯ Options选项值,那些需要使用同步动作的程式如Telnet要处理好终端的交互模式就会使用到option来指定资料封包的大小因为telnet使用的资料封包都很少但又需要即时回应。Option的长度为0,或32bit的整倍数,如果不足则填充到满

② TCP三次握手:

 

a)       主机A想要访问服务器A,发送SYN数据报文:

  • SYN位置为1
  • Sequence Number为a

b)       服务器A收到主机发送的SYN报文后,回复ACK确认报文:

  • SYN位置为1、ACK位置为1
  • Acknowledge Number为a+1
  • Sequence Number为b

c)       主机A收到回复后,发送ACK报文确认

  • ACK位置为1
  • Acknowledge Number为b+1
  • Sequence Number为a+1
③ TCP四次挥手:

 

a)       主机A传输完数据,想要断开与服务器A的连接,会发送一个FIN、ACK报文:

  • Fin位置为1、ACK位置为1
  • Sequence Number为a
  • Acknowledge Number为b(为前期主机A发送的实际数据Sequence Number传输的数值+1)

注:此处的ACK置位表示前期实际的数据已经接收到

b)       服务器A收到主机A发送的FIN数据包,回复ACK报文:

  • ACK位置为1
  • Acknowledge Number为 a+1
  • Sequence Number为b

c)       如果服务器A也传输完数据,会发送一个FIN、ACK报文:

  • Fin位置为1、ACK位置为1
  • Sequence Number为b+1
  • Acknowledge Number为a+1

d)       主机A收到服务器A的FIN数据包,发送ACK确认报文,seq为a+1,ack为b+1,(表示已收到服务器A的FIN序列号为b的数据包)

注1:为什么建立连接协议是三次握手,而关闭连接却是四次握手呢?

这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的建连请求后,它可以把ACK和SYN(ACK起应答作用,而SYN起同步作用)放在一个报文里来发送。但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;但未必你所有的数据都全部发送给对方了,所以你可以未必会马上会关闭SOCKET,也即你可能还需要发送一些数据给对方之后,再发送FIN报文给对方来表示你同意现在可以关闭连接了,所以TCP传输是一种全双工的模式,两端的传输都是相互分开的,TCP断开也是相互独立的,它这里的ACK报文和FIN报文多数情况下都是分开发送的。

注2:为什么TIME_WAIT状态还需要等2MSL后才能返回到CLOSED状态?

这是因为虽然双方都同意关闭连接了,而且握手的4个报文也都协调和发送完毕,按理可以直接回到CLOSED状态(就好比从SYN_SEND状态到ESTABLISH状态那样);但是因为我们必须要假想网络是不可靠的,你无法保证你最后发送的ACK报文会一定被对方收到,因此对方处于LAST_ACK状态下的SOCKET可能会因为超时未收到ACK报文,而重发FIN报文,所以这个TIME_WAIT状态的作用就是用来重发可能丢失的ACK报文。

④ TCP可靠传输:

TCP在传输过程中使用序列号和确认号进行包的确认

 

a)       发送端首次发送数据包,Seq序列号为一个生成数值,ACK为1(首次发送)

b)       接收端接收到数据包,并希望得到下一个数据包(Seq+1),此时数据包中的的Seq为1用于确认收到发送端ACK为1的数据包,并将本端发送包的中ACK置为Seq+1,表示期待接收到下个数据包的序列号

c)       发送端收到接收端的TCP确认包好,查看包中的ACK为11,表示下个包的序列号,此时发送下一个包,并将ACK变为2,表示第二次发送。

⑤ 滑动窗口机制:

滑动窗口,在TCP建立之后传输数据时,用于管理数据流控的标识符。接收端在接收数据时会建立一个缓存区,并将缓冲区的大小标识符值放于TCP头部的Window中,表示接收端目前缓存区可以接收的最大数据位多少。滑动窗口的作用用于接收端告诉发送端自己可以一次性接收的数据大小为多少。

 

a)       主机A想服务器发起连接,传输数据给服务器A

b)       服务器A回复ACK信息,同时携带窗口大小为3

c)       主机A收到ACK确认信息后,发现窗口大小为3,于是连续发送窗口大小为3的容量的数据包给服务器A

d)       服务器A收到数据包后,内存满,此时读取一个数据包,内存剩余为1,此时发送ACK确认,窗口大小为1

e)       主机A收到后,发送窗口大小为1的数据包给服务器A

(2)UDP:

User Datagram Protocol,用户数据包协议,UDP是一种面向无连接的传输层协议,传输可靠性没有保证。当应用程序对传输可靠性不高时,但是对传输速度和延迟要求较高时,可以使用UDP协议来替代TCP协议在传输层控制数据的转发。

UDP头部仅占8Byte,传输数据时没有确认机制。UDP适合于实时数据传输,如语音和视频通信。相比于TCP,UDP的传输效率更高、开销更小、但是无法保障数据传输的可靠性,保证数据的完整性是依靠应用层的服务对数据提供保证的。

 

①    Source port:源端口号

②    Destination port:目标端口号

③    Length:长度

④    Checksum:校验和

(3)端口号:

主机使用端口号表示不同的网络服务。其中:0-1023为知名端口号;1024-65535为动态端口号

常见协议端口号:

名称

端口号

FTP

TCP20(传输端口)/TCP21(控制端口)

HTTP

TCP80

Telnet

TCP23

SSH

TCP22

HTTPS

TCP443

BGP

TCP179

PPTP

TCP1723

TFTP

UDP69

RIP

UDP520

2. 三层网络层封装:

(1)IPv4包格式:

 

① Version4bit,表示IP协议版本号。目前的版本号是4,即IPv4。版本号规定了数据报的格式。版本不同,其数据报格式也有所不同,如IPv6的报文结构就和IPv4的结构不同。

② IHL4bit,报文头长度HLEN,表示报文头长度(行数)。报文每行长度为固定4Byte,所以报文头长度以4 Byte为单位计算。除IP选项(IP Options)和填充(Padding)字段可以不存在外,其他各字段必须存在。这些必须存在的字段是5个4 Byte,共20 Byte长。因此,报文头长度值一般是5 。又由于报文头长度必须是32bit的整数倍,所以当一个含有IP选项字段的IP数据报不是32bit的整数倍时,由填充字段用0补足,由于存在Option选项,所以IHL不固定,为20到60字节

③ TOS8bit,Type of Service,服务类型,指示对本数据报的处理方式。它主要用来指示数据报的优先权及传输类型。QoS技术就是使用此字段对数据进行标记优先级的。

④ Total Length16bit,数据包总长度,以Byte为单位表示整个IP数据报长度,包括报文头及其携带的数据,可以表示最大值为65535,所以三层MTU最大为65535

⑤ Identifier16bit,标识字段,是发送者赋予数据报的标识符,接收者利用这个信息和源地址判断收到的分组属于哪个数据报,以便进行重组。因此,在分片时,该域必须不加修改地复制到各分片的报文头中。

⑥ Flags3bit,标志位,只有低两位有效。第一bit为0时表示该分片是最后一片,如果该位是1表示后面还有分片。第二bit为0时表示可以对数据报进行分片,如果该位是1表示数据报不能分片。当该位设置为1而帧长度不匹配又必须分片时,设备就会将数据报丢弃并返回错误信息。

⑦ Fragment Offset片偏移,指示本分片数据在初始数据报数据区中的偏移量,偏移量以8 Byte为单位,重组时分片顺序由片偏移提供。

⑧ Time To Live生存时间,简称TTL,8bit,用来控制数据报在网络中存在的时间。目前TTL的值并不代表时间,而是代表经由路由器的个数。数据报每经过一台路由器时,路由器将TTL值减1,一旦TTL=0,系统就丢弃该数据报,并返回错误信息。这样避免了路由出现环路时数据报在路由器之间无休止地循环。

⑨ Protocol8bit,协议,表示该数据报携带的数据是由哪个上层协议封装的,也就是指示传输层的协议类型。如最常见的协议类型是TCP或UDP。

⑩ Header Checksum16bit,头校验和,用于保证IP头数据的完整性。

⑪ Address分为源IP地址和目的IP地址,各占32bit,表明数据的来源及其到达的76EE的地。

⑫ Padding当IP报文头长度不是32bit的整数倍时,填充0来凑齐32bit整数倍,没有实际意义。

⑬ Data来自第4层的数据段。

注:标识(Identification)、标志(Flags)、片偏移(Fragment Offset)这3个字段与IP报文的传输有关。IP数据报是网络层的数据单元,它需要被封装在第二层的数据帧中来传输。互联网是由各种二层规范不同的网络互联起来的产物,这些不同的网络的帧格式及帧长度各不相同。例如,以太网的帧和令牌环的帧在结构和长度上都不相同。IP数据报在某个二层网络中能够被完全封装,到另一个二层网络中就未必可以。因此,IP数据报有可能被分割,称为"分片(Fragmenting)",当数据到达目的地时还要对分片进行重组。上述3个字段正是用于对分片和重组进行控制的。

(2)IPv4地址有类分类:

A类:1-126/8           A类私网地址:10.0.0.0/8

B类:128-191/16        B类私网地址:172.16.0.0/16-172.31.255.255/16

C类:192-223/24        C类私网地址:192.168.0.0/16-192.168.255.255/24

D类:224-239(组播地址)

E类:240-255(保留实验)

其中:127.0.0.0-127.255.255.255.255位回环地址。

(2)分片:

通常要传输的IP报文的大小超过最大传输单位MTU(Maximum Transmission Unit)时就会产生IP分片情况。IP分片通常发生在网络环境中。比如说,在以太网(Ethernet)环境中可传输最大IP报文大小(MTU)为1500字节。而传输的报文大小要比1500字节(不包括以太协议的首部和尾部18个字节)大,这个时候就需要利用到分片技术,经分片后才能传输此报文。另外,使用UDP很容易导致IP分片,而很难强迫TCP发送一个需要进行分片的报文。并在IP数据包中采用identification标号、flags置位符、Fragment Offset偏移量 用来标识此分片数据包。

网络层外面还会加上数据链路层的封装,经过数据链路层封装之后,才是一个数据包最终的大小。要注意,MTU只是限制了一个数据包经过网络层的封装后,不要超过1500字节,一个数据包最终是多少,是不能一概而论的,不同的数据链路层会在“网络层1500字节”的基础上加上不同的头部,比如:以太网会在网络层的基础上加上14字节头部和4字节的FCS尾部,所以,一个以太网数据帧最终的大小是1518字节,当数据链路层为HDLC时,它会在网络层前面加上4字节的HDLC的头部和4字节的FCS校验,所以,一个HDLC链路的数据包是1508字节,当数据链路层为PPP时,它会在网络层前面加上4字节的PPP的头部和4字节的FCS校验,所以,一个PPP链路的数据包是1508字节

需要注意的是,MTU只会影响到数据发出方向,对收入的数据,是没有MTU限制的,但是,我们建议将链路两端的MTU设置为一样大小的,因为网络通讯都是有来有回的,一个大与接口MTU的数据收进来,如果又要从这个接口返回去,则入向收到的是一个完整的包,而出向会对这个数据分片,虽然不会影响通信,但这种双向数据结构不匹配的通讯模型并不是很合理。

注:三层中的Total Length为16bit,所以最大可以表示65535字节,所以三层的最大数为655535字节,二层最大表示的数为1518,所以实际数据包的大小为1518

 

① identification标号:16bit,ID域对于每个分片都是一致的,这样才能在重新组装的时候识别出来自同一个IP报文的分片。在IP头里面,16位识别号唯一记录了一个IP包的ID(ipid),具有同一个ID的IP分片将会重新组装。

② flags置位符:3bit,标志着该分片后面是否还有新的分片。

③ Fragment Offset偏移量:13bit,记录了某IP片相对整个包的位置。

(3)三层MTU:

三层最大包长:

三层网络IPv4报文实际可表示长度为655535字节,而最大长度为1500Byte(称为MTU)

三层最小包长:

最小包长为46Byte,不够使用垫片填充。

注:存在最小数据包大小的原因为如果A主机发送的数据帧很小,很快完成数据帧的发送,二两台冲突主机相距很远,再主机A发送的数据帧传输到B的前一刻,B开始发送数据帧,这样,当A的数据帧到达B时,B检测到冲突,于是发送冲突信号。假如B的冲突信号传输到A之前,A的数据帧已经发送完毕,那么A将检测不到冲突而误认为已发送成功,因此必须有最小包长的限制。当一个包不足64Byte(数据封装到二层时)时,将使用bit填充数据部分到64Byte。

(4)协议号:

网络层数据包的包格式里面有个很重要的字段叫做协议号,协议号是存在于IP数据报的首部的20字节的固定部分,占有8bit.该字段是指出此数据报所携带的是数据是使用何种协议,以便目的主机的IP层知道将数据部分上交给哪个处理过程。也就是协议字段告诉IP层应当如何交付数据。

协议号用于表示三层网络层上层为何种网络协议。

常见协议号:

协议名称

协议号

ICMP

1

IGMP

2

TCP

6

EGP

8

IGP

9

UDP

17

IPv6

41

GRE

47

NARP

54

OSPF

89

VRRP

112

L2TP

115

3. 二层数据帧封装:

数据帧封装分为两种帧格式封装,一种为Ethernet_II定义格式;一种为IEEE802.3定义格式。

注:如何区分数据包使用哪种格式:

①  当数据包的长度大于或等于1536Byte时为Ethernet_II协议封装。

②   当数据报的长度小于或等于1500Byte时为IEEE802.3协议封装。

 

(1)Etherne_II帧格式:

 

①   6Byte的目标MAC地址

②   6Byte的源MAC地址

③   2Byte的Type类型(0x0800为IP;0x0806为ARP;0x8847为MPLS)

④   46Byte-1500Byte的Data

⑤   4Byte的FCS校验

(2)IEEE802.3帧格式:

 

①   6Byte的目标MAC地址

②   6Byte的源MAC地址

③   2Byte的Length长度表示符

④   3Byte的LLC链路控制子层:

a)       1Byte的D.SAP

b)       1Byte的S.SAP

⑤   5Byte的S.NASP

a)       3Byte的Org Code

b)       2Byte的Type

⑥   38Byte—1492Byte的Data数据

⑦   4Byte的FCS校验位

注:IEEE802.3帧长度值小于等于1500

IEEE802.3数据帧抓包:

 

(3)二层MTU:

在Ethernet_II封装数据帧中:

数据帧最小为64Byte

46Byte的数据单元+2Byte的Type+6Byte的D_MAC+6Byte的S_MAC+4Byte的FCS校验位

数据帧最大为1518Byte

1500Byte的数据单元+2Byte的Type+6Byte的D_MAC+6Byte的S_MAC+4Byte的FCS校验位

(4)Type标识:

Type类型

Type标识

IPv4

0x0800

IPv6

0x86DD

ARP

0x0806

MPLS

0x8847

802.1Q

0x8100