誉天教育,武汉誉天,誉天ICT认证培训.png/

Datapass

数通
当前位置:首页 > 誉天学堂 > 安全 > 誉天Security技术专栏:网络基础知识

誉天Security技术专栏:网络基础知识

  • 2023/08/29

640.png

(思维导图)


网络参考模型


1.OSI参考模型和TCP/IP参考模型


  • 应用与数据

大部分应用所产生数据需要在不同的设备之间传输。对于一名网络工程师来说,更需要关注数据的端到端传输的过程。计算机只能识别0和1组成的电子数据(digital data)。而对人来说,我们不具备读取电子数据的能力,所以在读取信息的时候,需要将数据转成人能理解的信息。

  • OSI参考模型

OSI参考模型是由国际标准化组织ISO于1984年发布的用于开放网络互联的模型,它由七个层级构成。(OSI参考模型:Open Systems Interconnection Reference Model)


640 (1).png


  • TCP/IP参考模型

OSI参考模型较为复杂,且TCP和IP两大协议在业界被广泛使用,所以TCP/IP参考模型成为了互联网的实际参考模型。


TCP/IP把表示层和会话层都归入应用层,数据链路层和物理层合并为网络接口层,所以分成4层模型,考虑数据链路层和物理层一般是分开处理的,所以一般采用最右边的TCP/IP对等模型。


640 (2).png


2.TCP/IP协议栈常见协议


TCP/IP协议栈定义了一系列的标准协议。


640 (3).png


  • 应用层

应用层为应用软件提供接口,使应用程序能够使用网络服务。应用程序会基于某一种传输协议,以及定义传输层所使用的端口号。


典型应用层协议

HTTP:超文本传输协议,提供测览网页服务。

Telnet:远程登陆协议,提供远程管理服务。

FTP:文件传输协议,提供互联网文件资源共享服务。

SMTP:简单邮件传输协议,提供互联网电子邮件服务。

TFTP:简单文件传输协议,提供简单的文件传输服务。


  • FTP
  • FTP(File Transfer Protocol)是一个用于从一台主机传送文件到另一台主机的协议,用于文件的“下载”和“上传”,它采用C/S(Client/Server)结构。使用FTP传输数据时,需要在服务器和客户机之间建立控制连接和数据连接。


    FTP连接的建立分为主动模式和被动模式,两者的区别在于数据连接是由服务器发起还是由客户端发起。


    当需要穿越防火墙的时候,需要用被动模式。缺省情况下采用主动模式,用户可以通过命令切换。服务器的端口21用于传输控制命令,端口20用于传输数据。


    FTP连接主动模式建立过程:

    1. 服务器打开端口21,启动监听,等待连接;

    2. 客户端发起控制连接的建立请求,服务器响应;

    3. 客户端通过控制连接发送PORT命令,将客户端数据连接的临时口号告诉服务器;

    4. 服务器的20端口与客户建立起数据连接。


    FTP连接被动模式建立过程:

    1. 服务器打开端口21,启动监听,等待连接;

    2. 客户端发起控制连接的建立请求,服务器响应;

    3. 客户端通过控制连接发送命令字PASV,告知服务器处于被动模式;

    4. 服务器回应,将数据连接的临时端口号告诉客户;

    5. 客户端与服务器的临时口建立起数据连接。


  • SFTP
  • SFTP(Secure File Transfer Protocol,安全文件传输协议)是一种基于SSH(Secure Shell)提供文件安全传输的网络协议。

    FTP vs SFTP

    FTP:明文传输不安全,双通道协议,端口号20 21

    SFTP:传输的认证信息和数据进行加密, 单通道协议端口号22


  • Telnet

    Telnet是数据网络中提供远程登录的标准协议,Telnet可以为用户实现在本地计算机上操作远程设备。用户通过Telnet客户端程序连接到Telnet服务器。用户在Telnet客户端中输入命令,这些命令会在服务器端运行,就像直接在服务端的控制台上输入一样。


  • STelnet

    STelnet(Secure Telnet)是一种安全的Telnet服务,使用户可以从远端安全登录到设备,所有交互数据均经过加密,实现安全的会话连接。Telnet是明文传输的,并不安全,使用STelnet可以极大提升安全性。


  • Telnet vs STelnet

    Telnet:明文传输,端口22

    STelnet:通过SSH密文传输,端口22


    STelnet服务端与客户端的协商过程包括以下五个阶段:

    版本协商阶段:SSH目前包括SSHv1和SSHv2两个版本,双方通过版本协商确定使用的版本。

    算法协商阶段:SSH支持多种加密算法,双方根据本端和对端支持的算法,协商出最终使用的加密算法。

    密钥交换阶段:通过密钥交换算法生成会话密钥,此后双方的会话均通过会话密钥加密。

    用户认证阶段:SSH客户端向服务器端发起认证请求,服务器端对客户端进行认证。

    会话交互阶段:认证通过后,服务器端和客户端进行信息的交互。


  • HTTP

    HTTP(Hyper Text Transfer Protocol)超文本传输协议是互联网上应用最为广泛的一种网络协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。WWW是World Wide Web的缩写,又称为3W或Web,中文译为“万维网”。


  • HTTPS

    HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道。

    HTTP vs HTTPS

    HTTP:明文传输,端口80

    HTTPS:加入TLS据传输提供身份验证、加密及完整性校验,端口443,主流网站都用HTTPS。


  • DNS
  • 在浏览网页时,我们输入网址这个字符串,但计算机去访问这个网址时,真正需要知道的是网址对应域名的IP地址,这时就需要由专门的域名解析系统(Domain Name System,简称DNS)来完成。


    域名解析分为动态域名解析和静态域名解析。在解析域名时,首先采用静态域名解析的方法,如果静态解析不成功,再采用动态域名解析的方法。


    IPv4静态域名解析是通过静态域名解析表进行的,即手动建立域名和IPv4地址之间的对应关系表,该表的作用类似于Windows操作系统下的hosts文件,动态域名解析需要专用的域名解析服务器(DNS Server)运行域名解析服务器程序,提供从域名到IP地址的映射关系,负责处理客户端提出的域名解析请求。


  • 传输层

