计算机网络基础二

课程目标
了解 OSI 七层模型分层结构
了解 TCP/IP 协议簇四层模型分层结构
能够说出 TCP/IP 协议簇中 运输层、网络层和数据链路 层常见的 相关协议
能够说出 TCP/IP 的三次握手四次断开过程
了解 Vmware 的三种网络模式
能够使用客户端工具连接虚拟机
掌握主机名、 DNS 和静态 IP 的配置
能够使用相关命令查看和配置主机网络信息 ,如 ifconfig/ip addr/route
思考:
数据在两台计算机之间是如何传输的?
数据传输过程:

一、OSI七层模型

1. 什么是OSI模型

OSI:
开放系统互连参考模型 , 是国际标准化组织 (ISO) 和国际电报电话咨询委员会 (CCITT) 联合制定的 开放系统互连参考
模型。
目的 : 为开放式互连信息系统提供了一种功能结构的框架和参考。 这里所说的开放系统,实质上指的是遵循 OSI 参考模型和相关协议能够实现互连的具有各种应用目的的计算机系
统。
OSI 采用了分层的结构化技术,共分七层:
物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

2. OSI的七层介绍

2.1 应用层

1.应用层是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在 网络上完成的各种工作。
2.应用层为用户提供的 服务和协议 :文件传输服务( FTP )、远程登录服务( ssh )、网络管理服等。
3.上述的各种网络服务由该层的不同应用协议和程序完成。
应用层的主要功能如下:
        用户接口 :应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联 系。
        实现各种服务 :该层具有的各种应用程序可以完成和实现用户请求的各种服务。

2.2 表示层

表示层是 对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话 层。
其主要功能是 处理用户信息的表示问题 ,如编码、数据格式转换和加密解密等。
表示层的具体功能如下:
        数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异。
        数据的编码:处理字符集和数字的转换。
        压缩和解压缩:为了减少数据的传输量,这一层还负责数据的压缩与解压缩。
        数据的加密和解密:可以提高网络的安全性。

2.3 会话层

        会话层是用户应用程序和网络之间的接口,主要任务是:组织和协调两个会话进程之间的通信,并对数据交换 进行管理。
        当建立会话时,用户必须提供他们想要连接的远程地址。

2.4 传输层

        OSI上 3 层:应用层、表示层、会话层的主要任务是数据处理 —— 资源子网
        OSI下 3 层:网络层、数据链路层、物理层的主要任务是数据通讯 —— 通讯子网
        传输层是OSI 模型的第 4 层,它是通信子网和资源子网的接口和桥梁,起到承上启下的作用
        传输层的主要任务是:向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输
报文: 报文 ( message ) 是网络中交换与传输的 1
报文段 : 组成报文的每个分组。我们将运输层分组称为报文段 ( segment )

2.5 网络层

        主要任务是:数据链路层的数据在这一层被转换为 2 ,然后通过路径选择、分段组合、顺序、进 / 出路由等控 制,将信息从一个网络设备传送到另一个网络设备。
        一般情况下,数据链路层是解决同一网络 ( 局域网 ) 内节点之间的通信,而网络层主要解决 不同子网 间的通信。

2.6 数据链路层

在计算机网络中由于各种干扰的存在,物理链路是不可靠的。因此,这一层的主要功能是 :
       
         在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链 路,即 向网络层提供可靠的通过物理介质传输数据的方法
        具体工作是:接收来自物理层的位流(比特流)形式的数据,通过差错控制等方法传到网络层;同样,也将来 自上层的数据,封装成 3 转发到物理层;并且,还负责处理接收端发回的确认帧的信息,以便提供可靠的数据
传输。
帧: ( frame ) 是数据链路层的传输单元。将上层传入的数据添加一个头部和尾部,组成了帧 .

2.7 物理层

        主要功能是:利用传输介质为数据链路层提供物理连接,实现 比特流的透明传输 。尽可能屏蔽掉具体传输介质 和物理设备的差异。

3. 总结

7 层模型中,每一层都提供一个特殊的网络功能。
从网络功能的角度观察:
        物理层、数据链路层、网络层:主要提供数据传输和交换功能 ,即节点到节点之间通信为主;
        传输层(第4 层):作为上下两部分的桥梁,是整个网络体系结构中最关键的部分;
        会话层、表示层和应用层:以提供用户与应用程序之间的信息和数据处理 功能为主;

