网络编程
引子
假如有两个脚本,foo.py, bar.py,分别运行都可以正常运行。但是现在想从两个程序间传递一个数据。
- 同一台电脑
- 创建一个文件,将foo.py的数据读入文件中,bar.py从文件中读取数据。
- 不同电脑
- 该怎么做
软件的开发架构
1. C/S架构
C/S,即Client和Sever ——>客户端和服务器端架构
2. B/S架构
B/S,即Browser和Server ——>浏览器端和服务器端架构
什么是网络
网络就是一种辅助双方或者多方能够连接在一起的工具。
伴随着网络发展,人们使用了很多通信方法,有些已不再使用,现在使用最广泛的是TCP/IP(Transmission Control Protocol/Internet Protocol)
TCP/IP是标准的协议,其可以使世界范围内的计算机通过Internet或者本地网络通信。
TCP/IP事实上是一些协议(protocols)的合集。当前大多数使用中的通信都使用TCP协议。
Internet是在一些共享的线路上发送数据’的。例如:在您的计算机上也许同时运行着几个应用程序,如Web浏览器、通讯软件等程序,而您只须通过一条单一的线路来连接互联网。上面所有的程序都共享这个连接,简单地说,用户往往不会觉察到这个共享的发生。
1. 目的
- 使用网络把多方链接在一起,然后进行数据传输
- 为了让不同电脑的软件可以互相传递数据,借助网络的功能
2. 网络编程的定义
让不同电脑中的软件能够进行数据传递,即网络中不同主机进程间的通信。
地址
1. 生活中的地址与标识
不同的网络中,采用唯一的标识来区分不同的主体,比如车牌号、建筑物地址、电话号码、员工编号等等
一台电脑怎么找到很多电脑中的一台呢?
警察怎么找到嫌疑犯的?
2. ip地址的作用
ip地址:用来在网络中标记一台电脑,比如192.168.1.1;在同一网络中是唯一的。
同一网络:好比班级编号,球队编号。
同一网络:例如同一个局域网, 一个教室里。
3. IP地址分类
目前ip地址主要分量足
- ipv4,32位二进制构成m。分成四段,每段范围0-255(2的8次方,四个字节)
- ipv6,128位二进制构成
每一个IP包含两部分:
- 网络号
- 主机号
类似电话号码由区号+电话主机号构成。
无线局域网适配器 WLAN:
连接特定的 DNS 后缀 . . . . . . . :
IPv6 地址 . . . . . . . . . . . . : 2001:250:6405:6005:b16d:8e5:90cd:e0b3
临时 IPv6 地址. . . . . . . . . . : 2001:250:6405:6005:79f6:d9c:ceb4:bbad
本地链接 IPv6 地址. . . . . . . . : fe80::b16d:8e5:90cd:e0b3%5
IPv4 地址 . . . . . . . . . . . . : 192.168.1.146
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : fe80::22a:6aff:fefa:ff3c%5
192.168.1.1
(1) IPv4可提供4,294,967,296个地址,IPv6将原来的32位地址空间增大到128位,数目是2的128次方。能够对地球上每平方米提供6×1023个网络地址,在可预见的将来是不会耗尽的。
(2) IPv4 使用地址解析通讯协议 (ARP) ,IPv6使用用多点传播 Neighbor Solicitation 消息取代地址解析通讯协议 (ARP) 。
(3) IPv4 中路由器不能识别用于服务质量的QoS 处理的 payload。IPv6中路由器使用 Flow Label 字段可以识别用于服务质量的 QoS 处理的 payload。
(4) IPv4的回路地址为: 127.0.0.1,IPv6的回路地址为 : 000:0000:0000:0000:0000:0000:0000:0001 可以简写为 ::1。
(5) 在IPv4中,动态主机配置协议( Dynamic Host ConfigurationProtocol,DHCP)实现了主机IP地址及其相关配置的自动设置。一个DHCP服务器拥有一个IP地址池,主机从DHCP服务器租借IP地址并获得有关的配置信息(如缺省网关、DNS服务器等),由此达到自动设置主机IP地址的目的。IP v6继承了IPv4的这种自动配置服务,并将其称为全状态自动配置(stateful autoconfiguration)。 m.pcwenku.com 供稿
(6) IPv4使用 Internet 群组管理通讯协议 (IGMP) 管理本机子网络群组成员身份,IPv6使用 Multicast Listener Discovery (MLD) 消息取代 IGMP。
(7) 内置的安全性。IPSec由IETF开发是确保秘密、完整、真实的信息穿越公共IP网的一种工业标准。IPsec不再是IP协议的补充部分,在IPv6中IPsec是IPv6自身所具有的功能。IPv4选择性支持IPSec,IPv6自动支持IPSec。