HCIP--HCIA回顾

HCIA内容回顾

抽象语言 — 电信号

计算机:将抽象语言转化为电信号 具体过程为: 抽象语言 —> 编码 编码 —> 二进制 二进制 —> 电信号 处理电信号

OSI/RM开放式系统互联参考模型

OSI--开放式系统互联参考模型 --ISO -- 国际标准化组织 -- 1979年

OSI核心思想:分层

TCP/IP----4层或者5层

应用层

应用层(Application Layer)是OSI参考模型的最高层,它是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。它在其他6层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及 应用所需的监督、管理和服务等各种协议。此外,该层还负责协调各个应用程序间的工作。

提供各种应用服务,人机交互的接口,将抽象语言转换成编码

表示层

表示层(Presentation Layer)是OSI模型的第六层,它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。其主要功能是“处理用户信息的表示问题,如编码、数据格式转换和加密解密”等

将编码转换成二进制

会话层

会话层(Session Layer)是OSI模型的第5层,是用户应用程序和网络之间的接口,主要任务是:向两个实体的表示层提供建立和使用连接的方法。将不同实体之间的表示层 的连接称为会话。因此会话层的任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。 用户可以按照半双工、单工和全双工的方式建立会话。当建立会话时,用户必须提供他们想要连接的远程地址。而这些地址与MAC(介质访问控制子层)地址或网络层的逻辑地址不同,它们是为用户专门设计的,更便于用户记忆。

维持网络应用和网络服务器之间的会话连接

传输层

传输层(Transport Layer)是OSI模型的第4层。因此该层是通信子网和资源子网的接口和桥梁,起到承上启下的作用。该层的主要任务是:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。传输层的作用向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。该层常见的协议:TCP/IP中的TCP协议和UDP协议。传输层提供会话层和网络层之间的传输服务,这种服务从会话层获得数据,并在必要时,对数据进行分割。然后,传输层将数据传递到网络层,并确保数据能正确无误地传送到网络层。因此,传输层负责提供两节点之间数据的可靠传送,当两节点的联系确定之后,传输层则负责监督工作。综上,传输层的主要功能如下:监控服务质量。

实现端到端的传输---应用到应用之间的传输

传输层地址:端口号(16位二进制)0~65535(0作保留一般不取)

1~1023知名端口号,1024~65535端口号不做硬性要求(特殊大厂除外)

SPORT,DPORT

Telnet-23,ssh-22,http-80,https-443

①可靠的;②不可靠的

TCP----传输控制协议。是一种面向连接的可靠传输协议。确保可靠性:①确认②重传 ③排序④流控

UDP----用户数据报协议。是一种非面向连接(无面向)的不可靠传输协议。

封装

 

应用层 传输层 — 端口号 — TCP,UDP 网络层 — IP地址 — IP 数据链路层 — 以太网中需要封装MAC地址 — 以太网协议 物理层

  • TCP/IP各层单位

应用层 — 报文 传输层 — 段 网络层 — 包 数据链路层 — 帧 物理层 — 比特流

  • 跨层封装

OSI参考模型不支持跨层封装,而TCP/IP可以跨层封装

跨层封装的好处,可以提高转发效率

跨四层封装 — 一般应用在直连的路由器之间 — OSPF协议就是一个跨四层封装的协议,他的协议号为89

跨三四层封装 — 一般出现在直连的交换设备之间 — STP

面向连接----TCP

是指通信双方在通信时,要事先建立一条通信线路。其有三个过程:建立连接使用连接释放连接

打个比方:打电话 两个人如果要通电话,必须先建立连接--拨号,等待应答后才能相互传递信息,最后还要释放连接--挂电话。

  • TCP数据结构

 

 

 

TCP的头部是可变长头部 --- 头部最短20个字节

TCP的校验和 --- 伪头部校验 --- 12个字节 --- 32位源IP和32位目标IP,8位的协议号,8位的保留,16位的总长度