二、TCP/IP协议模型

1. 什么是TCP/IP模型

        TCP/IP协议模型 Transmission Control Protocol/Internet Protocol ),包含了一系列构成互联网 基础的网络 协议 ,是 Internet 的核心协议,通过 20 多年的发展已日渐成熟,并被广泛应用于 局域网和广域网 中,目前已成 为一种国际标准
        TCP/IP协议簇是一组不同层次上的 多个协议 的组合,该协议采用了 4 层的层级结构,每一层都 呼叫 它的下一层所 提供的 协议 来完成自己的需求,与 OSI 的七层模型相对应。
        尽管通常称该协议族为TCP/IP ,但 TCP IP 只是其中的两种协议而已(该协议族的另一个名字是 Internet 协议族 (Internet Protocol Suite))

2. TCP/IP的分层结构

2.1 链路层
OSI 的物理层和数据链路层
        ARP(地址解析协议 IP-MAC )和 RARP (逆地址解析协议 MAC-IP )是某些网络接口(如以太网)使用的特殊协 议,用来转换IP 层和网络接口层使用的地址。
2.2 网络层
        也称作互联网层或网际层,处理分组在网络中的活动,例如分组的选路。
        在TCP/IP 协议族中,网络层协议包括 IP 协议(网际协议), ICMP 协议( Internet 互联网控制报文协议),以及 IGMP协议( Internet 组管理协议)。
                IP是一种网络层协议,提供的是一种不可靠的服务,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。同时被TCP UDP 使用。
                TCP和UDP 的每组数据都通过端系统和每个中间路由器中的 IP 层在互联网中进行传输。
                ICMP是IP 协议的附属协议。 IP 层用它来与其他主机或路由器 交换错误报文和其他重要信息 。它主要是用来 提供有关通向目的地址的路径信息。Ping Traceroute 工具,它们都使用了 ICMP 协议。
                IGMP是Internet 组管理协议。它用来把一个 UDP 数据报多播到多个主机。该协议运行在主机和组播路由器 之间。
2.3 运输层
主要为两台主机上的应用程序提供端到端的通信。在 TCP/IP 协议族中,有两个互不相同的传输协议: TCP (传输控制协议)和 UDP (用户数据报协议) TCP 协议: 为两台主机提供高可靠性的数据通信。 TCP 面向连接 的通信协议,通过三次握手 建立连接,通讯完成时要断开连接,由于 TCP 是面向连接的所以只能用于端到端的通讯。 TCP提供的是一种可靠的数据流服务,采用 带重传的肯定确认 技术来实现传输的可靠性。也就是 TCP 数据包中包括 序号(seq )和确认( ack ),所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。 UDP 协议: 则为应用
层提供一种非常简单的服务。它是 面向无连接 的通讯协议, UDP 数据包括目的端口号和源端口号信息,由于通讯不需 要连接,所以可以实现广播发送。 UDP 通讯时不需要接收方确认,不保证该数据报能到达另一端,属于不可靠的传 输,可能会出现丢包现象。UDP TCP 位于同一层,但它不管数据包的顺序、错误或重发。
2.4 应用层
OSI 会话层、表示层、应用层
应用层负责处理特定的应用程序细节。
HTTP FTP SSH DHCP DNS.....
3. 数据封装过程
数据格式
        TCP数据信息: TCP 头部 + 实际数据 (TCP 头包括源和目标主机 端口号 、顺序号、确认号、校验字等)
        IP数据包: IP 头部 +TCP 数据信息( IP 头包括源和目标主机 IP 地址 、类型、生存期等)
        数据帧:帧头+IP 数据包 + 帧尾 (帧头包括源和目标主机 MAC 初步地址 及类型,帧尾是校验字)
数据的封装与解封装: 封装:数据要通过网络进行传输,要从高层一层一层的向下传送,如果一个主机要传送 数据到别的主机,先把数据装到一个特殊协议报头中,这个过程叫----- 封装 。 解封装:上述的逆向过程
当数据以 TCP/IP 协议传输时的封装与街封装过程如下图:

三、TCP/IP三次握手四次断开

