网络基础之网络协议
一、什么是网络协议及为何要有互联网协议
网络协议是计算机网络中进行数据交换而建立的规则、标准或约定的集合。好比世界各地的人为了进行沟通交流,将英语作为一个统一的语言,相对的,计算机与计算机之间需要通信,就需要一系列统一的标准,毕竟每个厂商制造的计算机都互有不同。单个计算机系统是封闭的,只能单独使用,不能与其他用户进行数据间的交互。为了在各个计算机中进行数据互通,就衍生除了互联网协议,以帮助人们将多个数据终端进行连接,共享数据。互联网协议定义计算机如何接入Internet,以及接入internet的计算机通信的标准。
二、Tcp/ip五层模型
通常用户感知的是最上面一层应用层,自上而下依赖下一层,每层都运行特定的协议,越往上越靠近用户,越往下越靠近硬件。
1.物理层
模型中最低一层,主要为数据端设备提供传送数据通路、传输数据,物理层的媒体包括平衡电缆、光纤、无线电波、双绞线等。
2.数据链路层
由来:单纯的01电信号没有意义,必须规定电信号多少位一组,每组什么意思。
功能:定义了单个链路上如何传输数据,电信号的分组方式。
以太网协议:统一的标准,以太网协议ethernet,一组电信号构成一个数据包为“帧”,每一数据帧分为报头head和数据date两部分。
MAC地址:ethernet规定接入Internet的设备需要具备网卡,发送端和接收端地址即网卡地址,也是MAC地址,具有唯一性。
广播:有了mac地址,通过ethernet采用的最原始的广播方式,两台主机便可以通信。
3.网络层
有了ethernet、MAC地址、广播的发送,计算机就可以彼此通信。然而世界范围的互联网是彼此隔离的小局域网组成的,因此就需要区分计算机属于哪一广播域/子网。
IP协议:规定网络地址的协议,它所定义的地址称为IP地址,广泛应用IPV4,规定网络由32位2进制表示。IP地址分为标识子网和标识主机。IP协议的作用主要有2个,一个是为每台计算机分配IP地址,另一个是确定哪些地址在同一个子网络。
子网掩码:表示子网络特征的一个参数,形式上等同于IP地址。
IP数据包:分为Head和data部分,无需为IP包定义单独栏位,直接放入以太网的data部分
ARP协议:广播的方式发送数据包,获取目标主机的mac地址。
4.传输层
由来:在数据准确找到主机后,还不能精确定位到多个应用程序中的哪一个,所以如何标识这台主机上的应用程序,这就需要传输层来进行工作。网络层只是根据网络地址将数据包传送到目的节点,而传输层负责将数据可靠地传送到相应的端口。
功能:建立端口到端口的数据传输。
5.应用层
由来:互联网是开发的,开发的应用程序多种多样,所以必须规定好数据的组织形式。
功能:规定应用程序的数据格式。各种各样的程序比如Email、www、FTP,通过不同协议规定这些数据的格式,这些应用程序协议就构成了应用层。
三、用户上网流程
- 获取本机信息(IP地址、子网掩码、网关IP地址、DNS地址)
- 打开浏览器,输入需要访问的地址。
- DNS协议,解析网址所对应的IP地址。
- HTTP,客户端和服务器请求和应答的标准,客户端发起一个到服务器上指定端口的HTTP请求。
- TCP协议,需要设置端口,传输层通信协议,把数据流分割成适当长度的报文段,随后传送给IP层,由它传送给接收端的TCP
- IP协议,TCP将数据包嵌入IP数据包,IP数据包设置双方的IP地址,发送方是本机的IP,接收方是需要访问的网址的解析的IP地址。
- 以太网协议,IP数据包嵌入以太网数据包,以太网数据包设置双方MAC地址,发送方为本机MAC地址,接收方为通过ARP协议得到的对应网关的MAC地址。
- 服务器端响应。经过多个网关转发,访问服务器收到了四个以太网数据包,根据IP标头的序号,将数据包拼接,取出完整的TCP数据包,读取请求,接着做出响应,再用TCP协议发回来。本机收到响应后,便可以显示网页,这就完成了一次通信。