网络编程
一
C/S B/S架构
C = client 客户端
S = server 服务器
B = browser 浏览器
C/S架构是客户端和服务器之间发生的联系
B//S架构是一种特殊的C/S架构,是浏览器和服务器之间发生的联系
二
网络通信
网络通信是通过网络让两台计算机上的同一款软件产生联系
一台计算机上的软件--->操作系统---->另一台计算机软件
二 .1
网络通信的原理
1 物理连接介质
2地址获取到对方的计算机所在的位置
3一些列的协议 如 :ip协议,ARP协议,tcp协议和udp协议
三
五层协议
应用层 {'content':'你好啊'} 应用层将字符串封装成了字典形式传给下一层 一些APP QQ 微信等
传输层 8000 {'content':'你好啊'} 传输层给字典模式的数据封装了一个端口号 遵守tcp协议或者udp协议
网络层 IP地址+8000 {'content':'你好啊'} 网络层给数据封装了一个ip地址 遵守ARP协议
数据链路层 源mac地址,目标mac地址 数据类型 | ip:192.168.1.12 | 8000 | {'content': '你好啊'} 数据链路层给数据封装了一个MAC地址 遵守以太网协议
物理层 将数据链路层传下来的信息转换成电信号传输给目标IP地址
目标地址的接受顺序是物理层-数据链路层-网络层-传输层-应用层 层层拆包找寻对应软件
四
计算机信息的传播方式
1 在同一片局域网内(数据链路层):
MAC地址 + 端口 + 广播
计算机将想要发送的信息带上源地址和目标地址传给交换机,交换机就把目标地址传输给所有计算机,目标计算机收到信息后返回,其他计算机则丢弃信息包
找到目标计算机后根据端口号找到对应软件.
2 不在同一局域网 (网络层)
IP + MAC地址 +端口 + 广播
计算机带着IP + MAC地址 +端口 + 广播,通过ip地址和子网掩码可以找到另一台计算机所在的局域网,然后再通过广播的方式找寻目标计算机,通过端口号找到相应的软件
3 确定软件的位置(应用层):
可以通过端口号找到目标计算机的对应软件
五
如何确定对方局域网位置
通过ip地址和子网掩码 加上ARP协议 可以找到对方的局域网
0~255.0~255.0~255.0~255
同一个局域网内所有计算机的IP地址绝对不同.
172.16.10.1
子网掩码: 255.255.255.0
255.255.255.0: 11111111.11111111.11111111.00000000
10101100.00010000.00001010.00000000
此IP的网段: 172.16.10.0
172.16.10.12 10101100.00010000.00001010.00000001
255.255.255.0: 11111111.11111111.11111111.00000000
此IP的网段: 172.16.10.0
如果子网掩码都是C类:255.255.255.0,那么 一个局域网可以分配多少个ip?
前提是C类子网掩码:一个网段:最多能有256个IP: 0 不能用, 255 不能用,254,: 253个IP/.