1. 了解相关名词

序列号: Seq 序号,占 32 位,用来标识从 TCP 源端向目的端发送的字节流,发起方发送数据时对此进行标记。
确认序号: Ack 序号,占 32 位,只有 ACK 标志位为 1 时,确认序号字段才有效, Ack = Seq + 1
常见的标志位:
ACK :确认序号有效。
SYN :发起一个新连接。
FIN :释放一个连接。

2. 了解netstat中的网络状态

CLOSED          初始(无连接)状态。
LISTEN         侦听状态,等待远程机器的连接请求。
SYN_SEND
TCP 三次握手中,主动连接端发送了 SYN 包后,进入 SYN_SEND 状态,等待对方的 ACK 包。
SYN_RECV
TCP 三次握手中,主动连接端收到 ACK 包后,进入 SYN_RECV 状态。
ESTABLISHED
完成 TCP 三次握手后,主动连接端进入 ESTABLISHED 状态。此时, TCP 连接已经建立,可以进行通信。
FIN_WAIT_1          TCP 四次断开时,主动关闭端发送 FIN 包后,进入 FIN_WAIT_1 状态。
FIN_WAIT_2         TCP 四次断开时,主动关闭端收到 ACK 包后,进入 FIN_WAIT_2 状态。
TIME_WAIT          TCP 四次断开时,主动关闭端发送了 ACK 包之后,进入 TIME_WAIT 状态。
CLOSE_WAIT       TCP 四次断开时,被动关闭端收到 FIN 包后,进入 CLOSE_WAIT 状态。
LAST_ACK            TCP 四次断开时,被动关闭端发送 FIN 包后,进入 LAST_ACK 状态,等待对方的 ACK 包。

3. TCP/IP三次握手

TCP 三次握手的过程如下:
1. 客户机 A 端(主动连接端)发送一个 SYN 包给服务器 B 端(被动连接端);
2. 服务器 B 端(被动连接端)收到 SYN 包后,发送一个带 ACK SYN 标志的包给客户机 A 端(主动连接端);
3. 客户机 A 端(主动连接端)发送一个带 ACK 标志的包给服务器 B 端(被动连接端),握手动作完成。

4. TCP/IP四次断开

TCP四次断开的过程如下:
1. 客户机A端(主动连接端)发送一个FIN包给服务器B端(被动连接端)请求断开连接;
2. 服务器B端(被动连接端)收到FIN包后,发送一个ACK包给客户机A端(主动连接端);
3. 服务器B端(被动连接端)发送了ACK包后,再发送一个FIN包给客户机A端(主动连接端)确认断开;
4. 客户机A端(主动连接端)收到FIN包后,发送一个ACK包,当服务器B端(被动连接端)收到ACK包后,四次断开动作完
成,连接断开。

四、Vmware网络模式

1. 虚拟设备

VMnet0 :用于虚拟 桥接网络 下的 虚拟交换机
VMnet1 :用于虚拟 Host-Only 网络 下的 虚拟交换机
VMnet8 :用于虚拟 NAT 网络 下的 虚拟交换机
VMware Network Adepter VMnet1 Host 用于与 Host-Only 虚拟网络进行通信的虚拟网卡 VMware
Network Adepter VMnet8 Host 用于与 NAT 虚拟网络进行通信的虚拟网卡

2. 三种网络模式

桥接网络
桥接网络是指虚拟网卡通过 VMnet0 虚拟交换机和本地物理网卡进行桥接,那么物理网卡和虚拟网卡就相 当于处于同一个网段,虚拟交换机就相当于一台现实网络中的交换机。所以要想虚拟机也可以连接到互联 网中,那么两个网卡的IP 地址也要设置为同一网段。

NAT网络

 

NAT 网络中,会用到 VMware Network Adepter VMnet8 虚拟网卡,主机上的 VMware Network Adepter VMnet8虚拟网卡被直接连接到 VMnet8 虚拟交换机上与虚拟网卡进行通信。 VMware Network Adepter VMnet8虚拟网卡的作用仅限于和 VMnet8 网段进行通信,它不给 VMnet8 网段提供路由功能,所 以虚拟机虚拟一个NAT 服务器,使虚拟网卡可以连 接到 Internet VMware Network Adepter VMnet8虚拟网卡的 IP 地址是在安装 VMware 时由系统指定生成的,我们尽量不要修改这个数值,否则可 能会使主机和虚拟机无法通信。

 

