OSI七层模型
七层网络结构:
应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
通常也做五层 应用层、传输层、网络层、数据链路层、物理层(实体层)
引伸问题:TCP/IP协议与http协议的区别:
TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:“咱们在传输数据时,能够只使用(传输层)TCP/IP协议,可是那样的话,若是没有应用层,便没法识别数据内容,若是想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有不少,好比HTTP、FTP、TELNET等,也能够本身定义应用层协议。WEB使用HTTP协议做应用层协议,以封装HTTP 文本信息,而后使用TCP/IP作传输层协议将它发到网络上。”安全术语TCP/IP表明传输控制协议/网际协议,指的是一系列协议。“IP”表明网际协议,TCP和UDP使用该协议从一个网络传送数据包到另外一个网络。把 IP想像成一种高速公路,它容许其它协议在上面行驶并找到到其它电脑的出口。 TCP和UDP是高速公路上的“卡车”,它们携带的货物就是像HTTP,文件传输协议FTP这样的协议等。
TCP和UDP是FTP,HTTP和SMTP之类使用的传输层协议。虽然TCP和UDP都是用来传输其余协议的,它们却有一个显著的不一样:TCP提供有保证的数据传输,而UDP不提供。这意味着TCP有一个特殊的机制来确保数据安全的不出错的从一个端点传到另外一个端点,而UDP不提供任何这样的保证。
HTTP(超文本传输协议)是利用TCP在两台电脑(一般是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。
实体层。若是咱们的电脑须要联网,那么首先须要网线(光缆、电缆、无线电波,WIFI,网线)等方式均可以,主要规定网络传输的一些电器特性,做用是传输0和1这样的电信号。由于单纯传输0和1是没有意义的,全部引出了数据链路层。
(1)数据通讯的基础知识:
(B站韩立刚老师16课时)
多少个电信号算一组,每个信号位有什么意义,即在实体层的基础上肯定了0和1的分组方式,也就咱们常说的以太网协议。以太网规定一组电信号构成一个数据包,咱们将它叫作帧, 每一个帧又分为如下两个部分:
其中head称之为标头(固定长度18byte)、data(46byte~1500byte)即数据。标头包含了数据包的说明项(如发送者、接受者、数据类型等),若是数据的长度大于最大长度即1518的话,数据就不得不分为多个组发送。
④端口:每个数据包发送到主机的特定端口上,因此不一样的程序会取到本身的数据,端口好都是0~65535之间的整数。正好16个二进制位。其中0-1023端口是系统占用的,(本地启动一个80端口可能会提示权限不够)
传输层的功能就是创建端口到端口之间的通讯,相比之下,网络层是主机与主机之间的通讯,只要肯定主机和端口就能够实现程序之间的交流。因此unix系统中,把主机加端口叫作套接字(socket)有了它以后就进行网络编程了。网络编程的两个协议:
①UDP协议:格式就是在数据前面加上端口号。UDP数据包也由标头和数据包组成,以下左图:标头部分定义发出的端口和接收端口,data部分为具体的内容。而后将整个UDP的数据包又放到ip数据包的数据部分,前面说过ip数据包又是放到以太网数据包中的,因此整个以太网数据包又成了下面右图样子:UDP标头部分只有个字节。总长度不超过65535字节,正好能够放进一个ip数据包。优势:简单易实现。缺点是可靠性差。因而引入了TCP协议。
②TCP协议:能够理解为有确认机制的UDP协议。每发出数据包都进行确认,若有遗失就重发。TCP有三次握手。能够保证数据不会丢失,缺点是过程实现复杂,消耗资源大,TCP数据包没有长度,一般不超哥ip数据长度。确保单个的tcp包不被分割。 TCP数据包是面向链接(如打电话先拨号创建链接)UDP是无链接的。即发送数据以前不须要创建链接。
因为互联网是开放的网络架构,数据的来源五花八门,因此须要事先约定一些格式,否则根本没有办法解读。应用层的做用就是规定应用程序的数据格式。
经典面试题:访问网络的过程:
数据封装的过程:
OSI模型对计算机网络故障排错的指导意义
网络排错应该由底层往高层排查,应为高层是基于底层实现的。
1.物理层故障,首先查看链接状态,发送和接受的数据包是否正常。
2.数据连路程故障, MAC冲突, ADSL欠费, 网速没有办法协商一致, 计算机链接遇到所悟的VLAN
4.应用层故障,应用程序配置错误