第1章 Linux运维网络基础知识
1.1 什么是网络
网络就是实现主机之间的通讯交流,包含路由交换、无线设备、安全、语音等多方面。
1.2 网络的类型
1、计算机网络
2、广播电视网络
3、通信网络 包含:有线网络、无线网络(WIFI)、移动网络(3G/4G/5G)
1.3 网络中两台计算机之间如何通信
两台计算机之间想要通讯,需要具有网卡设备和传输介质。
1.3.1 网卡设备
网卡设备的作用就是调制和解调
调制:就是将二进制信息转换为高低电压信息的过程。
解调:就是将高低电压信息转换为二进制信息的过程。
1.3.2 传输介质
1.3.2.1导向传输介质
1、网线: 又叫双绞线
接口标准:
RJ45 8根线 水晶头连接
线序:左===>右 橙白 橙 绿白 蓝 蓝白 绿 棕白 棕
2、光纤
3、同轴电缆
1.3.2.2非导向传输介质:蓝牙、短波、卫星、微波等
1.3.2.3网络传输单位
1TB=1024GB=1,048,576MB=107,374,1824KB=1,099,511,627,776B
1.4 多台计算机之间的数据传输(局域网)
1、 需要有交换机:实现局域网内多台主机之间的通讯
2、发数据信息需要有数据包结构
目标信息+源数据信息(包含Mac地址)+数据信息=基本的数据包结构
3、交换机的工作原理
在同一个局域网环境中,利用Mac地址(物理地址)来标识主机的身份信息
物理地址是全球唯一的, 不能出现重复情况,是利用十六进制信息进行标识
4、利用交换机进行通讯需要借助广播方式
1.5 多个局域网之间的通讯方式
1、需要利用路由器:实现局域网之间主机通讯, 并且可以隔离广播信息
2、在多个局域网环境中, 利用IP(逻辑地址)地址标识主机身份信息
3、发数据信息需要有数据包结构
目标信息+源信息(包含IP地址)+数据信息==基本的数据包结构
4、利用路由器查询路由表信息进行判断
实现不同局域网之间可以经过路由器通讯, 相同局域网数据经过路由器会进行隔离
5、需要借助路由协议
静态路由协议: 手动在路由表中添加路由条目信息
优点: 通讯效率较高
缺点: 操作配置复杂度较高
动态路由协议: 自动在路由表中生成路由条目信息
优点: 操作配置简单方便
缺点: 路由条目学习过程(路由收敛过程)会耗费时间, 造成通讯效率较低
OSI 7层网络模型
1.1 概念
OSI7层网络模型是开放系统互连参考模型,是个灵活的、稳健的和可互操作的模型,并不是协议,是用来了解和设计网络体系结构的,目的是规范不同系统的互联标准,使两个不同的系统能够较容易的通信,而不需要改变底层的硬件或软件的逻辑。
1.2 结构
由下到上依次为:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
1.2.1 各层的功能说明
应用层:为应用程序提供服务
常见的应用层协议:http(端口80)、ftp(20/21)、telnet(23非加密的)、ssh(22加密的)、HTTPS(443)
表示层:对数据进行转换、加密和压缩
会话层:建立、管理和维护会话。Linux C /Unix C语言编程等属于这一层
传输层:建立、管理和维护端到端的连接,TCP稳定传输,ssh服务等
网络层:IP选址及路由选址。 IP地址就属于这一层
数据链路层:将分组数据封装成帧;提供介质访问和链路管理。Mac地址就属于这一层
物理层:在媒体上传输比特。网线、集线器等属于传输介质
1.2.2 7层结构的特点:
1、OSI模型每层都有自己的功能集
2、层与层之间相互独立又互相依靠
3、上层依赖于下层,下层为上层提供服务。
1.3 OSI 7层模型中数据的传输结构
1.3.1 7层模型封包的过程
应用层(表示层、会话层):应用程序准备要传输的数据。
传输层:将文件分段并编号
网络层:在数据上加上目标IP地址和原IP地址,封装成数据包
数据链路层:添加一个以太信息,即Mac地址,将数据包封装成帧
物理层:网卡调制,以比特流传输数据
1.3.2 7层模型解包的过程
物理层:接收比特流数据,网卡解调
数据链路层:将比特流解析为数据帧(校验位+原Mac地址+目标Mac地址+原IP地址+目标IP地址)
网络层:将数据帧解封装,只剩下数据和IP地址
传输层:将数据包解封装为数据段
会话层:建立SOCKET连接
表示层:解析数据类型
应用层:接收数据
第2章 TCP/IP协议的三次握手和四次挥手
2.1 TCP/IP的五层模型
由下到上依次为:物理层,数据链路层,网络层,传输层,应用层
2.2 IP协议
IP协议是TCP/IP协议中最重要的协议,它为TCPUDP ICMP等协议提供传输的通路。IP层主要目的是提供子网互联,形成较大的网络,使不同的子网之间能传输数据。
2.2.1 IP层主要的作用
1、数据传送将数据从一个主机传输到另一个主机
2、寻址根据子网划分和IP地址,发现正确的目的主机地址
3、路由选择选择数据在互联网上的传送路径。
4、数据报文的分段将数据进行分段发送和接收并组装。
2.3 TCP协议
TCP是传输控制协议,简称TCP协议,它在原有IP协议的基础上,增加了确认重发、滑动窗口和复用,提供一种可靠的面向连接的字节流的服务。最大的特点就是可靠性。
2.4 TCP/IP协议建立连接3次握手的过程
TCP的连接建立是一个三次握手过程,目的是为了通信双方确认开始序号,以便后续通信的有序进行。主要步骤如下:
连接开始时,连接建立方(客户)发送SYN包,并包含了自己的初始序号x;
连接接受方(服务器)收到SYN包以后会回复一个SYN包,其中包含了对上一个x包的回应信息ACK,回应的序号为下一个希望收到包的序号,即x+1,然后还包含了自己的初始序号y;
连接建立方(客户)收到回应的SYN包以后,回复一个ACK包做响应,其中包含了下一个希望收到包的序号即y+1。
2.5 TCP/IP协议断开连接4次挥手的过程
TCP终止连接的四次握手过程如下:
首先进行关闭的一方(客户)发送第一个FIN(包含了自己的初始序号u)将执行主动关闭,而另一方(服务器)收到这个FIN执行被动关闭。
当服务器收到这个FIN,它发回一个ACK,包含确认序号为u+1和自己的序号v。和SYN一样,一个FIN将占用一个序号。
同时TCP服务器还向客户发传送一个FIN,包含了自己的序号w,接着服务器就关闭与客户端的连接。
客户必须发回一个ACK确认,并将确认序号设置为w+1。
TCP/IP协议建立/断开连接的状态变化
1.1 TCP/IP协议中开始连接3次握手状态转换
第一次握手:建立连接时,客户端发送SYN包(seq=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次握手:服务器收到SYN包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTAB_LISHED(TCP连接成功)状态,完成三次握手。
image.png
1.2 TCP/IP协议中断开连接4次挥手状态转换
1、客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u(等于前面已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN-WAIT-1(终止等待1)状态。TCP规定,FIN报文段即使不携带数据,也要消耗一个序号。
2、服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE-WAIT(关闭等待)状态。TCP服务器通知高层的应用进程,客户端向服务器的方向就释放了,这时候处于半关闭状态,即客户端已经没有数据要发送了,但是服务器若发送数据,客户端依然要接受。这个状态还要持续一段时间,也就是整个CLOSE-WAIT状态持续的时间。
3、客户端收到服务器的确认请求后,此时,客户端就进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文(在这之前还需要接受服务器发送的最后的数据)。
4、服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,FIN=1,ack=u+1,由于在半关闭状态,服务器很可能又发送了一些数据,假定此时的序列号为seq=w,此时,服务器就进入了LAST-ACK(最后确认)状态,等待客户端的确认。
5、客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME-WAIT(时间等待)状态。注意此时TCP连接还没有释放,必须经过2MSL(最长报文段寿命)的时间后,当客户端撤销相应的TCB后,才进入CLOSED状态。
6、服务器只要收到了客户端发出的确认,立即进入CLOSED状态。同样,撤销TCB后,就结束了这次的TCP连接。可以看到,服务器结束TCP连接的时间要比客户端早一些。
IP地址分类
1.1 IP地址
1.1.1 IP地址概念
要想使网络设备或者服务器能够连接到Internet,必须为网络设备配置IP地址。在Internet上IP地址是全球唯一的,IP地址可以标识一个主机。
目前应用范围最广的是IPv4的IP地址,长为32位,由4组10进制数组成,占用4个字节。每一组的范围值是0~255,中间用点号“.”隔开,称为四组“点分二进制”。
除此之外,还有IPv6的IP地址,长为128位,也是由4组10进制数组成,占用16个字节。
1.1.2 IP地址的组成
一个IP地址由IP地址的类型、网络标识和主机标识组成。
其中:
类别:用来区分IP地址的类型
网络标识(Network ID ):用来标识主机所在的网络。
主机标识(Host ID):用来标识主机在网络中的标识。
###1.1.3 IP地址分类
IP地址通常分为5类:A类、B类、C类、D类、E类
A类地址:网络表示占一个字节,最高位为0。A类网络地址有128个,允许支持127个网络,每个A类网络大约有1670万台主机存在。此类地址通常分配给拥有大量主机的网络,如一些大公司(IBM等)和因特网主干网络。
B类地址:B类地址的高两位用于表示这种IP地址的类型,即为10,中间的14位用于标识网络,最后的两个字节16位用作主机标识。B类地址允许有16000个网络,每个网络大约允许有66000台主机。B类地址通常分配给节点比较多的网络,如区域网。
C类地址:C类IP地址是最常见的地址,网络标识占3个字节,3个高位用于地址类型标识,值为110。左边3个字节中的其余21位用于表示网络寻址,最后一个字节用来标识主机,允许有254台主机。C类地址通常分配给节点比较少的网络,例如,一些大的校园网可以拥有多个C类地址。
D类地址:D类地址是相当新的,前4位位1110,此类地址用于组播,例如路由器修改、视频会议等应用系统都采用了组播技术实现。
E类地址:E类地址为保留地址,目前没有使用。
1.1.4 私有IP地址段
私有地址属于非注册地址,专门为组织机构内部使用,与需要付费才能使用的公网IP地址不同,私有IP地址可以免费使用,但同样的不能直接访问公网,当私有网络内的主机要与位于公网上的主机进行通讯时必须经过地址转换,将其私有地址转换为合法公网地址才能对外访问。
网络类型IP地址范围
A类地址10.0.0.0~10.255.255.255
B类地址172.16.0.0~172.31.255.255
C类地址192.168.0.0~192.168.255.255
1.1.5 特殊IP地址
特殊地址说明
0.0.0.0是一个集合,表示所有不清楚的主机和目的网络
255.255.255.255限制广播地址,指本网段内(同一广播域)的所有主机
127.0.0.1本机回路地址,该地址的数据包不会在网络上传输
224.0.0.1组播地址,这样的地址多用于一些特定的程序以及多媒体程序
169.254.x.x内置DHCP服务器分配的无效的IP地址
1.2 子网掩码
1.2.1 子网掩码简介
子网掩码指的是一个32位字段的数值,利用此字段来屏蔽原来网络地址的划分情况。
1.2.2 子网掩码的含义
网络的子网掩码设置主要用来屏蔽原来的网络划分情况。使用子网掩码,网络设备可以分析得出一个IP地址的网络地址和子网地址,以及主机地址。网络的路由器根据目的地址的网络号和子网号可以做出路由寻址决策,IP地址的主机ID不参与路由器的路由寻址操作,它用于在某个网段中识别一个网络设备。子网掩码使用与IP相同的“点分四段式”的编址格式,其中值为0的部分对应于IP地址的主机ID部分,值为1的部分对应于IP地址的网络地址部分。
1.2.3 三类地址网络的子网掩码地址
网络类别子网掩码地址
A类地址网络255.0.0.0
B类地址网络255.255.0.0
C类地址网络255.255.255.0
1.2.4 子网掩码的主要作用
便于网路设备的尽快寻址,区分本网段地址和非本段的地址。
划分子网,进一步缩小子网的地址空间,充分利用目前紧缺的IP地址。
1.2.5 为什么要进行子网划分
将一个大的子网变为多个小的子网。
子网较少的主机位,将主机位变为网络位。
调整划分的网络子网掩码
获得每个子网的主机范围
1.2.6 子网划分的好处有那些
避免地址产生浪费(公网地址)
可以降低广播风暴问题
降低网络拥塞,减轻路由器的压力