Host-Only模式

在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是物理真机。其实Host-Only
网络和NAT网络很相似,不同的地方就是Host-Only网络没有NAT服务,所以虚拟网络不能连接到
Internet。主机和虚拟机之间的通信是通过VMware Network Adepter VMnet1虚拟网卡来实现的。

 

五、主机网络配置

1. 常见的网络接口

2. 查看网络信息

查看 IP 、掩码、 MAC
[root @node1 ~ ] # ip addr
[root @node1 ~ ] # ip a
只显示 eth0 的信息
[root @node1 ~ ] # ip addr show eth0
查看本机路由表信息 ( 默认网关,默认路由 )
[root @node1 ~ ] # ip route
default via 10.1.1.254 dev eth0
查看 DNS
[root @node1 ~ ] # cat /etc/resolv.conf
nameserver 119.29.29.29
ifconfig 命令:
1. 给网卡配置临时子接口
# ifconfig eth0
# ifconfig -a
# ifconfig eth0:1 192.168.0.1 netmask 255.255.255.0
注意:重启网络 | 系统失效
2. 永久生效需要创建子配置文件
# cp ifcfg-eth0 ifcfg-eth0:1
# pwd
/ etc / sysconfig / network-scripts
[root @node1 network-scripts] # cat ifcfg-eth0:1
DEVICE = eth0 : 1
TYPE = Ethernet
ONBOOT = yes
BOOTPROTO = none
IPADDR = 192.168.0.1
NETMASK = 255.255.255.0
重启网络
# service network restart
3. 其他命令
ifup eth0
ifdown eth1
ifconfig eth0 down / up
环境准备要求:
1. 还原 Centos6.9 Centos7.5 系统
2. Centos6.9 系统为模板克隆 2 台虚拟机
3. 拿一台 Centos6.9 系统,增加一个网卡,网络模式为仅主机模式
4. 分别配置 Centos6.9 系统的网络
两张网卡的主机,分别配置 NAT 和仅主机模式 IP
其他两台主机,只配置仅主机模式的 IP( 一张网卡 )

 

3. 修改网络信息

方法 1
[root@node1 ~]# setup
方法 2
修改网卡配置文件
[root @node1 ~ ] # cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE = eth0
TYPE = Ethernet
ONBOOT = yes
BOOTPROTO = none
IPADDR = 10.1.1.1
NETMASK = 255.255.255.0
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DEVICE = eth0 设备名
TYPE = Ethernet 以太网
BOOTPROTO = none IP 地址获取方式,静态 : static,none 动态 : dhcp,dynamic
ONBOOT = yes 重启网卡是否激活该网卡
BROADCAST = 192.168.2.255 广播地址
HWADDR = 00 : E0 : 4 C : 41 : 95 : DB MAC 地址
NM_CONTROLLED = yes 是否接受 NetworkManager 管理
IPADDR = 192.168.2.253 IP 地址
PREFIX = 24 子网掩码 NETMASK = 255.255.255.0
NETWORK = 192.168.2.0 网络地址
GATEWAY = 192.168.2.254 默认网关
DNS1 = 202.106.0.20 DNS 服务器
DNS2 = 8.8.8.8 DNS 服务器备
++++++++++++++++ 动态获取 IP(dhcp) +++++++++++++++
DEVICE = eth0
BOOTPROTO = dhcp
ONBOOT = yes

 

3.2 修改主机名
3.3 配置 DNS
[root @node2 ~ ] # cat /etc/resolv.conf
nameserver DNS 服务器
nameserver 114.114.114.114
nameserver 8.8.8.8
nameserver 192.168.159.2
直接修改网卡的配置文件 ifcfg-eth0
....
DNS1 = 202.106.0.20 DNS 服务器
DNS2 = 8.8.8.8 DNS 服务器备

4. 关闭防火墙和selinux 

