目录
一、通信的标准1
1、OSI、TCP/IP参考模型
1、早期的网络设备
中继器、多协议网关(路由器的前身)
2、ISO国际标准化组织OSI:开放式系统互联(一套标准)
TCP/IP:传输协议
协议:等同于标准
网络的设计:带宽高、安全性高、时效性、完整性、准确性
3、OSI七层模型
应用层:针对应用约定的标准
- HTTP:超文本传输协议
- Telnet:远程协议
- OICP:qq的协议
- HTTPS:安全超文本传输协议
- SMTP/POP3:简单邮件传输协议(发)/邮局协议(收)
表示层:约束数据格式,负责格式转化,加密以及解密
会话层:建立、维护、解除会话,数据的传输通道
传输层:约定数据采用哪种方式进行传输
- TCP:传输控制协议,实现数据的可靠传输
- UDP:用户数据报协议,实现数据的快速传输,不可靠
网络层:提供逻辑地址(IP地址,用于在网络中唯一的标识一台设备,作用于网络与网络之间的通信,提供路由和选路)
数据链路层:提供mac(物理地址)用于在一条链路上唯一的标识一台设备,作用于网络内的通信。
- MAC地址烧写在网卡,全球唯一,MAC地址的有效范围仅限于本网络。
物理层:约定接口类型,传输速度,线缆针脚等
4、TCP/IP模型
应用层:将OSI上三层融合,用于产生需要传递的数据
传输层
网络层
网络接口层:将OSI下两层融合
2、网络基础
名词介绍
交换机:用于连接统一网络的设备,实现同网络内设备通信
路由器:用于连接不同的网络,隔离广播域,实现跨网络通信
网关:网络的出口
DNS:域名服务器(保存域名和IP地址之间的对应关系)
端口号:0-65535(在传输层中)实际可用1-65534
常见端口:http80、443https、53DNS、23Telnet 、ftp(20、21)、ssh22 、mysql3306、php9000、tomcat8080(8005、8009)、zabbix(10050、10051)用来区分不同的应用程序
3、数据通信过程
数据封装过程
可靠传输
http client————>Router——>http server
(http://www.baidu.com)因为数据为http所以数据要求为可靠从传输,由传输层对数据封装成TCP形成数据包
应用层产生一个数据,向外发送一个请求百度的指令(DATA——>(加一个tcp))TCP+DATA——>形成数据段——>IP+TCP+DATA(IP地址包含源ip地址和目的ip地址)——>形成数据包——>帧头+IP+TCP+DATA+帧尾(帧头里有源mac地址和目的mac地址{通过ARP获取})——>形成数据帧(数据链路层对数据包进一步封装帧头和帧尾,形成数据帧)——>(物理层将数据帧转化为比特流(一串二进制数),从网卡接口发出)
如何获取目的MAC:先发送一个ARP请求(ARP地址解析协议ARPrelay——>ARP应答)通过ip地址获取目标设备的mac
ARP工作原理:ARP request请求目的mac是FF-FF-FF-FF-FF-FF(广播mac),源mac是自己的mac,收到ARP request将自己的mac封装到ARP relay中,以单广播的形式返回
二、通信的标准2
1、传输协议
1、定义:
传输层定义了主机应用程序之间端到端的连通性。
传输控制协议TCP(transmission control protocol):一种面向连接的协议,提供可靠的传输服务,通过重传机制,实现数据的可靠传输
用户数据报协议UDP(user datagram protocol):一种面向非连接的协议,提供不可靠的传输服务
2、tcp传输过程
Seq序列号:保障传输过程可靠(缺点:发送速度,占据额外的带宽)
ACK表示Acknowledgement number字段有意义(确认消息)
SYN表示SYN报文(建立TCP连接的时候使用)
FIN表示没有数据需要传送了(在关闭TCP连接的时候使用)
3、TCP建立连的过程
在发送数据前,在源和目的间先建立连接,也称为三次握手(A发送同步消息询问B,B收到后发送SYN的确认消息,并且也询问A发送同步消息,A收到后发送SYN确认同步消息回复给B)
4、TCP关闭连接的过程
主机A发送一个FIN请求断开连接,服务器回复ACK,服务器向主机发送一个FIN和ACK请求断开连接,主机收到后回复ACK确认断开,称为TCP的四次挥手
5、TCP异常情况
进程终止:进程终止会释放文件描述符,仍然可以发送FIN,和正常关闭没什么区别
机器重启:和进程终止的情况一样
机器断电/网线断开:接受端认为连接还在,一旦接收端有写入操作,接收端发现连接已经不在了,就会进行reset,即使没有写入操作,TCP自己也内置了一个保活定时器,会定时询问对方是否还在,如果对方不在,也会把连接释放
应用层的某些协议, 也有一些这样的检测机制:
例如HTTP长连接中, 也会定期检测对方的状态
例如QQ, 在QQ断线之后, 也会定期尝试重新连接
keepalived 高可用(master backup)
6、UDP协议简介
UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当UDP它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段。
由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息
UDP协议应用:直播、视频传输
三、通信的标准3
1、HTTP
1、协议简介
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统
2、主要特点
简单快速:客户向服务器请求服务时,只需传送请求方法和路径;由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
灵活:HTTP允许传输任意类型的数据对象;正在传输的类型由Content-Type加以标记。
无连接:无连接的含义是限制每次连接只处理一个请求;服务器处理完客户的请求,并收到客户的应答后,即断开连接。
无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
支持B/S(Browser/Server,浏览器/服务器模式)及C/S模式
3、http协议常见状态码
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
四、认识ip地址
IP地址是指互联网协议地址,IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。
1 1 1 1 1 1 1 1 --->255
2**7 2**6 2**5 2**4 2**3 2**2 2**1 2**0
128 64 32 16 8 4 2 1
把187.199.222.10转换为二进制的写法?
10111011.11000111.11011110.00001010
把178.111.110.88转换为二进制的写法?
10110010.01101111.01101110.01011000
174.178.10.12
10101110.10110010.00001010.00001100
192.155.123.11
11000000.10011011.01111011.00001011
10.8.7.5
00001010.00001000.00000111.00000101
192.178.112.114
1100000.10110010.01110000.01110010
199.199.211.111
11000111.11000111.11010011.01101111
178.187.99.96
10110010.10111011.01100011.01100000
例如:
10.30.162.7
1 1 1 1 1 1 1 1 = 255
2**7 2**6 2**5 2**4 2**3 2**2 2**1 2**0
128 64 32 16 8 4 2 1 =255
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
192.168.153.147
11000000.10101000.10010100.10010011
10.30.162.7/24
01100100.00000100.10100010.00000110
192.168.62.138
11000000.10101000.00111110.10001010
10.30.162.7/24
128 64 32 16 8 4 2 1
00001010.00011110.10100010.00000111
00100100.10101010.11100000.00000110二进制转换成十进制
36.170.224.6
10100101.11000011.10101101.11110001二进制转换成十进制
165.195.173.241
IP地址分类:
IPV4 :IPV4 地址枯竭 VLSM(可变长度子网划分)公网+内网
IPV6 :大学里、(企业电脑、学校电脑、个人电脑)
IP地址编址方案将IP地址空间划分为A、B、C、D、E五类
A类:公有云(安全组规则)(全部)(0.0.0.0/0) 255.0.0.0
0.0.0.0 - 127.255.255.255/8 0是保留的并且表示所有IP地址,而127也是保留的地址,127.0.0.1 并且是用于测试环回用的。回环:一台电脑上两个应用程序通过网络通信。127.0.0.1,通常被称为本地回环地址。
B类:128.0.0.0 - 191.255.255.255/16 255.255.0.0
C类:192.0.0.0 - 223.255.255.255/24 255.255.255.0
D类:
范围从224-239,D类IP地址第一个字节以“1110”开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。224.0.0.0-239.255.255.255 组播地址
E类:
范围从240-254,以“11110”开始,为将来使用保留。 全“1”的IP地址(“255.255.255.255”)是当前子网的广播地址 。240.0.0.0-255.255.255.254 保留地址
IP地址的组成
网络部分(网络位):直接决定了可以分配的网络数 计算方法:2^网络号位数-2
主机部分(主机位):则决定了网络中最大的主机数 计算方法:2^主机号位数-2
网络地址:用来表示一个网络。主机位取值全部为0,例如:192.168.1.0 /24
广播地址:用于在一个网络内一对所有的通信。主机部分全部换成1。
举个栗子:
10.8.165.15/24
00001010.00001000.10100101. 11111111 2**8=256-2=254 1-254 255 10.8.165.255
00001010.00001000.10100101. 00000000 10.8.165.0/24
192.168.153.149/16 写出网络地址和广播地址
网络地址:192.168.0.0/16
广播地址:192.168.255.255
可用主机:2**16-2
18.19.90.23/8 写出网络地址和广播地址 可用主机的数量?
网络地址:18.0.0.0/8
广播地址:18.255.255.255
可用主机:2**24-2
172.192.18.155/25 写出网络地址和广播地址 可用主机的数量?
172.192.18.1 0011011
网络地址:172.192.18.128/25
广播地址:172.192.18.255
可用主机:126
10.10.10.1/25
10.10.10.0 0000001
网络地址: 10.10.10.0/25
广播地址: 10.10.10.127
可用主机: 126
写出下列各自的网络地址和广播地址 可用主机的数量?
192.168.153.149/27
128 64 32 16 8 4 2 1
192.168.153.100 10101
网络地址:192.168.153.128/27
广播地址:192.168.153.159
可用主机: 30
10.10.10.123/23
10.10.0000101 0.01111011
网络地址:10.10.10.0/23
广播地址:10.10.11.255
可用主机:2**9-2
172.172.172.172/17
172.172.1 0101100.10101100
网络地址:172.172.128.0/17
广播地址:172.172.255.255
可用主机:2**15-2
10.8.165.0/24
11111111.11111111.11111111.00000000 -> 255.255.255.0
192.168.153.0/16
11111111.11111111.00000000.00000000 -> 255.255.0.0
172.172.172.172/17 写出网络地址和广播地址 可用主机的数量 子网掩码点分十进制的形式?
172.172.1 0101100.10101100
网络地址:172.172.128.0/17
广播地址:172.172.255.255
可用主机:2**15-2
子网掩码:255.255.128.0
子网掩码:用于区分IP地址中的网络部分和主机部分
默认网关:就是一个网络连接到另一个网络的“关口”,一般情况下网关的IP就是所在网络的路由器的IP
192.168.62.138/24
11000000.10101000.00111110.10001010
11000000.10101000.00111110.00000000 网络地址 192.168.62.0/24
11000000.10101000.00111110.11111111 广播地址 192.168.62.255
192.168.62.138/16
11000000.10101000.00111110.10001010
11000000.10101000.00000000.00000000 网络地址 192.168.0.0/16
11000000.10101000.11111111.11111111 广播地址 192.168.255.255
24
255.255.255.0
10.8.158.15/24
11111111.11111111.11111111.00000000
255.255.255.0
10.8.158.15/16
11111111.11111111.00000000.00000000
255.255.0.0
10.8.158.15/19
11111111.11111111.111 00000.00000
255.255.224.0
192.168.153.117/24
写出网络地址、广播地址、子网掩码点分十进制形式;
192.168.153.0/24
192.168.153.255
255.255.255.0
192.168.153.117/23
写出网络地址、广播地址、子网掩码点分十进制形式;
11000000.10101000.1001100 1.01110101
192.168.152.0/23
192.168.153.255
255.255.254.0
128 64 32 16 8 4 2 1
10.89.178.14/27
00001010.01011001.10110010.000 10100
网络地址:10.89.178.0/27
广播地址:10.89.178.14.31
子网掩码:255.255.255.224
10.89.176.14/22
10.8.177.98/18
写出网络地址、广播地址、子网掩码点分十进制形式;
10.89.176.14/22
10.89.101100 00.00001110
网络地址:10.89.176.0/22
广播地址:10.89.179.255
可用主机:2**10-2
子网掩码:255.255.252.0
子网掩码:255.255.
五、十进制与二进制的转换
十进制转二进制
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
128 64 32 16 8 4 2 1
例如:165
165/2=82---1 162/2=81---0
82/2=41-----0 81/2 =40---1
41/2=20-----1 40/2 =20---0
20/2=10-----0 20/2 =10---0
10/2=5-------0 10/2 =5---0
5/2=2---------1 5/2 =2----1
2/2=1---------0 2/2 =1---0
1/2=1---------1 1 10100010
10100101
192.168.122.0/24
11000000.10101000.01111010.00000000
或者
128 64 32 16 8 4 2 1
172.135.18.97
128比172小取1
128+64>172取0
128+32<172取1 128+32=160
160+16>172取0
160+8<172取1 160+8=168
168+4=172取1
172+2>172取0
172+1>172取0
所以172转换成二进制就是10101100,其他的按这种方法转换
10101100.10000111.00010010.01100001
二进制转10进制
01010110.11100010.00110110.11110001 转为10进制
128 64 32 16 8 4 2 1
0*128+1*64+0*32+1*16+0*8+1*4+1*2+0*1=86
1*128+1*64+1*32+0*16+0*8+0*4+1*2+0*1=226
0*128+0*64+1*32+1*16+0*8+1*4+1*2+0*1=54
1*128+1*64+1*32+1*16+0*8+0*4+0*2+1*1=241
转换之后为86.226.54.241
六、VLSM子网掩码
VLSM(可变长子网掩码Variable Length Subnet Mask) 是为了有效的使用无类别域间路由(CIDR)和路由汇聚(route summary)来控制路由表的大小,网络管理员使用先进的IP寻址技术,VLSM就是其中的常用方式,可以对子网进行层次化编址,以便最有效的利用现有的地址空间。
快速的子网划分:
1.这个被选用的子网可以产生多少的子网? 2的x次方=? x表示借的主机位
2.这个子网中又会有多少个合法的主机号? 2的y次方-2=? y表示主机位
3.每个子网的广播地址是什么? 这个子网中最后一个IP地址
划分原则:
1.先划分需求多的
2.要先计算出每个部门需要多少哥主机位
3.先取最小的组合
技巧:
网络段:网络位不变,主机位全为0
广播段:网络位不变,主机位全为1
子网掩码:网络位全为1,主机位全为0
例子:一、网络段为192.168.1.0/24,需要为120台服务器分配IP地址
1.2的主机位次方-2=可用主机数
主机位为7,借用主机位为1,可使用126个合法主机
2.2的x次方=可以产生多少的子网(x为借的主机位)
可以产生两个子网,为【0,1】
3.根据选最小的原则,应该选【0】
若为0
11000000.10101000.00000001.0 0000000
网络段:192.168.1.0/25
子网掩码:255.255.255.128
广播段:192.168.1.127
范围:192.168.1.0---192.168.1.127
可用:192.168.1.1---192.168.1.126
若为1
11000000.10101000.00000001.1 0000000
网络段:192.168.1.128/25
子网掩码:255.255.255.128
广播段:192.168.1.255
范围:192.168.1.128---192.168.1.255
可用:192.168.1.129---192.168.1.254
二、网络段为192.168.1.0/24,需要为30台服务器分配IP地址
1.2的主机位次方-2=可用主机数
主机位为5,借用主机位为3,可使用30个合法主机
2.2的x次方=可以产生多少的子网(x为借的主机位)
可以产生8个子网,为【000】 【001】【011】【010】【110】【101】【111】【100】
3.根据选最小的原则
11000000.10101000.00000001.000 00000 选择【000】
网络段:192.168.1.0/27
子网掩码:255.255.255.224
广播段:192.168.1.31
范围:192.168.1.0---192.168.1.31
可用:192.168.1.1---192.168.1.30
例子:
例如: 128 64 32 16 8 4 2 1
192.168.1.0/24 11000000.10101000.00000001.0 0000000
255.255.255.0 11111111.11111111.11111111.00000000
192.162.1.0/25 11000000.10101000.00000001.1 0000000
11111111. 11111111.11111111.1
1/0 两个子网
192.168.1.0/25和192.168.1.128/25
192.168.1.127 192.168.1.255
126 126
192.168.1.1-192.168.1.126 192.168.1.129-192.168.1.254
192.168.1.0/24 120台 2的主机位次方-2=可用主机数 7 【0,1】 126个合法主机
11000000.10101000.00000001.0 0000000
11000000.10101000.00000001.0 0000000
192.168.1.0/25
255.255.255.128 子网掩码
192.168.1.127
192.168.1.0---192.168.1.127
192.168.1.1---192.168.1.126
11000000.10101000.00000001.1 0000000
192.168.1.128/25
255.255.255.128
192.168.1.255
192.168.1.128---192.168.1.255
192.168.1.129---192.168.1.254
30 5位 30个合法主机
11000000.10101000.00000001.000 00000 【000、001、010、100、111、110、101、011】
192.168.1.0/27
255.255.255.224 子网掩码
192.168.1.31
192.168.1.0---192.168.1.31
192.168.1.1---192.168.1.30
11000000.10101000.00000001.001 00000
192.168.1.32/27
255.255.255.224 子网掩码
192.168.1.63
192.168.1.32----192.168.1.63
192.168.1.33---192.168.1.62
11000000.10101000.00000001.111 00000
192.168.1.224/27
255.255.255.224
192.168.1.255
192.168.1.224---192.168.1.255
192.168.1.225-192.168.1.254 30
10.8.165.0/24 60个主机分配一个子网
10.8.165.00 000000 可用主机数量 2**x次方-2 x指的是主机位的数量 2**6-2=62>60
组合【00 01 10 11】
10.8.165.00 000000
网络地址:10.8.165.0/26
子网掩码:255.255.255.192
广播地址:10.8.165.63
范围:10.8.165.0-->10.8.165.63
可用:10.8.165.1-->10.8.165.62 62
10.8.165.01
10.8.165.01 000000
网络地址:10.8.165.64/26
子网掩码:255.255.255.192
广播地址:10.8.165.127
范围:10.8.165.64-->10.8.165.127
可用:10.8.165.65-->10.8.165.126 62
10.8.165.10
10.8.165.10 000000
网络地址:10.8.165.128/26
子网掩码:255.255.255.192
广播地址:10.8.165.191
范围:10.8.165.128-->10.8.165.191
可用:10.8.165.129-->10.8.165.190 62
10.8.165.11
10.8.165.11 000000
网络地址:10.8.165.192/26
子网掩码:255.255.255.192
广播地址:10.8.165.255
范围:10.8.165.192-->10.8.165.255
可用:10.8.165.193-->10.8.165.254 62
192.168.153.0/24 分配一个子网,要求有80个可用的主机
2**7-2=126>=80
192.168.153.0 0000000
网络地址:192.168.153.0/25
子网掩码:255.255.255.128
广播地址:192.168.153.127
范围:192.168.153.0-->192.168.153.127
可用:192.168.153.1-->192.168.153.126 126
192.168.153.1 0000000
网络地址:192.168.153.128/25
子网掩码:255.255.255.128
广播地址:192.168.153.255
范围:192.168.153.128-->192.168.153.255
可用:192.168.153.129-->192.168.153.254