简介
身为一名程序员,无论是开发、实施、运维,都需要掌握一些基础的网络知识,面试跳槽大概率也用得到,本着技多不压身的思想,学习起来吧!
OSl七层模型及各层作用
OSl七层模型的全称为开放式系统互联通信参考模型 (Open System lnterconnection Reference Model),它是一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互联为网络的标准框架。OSI参考模型分为7层,分别为应用层、表示层、会话层、传输层、网络层、数据链路层和物理层
应用层(第七层):为应用程序提供服务并规定应用程序中通信相关的细节。包括文件传输、电子邮件、远程登录(虚拟终端)等协议。
表示层(第六层):主要用于处理两个通信系统中交换信息的表示方式(如果用白话来讲,那就是“一种通用的数据格式”)。为上层用户解决用户信息的语法问题。它包括数据格式交换、数据加密与解密、数据压缩与终端类型的转换。
会话层(第五层):是在发送方和接收方之间进行通信时创建、维持、之后终止或断开连接的地方,与电话通话有点相似。会话层定义了一种机制,允许发送方和接收方启动或停止请求会话,以及当双方发生拥塞时仍然能保持对话。(如果想要用尽量少的词来记住,那就是“对话和交谈”。)
传输层(第四层):起可靠传输的作用。提供分割与重组数据,按端口号寻址,连接管理(三次握手,四次挥手)、差错控制和流量控制、纠错的功能。传输层要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。
网络层(第三层):将数据传输到目标地址。目标地址可以是多个网络通过路由器连接而成的某一个地址。因此,这一层主要负责寻址和路由选择,网络连接建立与管理。
数据链路层(第二层):IP数据包封装成数据帧,通过物理地址来寻址,建立相邻结点之间的数据链路,通过差错控制提供数据帧在信道上无差错的传输,同时为其上面的网络层提供有效的服务。
物理层(第一层):处于OSI参考模型的最底层。利用物理传输介质为数据链路层提供物理连接,以便透明的传送比特流。物理层考虑的是怎样才能在连接各种计算机的传输介质上传输数据比特流。常用设备:集线器、中继器、调制解调器、网线、双绞线、同轴电缆。
TCP/IP四层模型
图1 OSI七层模型和TCP/IP四层模型对应关系
TCP/IP的全称为传输控制协议/网际协议 (Transmission ControlProtocol/lnteret Protocl),它是一组用于实现网络互连的通信协议,是构建internet互联网的基础,internet网络体系结构是以TCP/IP为核心的。基于TCP/IP的参考模型将协议分成四个层次,分别为应用层、传输层、网络层和物理链路层。也可以将物理链路层拆为两层,一个是数据链路层,一个是物理层,这样TCPIP模型就变成了五层一般我们使用的四层模型。
OSI七层模型和TCP/IP四层模型对应关系如图1,TCP/IP协议族最上面的是应用层(第四层),这里面有http,ftp 等等我们熟悉的协议。然后是传输层(第三层),TCP和UDP协议就在这个层次。网络层(第二层),IP协议就在这里,它负责对数据加上IP地址和其他的数据以确定传输的目标。物理链路层(第一层),这个层次为待传送的数据加入一个以太网协议头,并进行CRC编码,为最后的数据传输做准备。
数据进入TCP/IP协议栈时的封装过程
最上面的应用层的数据,进入TCP/IP协议栈时的封装过程如下:(以TCP数据为例,与TCPIP四层模型相对应)
经过传输层时,会加上TCP头部;经过网络层时,会加上IP头;经过数据链路层时,会加上以太网头。对于数据接收端,会按照相反的方向,将各层的头部剥离掉,最终到上层的数据就是发送端应用层的数据。
从数据发送到接收端的整个流程,可以用下图来说明(以QQ1给QQ2发一个“你好”的聊天内容为例)
图2
结语:网络知识很庞大,这里只是简单的入门介绍,欢迎大家点赞评论收藏,也希望能和大家进行更多的技术交流,谢谢大家!