传输层协议接收来自应用层协议的数据,封装上相应的传输层头部,帮助其建立“端到端”的连接。传输层负责建立主机之间进程与进程之间的连接。


传输层协议:

TCP:一种面向连接的、可靠的传输层通信协议,由IETF的RFC 793定义。

UDP:一种简单的无连接的传输层协议,由IETF的RFC 768定义。


  • TCP和UDP - 报文格式

640 (4).png


  • TCP报文头部
  • Source Port:源端口,标识哪个应用程序发送。长度为16比特;

    Destination Port:目的端口,标识哪个应用程序接收。长度为16比特;

    Sequence Number:序号字段,TCP连接中传输的数据流每个字节都编上一个序号。序号字段的值指的是本报文段所发送数据的第一个字节的序号。长度为32比特;

    Acknowledgment Number:确认序列号,是期望收到对方下一个报文段数据的第1个字节的序号,即上次已成功接收到的数据段的最后一个字节数据的序号加1。只有ACK标识为1,此字段有效。长度为32比特;

    Header Length:头部长度,指出TCP报文头部长度,以32比特(4字节)为计算单位。若Option字段无内容,则该字段为5,即头部为20字节;

    Reserved:保留,必须填0。长度为6比特;

    Control bits:控制位,包含FIN、ACK、SYN等标志位,代表不同状态下的TCP数据段;

    Window:窗口TCP的流量控制,这个值表明当前接收端可接受的最大的数据总数(以字节为单位)。窗口最大为65535字节。长度为16比特;

    Checksum:校验字段,是一个强制性的字段,由发端计算和存储,并由收端进行验证。在计算检验和时,要包括TCP头部和TCP数据,同时在TCP报文段的前面加上12字节的伪头部。长度为16比特;

    Urgent:紧急指针,只有当Urgent标志置1时紧急指针才有效。TCP的紧急方式是发送端向另一端发送紧急数据的一种方式。紧急指针指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。长度为16比特;

    Options:选项字段(可选),长度为0-40字节。


  • UDP报文头部
  • Source Port:源端口,标识哪个应用程序发送。长度为16比特;

    Destination Port:目的端口,标识哪个应用程序接收。长度为16比特;

    Length:该字段指定UDP报头和数据总共占用的长度。可能的最小长度是8字节,因为UDP报头已经占用了8字节。由于这个字段的存在,UDP报文总长不可能超过65535字节(包括8字节的报头,和65527字节的数据);

    Checksum:覆盖UDP头部和UDP数据的校验和,长度为16比特。


  • TCP和UDP - 端口号
  • TCP和UDP使用端口号来区分不同的服务。客户端使用的源端口一般随机分配,目标端口则由服务器的应用指定。源端口号一般为系统中未使用的,且大于1023的端口。目的端口号为服务端开启的应用(服务)所侦听的端口,如HTTP缺省使用80。


  • 网络层

