栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

网络基础 - Linux企业级应用

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

网络基础 - Linux企业级应用


[TOC]

# OSI 七层模型
OSI(Open System Interconnection)七层模型。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。这七层每一层的含义与对应的功能如下:
* 应用层,HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
* 表示层,JPEG、ASCll、EBCDIC、加密格式
* 会话层,对应主机进程,指本地主机与远程主机正在进行的会话
* 传输层,TCP、UDP
* 网络层, ICMP、IGMP、IP(IPV4 IPV6)
* 数据链路层,建立逻辑连接、进行硬件地址寻址、差错校验
* 物理层,建立、维护、断开物理连接。(由底层网络定义协议)


# IP 地址简介
IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。以下介绍了IP地址的相关信息:
* IP地址范围
* IP地址的分类
* 特殊的IP地址
* 子网掩码组成

## IP地址范围
以下分为IPV4版本的两种表达IP范围的方式,一种是计算机的实际工作原理二级制,另外是方便人们理解记忆十进制。
* 二进制,00000000.00000000.00000000.00000000 - 11111111.11111111.1111111.1111111
* 十进制,0.0.0.0 - 255.255.255.255

目前IPV4版本的地址,大约有43亿个IP地址(2^32次方)。

## IP地址分类
国际互联网组织还将IPV4版本进行了分类,目前有五类:
* A: 0.0.0.0 - 127.255.255.255
* B: 128.0.0.0 - 192.255.255.255
* C: 192.0.0.0.0 - 223.255.255.255
* D: 224.0.0.0 - 239.255.255.255 (组播)
* E: 240.0.0.0 - 255.255.255.255 (科研)

根据RFC1918规定私有网络范围,以下私有网段不能在公网路由器中路由。

| RFC1918 规定区块名 | IP地址区段 | IP数量 |
| --- | --- | --- |
| 24位区块 | 10.0.0.0 – 10.255.255.255 | 16,777,216 |
| 20位区块 | 172.16.0.0 – 172.31.255.255 | 1,048,576 |
| 16位区块 | 192.168.0.0 – 192.168.255.255 | 65,536 |

**腾讯子网规范**
* A:腾讯云私网保留位 10.0.0.0 - 255.255.0.0 (cidr16-28)
* B:腾讯云私网保留位 172.16.0.0 - 255.255.0.0 (cidr16-28)
* C:腾讯云私网保留位 192.168.0.0 - 255.255.0.0 (cidr16-28)

## 特殊的IP地址
在IPV4版本分类网段的基础上,还保留了特殊的IP地址,如下:
* 127.0.0.0 - 127.255.255.255 网络回环的测试地址
* 0.0.0.0
* 255.255.255.255

## 子网掩码组成
子网掩码的作用主要是区分网络地址与主机地址。譬如IP:192.168.0.0 ,子网掩码255.255.255.0 ,cidr表示 8 (主机位),主机位于网络位的计算方式如下:
* 网络位 32-8 =24
* 主机位 32-24= 8 ,2的8次方-2 = 254

## 如何计算子网掩码
了解了基础知识后,我们通过以下两个个案例来分别看一下它的应用:
* 案例1:存放100个IP,那么CIDR表示法应该是多少
* 案例2:存放1000个IP,那么CIDR表示法应该是多少

**案例1**
问题:我存放 100个IP,CIDR表示法应该是多少,计算的过程是?
解题:192.168.0.0/24,其中24为网络位,用32(总共长度)-24(网络位)=8 (主机位), 2的8次方=256,再减去2,254 > 100 ,所以网络位24可以存放下这100个IP。所以CIDR为24。

**案例2**
问题:我存放1000个IP,那么CIDR表示法应该是多少?计算过程是?
阶梯:192.168.1.0/22(网络位),主机位(10) , 地址 2^10 -2 = 1024-2 =1022 > 1000 个IP。所以CIDR为22。


# TCP/IP

## TCP报文
![](https://img.kancloud.cn/71/58/7158e8f5468b9237c71ed9f99df76e4f_613x207.png)

以下为TCP的报文标志位:
* URG:指示报文中有紧急数据,应尽快传送(相当于高优先级的数据)
* PSH:为1表示是带有push标志的数据,指示接收方在接收到该报文段以后,应尽快将这个报文段交给应用程序,而不是在缓冲区排队
* RST:TCP连接中出现严重差错(如主机崩溃),必须释放连接,在重新建立连接
* FIN:发送端已完成数据传输,请求释放连接
* SYN:处于TCP连接建立过程 (Synchronize Sequence Numbers)
* ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段

## 建立连接
![](https://img.kancloud.cn/66/1d/661d956ca45a70a2aa2d3235b9d61e2b_1102x501.png)
介绍一下建立连接的三次握手过程:
* 客户端向服务器发送请求,其首部中的同步比特 SYN 应置为1,并选择序号 x,表明传送数据时的第一个数据字节的序号是 x(设置初始段序号SEQ = x ,例如SEQ = 26500)
* 服务器接收到客户端的请求,如同意,则发回确认SYN,ACK(ACK 26501)
* B 在确认报文段中应将 SYN 置为 1,其确认号ACK应为 x + 1(ACK 26501),同时也给出自己的选择序号 y(设置初始段序号SEQ = y ,例如SEQ = 29010)。
* A 收到此报文段后,向 B 给出确认,其确认号应为 y + 1(ACK = 29011)。
* A 的 TCP 通知上层应用进程,连接已经建立。

当运行服务器进程的主机 B 的 TCP 收到主机 A 的确认后,也通知其上层应用进程,连接已经建立。
由于客户对报文段进行了编号,它知道哪些序号是期待的,哪些序号是过时的。当客户发现报文段的序号是一个过时的序号时,就会拒绝该报文段,这样就不会造成重复连接。

## 关闭连接
![](https://img.kancloud.cn/1f/33/1f33ed29b1d7b3597288a5875e2367c3_943x532.png)
介绍一下关闭连接的四次挥手过程:
* 客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u(等于前面已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN-WAIT-1(终止等待1)状态。 TCP规定,FIN报文段即使不携带数据,也要消耗一个序号。
* 服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE-WAIT(关闭等待)状态。TCP服务器通知高层的应用进程,客户端向服务器的方向就释放了,这时候处于半关闭状态,即客户端已经没有数据要发送了,但是服务器若发送数据,客户端依然要接受。这个状态还要持续一段时间,也就是整个CLOSE-WAIT状态持续的时间。
* 客户端收到服务器的确认请求后,此时,客户端就进入**FIN-WAIT-2(终止等待2)**状态,等待服务器发送连接释放报文(在这之前还需要接受服务器发送的最后的数据)。
* 服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,FIN=1,ack=u+1,由于在半关闭状态,服务器很可能又发送了一些数据,假定此时的序列号为seq=w,此时,服务器就进入了**LAST-ACK(最后确认)**状态,等待客户端的确认。
* 客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME-WAIT(时间等待)状态。注意此时TCP连接还没有释放,必须经过2MSL(最长报文段寿命)的时间后,当客户端撤销相应的TCB后,才进入CLOSED状态。
* 服务器只要收到了客户端发出的确认,立即进入CLOSED状态。同样,撤销TCB后,就结束了这次的TCP连接。可以看到,服务器结束TCP连接的时间要比客户端早一些。

# 单位换算

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/213703.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号