网络工程Datacom-HCIA

6ca62071-ad13-4979-9c27-4908045d734f
原文位于:https://atmujie.com
这是我学完HCIA写的笔记

网络工程 Datacom-HCIA

先放张协议地图

网络工程Datacom-HCIA_第1张图片

网工说白了,学的就是这些东西

网络模型

目前普遍使用的是由阿帕网演化的TCP/IP四层模型,用于学习的是ISO组织推出的OSI七层模型

OSI TCP/IP 作用
应用层 就是应用
表示层 应用层 对应用层产生的数据进行编译或者解码
会话层 建立连接-维持连接-断开连接
传输层 传输层/运输层 确定端口号=port ;实现数据具体的传输方式
网络层 网际层 ip寻址
数据链路层 网络接口层 定位mac地址,数据校验
物理层 连接设备,发送电信号

数据的传输形式

第一代:电路交换:共同维护逻辑的一条链路-仅仅供两端设备之间访问,如果链路未释放,其他终端仍然无法使用链路

第二代:报文交换:在传输数据外面,添加发送者的信息,以实现报文的精确转发。

第三代:分组转发:将每个数据的大小进行定义,按照相同大小数据进行转发

现在使用的是分组转发技术

物理层

物理层的单位是:比特 —— byte

网线规格

从最初到现在,一共出现过9种网线规格,现在仍在使用的网线从五类网线开始(包括五类)

1、一类:早期的电话线缆–2芯–56Kb

2、二类:可以传输语音-数据接收4芯-4兆

3、三类:4芯—10兆

4、四类:8芯—16兆

5、五类:增加了绝缘层—100M

6、超五类:增加了屏蔽层—250M–1000M

7、六类:中间加入塑料十字架–1G

8、超六类:增加屏蔽层–1G

9、七类:用于万兆网络—都是屏蔽双绞线—10G

网络制作规格

网线制作两种规格:

568A:白绿 绿 白橙 蓝 白蓝 橙 白棕 棕

568B:白橙 橙 白绿 蓝 白蓝 绿 白棕 棕

现在常用568B规格

光纤

单模光纤 多模光纤
玻璃丝-细 玻璃丝-粗
光信号损耗小 信号损耗大
传输距离远 传输距离近
成本开销高(需要激光信号发射) 成本开销低
适合数据中心 适合企业网

解决冲突域

在物理层发送数据时,如果有两个使用同一网线的设备同时发送数据,就会产生冲突

这个范围叫做冲突域

解决冲突域使用CMSS/CD协议

CSMA/CD:载波侦听多路访问/冲突检测

特点:

  • 1、先听后发
  • 2、边发边听
  • 3、冲突停发
  • 4、停发后随机延时 2ms-216ms 再发(根据带宽进行计算)

数据链路层

数据链路层的单位是:帧

以太网数据帧的结构

以太网数据帧有两种结构,分别是IEEE 802.3,简称802.3Ethernet 2,简称E2

早期还有Novell(诺威尔软件公司)的IPX/SPX和IBM(蓝色巨人)的SNA,现在均已经淘汰

E 2
在这里插入图片描述

报头长度18B

E2的数据报文结构如上,由 目的MAC[D.MAC] 源MAC[S.MAC]类型[Type]帧尾的FCS(帧校验序列)组成

TYPE: 类型 作用是标识上层(网络层)的协议

  • IPV4 : 0x0800
  • ARP:0x0806

FCS: 帧校验序列 通过 CRC[循环冗余校验算法] 判断数据有没有在传输过程种发生错误

IEEE 802.3

网络工程Datacom-HCIA_第2张图片

报头长度:26B

802.3结构如上所示,802.3将E2中的Type改为Length、LLC、SNAP三个字段

Length: 表示该帧携带了多长的数据,值为数据长度

LLC: 逻辑链路控制

  • D.SAP: 目标服务(接收方网络层应该使用什么协议处理)
  • S.SAP: 发送者使用的服务(发送方网络层使用的协议)
  • control:控制器,迄今为止没有开发出来

SNAP:子网络接入服务点,用于标识私有路由技术(协议)

  • org code:标识私有路由协议研发者
  • Type/PID:标识这个私有路由协议的名称

总结:E2承载开放协议,802.3既可以承载开放协议,也可以承载私有协议。

上层协议对链路层帧结构的判断方法

Length/Type > 1536(0x0600) E2