网络层则负责数据从一台主机到另外一台主机之间的传递。

网络层作用:负责将分组报文从源主机发送到目的主机。为网络中的设备提供逻辑地址。负责数据包的寻径和转发。常见协议如IPv4、IPv6、ICMP和IGMP等。


  • IP报文头部

640 (5).png


  • IP报文转发

源设备发出的报文会在其网络层头部携带源及目的设备的网络层地址。具备路由功能的网络设备(例如路由器等)会维护路由表。当这些网络设备收到报文时,会读取其网络层携带的目的地址,并在其路由表中查询该地址,找到匹配项后,按照该表项的指示转发数据。


采用IP作为网络层协议,通信双方的IP都是唯一的,IP是32位的二进制数,可以用点分十进制表示,比如192.168.1.1



  • 网络层收到上层(如传输层)协议传来的数据时候,会封装一个IP报文头部,并且把源和目的IP地址都添加到该头部中;

  • 中间经过的网络设备(如路由器),会维护一张指导IP报文转发的“地图”——路由表,通过读取IP数据包的目的地址,查找本地路由表后转发IP数据包;

  • IP数据包最终到达目的主机,目的主机通过读取目的IP地址确定是否接受并做下一步处理。

IP协议工作时,需要如OSPF、IS-IS、BGP等各种路由协议帮助路由器建立路由表,ICMP帮忙进行网络的控制和状态诊断


  • ICMP协议

Internet控制消息协议ICMP是IP协议的辅助协议。(ICMP:Internet Control Message Protocol)ICMP协议用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。ICMP消息封装在IP报文中,IP报文头部Protocol值为1时表示ICMP协议。


640 (6).png


ICMP字段解析:

  • ICMP消息的格式取决于Type和Code字段,其中Type字段为消息类型,Code字段包含该消息类型的具体参数。

  • Checksum校验和字段用于检查消息是否完整。

  • ICMP消息中包含32 bit的可变参数,这个字段一般不使用,通常设置为0。

  • 在ICMP重定向消息中,这个字段用来指定网关IP地址,主机根据这个地址将报文重定向到指定网关;

  • 在Echo请求消息中,这个字段包含标识符和序号,源端根据这两个参数将收到的回复消息与本端发送的Echo请求消息进行关联。尤其是当源端向目的端发送了多个Echo请求消息时,需要根据标识符和序号将Echo请求和回复消息进行一一对应。


640 (7).png


ICMP差错检测

  • ICMP Echo Request和ICMP Echo Reply消息常用于诊断源和目的地之间的网络连通性,同时还可以提供其他信息,如报文往返时间等。

  • ICMP的一个典型应用是Ping。


ICMP错误报告

ICMP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,源设备可以判断出数据传输失败的原因。


ICMP的另一个典型应用是Tracert。

  • Tracert基于报文头中的TTL值来逐跳跟踪报文的转发路径。源端首先将报文的TTL值设置为1。该报文到达第一个节点后,TTL超时,于是该节点向源端发送TTL超时消息,消息中携带时间戳。

  • 然后源端将报文的TTL值设置为2,报文到达第二个节点后超时,该节点同样返回TTL超时消息,以此类推,直到报文到达目的地。

  • 这样,源端根据返回的报文中的信息可以跟踪到报文经过的每一个节点,并根据时间戳信息计算往返时间。


ICMP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,源设备可以判断出数据传输失败的原因。

  • 如果网络中发生了环路,导致报文在网络中循环,且最终TTL超时,这种情况下网络设备会发送TTL超时消息给发送端设备;

  • 如果目的地不可达,则中间的网络设备会发送目的不可达消息给发送端设备。目的不可达的情况有多种。


  • OSPF协议

不同网络间的互通,需要通过路由实现。路由的获取方式有:直连路由、静态路由、动态路由。动态路由因灵活性高、可靠性好、易扩展等特点被广泛应用于网络中。


OSPF是企业网络中应用最广的动态路由协议。LSDB(Link State Database,链路状态数据库),OSPF设备之间会同步链路状态信息,用于计算路由,保存这些信息的数据库就是LSDB。


OSPF区域

OSPF Area用于标识一个OSPF的区域。区域是从逻辑上将设备划分为不同的组,每个组用区域号(Area ID)来标识

企业网络可以根据规模和需求规划为单区域或多区域组网。OSPF区域可以划分为骨干区域和非骨干区域。骨干区域为Area0,其他区域为非骨干区域。大型企业网络中可以进行分层次的OSPF区域规划,如可以将出口设备和核心设备间规划为骨干区域Area0,核心设备和汇聚设备之间规划为非骨干区域,如Area10,Area20。


