1. 什么是互联网协议及为什么要有互联网协议
互联网的本质就是一系列网络协议,互联网协议就是让孤立的计算机可以互相沟通联系。英语成为世界上全部人通讯的统一标准,若是把计算机当作分布于世界各地的人,那么链接两台计算机之间的internet实际上就是一系列统一的标准,这些标准称之为互联网协议,互联网的本质就是一系列的协议,总称为‘互联网协议’(Internet Protocol Suite)。能让孤立的计算机之间互相联系,方便信息的交流和传输,因此要有互联网协议。
2.OSI五层模型
互联网的实现,分红好几层。每一层都有本身的功能,就像建筑物同样,每一层都靠下一层支持。用户接触到的,只是最上面的一层,根本没有感受到下面的层。要理解互联网,必须从最下层开始,自下而上理解每一层的功能。通常分为五层:最底下的一层叫作”物理层”(Physical Layer),最上面的一层叫作”应用层”(Application Layer),中间的三层(自下而上)分别是”连接层”(Link Layer)、”网络层”(Network Layer)和”传输层”(Transport Layer)。越下面的层,越靠近硬件;越上面的层,越靠近用户。
- 物理层:物理层即为将电脑链接起来的光缆,电线等。把电脑用物理手段链接起来。主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0。
- 连接层:单纯的0和1没有任何意义,连接层即定义了电信号的分组形式,每组什么意思。
- 以太网协议:以太网规定,一组电信号构成一个数据包,叫作”帧”(Frame)。每一帧分红两个部分:标头(Head)和数据(Data)。标头”包含数据包的一些说明项,好比发送者mac地址、接受者mac地址、数据类型等等;”数据”则是数据包的具体内容。“标头”的长度,固定为18字节。”数据”的长度,最短为46字节,最长为1500字节。所以,整个”帧”最短为64字节,最长为1518字节。若是数据很长,就必须分割成多个帧进行发送。
- mac地址:以太网规定,连入网络的全部设备,都必须具备”网卡”接口。数据包必须是从一块网卡,传送到另外一块网卡。网卡的地址,就是数据包的发送地址和接收地址,这叫作MAC地址。每块网卡出厂的时候,都有一个全世界独一无二的MAC地址,长度是48个二进制位,一般用12个十六进制数表示。前6个十六进制数是厂商编号,后6个是该厂商的网卡流水号。有了MAC地址,就能够定位网卡和数据包的路径了。
- 广播:有了mac地址仍是不够的。一块网卡怎么之道另一块网卡的地址了?就算知道了地址,系统有怎样准确送到接收方了?这是由于有一种arp协议让咱们能够获悉另一块网卡的地址。这个后面介绍;准确送到是由于以太网采用了一种很”原始”的方式,它不是把数据包准确送到接收方,而是向本网络内全部计算机发送,让每台计算机本身判断,是否为接收方。
- 网络层:它的做用是引进一套新的地址,使得咱们可以区分不一样的计算机是否属于同一个子网络。这套地址就叫作”网络地址”,简称”网址”。因而,”网络层”出现之后,每台计算机有了两种地址,一种是MAC地址,另外一种是网络地址。两种地址之间没有任何联系,MAC地址是绑定在网卡上的,网络地址则是管理员分配的,它们只是随机组合在一块儿。网络地址帮助咱们肯定计算机所在的子网络,MAC地址则将数据包送到该子网络中的目标网卡。所以,从逻辑上能够推断,一定是先处理网络地址,而后再处理MAC地址。
- 传输层:有了MAC地址和IP地址,咱们已经能够在互联网上任意两台主机上创建通讯。接下来的问题是,同一台主机上有许多程序都须要用到网络,好比,你一边浏览网页,一边与朋友在线聊天。当一个数据包从互联网上发来的时候,你怎么知道,它是表示网页的内容,仍是表示在线聊天的内容?也就是说,咱们还须要一个参数,表示这个数据包到底供哪一个程序(进程)使用。这个参数就叫作”端口”(port),它实际上是每个使用网卡的程序的编号。每一个数据包都发到主机的特定端口,因此不一样的程序就能取到本身所须要的数据。“端口”是0到65535之间的一个整数,正好16个二进制位。0到1023的端口被系统占用,用户只能选用大于1023的端口。不论是浏览网页仍是在线聊天,应用程序会随机选用一个端口,而后与服务器的相应端口联系。“传输层”的功能,就是创建”端口到端口”的通讯。相比之下,”网络层”的功能是创建”主机到主机”的通讯。只要肯定主机和端口,咱们就能实现程序之间的交流。所以,Unix系统就把主机+端口,叫作”套接字”(socket)。有了它,就能够进行网络应用程序开发了。
- 应用层:应用程序收到”传输层”的数据,接下来就要进行解读。因为互联网是开放架构,数据来源五花八门,必须事先规定好格式,不然根本没法解读。“应用层”的做用,就是规定应用程序的数据格式。举例来讲,TCP协议能够为各类各样的程序传递数据,好比Email、WWW、FTP等等。那么,必须有不一样协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。这是最高的一层,直接面对用户。它的数据就放在TCP数据包的”数据”部分。
3.用户上网流程
打开电脑--插上网线--填入本机的IP地址--子网掩码--网关的IP地址--DNS的IP地址--应用层协议--TCP协议--以太网协议--服务器终端响应。