Lenght/Type < 1500(0x05DC) 802.3

由于E2结构中Type字段表示上层所用的协议类型,所以值一定大于数据包最大长度,即大于1536

而802.3结构中Length字段表示携带数据的长度,所以值一定小于数据包最大长度,即小于1500

Length和Tpye都在数据帧第12B到14B,所以上层只需要检查第12B到14B的值,就可以知道数据链路层使用的帧结构

数据泛洪传输

在二层网络中(交换机网络),数据均以在广播域中泛洪的方式传输

比如有设备PC1、PC2、PC3、PC4在同一广播域

当PC1发送数据给PC2时,并不是仅仅发送给PC2,而是同时发送给PC2、PC3、PC4,这就是数据泛洪

当设备接收到一个数据包,会先判断是不是发送给自己的,是则接收,否则丢弃

单播

单播是数据帧发送时,目的MAC为目标设备MAC,源MAC为发送者自己

所以有且只有一个发送者和一个接收者,是点到点

  • 单播报文,目的MAC第8个bit(1B(字节)是8个bit)是0【看MAC地址第二个数字的二进制最后一位】

其他设备收到数据包,判断目的MAC是不是自己,是则接收,否则丢弃

组播

组播是发送时,源MAC是自己,目的MAC为使用IGMP协议生成的,可以代表组内MAC地址的虚拟MAC

所以有一个发送者和多个接收者,是点到多点

  • 组播报文,目的MAC第8个bit是1

其他设备收到数据包,判断自己的MAC在不在组内,在则接收,否则丢弃

广播

广播报文源MAC是自己,目的MAC全为1:FF-FF-FF-FF-FF-FF

在广播域内的所有设备都直接接收广播报文

MAC地址的分配

MAC地址6B,24字节,前12字节由IEEE通过OUI向厂商发放购买

后12字节由厂商购买后自己决定

由此让每个设备的MAC唯一

网络层

IP报文结构

网络工程Datacom-HCIA_第3张图片

第一行主要对报头进行识别:

1、Version: 版本,标识使用IPV4或者IPV6

​ IPV4 = 0100

​ IPV6 = 0110

2、Header Length: 报头长度。表示IP报文的报头有多长,(20B-60B)

报头长度计算:
行数 * 4 = 报头长度(一行32bit,4字节)
如:5 * 4 = 20B ; 15 * 4 = 60B

3、DS Field: 区分服务,结合QOS使用,属于IE的知识点

4、Total Length: IP报文总长度(报头+数据)

第二行主要对IP报文分片:

计算机的传输能力是有限的,所以规定每次发送的数据都不能超过最大传输单元,否则就要分成几段(片)发送,这就是IP报文的分片

MTU:最大传输单元,单位为字节

1、identification:标识报文id

​ 分片是,同一个报文分出的所以数据包,这个值都相同

​ 主要用于区分不同报文分片产生的数据包

2、Flags:标识数据是否接收完毕

​ 当Flags为0时,表示这个数据包是某个报文分出的最后一个包,

​ 此时网络层默认该报文全部接收完毕,开始重组分片

3、Fragment Offset:分片偏移。表示分片原本的位置

一个报文的最后一个分片会携带8B的ICMP协议数据

第三行主要标识控制信息:

1、Time to Live:老化时间/生存时间,简称TTL

​ 每个数据包发送时,TTL均为255,每经过一台设备就减一,

​ 当减到1时认为网络不可达,丢弃该数据包

2、portocol:协议,标识上层(传输层)使用的协议

​ ICMP协议portocol=1;TCP协议值为6;UDP协议值为17;OSPF协议值为89

3、Header Checksum:头部校验和,检查IP数据包报头有没有出错

第四行源IP地址,第五行目的IP地址,各占32bit

最后一行是扩展行,留待之后用,最少0B,最多40B

IP地址与IP地址分类

ip地址是以点分十进制表示的四组二进制数字

192.168.1.1 ==> 1100 0000.1010 1000.0000 0001.0000 0001
192 => 1100 0000
168 => 1010 1000
1 	=> 0000 0001

所以ip地址最小是0.0.0.0最大是255.255.255.255 (二进制:1111 1111 = 十进制:255)

IP地址分类

IP地址分为ABCDE五类,在网络中用到的只有ABC三类

A类地址必须是以0开头

0000 0000 . 0000 0000 . 0000 0000 . 0000 0000  最小值:0.0.0.0
0111 1111 . 1111 1111 . 1111 1111 . 1111 1111  最大值:127.255.255.255