Centos6.5:
临时关闭:
[root@node2 ~]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ][root@node2 ~]# service iptables status
iptables: Firewall is not running.
[root@node2 ~]#
开机自动关闭:
[root@node2 ~]# chkconfig --list|grep iptables
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@node2 ~]# chkconfig iptables off
关闭selinux:
[root@node2 ~]# getenforce
Enforcing
[root@node2 ~]# setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@node2 ~]# setenforce 0 临时变成警告模式
[root@node2 ~]# getenforce
Permissive
[root@node2 ~]# cat /etc/selinux/config
...
SELINUX=disabled //关闭selinux,下次开机生效
...

5. 其他工具

lspci:显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具
//查看当前主机的所有网卡(包括已经驱动了和没有驱动)
[root@misshou ~]# lspci |grep -i eth
00:03.0 Ethernet controller: Red Hat, Inc Virtio network device
//查看物理连接状态(网线是否ok)
[root@misshou ~]# ethtool eth0
Settings for eth0:
Link detected: yes
[root@node1 ~]# mii-tool eth0
eth0: negotiated 100baseTx-FD, link ok
总结:
网络配置:静态 IP
主机名配置:完全规范主机名 server server.heima.cc
IP 地址和主机名一一绑定写到 host 文件中
关闭防火墙和 selinux
1. 数据单元是网络信息传输的基本单位。一般网络连接不允许传送任意大小的数据包,而是采用分组技术将一个数据分成若干个很小的数据包,并给每个小数据包加 上一些关于此数据包的属性信息.
2. (Packet) TCP/IP 协议通信传输中的数据单位,一般也称 数据包
3. 帧是数据链路层的传输单元。它将上层传入的数据添加一个头部和尾部,组成了帧 .

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/122176.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android S从桌面点击图标启动APP流程 (六)

系列文章 Android S从桌面点击图标启动APP流程 (一)Android S从桌面点击图标启动APP流程 (二) Android S从桌面点击图标启动APP流程 (三) Android S从桌面点击图标启动APP流程 (四) Android S从桌面点击图标启动APP流程 (五) Android 12的源码链接: android 1…

【OpenCV实现图像的算数运算,性能测试和优化,改变颜色空间】

文章目录 OpenCV功能概要图像的算数运算性能测试和优化改变颜色空间对象追踪 OpenCV功能概要 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,提供了丰富的图像处理和计算机视觉算法。它支持多种编程语言&…

Java中的volatile关键字

volatile是什么? "volatile"是一个关键字,用于修饰变量。它的作用是告诉编译器该变量可能会在意料之外的时候被修改,因此编译器在对该变量进行优化时需要特别小心。 具体来说,当一个变量被声明为"volatile"…

算法通过村第十七关-贪心|白银笔记|贪心高频问题

文章目录 前言区间问题判断区间是否重复合并区间插入区间 字符串分割加油站问题总结 前言 提示:如果生活把你的门关上了,那你就再打开,这就是门,门就是这样的。 --佚名 贪婪的思想不一定要理解的很透彻,但是贪婪的问题…

Cookie技术