其中resv可以保证QOS(服务质量);标志位(fin/syn/ack/urg)*生效是1不生效0 ACK:确认序号有效。 SYN:发起一个新连接。 FIN:释放一个连接。 URG:紧急位 Burgent pointer*紧急指针为了打标签。

TCP的三次握手-----C/S Client/Server

 

SYN 同步序列号请求 序列号—记录发送的次数—不同的厂商序列号不一样 Ack 确认 Ack=seq+1

  • TCP握手为什么需要三次?

发起连接方发出SYN,并收到ACK,这就是两次网络传输了。

同样被连接方也发出SYN,且等待对方回复,这也是两次网络传输。

加起来难道不是四次吗?实际上被连接方将对连接方 SYN(1) 的回复和自己 SYN(1) 的请求合并了,所以建立一个 TCP 连接最少只需要经过三次网络传输。

  • TCP建立连接为什么需要三次握手

举例:已经失效的连接请求报文段

⑴、client发送了第一个连接的请求报文,但是由于网络不好,这个请求没有立即到达服务端,而是在某个网络节点中滞留了,直到某个时间才到达server。

本来这已经是一个失效的报文,但是server端接收到这个请求报文后,还是会想client发出确认的报文,表示同意连接。

⑵、假如不采用三次握手,那么只要server发出确认,新的建立就连接了,但其实这个请求是失效的请求,client是不会理睬server的确认信息,也不会向服务端发送确认的请求。但是server认为新的连接已经建立起来了,并一直等待client发来数据,这样,server的很多资源就没白白浪费掉了。

⑶、采用三次握手就是为了防止这种情况的发生,server会因为收不到确认的报文,就知道client并没有建立连接。这就是三次握手的作用。

TCP的四次挥手

 

  • TCP挥手(断开连接)为什么要四次?

解释:

⑴、发起断开方发出FIN,并收到ACK,这就是两次网络传输了。

⑵、同样被断开方也发出FIN,且等待对方回复,这也是两次网络传输。

⑶、同样的逻辑分析下来,实际上也可以仅经过三次传输就断开此次连接,但为什么我们会说四次挥手呢?这是因为如果在收到FIN时,彼时还有数据未传输完,则先回复关于FIN 的 ACK,告知对方我已经知道你要断开了。则等待传输完毕后,被断开方再发送 FIN,告知自己也已经可以断开连接。

⑷但实际上完全可以是“三次挥手”,如果收到 FIN 时,已经没有数据要传输,则是“三次挥手”。

非面向连接----UDP

 

是指通信双方不需要事先建立一条通信线路,而是把每个带有目的地址的包(报文分组)送到线路上版,由系统自主选定路线进行传输

无面向连接服务的特点是:无连接服务只有传输数据阶段。消除了除数据通信外的其它开销。只要发送实体是活跃的,无须接收实体也是活跃的。它的优点是灵活方便、迅速,特别适合于传送少量零星的报文。

网络层

 

涵义详解
IP大小范围

--当Options=0时,1行是4字节 共4×5=20字节

--当IHL=1111(15)时,15×4=60字节

所以IPv4的大小范围为 20字节~60字节

第一行(32Bit)
  • Version(版本)——**4Bit**

表示IP的版本号

默认值为0100表示IPv4 如果为0110表示IPv6

  • IHL(首部长度)——**4Bit**

表示IP首部的总长度。

默认值0101=5 5X32/8=20字节 表示普通的IP报头长度为20字节

当首部长度最大15(1111)时, 15×32/8=60 字节

  • Type of Service**(服务类型)——8Bit**

对我们的数据或流量进行一个标记

也称为TOS

标记流量后,可以进行QOS QOS差分服务用该字段

QOS:可以做数据过滤、数据限速——这种叫服务质量

针对一些用户,牺牲掉一部分用户的资源,为更重要的用户提供更优质的服务。

对流量标记有三种方法

1、IPP 8bit标记流量只用了前3个(只能区分8种流量),后5个bit没用

2、DSCP 区分服务代码点 标记流量用来前6个(可以区分64种服务),后2个bit用于ECN

