【网络技术联盟站】网络工程师深刻篇之网络基础知识

一. 以太网基础:

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-72tcp

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)一个接口能够借用环回口的接口地址:ide

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

      (2)一个接口能够配置一个主 IP 地址和多个从 IP 地址:oop

注:此功能适用于一台交换机一条链路上来但存在多个网关的状况,子接口只能用于 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/CollisionDetection)。

工做原理:
  1. 终端设备不停地检测共享线路的状态。若是线路空闲,则能够发送数据;若是线路不空闲,则等待一段时间后继续检测(检测时间由退避算法决定)。
  2. 若是有另一个设备同时发送数据,两个设备发送的数据会产生冲突。
  3. 终端设备检测到冲突以后,立刻中止发送本身的数据,并发送特殊阻塞信息,以强化冲突信号,使线路上其余站点可以尽早检测到冲突。
  4. 终端设备检测到冲突后,等待一段时间后再进行数据发送(延时时间由退避算法决定)

注: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. 时间值:

【网络技术联盟站】网络工程师深刻篇之网络基础知识

【网络技术联盟站】网络工程师深刻篇之网络基础知识

11. 接口类型:

100Base-FX是在光纤上实现的100 Mbps以太网标准,其中F指示光纤,IEEE标准为802.3u。快速以太网目前制定的三种有关传输介质的标准之一,另外两种是 100BASE-T四、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 对比图:

【网络技术联盟站】网络工程师深刻篇之网络基础知识

三. 数据封装:

【网络技术联盟站】网络工程师深刻篇之网络基础知识

  1. 数据在高层称之为:数据单元
  2. 到达传输层,再数据单元前封装协议头,称之为:数据段
  3. 到达网络层,封装 IP 头部,称之为:数据包
  4. 到达网络接口层,封装 MAC 地址,称之为:数据帧
  5. 最终传输到物理介质,称之为:比特流

    1. 四层传输层协议:

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

    • 传输控制协议 TCP(Transmission Control Protocol)
    • 用户数据包协议(User Datagram Protocol)

【网络技术联盟站】网络工程师深刻篇之网络基础知识

(1 )TCP:

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

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

【网络技术联盟站】网络工程师深刻篇之网络基础知识

  • Source Port :2Byte,源端口号
  • Destination Port :2Byte,目标端口号
  • Sequence Number :4Byte,序列号,在 TCP 传送的数据流中,每个字节都有一个序号,每发送一次数据包都会携带一个序列号
  • Acknowledge Number :4Byte,确认序列号,若是收到对端的一个数据包,会查看包中的序列号,并将序列号+对端 ACK 值的总和做为确认序列号返回给对端,表示此序列号的数据包已经收到,并期待收到下一个标识数据包的序列号是多少
  • Header Length :头部长度
  • Resv :6Byte,保留位,供日后应用,默认为 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 时,表示数据发送完毕,请求断开链接
  • Window: :2Byte,滑动窗口大小,,默示报文段发送方的接管窗口,单位为字节。此窗口告诉对方,“在未收到个人确认时,你能够或许发送的数据的字节数至多此窗口的大小。”
  • 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 位置为 一、ACK 位置为 1
  • Acknowledge Number 为 a+1
  • Sequence Number 为 b- ACK 位置为 1
  • Acknowledge Number 为 b+1
  • Sequence Number 为 a+1

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

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

③ TCP 四次挥 手:

【网络技术联盟站】网络工程师深刻篇之网络基础知识

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

  • Fin 位置为 一、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 位置为 一、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 包格式:

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

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

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

Total Length :16bit,数据包总长度,以 Byte 为单位表示整个 IP 数据报长度,包括报文头及其携带的数据,能够表示最大值为 65535,因此三层 MTU 最大为65535

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

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

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

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

Protocol :8bit,协议,表示该数据报携带的数据是由哪一个上层协议封装的,也就是指示传输层的协议类型。如最多见的协议类型是 TCP 或 UDP。

Header Checksum :16bit,头校验和,用于保证 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 为回环地址。

(3)分片 :

一般要传输的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 链路控制子层:
    • 1Byte 的 D.SAP
    • 1Byte 的 S.SAP
  • 5Byte 的 S.NASP
    • 3Byte 的 Org Code
    • 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
相关文章
相关标签/搜索