HCIA复习
抽象语言 — 电信号
计算机:将抽象语言转化为电信号
具体过程为:
抽象语言 —> 编码
编码 —> 二进制
二进制 —> 电信号
处理电信号
OSI/RM
开放式系统互联参考模型 — ISO — 国际标准化组织 — 1979年
OSI核心思想:分层
七层模型
应用层 — 提供各种应用服务,人机交互的接口,将抽象语言转换成编码
表示层 — 将编码转换成二进制
会话层 — 维持网络应用和网络服务器之间的会话连接
传输层 — 实现端到端的传输 — 应用到应用之间的传输
端口号(传输层地址):区分和标定不同地址,16位二进制,0 - 65535(其中0保留)所以,端口号的真实取值范围为 1 - 65535
1 - 1023知名端口号 — SPORT,DPORT
网络层 — 通过IP地址进行逻辑寻址 — IPV4地址由32位二进制构成,分为网络位和主机位
网络位相同,则代表在同一个广播域内,属于同一个网段;网络位不同,则代表在不同的网 — SIP,DIP
获取目标IP地址的方法:
1.如果直接知道对方IP地址,则可以直接使用IP地址访问
2.通过域名访问服务器
3.通过应用程序来进行访问
4.通过广播获取
数据链路层 — 控制物理层,将二进制转换成电信号
在以太网中,可以使用MAC地址来进行物理寻址 — MAC地址由48位二进制构成 — 1,全球唯一;2,格式统一 — SMAC, DMAC
获取目标MAC地址方式:ARP — 地址解析协议 — 通过一种地址获取另一种地址
正向ARP — 通过IP地址获取MAC地址
工作原理 :首先,主机通过广播的形式发送ARP请求,通过IP地址请求MAC地址。因为是广播帧,所以,广播域内所有设备都会收到请求报文。设备收到后,会先将数据包中的源IP地址和源MAC地址的对应关系记录在本地的ARP缓存表中。之后,再看请求的IP地址。如果是本地的IP地址,则将回复ARP应答报文。如果不是,则将直接丢弃数据包。之后再发送信息之前,先查看ARP缓存表,如果存在记录,则直接按照记录转发;如果不存在,则再发送ARP请求。
反向ARP — 通过MAC地址获取IP地址
免费ARP — 按照正向ARP的工作原理,只不过请求的IP地址是自己本地的IP地址:1,自我介绍;2,检测地址冲突
物理层 — 传输或处理电信号
TCP/IP模型 — TCP/IP协议簇
TCP/IP四层模型 — TCP/IP标准模型
TCP/IP五层模型 — TCP/IP对等模型
封装 — 解封装
应用层
传输层 — 端口号 — TCP,UDP
网络层 — IP地址 — IP
数据链路层 — 以太网中需要封装MAC地址 — 以太网协议
物理层
PDU — 协议数据单元
L1PDU
L2PDU
…
L7PDU
应用层 — 报文
传输层 — 段
网络层 — 包
数据链路层 — 帧
物理层 — 比特流
OSI参考模型不支持跨层封装,而TCP/IP可以跨层封装
跨层封装的好处,可以提高转发效率
1、跨四层封装 — 一般应用在直连的路由器之间 — OSPF协议就是一个跨四层封装的协议,他的协议号为89
2、跨三四层封装 — 一般出现在直连的交换设备之间 — STP
SOF — 帧首定界符
DSAP — 指明目标的上层协议类型
SSAP — 知名数据帧源上层协议类型
Control — 可以实现数据的分片和重组
网络访问
获取IP地址
1、手工配置
2、通过DHCP协议自动获取
DHCP — 动态主机配置协议 — C/S
1)客户端 — 服务器 — DHCP-Discover报文
传输层 — UDP — SPORT:68 DPORT:67
网络层 — IP — SIP:0.0.0.0 DIP:255.255.255.255
数据链路层 — 以太网协议 — SM:自己的MAC DM:全F
交换机的转发原理:数据来到交换机上,交换机先查看数据帧中的源MAC地址,之后将源MAC地址和进入的接口号的对应关系记录在本地的MAC地址表中,之后,再看目标MAC地址,根据目标MAC地址查看MAC地址表,如果表中存在记录,则直接按照记录实现单播;如果没有记录,则将泛洪 — 除了进入的接口外,剩余所有接口都发送
交换机在遇见三种帧时必然泛洪:
①广播帧(目标MAC地址是广播地址的数据帧)
②组播帧(目标MAC地址是组播MAC地址的数据帧)
③未知单播帧(目标MAC地址是单播MAC地址的数据帧)
具体流程:路由器收到数据帧之后先看二层封装,因为其目标MAC地址为广播地址,则由路由器解二层封装。之后将根据数据帧中的类型字段把解封装后的数据包交给对应的IP模块进行处理。因为三层头部中目标IP地址为受限广播地址,则路由器将解三层封装。因为三层协议头部的协议号为17,则路由器将把解封转后的数据段交给UDP模块进行处理。UDP根据目标端口号67将解封装后的DHCP-dsicover报文交给对应的DHCP服务进行处理
2)服务器 — 客户端 — DHCP-offer报文 — 单播/广播
传输层 — UDP — SPORT:67 DPORT:68
网络层 — IP — SIP:68.85.2.1 DIP:68.85.2.101
数据链路层 — 以太网协议 — SM:服务器的MAC地址 DM:客户端的MAC地址
3)客户端 — 服务器 — DHCP-Request — 广播 — 这个数据包一定是以广播形式发送的,因为一方面它需要告诉获取IP地址的服务器,请求该IP地址;另一方面,需要告诉剩余没有获取IP地址的服务器,可以释放该地址
4)服务器 — 客户端 — DHCP-ACK — 单播/广播
在浏览器中输入谷歌服务器的URL — 资源定位符
因为输入的内容中包含谷歌的域名信息,但是,访问服务器需要获取对方的IP地址信息,所以,需要使用DNS服务进行地址解析
DNS请求报文
传输层 — UDP — SPORT:随机 DPORT:53 — 递归查询
网络层 — IP — SIP:68.85.2.101 DIP:68.87.71.226
数据链路层 — 以太网协议 — SM:自己MAC DM:???
ARP — 首先,主机通过广播的形式发送ARP请求,通过IP地址请求MAC地址。因为是广播帧,所以,广播域内所有设备都会收到请求报文。设备收到后,会先将数据包中的源IP地址和源MAC地址的对应关系记录在本地的ARP缓存表中。之后, 再看请求的IP地址。如果是本地的IP地址,则将回复ARP应答报文。如果不是,则将直接丢弃数据包。之后再发送信息之前,先查看ARP缓存表,如果存在记录,则直接按照记录转发;如果不存在,则再发送ARP请求。
传输层 — UDP — SPORT:随机 DPORT:53 — 递归查询
网络层 — IP — SIP:68.85.2.101 DIP:68.87.71.226
数据链路层 — 以太网协议 — SM:自己MAC DM:网关的MAC地址
路由器的转发原理:数据来到路由器上,路由器会基于目标IP地址查看本地路由表,如果本地路由表中存在记录,则无条件按照路由条目转发;如果没有记录,则将丢弃该数据包
DNS服务器收到请求报文后,将先在本地缓存中查找记录,如果有,则直接返回;如果没有,则将向根服务器发送迭代查询(迭代查询使用TCP协议封装传输层)
通过HTTP协议获取谷歌服务器的网页信息
因为,HTTP协议传输层使用的是TCP协议,所以,需要先建立点到点的连接,也就是TCP 的三次握手
建立连接之后,将发送HTTP的请求报文
客户端会发送GET包请求网页信息,之后,服务器会回复HTTP的应答报文,其中将携带网页信息