3、PHB 前两者兼容,21种(8+12+1)

  • Total Length**(总长度)——16Bit**

IP报头 + data

表示整个IP数据包的长度,以字节为单位,最长为65535

第二行(32Bit)
  • Identification (标识符)——**16Bit**

在3层对流量进行区分、标记。 (如果数据是基于UDP传输的,因为UDP没有序列号不能进行差错控制,所以需要在IP报文中支持差错控制——要把所有分片的数据进行重组)

通常每发送一份报文该值+1,该值在数据分片时,会复制到每一个片中。所以在重组分片包的时候会观察该值。把该值相同的分片收集到一起重组。

  • Flags**(标记位)——3Bit**

该字段主要用来分片和重组。

第一位Bit:R:保留位(Reserved Bit) ——该位一般置位0

第二位BIt:DF:不分片位(Don‘t Fragment)——能否分片位 该位置1(不分片) 置0(分片)

第三位Bit:MF:更多分片位 (More Fragment)——表示是否该报文为最后一片 0表示最后一片 该位置1表示后面还有更多分片

  • Fragment Offset**(分片偏移)——13Bit**

每一个分片的数据字段偏移原始数据报开始处的位置。

例:原始数据报的数据字段总长为1461bytes,使用TCP传输,对该数据报分片,第一片

的offset字段为0,第二片的offset字段就应该为1460

第三行
  • Time to Live(生存时间)——8Bit

三层防环机制(数据包的防环机制)

每查看一次路由表TTl减一,可经过最多的路由数,即数据包在网络中可通过的路由器数的最大值,一般为255,减到0下一个路由器丢弃该数据包

表示该IP数据包可以经过的路由器的最大数量,最大为256表示可以穿越256台路由,该字段采用减法的方式赋值,如果该字段减到了0还没有传送目的地,那么该IP数据包将被丢弃。最初设计这个字段就是为了防止IP报文在网络中循环无线传输,占用带宽等问题

单位:s 默认255s

防环工具 每经过一个路由题,TTL-1,当TTL=0 数据包丢弃

  • Protocol**(协议号)——8Bit**

范围:1~255

描述上层使用什么协议 Tcp=6 UDP=17 ICMP=1 OSPF=89

  • Header Checksum**(头部校验)——16Bit**

只计算IP数据包的头部有没有被改过,不检验数据部分

肯定不检验TTL,这里不采用ORC检验码,而采用简单的计算方法

用来使接收端检验收到的报文是否正确。

该字段只对IP首部计算校验和 不包含后面的数据字段。

第四行
  • Source Address**(源IP地址)——32Bit**

第五行
  • Destination Address(目标**IP地址)——32Bit**

第六行
  • Options

一般不使用该字段,该字段的值以32Bit为单位,不足时以0补充。

特殊功能

定义数据的严格路由(IP严格路由最多定义9个IP地址-Option字段只有40个字节,还有控制字符等需要占位所有就不足40【一个IP地址4个字节】)、松散路由、记录路由、时间戳。

严格路由:源到达目标必须按照指定的路由进行转发,走其他路是不允许的

写严格路由的时候:源ping目标所经过所有路由器的出接口IP地址依次写入到路由控制表中(ping包中),数据才能转发出去,数据转发出去的过程中每到一个路由器都要检测出接口IP地址,如果检测到的顺序跟列表顺序一样,则可以转发。如果中途多个路由器或少个路由器则数据包丢弃。

松散路由:写松散路由的时候:只写中间可能会产生影像数据转发方式的路由出接口地址

记录路由:将数据包传递过程中所经过的所有路由器的出接口IP地址全记录下来

时间戳:记录时间

  • Padding(填充项)

可变 全填0

只是为了保证option+padding的大小是32bit或者是32bit的倍数

数据链路层

  • 局域网封装

Ethernet II IEEE802.3封装----ISIS BPDU---STP

  • 广域网封装

串线 PPP HDLC ATM Frame-relay 帧中继

交换机的基本功能

1、基于源MAC的学习