B类地址必须以10开头

1000 0000 . 0000 0000 . 0000 0000 . 0000 0000 最小值:128.0.0.0
1011 1111 . 1111 1111 . 1111 1111 . 1111 1111 最大值: 191.255.255.255

C类地址必须以110开头

1100 0000 . 0000 0000 . 0000 0000 . 0000 0000 最小值:192.0.0.0
1101 1111 . 1111 1111 . 1111 1111 . 1111 1111 最大值:223.255.255.255

ABC三类地址是设备上可以配置的单播地址

D类地址必须以1110开头

1110 0000 . 0000 0000 . 0000 0000 . 0000 0000 最小值:224.0.0.0
1110 1111 . 1111 1111 . 1111 1111 . 1111 1111 最大值:239.255.255.255

D类地址用于组播地址,不作为单播地址使用

E类地址必须以1111开头

1111 0000 . 0000 0000 . 0000 0000 . 0000 0000 最小值:240.0.0.0
1111 1111 . 1111 1111 . 1111 1111 . 1111 1111 最大值:255.255.255.255

E类地址用于科研【科研阶段技术不成熟,使用ABC类会对正常网络产生影响,所以科研技术全部使用E类地址】

DE两类地址均不能作为正常IP地址使用

特殊IP地址

在分为五类的基础上,还有一些特殊地址,这些地址同样不能作为公网通信的IP使用

本地环回地址:

127.0.0.0 —— 127.255.255.255 这个网段(简称127网段)是环回地址

用于检查设备自己的TCP/IP协议栈有没有出现问题

默认地址/缺省地址/所有地址:

这三者都是在说0.0.0.0 这个地址,它可以代表所有IPV4地址

私网地址

IP地址最多只能分配47亿公网IP,不够全球使用,所以每个公网IP下都可以设置大量私网地址用于分配

公网地址需要购买才可以使用,私网地址可以随便设置

我们随身携带的设备一般都是私网地址,并非公网地址

A类IP私网网段:10.0.0.0 —— 10.255.255.255 【简称10网段】

B类IP私网网段:172.16.0.0 —— 172.31.255.255

C类IP私网网段:192.168.0.0 —— 192.168.255.255 【简称192.168网段】

B类私网地址不是一整个172网段属于历史遗留问题,RFC就是这样规定的

子网掩码与子网划分(VLSM)

子网掩码与IP地址对应

A类地址的默认子网掩码为255.0.0.0 即/8

B类地址的默认子网掩码为255.255.0.0 即 /16

C类地址的默认子网掩码为255.255.255.0 即 /24

一个完整的IP地址分网络位和主机位,子网掩码用于标识网络位

192.168.1.1/24
IP:	 1100 0000 . 1010 1000 . 0000 0001 . 0000 0001
掩码:1111 1111 . 1111 1111 . 1111 1111 . 0000 0000

网络工程Datacom-HCIA_第4张图片

二进制中掩码对应为1的叫做网络位,对应为0的叫做主机位

地址 网络位 主机位 地址范围 主机数量
A /8=255.0.0.0 24 1-126 16,777,216-2
B /16=255.255.0.0 16 128-191 65,536-2
C /24=255.255.255.0 8 192-223 256-2

网络位相同的IP地址属于同一网段

主机位特殊的IP地址

1、主机位全0,表示一个网段的所有地址,一般用来指代网段

2、主机位全1,是广播地址,由主机位全1的IP发送的数据,同网段内所有IP都可以收到

所以主机位全0和全1的地址不能用于设备单播

子网划分(VLSM)

VLSM:可变长子网掩码

顾名思义,子网掩码并非默认不变,而是可以增加或者减少

增减子网掩码位数后网段和主机数目会产生变化,顾称子网划分

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rqk3VZLP-1675766909067)(image-20220804113034513.png)]

如上图,C类网络掩码+1,网络位从原来的24到25,主机位从8到7

网络位变成了x.x.x.0x.x.x.1

111 1111 = 127,所以这个网段被重新划分为两个子网,每个子网有0-127,共128-2个可用地址(主机位全0或全1不可用于单播)

.0网段和.1网段网络位不同,是独立的网段,这就是子网划分

当掩码为32位时,只有网络位没有主机位,此时唯一标识一个主机 192.168.1.1/32

注:增加掩码是划分子网,减少掩码是划分超网