Cookie中文名称为小型文本文件,指某些网站为了辨别用户身份、进行会话跟踪而储存在用户本地终端上的数据。 Cookie是由服务器端生成,发送给User-Agent(—般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文…

软考系列(系统架构师)- 2013年系统架构师软考案例分析考点

试题一 软件架构(根据描述填表、ESB 定义和功能) 【问题1】(10分) 服务建模是对Ramp Coordination信息系统进行集成的首要工作,公司的架构师首先对Ramp Coordination信息系统进行服务建模,识别出系统中的两…

从Mysql架构看一条查询sql的执行过程

1. 通信协议 我们的程序或者工具要操作数据库,第一步要做什么事情? 跟数据库建立连接。 首先,MySQL必须要运行一个服务,监听默认的3306端口。在我们开发系统跟第三方对接的时候,必须要弄清楚的有两件事。 第一个就是通…

uniapp开发小程序 小米手机真机bottom:0无效 底部间隙 设备安全区域处理办法

uniApp自定义导航 CSS设置 bottom:0竟然无效,而iphone和开发模拟器没有问题 height: 150rpx;position: fixed;left: 0;right: 0;bottom: calc(var(--window-bottom,0)); 网上查了各种方法,包括设置bottom:-20啊以及 padding-bottom: constant(safe-are…

静电模型PIC方法的Matlab仿真设计

任务要求: 采用PIC模拟方法的静电模型来模拟多环形电子注在圆柱系统中的运动轨迹。模拟电子枪阴极表面发射电子注,电子在静态场的作用下运动直至稳定的运动过程。其中 系统长:0.01m 系统半径:0.005m 入射的每个宏电子电流&#x…

业界中说的快速原型法是什么

快速原型法是一种软件开发过程,其核心思想是在开发初期快速构建一个系统的原型,即一个工作模型,以便用户和开发者能够更好地理解系统的需求和功能。这种方法强调快速迭代和用户参与,目的是更早地发现和修正问题,从而提…

Ubuntu中查看电脑有多少个核——lscpu

1. 使用lscpu命令: 打开终端并输入以下命令: lscpu你会看到与CPU相关的详细信息。查找"CPU(s)"这一行来看总的核心数。另外,“Core(s) per socket”表示每个插槽或每个物理CPU的核数,“Socket(s)”表示物理CPU的数量。将这两个值相乘即得到总…

IO流框架,缓冲流

一.缓冲流有什么优点 Java中的缓冲流(Buffered Stream)具有以下优势: 提高效率:缓冲流通过在内存中缓存一部分数据,减少了直接从内存到磁盘或从磁盘到内存的频繁IO操作,从而提高了读写效率。缓冲区大小调整…

蓝桥杯双周赛算法心得——通关(哈希+小根堆)

大家好,我是晴天学长,这是很重要的贪心思维题,哈希的存法和小根堆的表示很重要。 1) .通关 2) .算法思路 通关 用hash(int[])存点的子节点并按输入顺序存关卡的号码(输入顺序就是) 列如&#…

RabbitMQ-死信交换机和死信队列

1. 简介 1.1 DLX简介 DLX: Dead-Letter-Exchange 死信交换器,死信邮箱 当消息成为Dead message后,可以被重新发送到另一个交换机,这个交换机就是DLX。 如下图所示: 其实死信队列就是一个普通的交换机,有些队列的消息…

初步认识 Web Components 并实现一个按钮

目录 1.Web Components 基本概念 1.1 三个场景 1.2 是什么 2.使用 Custom Elements 实现一个按钮 2.1 概念介绍 2.1.1 Shadow DOM 2.1.2 Element.attachShadow() 2.1.3 在组件中 使用 Shadow DOM 基本步骤 2.1.4 attributeChangedCallback 2.1.5 get observedAttribu…

Spring Security漏洞防护—HttpFirewall和 HTTPS

一、HttpFirewall Spring Security有几个领域,你所定义的 pattern 会针对传入的请求进行测试,以决定应该如何处理请求。这发生在 FilterChainProxy 决定请求应该通过哪个过滤链时,以及 FilterSecurityInterceptor 决定哪些安全约束适用于请求…

计算机毕设 flink大数据淘宝用户行为数据实时分析与可视化

文章目录 0 前言1、环境准备1.1 flink 下载相关 jar 包1.2 生成 kafka 数据1.3 开发前的三个小 tip 2、flink-sql 客户端编写运行 sql2.1 创建 kafka 数据源表2.2 指标统计:每小时成交量2.2.1 创建 es 结果表, 存放每小时的成交量2.2.2 执行 sql &#x…

Servlet 与Spring对比!

前言: Spring相关的框架知识,算是目前公司在用的前沿知识了,很重要!! 那么以Spring为基础的框架有几个? 以Spring为基础的框架包括若干模块,其中主要的有Spring Framework、Spring Boot、Spring…

Mybatis基础

文章目录 Mybatis基础XML语言概述使用Mybatis配置Mybatis增删改查复杂查询事务操作动态 SQLifchoose、when、otherwise 缓存机制注解开发 Mybatis基础 虽然我们能够通过JDBC来连接和操作数据库,但是哪怕只是完成一个SQL语句的执行,都需要编写大量的代码…

Tensorflow2 中模型训练标签顺序和预测结果标签顺序不一致问题解决办法

本篇文章将详细介绍Tensorflow2.x中模型训练标签顺序和预测结果标签顺序不一致问题,这个问题如果考虑不周,或者标签顺序没有控制好的情况下会出现预测结果精度极其不准确的情况。 训练数据集的结构:数据集有超过10的类别数,这里包…