2、基于目标MAC的转发

3、数据过滤

4、防环

ARP

ARP--地址解析协议(Address Resolution Protocol)

基本功能:知道目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

它是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代

 

字段1是ARP请求的目的以太网地址,全1时代表广播地址。

字段2是发送ARP请求的以太网地址。

字段3以太网帧类型表示的是后面的数据类型,ARP请求和ARP应答这个值为0x0806。

字段4表示硬件地址的类型,硬件地址不只以太网一种,是以太网类型时此值为1。

字段5表示要映射的协议地址的类型,要对IPv4地址进行映射,此值为0x0800。

字段6和7表示硬件地址长度和协议地址长度,MAC地址占6字节,IP地址占4字节。

字段8是操作类型字段,值为1,表示进行ARP请求;值为2,表示进行ARP应答;值为3,表示进行RARP请求;值为4,表示进行RARP应答。

字段9是发送端ARP请求或应答的硬件地址,这里是以太网地址,和字段2相同。

字段10是发送ARP请求或应答的IP地址。

字段11和12是目的端的硬件地址和协议地址。

  • ARP工作过程

  •  

假设主机A和B在同一个网段,主机A要向主机B发送信息,具体的地址解析过程如下:

(1) 主机A首先查看自己的ARP表,如果ARP表中含有主机B对应的ARP表项,则主机A直接利用ARP表中的MAC地址,对IP数据包进行帧封装,并将数据包发送给主机B。

(2) 如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。

(3) 主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。

(4) 主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用于后续报文的转发,同时将IP数据包进行封装后发送出去。

  • ARP的请求报文与ARP的应答报文

请求报文

在这里插入图片描述

应答报文

在这里插入图片描述

 

  • 正向ARP(普通ARP)(AARP)

功能介绍:通过ip地址获得对端的MAC地址。

工作过程:网络设备A发送数据包给网络设备B,数据包需要填写A、B的源目ip地址和源目MAC地址,这时候会在本地的ARP缓存表查询B的MAC地址,查询不到的话就会发ARP请求包以广播的形式在局域网中散开,B收到并核实目的IP地址是本地的IP地址就会以单播方式发送ARP回应包给A,ARP回应包记录了B的MAC地址。

  • 反向ARP(RARP)

功能介绍:已知对端的MAC地址,通过二层单播、三层广播来 获取对端的IP地址。

无盘工作站通过RARP协议来获取IP地址(有了IP地址之后通过TFTP引导加载系统)

自己没有ip地址,但是有mac,通过RARP,想服务器请求获得了IP地址(这个服务器分配给他的),从而获得远程操作系统。

  • 无故ARP(免费ARP)

    功能介绍:查询想使用的ip地址是否在局域网中已被占用。

    报文介绍:源目ip都是写本机的ip,源MAC写本机的MAC,目的MAC写广播地址。

    用途: 确定设备的ip是否与其他设备ip冲突,当其他设备接收到免费ARP时,就会核对是否与本机 ip冲突,如果冲突了就会返回一个arp应答包告知ip地址已被占用。 设备改变物理地址时,可以通过免费arp报文通知其他设备更新arp表项。

  • 代理ARP 功能介绍:路由器收到ARP request时,发现源目ip不在相同网段,就会饰演代理ARP角色,代为回答,告诉查询者它想要的MAC地址。

    跨网段查询MAC地址方法:主机设置了默认网关,当查询的对象在局域网外时,将查询任务交给网关。

    代理ARP过程:网段A的设备广播ARP request包,源MAC写自己的MAC地址,目的MAC写FFFF.FFFF.FFFF,网关收到后返回接口的MAC地址,A收到网关返回的ARP reply包后更新自己的ARP缓存表,于是A发出去的包都要通过网关路由器转发,网关路由器再在从网段B中广播得到B的MAC地址。

  • 逆向ARP(IARP)

    功能介绍:通过物理地址获得ip地址

    一般存在于帧中继网络中,用于实现IP和DLCI地址的映射。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值