ICMP协议实现ping

在这里插入图片描述
ICMP报文在正常的数据通信中,出现在IP报文的最后一个分片的IP首部之后,是IP层协议,被网络层和传输层使用

ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。

报文格式:

网络工程Datacom-HCIA_第5张图片
网络工程Datacom-HCIA_第6张图片

在ICMP协议中,8位类型Type和8位代码Code,决定ICMP报文类型

网络工程Datacom-HCIA_第7张图片

在ping测试中,发送方发送type/code= 8/0 (echo request) 回应请求报文

接收方收到后发送type/code=0/0 (echo reply) 回应应答报文

ICMP报文详情不是IA知识,放在之后解释,具体参考ICMP报文详解

传输层

传输层主要负责区分设备上的不同应用,主要有TCP协议和UDP协议

端口

网络层确定大体位置,链路层确定设备,但是一个设备中有许多的应用程序。

传输层通过划分端口,确定要将一个数据交给哪个应用。每个端口号只对应一个服务,一个服务可以占用多个端口

端口号总数:0-65535=65536

知名端口 0-1023 = 1024个

几乎每个设备都会用到的服务,会划分给知名端口

IA阶段需要了解的有:

TCP协议下的:

  • HTTP协议 80 ;web服务
  • HTTPS协议 443 ; 加密的web服务
  • Tenlet协议 21 ; 远程连接
  • SSH协议 22 ; 加密远程连接
  • FTP协议 21/20 ; 文件传输

UDP协议下的:

  • DNS协议 53 ; 域名解析
  • DHCP协议 67/68 ;动态IP地址分配

使用到端口的协议都是应用层协议

高随机端口 1024-65535

类似qq,微信这种,常用但并非每个设备都必备的应用,在发送数据时,就会请求一个空闲高位的随机端口

情景举例:

  • A向B通过qq发送一条消息

  • A的qq端申请了一个空闲高位端口,以这个端口为源端口,发送数据给B的qq端

    【在开发层面,每个应用启动时会监听一到多个固定端口,这个固定端口就是该应用的目的端口

    ,在关闭应用时,会释放监听的端口】

    如果有两个应用目的端口一致,就会发生冲突,应用无法启动,直到一个应用退出

  • B的目的端口收到A传来的数据后,B的qq端申请一个高位随机端口

    以这个高位端口为源端口,A设备的高位端口为目的端口,发送确认报文并建立通信

  • 通信结束后,A、B设备申请的高位端口被释放

TCP协议报文

网络工程Datacom-HCIA_第8张图片

TCP:传输控制协议,面向连接的协议;可靠传输;基于已经建立好的连接;主要用于传输大文件

传输的过程可概况为三次握手和四次挥手

网络工程Datacom-HCIA_第9张图片

三次握手

第一步:PC1发送SYN,表示我想跟你建立连接

第二步:PC2收到报文后,回复ACK进行确认同时发送SYN表示我也想跟你建立连接

第三步:PC1收到报文后,回复ACK进行确认

四次挥手

第一步:PC1数据发送完毕,发送FIN,表示我想跟你断开连接

第二步:PC2收到报文后,回复ACK进行确认

第三步:PC2数据接收完毕,发送FIN,表示我想跟你断开连接

第四步:PC1收到报文后,回复ACK进行确认

TCP协议报文字段解释

第一行是源端口和目的端口,源端口随机获取,目的端口是服务器或者另一个客户端的固定端口

第二、三行字段保证可靠性传输

  • Sequence number:序列号

    TCP将每个字节的数据都进行了编号,序列号字段的值是该报文第一个字节的编号

  • Acknowledge number:确认号

    当接受方收到报文时,接受方会发送包含确认号的确认报文

如发送方发送序列号为1,长度100的报文,那么接受方的确认报文就是1+100=101,表示101之前的数据收到了,下一个报文应该从101开始

确认号 = 序列号 + 数据长度

第四行字段负责建立连接

  • Header Length:报文首部长度

  • Resv. : 保留位,目前无意义

  • 六个标识位

    URG:紧急指针是否有效
    ACK:确认号是否有效
    PSH:提示接收端应用程序立刻从缓冲区读走
    RST:要求对方重新建立连接,携带RST的标识的报文称为复位报文段
    SYN:请求建立连接,携带SYN标识的报文称为同步报文段
    FIN:结束标识&

你可能感兴趣的:(HCIA,网络)