OSPF路由表

对于OSPF的路由表,需要了解:1、OSPF路由表包含Destination、Cost和NextHop等指导转发的信息;2、使用命令display ospf routing查看OSPF路由表。


  • 数据链路层

数据链路层位于网络层和物理层之间,可以向网络层的IP和IPv6等协议提供服务。以太网(Ethernet)是最常见的数据链路层协议。


数据链路层位于网络层和物理层之间:

  • 数据链路层向网络层提供“段内通信”;

  • 负责组帧、物理编址和差错控制等功能;

  • 常见的数据链路层协议有:以太网、PPPoE和PPP等。


  • 以太网帧结构

以太网技术所使用的帧为以太网帧(Ethernet Frame)。以太帧有Ethernet II格式和IEEE 802.3格式两个标准。


MAC(Media Access Control)地址在网络中唯一标识一个网卡。MAC地址有48 bit,如00-1E-10-DD-DD-02。MAC地址用于同网段内的通信。


Ethernet II以太帧:

DMAC:6字节,目的MAC地址,该字段标识帧的接收者;

SMAC:6字节,源MAC地址,该字段标识帧的发送者;

Type:2字节,协议类型。常见值:

0x0800:Internet Protocol Version 4(IPv4);

0x0806:Address Resolution Protocol(ARP)。


IEEE 802.3 LLC以太帧:

SNAP:Sub-network Access Protocol,子网访问协议。SNAP由机构代码(Organization Code)和类型(Type)字段组成;

FCS:Frame Check Sequence,帧校验序列,这是一个32位的循环冗余校验码,主要用于校验二层数据帧在传输过程中是否发生差错;

逻辑链路控制LLC(Logical Link Control)由目的服务访问点DSAP(Destination Service Access Point)、源服务访问点SSAP(Source Service Access Point)和Control字段组成;

DSAP:1字节,目的服务访问点,若后面类型为IP,该字段值设为0x06。服务访问点的功能类似于Ethernet II帧中的Type字段或TCP/UDP传输协议中的端口号;

SSAP:1字节,源服务访问点,若后面类型为IP,该字段值设为0x06;

Ctrl:1字节,该字段值通常设为0x03,表示无连接服务的IEEE 802.2无编号数据格式。


640 (8).png


  • 地址解析协议(ARP)

ARP(Address Resolution Protocol,地址解析协议)是根据IP地址获取数据链路层地址的一个TCP/IP协议。根据已知的IP地址解析获得其对应的MAC地址。

ARP是IPv4中必不可少的一种协议,它的主要功能是:

  • 将IP地址解析为MAC地址;

  • 维护IP地址与MAC地址的映射关系的缓存,即ARP表项;

  • 实现网段内重复IP地址的检测。


  • 数据封装过程

发送方数据封装


640 (9).png


假设你正在通过网页浏览器访问华为官网,当你输入完网址,敲下回车后,计算机内部会发生下列事情:

  • IE浏览器(应用程序)调用HTTP(应用层协议),完成应用层数据的封装(图中Data还应包括HTTP头部,此处省略);

  • >HTTP依靠传输层的TCP进行数据的可靠性传输,将封装好的数据传递到TCP模块;

  • TCP模块给应用层传递下来的Data添加上相应的TCP头部信息(源端口、目的端口等)。此时的PDU被称作Segment(段);

  • 在IPv4网络中,TCP模块会将封装好的Segment传递给网络层的IPv4模块(若在IPv6环境,会交给IPv6模块进行处理);

  • IPv4模块在收到TCP模块传递来的Segment之后,完成IPv4头部的封装,此时的PDU被称为Packet(包);

  • 由于使用了Ethernet作为数据链路层协议,故在IPv4模块完成封装之后,会将Packet交由数据链路层的Ethernet模块(例如以太网卡)处理;

  • Ethernet模块在收到IPv4模块传递来的Packet之后,添加上相应的Ethernet头部信息和FCS帧尾,此时的PDU被称为Frame(帧);

  • 在Ethernet模块封装完毕之后,会将数据传递到物理层;

  • 根据物理介质的不同,物理层负责将数字信号转换成电信号,光信号,电磁波(无线)信号等;

  • 转换完成的信号在网络中开始传递。


接收方数据解封装


640 (10).png

经过网络传递之后,数据最终到达目的服务器。根据不同的协议头部的信息,数据将被一层层的解封装并做相应的处理和传递,最终交由Web服务器上的应用程序进行处理。


