一、架构
两种常见的架构:C/S架构(客户机/服务器)和B/S架构(浏览器/服务器,也属于C/S架构的一种)。
C/S架构优点:
- 能充分发挥客户机的性能
- 由于只有一层交互,因此响应速度较快,安全性高
C/S架构缺点:
- 用户群固定,需要下载客户端才能使用
- 维护成本高
B/S架构优点:
- 客户端无需安装,有浏览器就行,跨平台
- B/S架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强
- 统一了应用的接口
B/S架构缺点:
- 跨浏览器问题
- 在速度和安全性上需要花费巨大的设计成本
二、通信
网络编程基本上都是基于请求/响应方式的,即一个设备发送请求数据给另外一个,然后接收另一个设备的反馈。
MAC地址:物理地址,由网卡决定的,是固定且唯一的。在OSI模型中第二层数据链路层负责。
IP地址:四位点分十进制,在计算机内部存储时只需要4个字节即可。在OSI模型中第三层网络层负责。标识了计算机在网络中的位置。可以使用IP或域名来标识网络上的一台设备。
域名:由于IP地址不方便记忆,给IP取一个字符的名字,IP和域名之间存在一定的对应关系。在网络中只能使用IP地址进行数据传输,所以在传输以前,需要把域名转换为IP,这个由DNS的服务器完成。
端口:规定一个设备有216个,即65536个端口,每个端口对应一个唯一的程序。每个网络程序,无论是客户端还是服务器端,都对应一个或多个特定的端口号。由于0-1024之间多被操作系统占用,所以实际编程时一般采用1024以后的端口号。使用端口号,可以找到一台设备上唯一的一个程序。
如果需要和某台计算机建立连接的话,只需要知道IP地址或域名即可,但是如果想和该台计算机上的某个程序交换数据的话,还必须知道该程序使用的端口号。
环回地址:网络ID为127的IP地址,用于一台主机的客户端与服务器端通过TCP/IP进行通信或者本机进程间通信,127.0.0.1。
交换机:是一种在通信系统中完成信息交换功能的设备。
- 交换机的通信方式:广播、单播、组播
- 交换机的传输模式:全双工,半双工,全双工/半双工自适应
利用交换机的通信:源主机发送一个请求帧给交换机,其中包含自身ip地址、mac地址,目标ip地址;交换机广播这条消息给其他所有的主机;目标主机接收到消息后,比对ip,回复给交换机信息,其中包含自身ip地址、mac地址,目标ip地址、mac地址;交换机以单播形式返回给源主机。
路由器:连接不同网段。路由则是通过互联的网络把信息从源地址传输到目的地址的活动。路由发生在OSI网络参考模型中的第三层即网络层。
网关:一个网络连接到另一个网络的“关口”。要实现这两个网络之间的通信,则必须通过网关。类似于一个局域网的出口和入口。
网段:一个局域网内的ip地址范围。
子网掩码:指明一个ip地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码和ip地址进行与运算&得到网段。
arp协议 : 通过目标ip地址获取目标mac地址的一个协议。
OSI模型:
应用层(应用层、表示层、会话层) | http协议、https协议、ftp协议 | |
传输层 | tcp协议、udp协议 | 四层交换机、四层路由器 |
网络层 | ip协议 | 路由器、三层交换机 |
数据链路层 | arp协议 | 网卡、网桥、以太网交换机 |
物理层 | 集线器、网线、光纤 |