0%

网络的基本概念

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
# -*- coding:utf-8 -*-
# @Time :2022/6/26 18:27
# @SOFTWARE :python基础

# 1.网络开发两大架构
"""
早起数据交互的格式是没有网络的
两个文件之间的数据交互需要通过第三个文件
a,b文件同时和c文件交互
a文件把数据先存放c文件中
b文件从c文件取,反之亦然
sorcket(套接字):是一个收发数据的工具

有了网络之后
a文件中的数据,通过网络协议,转化成101010...二进制进行发送
a文件借助socket发送数据
b文件借助socket接受数据

"""
# 两大架构
"""

c/s架构: c -> client(客户端) =》 王者荣耀 微信 qq LOL 等软件
s -> server(服务端) =》 服务器 天河三号

b/s架构: b -> Brower(浏览器) =》 谷歌 火狐 edge
通过输入网址 访问对方的服务器,对方服务器响应之后,把数据返回,浏览器通过返回的数据,渲染页面
s -> server(服务端)
在未来,更倾向于使用b/s架构,成为新趋势
小程序:微信小程序 支付宝小程序
优点:省去复杂下载安装环节 节省空间
因为手机带来的便捷性,随时随地使用到想要的应用 提升用户的满意度
"""

# 2.网络的概念
"""
一台主机有两个重要标识:
(1) mac地址:标记一台机器的物理地址 不可变
(2) ip地址:标记一台机器的逻辑地址 可变
ipv4 32位二进制 四段点分十进制表示 x.x.x.x(0.0.0.0 - 255.255.255.255) => 2的32次方-1 42亿个
ipv6 128位的二进制 八段点十六进制表示 x:x:x:x:x:x:x:x(0:0:0:0:0:0:0:0 - ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)
2的128次方-1
ip地址的最后一位0或者255,两个数字不能用 一般最后一位0表达的是网段,255代表广播地址

网段:
主要是用来划分同一区域里的某些机器能否相互通信 在一个网段里可以不通过因特网直接对话
判断依据:如果ip地址和子网掩码相与得到的值相同就是同一段网

内网:
以下地址为预留地址 永远不会被当做公网ip来分配
192.168.0.0 - 192.168.255.255
172.16.0.0 - 172.31.255.255
10.0.0.0 - 10.255.255.255

外网:
在任何地方都可以访问(排除防火墙的因素)

子网掩码: 区分网段和主机
255.255.255.0 / 255.255.0.0 / 255.0.0.0
"""
# (3)端口:
"""
英文port 某个程序与外界通讯的出口 取值范围 0-65535
自定义端口使用时至少8000以上 访问地址加端口192.168.1.1:8080


常用端口号:
IIS(HTTP):80
SQLServer:1433
Oracle:1521
MySQL:3306
FTP:21
SSH:22
Tomcat:8080

代理服务器常用端口
(1). HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080
(2). SOCKS代理协议服务器常用端口号:1080
(3). FTP(文件传输)协议代理服务器常用端口号:21
(4). Telnet(远程登录)协议代理服务器常用端口:23
HTTP服务器,默认的端口号为80/tcp(木马Executor开放此端口);

HTTPS(securely transferring web pages)服务器,默认的端口号为443/tcp 443/udp;
Telnet(不安全的文本传送),默认端口号为23/tcp(木马Tiny Telnet Server所开放的端口);

FTP,默认的端口号为21/tcp(木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口);
TFTP(Trivial File Transfer Protocol ),默认的端口号为69/udp;

SSH(安全登录)、SCP(文件传输)、端口重定向,默认的端口号为22/tcp;

SMTP Simple Mail Transfer Protocol (E-mail),默认的端口号为25/tcp

POP3 Post Office Protocol (E-mail) ,默认的端口号为110/tcp;

WebLogic,默认的端口号为7001;
Webshpere应用程序,默认的端口号为9080;
webshpere管理工具,默认的端口号为9090;
JBOSS,默认的端口号为8080;

TOMCAT,默认的端口号为8080;

WIN2003远程登陆,默认的端口号为3389;

Ftp 21 文件传送(控制端口)

Telnet 23 远程通信网

Smtp 25 简单邮件传输协议

"""

# (4) OSI网络七层模型:
"""
七层模型: 应 表 会 传 网 数 物
五层模型: 应 传 网 数 物
四层模型: 应 传 网 网接

应用层(应用层 表示层 会话层):
封装数据:
根据不同的协议 封装不同格式的数据
http (超文本传输协议)
HTTPS(加密传输的超文本传输协议)
ftp (文件传输协议)
smtp (调子邮件传输协议)
传输层:
封装端口:
指定传输协议(tcp协议/udp协议)
网络层:
封装ip:
ipv4版本 / ipv6
数据链路层:
封装mac地址:
指定mac地址:arp协议 通过 ip 找 mac
rarp协议 通过mac 找 ip
物理层:
打成数据包变成二进制的字节流,通过网络进行传输

"""
#(5)交换机与路由器,发送数据包流程
"""

交换机:
对同一网段的不同机器之间进行数据转发的设备 (每一台机器和交换机相连,形成通信)
从下到上拆2层,拆到数据链路层
路由器:
对不同网段的不同机器之间进行数据转发的设备 (每一个局域网和路由器相连,形成通信)
从上到下拆3层,拆到网络层 (得到对应的网段)

arp协议: 通过ip找mac 整体是通过:一次广播 + 一次单播
rarp协议: 通过mac找ip

过程:
电脑A发现目标主机没有mac ,先发送arp广播包,把mac标记成全F广播地址
交换机接受到rap广播包,进行从下到上拆2层,拆到数据链路层 看到全F广播地址 开始广播
把这个广播包发送给每一台主机
每台主机得到广播包后,都开始拆包,如果改数据包找寻的主机不是自己,自动舍弃
路由器得到arp广播包后,从下到上拆3层 拆到网络层 得到网段信息
通关路由器的对照信息表,找到网段对应的网关(接口)
对应网关的这台交换机得到arp广播包后,从下到上拆包,拆2层,发现全F广播地址进行广播
数据库主机收到广播包后,依次从下到上拆包,发现自己是目标要找的主机
把自己的ip->mac对照信息封装,变成arp响应包,发送给对应的交换机
交换机得到arp响应包之后,依次进行单播,返回给最终的原主机
在回来的过程中,所有得到过相应arp广播包的主机,都会更新自己arp解析表 方便下次使用
"""

# (6)tcp/udp协议
"""
TCP三次握手:
客户端发送一个请求小熙,与服务端建立连接
服务端接受这个请求 发出响应消息 回应客户端 也要与客户端A建立连接(看A是否同意)
客户端接受服务端的响应消息之后,发送回复消息 (表达同意,到此客户端与服务端建立连接成功)

tcp发送数据:
每次发送一次数据,都会对应一个回执消息 ,如果发送方没有接受到回执消息 ,那么该数据包再发一次

tcp四次挥手:
客户端像服务端发送一个断开连接请求(代表客户端没有数据给服务端)
服务端接受请求,发出响应
等到服务端所有数据发送完毕之后,
服务端向客户端发送断开连接请求
客户端接受请求,发出响应

注意:TCP连接必须经过时间2MSL后才会真正释放 (MSL最大报文段生存时间 默认2分钟 实际30秒 1分钟 2分钟)
"""