一. 知识储备
1.网络模型
1> 网络是一个比较复杂的系统,所以需要对网络进行分层,每一层规范相应的职能;
2> 网络模型的类型:
*OSI参考模型: 其层次结构依次为》
物理层: 主要定义物理设备标准,例如网线的接口类型(水晶头),各种传输介质的传输速率;主要作用是传输比特流;包括的物理设备有:集线器,网线;
数据链路层: 主要将从物理层接受的数据进行MAC地址的封装与解封装, 常把这一层的数据叫做帧, 主要设备有: 网卡,交换机.
网络层: 选择合适的网间路由和交换节点,确保数据的即时传送,将下层接受到的数据进行IP地址的封装与解封将,成为IP协议,常把这一层的数据叫做数据包;主要设备: 路由器.
传输层: 定义了一些传输数据的协议与端口,如TCP,UDP协议,主要将从下层接受的数据进行分段与传输,到达目的地址后再进行重组;
会话层: 通过传输层建立传输通道,在系统之间发起会话或者接受会话请求. (设备之间需要相互识别)
表示层: 主要是对接受的数据进行解释,压缩与解压缩等,即把计算机能够识别的东西转化成人能识别的东西(如图片,声音)
应用层: 主要是一些终端的应用,例如QQ,微信,浏览器等.
TCP/IP 参考模型: 是对OSI参考模型的简化.
包括网络访问层,网际互联层,传输层,应用层.
2> TCP/IP 协议
首先网络协议即网络中传递,管理信息的一些规范,如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间的相互通信也需要共同遵守一定的规则,这些规则被称为网络协议.
TCP/IP协议是网络的基础,是Internet语言,可以说没有TCP/IP协议就没有互联网的今天.
IP 是网络层, TCP是传输层, UDP 也是传输层.
3> TCP与UDP的定义与区别:
TCP是传输控制协议,在网络间建立连接,形成传输数据的通道,在连接中进行大数据的传输(数据的大小是不受限制的);
通过三次握手完成连接,是可靠的协议,安全送达;但是必须要建立连接才能传输,效率会稍低;
UDP是用户数据协议,将数据及源和目的封装成数据包,不需要建立连接,每个数据包的大小限制在64K之内,传输速度非常快,因为无需连接,因此是不可靠的,不安全的协议.
4> HTTP是基于TCP的数据传输格式协议.
5> IP地址 是网络设备的唯一标识;难于记忆 可以使用主机名替代
本地回环地址:127.0.0.1 主机名: localhost
6> 端口号 用于定位应用程序,用于标识进程的逻辑地址,有效端口为: 0~65535 其中0~1024为系统所使用的开发中不能使用0~1024之间的端口.
7> Ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。
8> 本地有一个 /etc/hosts文件
通过 cat /etc/hosts 命令 可以访问这个文件
我们可以更改这个文件中内容 以下为操作步骤:
sudo vi /etc/hosts
输入 i
输入127.0.0.1 www.baidu.com
按下ESC shift + : 输入 wq 编辑完成
9> 访问域名的流程: 以访问百度为例
访问百度网站 www.baidu.com ;
首先查看本地的 /etc/hosts 文件中是否存在百度的IP地址,如果存在直接返回百度的IP地址,如果不存在,访问DNS服务器,最终得到百度的IP地址;
根据返回的IP地址,访问百度的服务器.
10> 传输协议(即用什么样的方式进行交互) 是一种通讯规则.
11> URL (统一的资源定位符) http://主机域名/文件路径.
12>tcp是数据传输协议, http是数据传输格式协议,
形象一点: tcp相当于邮寄信封或者打电话,http相当于邮寄信封或打电话是用什么语言(英语,国语).
13> 在开发过程中,经常发送http请求,获取服务器返回的数据, 出现访问不可数据
可以使用 telnet IP地址 80 检测服务是否开启