精华内容
下载资源
问答
  • OSI七层协议大白话解读

    万次阅读 多人点赞 2018-08-02 16:59:48
    互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是让你明白...

    互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是让你明白哪一层是干什么用的。

    每一层都运行不同的协议。协议是干什么的,协议就是标准。

    实际上还有人把它划成五层、四层。

    七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

    五层划分为:应用层、传输层、网络层、数据链路层、物理层

    四层划分为:应用层、传输层、网络层、网络接口层

    物理层:

    字面意思解释:物理传输、硬件、物理特性。在深圳的你与北京的朋友聊天,你的电脑必须要能上网,物理体现是什么?是不是接一根网线,插个路由器,北京的朋友那边是不是也有根网线,也得插个路由器。也就是说计算机与计算机之间的通信,必须要有底层物理层方面的连通,就类似于你打电话,中间是不是必须得连电话线。

    中间的物理链接可以是光缆、电缆、双绞线、无线电波。中间传的是电信号,即010101...这些二进制位。

    底层传输的010010101001...这些二级制位怎么才能让它有意义呢?

    要让这些010010101001...有意思,人为的分组再适合不过了,8位一组,发送及接收都按照8位一组来划分。接收到8位为一组的话,那么就可以按照这8位数来做运算。如果没有分组,对方接收的计算机根本就不知道从哪一位开始来做计算,也解析不了收到的数据。我发了16位你就按照16位来做计算吗?我发100位你就按照100位做计算吗?没什么意义是吧。因此要想让底层的电信号有意义,必须要把底层的电信号做分组。我做好8位一组,那么我收到数据,我就知道这几个8位做一组,这几个8位做一组。那么每个8位就可以得到一个确定的数。分组是谁干的活呢?物理层干不了,这个是数据链路层干的。

    数据链路层

    早期的时候,数据链路层就是来对电信号来做分组的。以前每个公司都有自己的分组方式,非常的乱,后来形成了统一的标准(标准就是协议),即以太网协议Ethernet。

    Ethernet规定

    一组电信号称之为一个数据包,或者叫做一个“帧”

    • 每一数据帧分成:报头head和数据data两部分

    head包含:(固定18个字节)

    • 发送者(源地址,6个字节)
    • 接收者(目标地址,6个字节)
    • 数据类型(6个字节)

    data包含:(最短46字节,最长1500字节)

    • 数据包的具体内容

    head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送。

    这就像写信,发送者的地址(源地址)就是你家的地址,接收者地址(目标地址)就是对方的收信地址,你家的路由器就相当于邮局。其实在计算机通信中的源地址和目标地址指的是mac地址

    Mac地址的由来:

    head中包含的源和目标地址由来:Ethernet规定接入Internet的设备都必须具备网卡,发送端的和接收端的地址便是指网卡的地址,即Mac地址。

    每块网卡出厂时都被烧录上一个实际上唯一的Mac地址,长度为48位2进制,通常由12位16进制数表示,(前六位是厂商编码,后六位是流水线号)

    有了mac地址以后,计算机就可以通信了,假设一个教室就是一个局域网(隔离的网络),这个教室里面有几台计算机,计算机的通信和人的通信是一个道理,把教室里面的人都比作一个个计算机,假设教室里面的人都是瞎子,其实计算机就是瞎子的,计算机通信基本靠吼,现在我要找教室里面的飞哥要战狼2的片,然后我就吼一声,说我要找飞哥要战狼2的片,战狼2的片就属于我的数据,但是我在发的时候我是不是要标识我是谁,我要找谁,我是谁就是我的mac地址,我要找谁就是飞哥的mac地址,这两个地址做数据包的头部,再加上数据战狼2的片就构成了一个数据帧。

    这个数据包封装好以后就往外发,到物理层以后就全部转成二级制,往外发是怎么发的呢?就是靠吼。即“我是Edison,我找飞哥要战狼2的片”。这么吼了一嗓子以后,全屋子的人都能听到,这就是广播。

    计算机底层,只要在一个教室里(一个局域网),都是靠广播的方式,吼。

    局域网的理解:什么是互联网,互联网就是由一个个局域网组成,局域网内的计算机不管是对内还是对外都是靠吼,这就是数据链路层的工作方式-----广播。

    广播出去以后,所有人都听得见,所有人都会拆开这个包,读发送者是谁,接收者是谁,只要接收者不是自己就丢弃掉。对计算机来说,它会看自己的Mac地址,飞哥收到以后,他就会把片发给我,发送回来同样采用广播的方式了,靠吼。

    同一个教室(同一个局域网)的计算机靠吼来通信,那不同教室的计算机又如何?

    比如说局域网1的pc1与局域网2的pc10如何通信?你在教室1(局域网1)吼,教室2(局域网2)的人肯定是听不见的。这就是跨网络进行通信,数据链路层就解决不了这个问题了,这就得靠网络层出面了。

    在讲网络层之前,其实基于广播的这种通信就可以实现全世界通信了,你吼一声,如果全世界是一个局域网,全世界的计算机肯定可以听得见,从理论上似乎行得通,如果全世界的计算机都在吼,你想一想,这是不是一个灾难。因此,全世界不能是一个局域网。于是就有了网络层。

    网络层:

    网络层定义了一个IP协议,

    你想,我是这个教室的一个学生,我想找隔壁教室一个叫老王的学生,我也不认识老王,那怎么办,我吼?老王在另外一个教室肯定是听不到的。找教室的负责人,这个教室的负责人就负责和隔壁教室的负责人说话,说我们教室的有个学生要找你们教室的老王。往外传的东西交给负责人就可以了,内部的话上面已经提到,通过广播的方式,对外的东西广播失效。教室的负责人就是网关,网关即网络关口的意思。

    Mac地址是用来标识你这个教室的某个位置,IP地址是用来标识你在哪个教室(哪个局域网)。你要跨网络发包你是不是要知道对方的IP地址,比如你要访问百度,你肯定得知道百度服务器的IP地址。计算机在发包前,会判断你在哪个教室,对方在哪个教室,如果在一个教室,基于mac地址的广播发包就OK了;如果不在一个教室,即跨网络发包,那么就会把你的包交给教室负责人(网关)来转发。Mac地址及IP地址唯一标识了你在互联网中的位置。

    数据链路层中会把网络层的数据包封装到数数据链路层的数据位置,然后再添加上自己的包头,再发给物理层,物理层发给网关,网关再发给对方教室的网关,对方教室的网关收到后在那个教室做广播。

    在数据链路层看,数据封装了两层,跟玩俄罗斯套娃有点类似,一层套了一层。

    最终变成

    现在来看另一个问题,在吼之前怎么知道对方的Mac地址?这就得靠ARP协议。

    ARP协议的由来:在你找飞哥要片之前,你的先干一件事,想办法知道飞哥的Mac地址。即你的机器必须先发一个ARP包出去,ARP也是靠广播的方式发,ARP发送广播包的方式如下:

    局域网中怎么获取对方的Mac地址:

    肯定要知道对方的IP地址,这是最基本的,就像你要访问百度,肯定得知道百度的域名,域名就是百度的IP地址。自己的IP可以轻松获得,自己的Mac也轻松获取,目标Mac为12个F,我们叫广播地址,表达的意思是我想要获取这个目标IP地址172.16.10.11的机器的Mac地址。Mac为12个F代表的是一种功能,这个功能就是获取对方的MAC地址,计算机的Mac永远不可能是12个F。假设是在本教室广播,一嗓子吼出去了,所有人开始解包,只有IP地址是172.16.10.11的这个人才会返回他的Mac地址,其他人全部丢弃。发回来源Mac改成飞哥自己的Mac地址,同时把飞哥的Mac地址放在数据部分。

    跨网络怎么获取对方的Mac地址:

    通过IP地址区分,计算机运算判断出飞哥不在同一个教室,目标IP就变成了网关的IP了。网关的IP在计算机上配死了,可以轻松获取。

    这样网关就会把它的Mac地址返回给你,然后正常发包

    网关帮你去找飞哥,但对用户来说,我们根本就感觉不到网关的存在。

    传输层

    传输层的由来:网络层的ip帮我们区分子网,以太网层的mac帮我们找到主机,然后大家使用的都是应用程序,你的电脑上可能同时开启qq,暴风影音,等多个应用程序,

    那么我们通过ip和mac找到了一台特定的主机,如何标识这台主机上的应用程序,答案就是端口,端口即应用程序与网卡关联的编号。

    传输层功能:建立端口到端口的通信

    补充:端口范围0-65535,0-1023为系统占用端口

    tcp协议:

    可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

    以太网头ip 头              tcp头              数据                                                    

     

    udp协议:

    不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。

    以太网头ip头                     udp头                           数据              

     

     

    应用层

    应用层由来:用户使用的都是应用程序,均工作于应用层,互联网是开发的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式 。

    应用层功能:规定应用程序的数据格式。

    例:TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等等。那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。

     

     

     

    展开全文
  • 网络七层协议

    千次阅读 热门讨论 2017-12-26 14:29:35
    OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范。OSI模型有7层结构, OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据...七层协议知识: 应用层 (Application)

              OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范。OSI模型有7层结构, OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 ;其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端的数据流。

        1.七层协议知识:

         应用层 (Application)

             网络服务与最终用户的一个接口。
             协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP

         表示层(Presentation Layer)

             数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)
             格式有,JPEG、ASCll、DECOIC、加密格式等

         会话层(Session Layer)

             建立、管理、终止会话。(在五层模型里面已经合并到了应用层)
             对应主机进程,指本地主机与远程主机正在进行的会话

         传输层 (Transport)

             定义传输数据的协议端口号,以及流控和差错校验。
             协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层

         网络层 (Network)

             进行逻辑地址寻址,实现不同网络之间的路径选择。
             协议有:ICMP IGMP IP(IPV4 IPV6) ARP RARP

             建立逻辑连接、进行硬件地址寻址、差错校验[2] 等功能。(由底层网络定义协议)将比特组合成字节进而组合成帧,用MAC地址访问介质,错误发现但不能纠正。

         物理层(Physical Layer)

             建立、维护、断开物理连接。(由底层网络定义协议)

         2.图表简易介绍七层:

    这里写图片描述

         3.七层传输概要:

              1.当要发送信息时,应用层将数据编码,送到传输层.
             2.传输层对数据进行分段,并加上头部信息:本地端口号,目的端口号等信息
             3.网际层对数据段加装头部信息:本地IP地址,对方网关IP地址,上层协议(TCP或UDP)等信息
             4.网络访问层对数据包加装帧头帧尾:本地MAC,网关MAC地址,检验等等,
             5.网卡将封装后的数据转换成bit流送往网关.
             6,网关接收bit流后,还原为数据帧.再拆开帧头,拆开IP包头,查找路由表,路由到相应端口,用端口MAC地址替换源MAC.送上外部网络.
             7.外部网络将数据交到对方网关.

         4.根据自己的理解,简单描述七层之间的数据交互。

    这里写图片描述

    展开全文
  • OSI 网络七层协议 简介: OSI是一个开放性的通信系统互连参考模型,它是一个定义得非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。 一共概况有7层 7.应用层 6.表示层 5.会话层 4.传输层 3.网络层 2.数据...

    OSI 网络七层协议

    简介:

    OSI是一个开放性的通信系统互连参考模型,它是一个定义得非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。
    一共概况有7层

    7.应用层
    6.表示层
    5.会话层
    4.传输层
    3.网络层
    2.数据链路层
    1.物理层
    

    在这里插入图片描述

    各层的功能:

    7.应用层

    这一层应该是我们经常接触的
    为应用程序提供服务并且规定通信的规范和细节

    常见的协议:
    HTTP(超文本传输协议):基本的c/s架构的访问协议.
    FTP(文件传输协议):提供交互式的访问,基于客户服务器模式,面向连接,使用TCP可靠的传输服务
        主要功能:减少/消除不同操作系统下文件的不兼容性
    TELNET(远程登录协议):c/s架构 ,网络虚拟终端
    SMTP(简单邮件传输协议)
    DNS(域名解析协议):DNS是一种可以将域名和IP地址相互映射的层次结构的分布式数据库系统

    6.表示层

    这一层主要负责数据格式的转换

    将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式
    确保一个系统的应用层信息可被另一个系统应用层读取。具体来说,就是将设备固有的数据格式转换为网络标准传输格式,不同设备对同一比特流解释的结果可能会不同;因此,主要负责使它们保持一致。

    5.会话层

    负责建立和断开通信连接

    4.传输层

    传输层是OSI中最重要、最关键的一层,是唯一负责总体的数据传输和数据控制的一层。

    主要功能:

    1、为端到端连接提供传输服务

    2、这种传输服务分为可靠和不可靠的,其中TCP是典型的可靠传输,而UDP则是不可靠传输

    3、为端到端连接提供流量控制,差错控制,服务质量等管理服务

    常见的协议:
    TCP: 面向连接 ,可靠性强, 传输效率低
    UDP: 无连接,可靠性弱,传输效率快

    3.网络层

    典型的设备:路由器

    将数据传输到目标地址;
    目标地址可以使多个网络通过路由器连接而成的某一个地址,主要负责寻找地址和路由选择,网络层还可以实现拥塞控制、网际互连等功能

    在这一层,数据的单位称为数据包(packet)

    网络层协议的代表包括:IP、IPX、RIP、OSPF等

    2.数据链路层

    典型的设备:交换机 网桥 网卡

    负责物理层面上的互联的、节点间的通信传输(例如一个以太网的相连的2个节点之间的通信);该层的作用包括物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。

    在这一层,数据的单位称为帧(frame)

    数据链路层协议的代表包括:ARP、RARP、SDLC、HDLC、PPP、STP、帧中继等

    1.物理层

    负责0、1比特流(0/1序列)与电压的高低、光的闪灭之间的转换
    这一层离我们太远了 不需要了解

    展开全文
  • 网络七层协议和TCP/IP五层协议

    千次阅读 2017-04-24 21:48:14
    网络七层协议] [TCP/IP 协议] 7.应用层:具体文字赋予动作能力,如HTTP,TELNET ===》4.应用层 6.表示层:定义数据格式的显示方式,如加密 5.会话层:如何建立结束session,如:SQL 4.传输层 :为...

    [网络七层协议]                                    [TCP/IP 协议]

    7.应用层:具体文字赋予动作能力,如HTTP,TELNET                                 ===》4.应用层

    6.表示层:定义数据格式的显示方式,如加密

    5.会话层:如何建立结束session,如:SQL

    4.传输层 :为端到端链接提供管理服务,如TCP、UDP ,相当于缓存          ===》3.传输层

    3.网络层:定义路由实现方式和学习方式,如IP IPX                                      ===》2.网络互联层{1.IP   2.ICMP(互联网控制报文协议)3.IGMP(互联网组管理协议)}

    2.数据链路层:隧道,如交换机

                                                                                                                        }===》1.网络接入层

    1.物理层:设备


    PS:相关问题

    1.TCP和UDP的区别?

     TCP:面向有链接的协议,代表如:三次握手(请求,应答,发包),发送前会先确认链接建立的情况下再发送包,可靠性比较强

     UDP:面向无链接的协议,代表如:ping(机器之间是无链接的,能不能Ping通完全看机缘),消息发送比较高效


    2.网关和代理的区别?

    首先要知道这两者的功能是什么?它们主要为了节省IP资源

    然后再区别:

    代理服务器:位于应用浏览器和web服务器之间起缓存和代用户获取网络和处理需求的服务器,类似IGP

    网关:不同网络间的过渡桥梁,因不过滤用户信息而不安全。类似BGP

    具体参考一篇好文http://blog.csdn.net/aotony_1988/article/details/42062071


    3.http协议

    协议包含内容:

    方法类型:GET、POST(创建)、PUT(更新)、DELETE

    Host+URL

    Accept

    Content-type:text/html

    报文体

    相应类型:

    1xx:信息响应类,表示接收到请求并且继续处理
    2xx:处理成功响应类,表示动作被成功接收、理解和接受
    3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理
    4xx:客户端错误,客户请求包含语法错误或者是不能正确执行
    5xx:服务端错误,服务器不能正确执行一个正确的请求


    展开全文
  • ISO七层协议功能

    千次阅读 2019-05-21 17:09:43
    ISO七层协议功能 ISO为了更好的使网络应用更为普及,就推出了OSI参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。提供各种网络服务功能的计算机网络系统是非常...
  • 7层是指OSI七层协议模型,主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。  OSI是Open ...
  • OSI网络七层协议

    千次阅读 2019-09-08 17:23:32
    OSI(Open System Interconnect),即开放式系统互联参考模型,一般都叫OSI参考模型,是ISO(国际标准化组织)在1985年提出的一个试图将各种计算机或者...OSI七层协议模型主要有:应用层(Application)、表示层(Prese...
  • 五层网络协议,各层功能,各层协议

    万次阅读 多人点赞 2018-05-11 11:21:01
    一、OSI七层模型OSI七层协议模型主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。三、五层...
  • 网络七层协议的通俗理解

    千次阅读 多人点赞 2018-07-10 11:12:55
    网络七层协议的通俗理解 网络七层协议的通俗理解 需求1: 需求2: 需求3: 需求4: 需求5: 需求6: 需求7: Socket: OSI七层模式简单通俗理解 这个模型学了好多次,总是记不住。今天又看了一遍,...
  • 七层是指OSI(Open System Interconnect的缩写,意为开放式系统互联)七层协议模型,主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链...
  • 简洁易懂——网络七层协议

    千次阅读 2018-09-26 23:13:17
    国际标准化组织ISO于1984年提出了OSI(Open Ssystem Interconnection Reference Model,开放系统互联参考模型)。OSI很快成为计算机网络通信...第七层,应用层。层次结构如下图。 物理层 物理层负责连接计算机与...
  • 七层和四层网络协议模型功能介绍

    千次阅读 2016-12-08 20:44:41
    1、OSI个层次的功能 物理 为数据链路提供物理连接,在其上串行传送比特流,即所传送数据的单位是比特。此外,该中还具有确定连接设备的电气特性物理特性等功能。 数据链路 负责在网络节点间的线路...
  • 网络七层协议详解

    千次阅读 2013-08-28 11:00:26
    网络七层协议 百科名片   网络七层协议 OSI是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。 OSI的7层从上到下分别是 7 应用层...
  • 网络七层协议,五层协议概述

    千次阅读 2018-04-20 16:46:38
    一、七层协议: 1、应用层: 针对特定应用的协议(如:电子邮件协议E-mail、远程登录协议SSH,文本传输协议FTP、网络请求协议HTTP) 2、表示层: 信息的语法语义以及它们的关联,如加密,解密,转换翻译,压缩解...
  • OSI七层网络协议

    千次阅读 2018-11-26 22:04:16
    在前一篇博客[运维往事 一次负载均衡坏点检测事故](https://blog.csdn.net/xindoo/article/details/83473664)中我提到了在生产环境中在第四层七层做healthCheck,这个第四层七层到底是什么意思呢?...
  • 网络七层协议的形象说明

    千次阅读 2017-07-27 10:05:12
    七层模型在Windows程序下的体现: 物理层----就是我们看得见的网卡。网卡的作用就是把线路发送过来的高频电流转化数据包,然后传给网卡驱动程序,同是也把网卡驱动程序传送过来的数据包转化成电信号传送出去。定义...
  • 计算机网络七层协议

    万次阅读 2019-06-14 16:48:41
    OSI(open system interconnect开放系统互联)七层模型:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。 对等层之间不能相互直接通信,各层之间是严格单向依赖,上层使用下层提供的服务,下层向上...
  • OSI网络七层协议以及每层的作用

    千次阅读 2015-03-31 21:21:17
    OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能使就是帮助不同类型的主机实现数据传输。 OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层...
  • 网络五层协议与O SI七层协议

    千次阅读 2017-09-05 10:32:58
    如果大学的计算机基础不错,这应该都是 计算机网络教材里面的内容。之前在面试的时候面试官有问过类似的通信知识,瞬间石乐志。于是在自己原有的 理解上重新学习一遍,记下此篇。
  • 七层网络协议

    万次阅读 2018-03-26 10:59:41
    一、OSI七层网络协议OSI是Open System Interconnect的缩写,意为开放式系统互联。OSI参考模型各个层次的划分遵循下列原则:1)根据不同层次的抽象分层2)每层应当有一个定义明确的功能3)每层功能的选择应该有助于...
  • OSI网络七层协议 OSI模型有7层结构,从上到下分别是 >>应用层 >> 表示层 >> 会话层 >> 传输层 >> 网络层 >> 数据链路层 >> 物理层 其中高层(即7、6、5、4层)定义了...
  • 网络七层协议 说明

    千次阅读 2010-11-16 18:28:00
     国际标准化组织ISO 于1981年正式推荐了一个网络系统结构----七层参考模型,叫做开放系统互连模型(Open System Interconnection,OSI)。由于这个标准模型的建立,使得各种计算机网络向它靠拢, 大大推动了网络...
  • 一:物理 二:数据链路 三:网络层 四:传输 五:会话 六:表示 :应用
  • 网络编程-网路七层协议

    千次阅读 2017-08-04 22:36:34
    网路七层协议图 了解网络协议(Network Protocol)之间的关系对网络...这些网络协议图虽然遵循OSI七层网络协议,但是对于网络七层协议分类并不清晰,特别对于 TCP/IP协议不够直观。另一方面,现在网上能找到的协议图

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 83,084
精华内容 33,233
关键字:

网络的七层协议和功能