常见网络设备

企业园区网络典型架构

以下典型的企业园区网络组网,由交换机、路由器、防火墙和服务器组成。通常会采用多层架构,包括:接入层、汇聚层、核心层和出口层。

交换机:同网段或跨网段通信设备。

路由器:跨网段通信设备。

防火墙:可部署在网络出口处进行防护。


640 (11).png

  • 交换机

交换机是距离终端用户最近的设备,用于终端接入网络,并且可以使数据帧在同一网段内转发。


交换机工作在数据链路层,根据MAC地址表转发数据帧。MAC地址表中存放了MAC地址与交换机端口之间的映射关系。


二层交换机工作在数据链路层,交换机不同的接口发送和接收数据是独立的,各接口属于不同的冲突域,因此有效地隔离了网络中的冲突域。


二层交换设备通过学习以太网数据帧的源MAC地址来维护MAC地址与接口的对应关系(保存MAC与接口对应关系的表称为MAC地址表),通过其目的MAC地址来查找MAC地址表决定向哪个接口转发。


  • 路由器

路由器工作在网络层,使报文能够在不同网络间转发。

路由器是网络层设备,其主要功能是实现报文在不同网络之间的转发。如图所示,位于不同网络(即不同链路)上的Host A和Host B之间相互通信。与Host A在同一网络(即同一链路)上的路由器接口接收到Host A发出的数据帧,路由器的链路层分析帧头确定为发给自己的帧之后,发送给网络层处理,网络层根据网络层报文头以决定目的地址所在网段,然后通过查表从相应的接口转发给下一跳,直到到达报文的目的地Host B。


640 (12).png

  • 防火墙

防火墙是对网络的访问行为进行控制的一种设备,安全防护是其核心特性,主要部署在网络边界。

防火墙采用安全区域,同一安全区域数据流动是安全的,不同安全区域数据流动触发安全检测,并且实施安全策略。

  • 防火墙功能

防火墙主要用于保护一个网络免受来自另一个网络的攻击和入侵。因其隔离、防守的属性,防火墙灵活应用于企业网络出口、大型网络内部子网隔离和数据中心边界等场景。

防火墙可以实现的功能如下:

  • 隔离不同安全级别的网络;

  • 实现不同安全级别网络之间的访问控制(安全策略)

  • 用户身份认证;

  • 实现远程接入功能;

  • 实现数据加密及虚拟专用网业务;

  • 执行网络地址转换;

  • 其他安全功能。


  • 防火墙与交换机、路由器的对比

交换机通常用来组建局域网,路由器用来连接不同的网络,而防火墙主要部署在网络边界。

路由器与交换机的本质是转发,防火墙的本质是控制。


防火墙与路由器、交换机的区别:

  • 路由器与交换机本质是转发,而防火墙的本质是控制;

  • 路由器用来连接不同的网络,通过路由协议保证互联互通,确保将报文转发到目的地;

  • 交换机通常用来组建局域网,作为局域网通信的重要枢纽,通过二层/三层交换快速转发报文;

  • 防火墙主要部署在网络边界,对进出网络的访问行为进行控制,安全防护是其核心特性。


  • 防火墙登录和配置

不管是部署、操作或是维护网络设备,都会涉及到对网络设备的配置。配置之前,需要先登录设备。


管理员对网络设备的配置,有命令行和Web界面两种方式。

防火墙默认登录接口GigabitEthernet0/0/0,也称为MGMT接口。


  • Web登录方法

缺省网址:https://192.168.0.1:8443(或http://192.168.0.1)

缺省用户名:admin

缺省密码:Admin@123

  • 基本配置命令
配置接口IP地址,用来给设备上的物理或逻辑接口配置IP地址。[FW] interface GigabitEthernet 0/0/1[FW-GigabitEthernet0/0/1] ip address 10.102.0.1 255.255.255.0查看当前运行的配置display current-configuration 配置文件保存save 查看保存的配置display saved-configuration 清除已保存的配置reset saved-configuration 查看系统启动配置参数,用来查看设备本次及下次启动相关的系统软件、备份系统软件、配置文件、License文件、补丁文件以及语音文件。display startup 配置系统下次启动时使用的配置文件,设备升级时,可以通过此命令让设备下次启动时加载指定的配置文件。startup saved-configuration configuration-file配置设备重启reboot
返回列表
上一篇:
誉天Security技术专栏:常见网络安全威胁及防范
下一篇:
誉天Security技术专栏:网络安全概念及规范
免费试听
姓名
电话
城市
咨询课程