tcp === udp
网络基础相关知识:
1.架构
(1)C/S 架构:client客户端和server服务器端 优点:能充分发挥pc机的性能
(2)B/S架构:browser浏览器和server服务器端 隶属于C/S架构 优点:统一了应用的接口
2.通信
(1)同一台电脑上两个py程序通信: 打开一个文件
(2)两个电脑如何通信: 连一根网线
(3)多个电脑通信: 借助于交换机
多个电脑通信过程:电脑1首先发送一个请求帧(我的ip地址是:....,我的mac地址是...;我要找ip地址是....的主机),将此请求发送给交换机,交换机广播这条消息给其他所有主机,目标主机接收到消息后.对比发现自己就是被找的主机后,回复给交换机信息(我的ip是....,我的mac地址是......;请回复给ip地址是....,mac地址是:...主机)交换机以单播的形式返回给源主机.
网卡有mac地址(物理地址):mac地址全球唯一的 mac地址是网卡制造商给的 mac地址是十六进制 类似身份证
ip地址:是一个四位点十进制,它标识了计算机在网络中的位置
arp协议:通过目标ip地址获取目标mac地址的一个协议(过程)
端口:操作系统(os)为本机上每一个运行程序者随机分配的一个端口,其他电脑上的程序可以通过端口获取到这个程序.
ip地址+端口 = 找到某台电脑的端口 ip找到主机 端口找到某一服务
交换机通信方式:1.广播;2.单播:一对一;3.组播:一对多
路由器:连接不同网段(ip地址),路由(里面含有一个路由表)
网关:类似于一个局域网的出口和入口
网段:一个局域网内的ip地址范围
子网掩码:子网掩码&ip地址==网段
例:
ip地址: 192.168.12.104 ==> 1100 0000. 1010 1000. 0000 1010. 0110 1000
&
子网掩码: 255.255.255.0 ==> 1111 1111. 1111 1111. 1111 1111. 0000 0000
网段: 1100 0000. 1010 1000. 0000 1010. 0000 0000
196. 168. 12. 0
标准输出:屏幕(stdout) 标准输入:键盘(stdin)
osi五层模型:
协议 物理设备
应用层: http/https/ftp
传输层: tcp/udp 四层交换机,四层路由器
网络层: ip协议 路由器,三层交换机
数据链路层: arp协议 以太网交换机(二层交换机),网卡,网桥(mac地址相关)
物理层: 传输电信号 集线器,网线,光纤,一层交换机
二层交换机:组织局域网,不具备跨网段传输
三层交换机:具有跨网段传输
四层交换机:帮用户采取tcp/udp协议
网桥:可以实现跨网段的传输数据
tcp协议:比较安全 udp协议:传输速度快
socket模块(套接字):
socket的两种类型:
(1).AF_UNIX:基于文件类型的套接字(早期socket是源于unix系统而研发的一个功能,主要为同一台电脑上多个编程直接通信),unix系统中心思想是:一切皆文件.
(2)AF_INET:基于网络的套接字
tcp协议(SOCK_STREAM):可靠的,面向连接的,面向数据流形式的传输方式
udp协议(SOCK_DGRAM):不可靠的,不面向连接的,面向数据报的传输方式,但是传输速度块.
tcp协议:客户端和服务端两端都可以先发送
tcp协议中服务端accept()和客户端的connect()发生三次握手 在服务端的close()和客户端的close()反生四次挥手
a.客户端发起请求连接服务器
b.服务器返回:接受到请求,并要求连接客户端
c.客户端回复:可以连接
② 断链接四次挥手:第一次请求,谁先发送都可以
a.客户端发起断开连接的请求(我想和你断开连接我没有数据要继续发送了,但是如果你还有数据没有发完,你就继续发就可以了)
b.服务器回复:我接收到你的请求了
c.服务器发送:我已经准备好断开连接了
d.客户端回复:收到信息,断开连接