您的位置:首页 > 理论基础

计算机网络协议体系结构简述

2020-06-05 07:43 155 查看

计算机网络体系结构

  • 3. 网络层
  • 4. 数据链路层
  • 5. 物理层
  • 如何更好的理解整个体系结构?
  • 简述

    我们把计算机网络的各层及其协议的集合,称为网络的体系结构。再换种说法,计算机网络的体系结构就是这个计算机网络及其构件所完成的功能的精确定义。但我们不能把一个计算机网络说成是一个抽象的网络体系结构,体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件与软件。

    为什么要分层?有什么优点?

    1)各层之间是独立的。某一层并不需要知道他的下一层是如何实现的,而仅仅需要知道该层通过接口提供了什么服务。由于每一层只实现一种相对独立的功能,所以可以将复杂的问题分解为若干个较容易处理的小问题,来降低问题的复杂程度。
    2)灵活性好。当任何一层发生变化时(如技术的更新),只要层间接口关系保持不变,则在其上下层均不受影响。此外当不需要此层的功能时,也可以直接将此层取消。
    3)结构上可分割开。各层可以分别采用适合当前环境的技术来实现。
    4)易于实现与维护。这种结构使得实现与调试一个庞大的系统变得易于处理,因为整个系统已经分为若干个相对独立的子系统。
    5)促进标准化工作。每一层的功能及其所提供的服务都有了精确的定义。

    为什么采用五层协议体系结构?

    OSI的七层协议体系结构概念清楚,理论完整,但较为复杂不实用。TCP/IP体系结构则不同,他已经得到了广泛的应用,他只包含四层体系结构,但从实质上讲他只有上三层,因为最下层网络接口层没有什么特别的新内容,与一般的通信链路在功能上没有很大的差别。即综合OSI与TCP/IP的优点,采用一种只有五层协议的体系结构。如下图所示:(图画的有点丑)

    各层的作用是什么?

    1. 应用层:

    简而言之,应用层协议的内容就是我们程序直接面对的,要使用的数据,也是整个网络传输要传递的内容。如何理解协议呢?协议其实就是一种规范,人与人交流需要语言互通,计算机的应用进程也一样,要遵守交互的规则。对于不同的网络应用需要遵守不同的应用层协议。如万维网的HTTP协议,电子邮件的SMTP协议,文件传送的FTP协议等等。我们将应用层交互的数据称为报文。

    2. 运输层:

    运输层是为两个主机中进程之间的通信提供通用的数据传输服务。接收到应用层进程的报文后,加装此进程的端口等信息,封装成报文段。每一个应用程序都对应一个端口号,就像门牌号一样。运输层是通用的是指他不针对于某个应用,而是多种应用可以使用同一个运输层服务也称为复用,即同时服务于多个应用。在接受信息时将数据再分发给各个应用,也称为分用。
    运输层主要使用两种协议TCP和UDP。

    TCP

    TCP 称为(Transmission Control Protocol)传输控制协议,TCP具有以下特点:
    1)面向连接:使用TCP传输数据前,必须建立TCP协议,完成后再释放连接。即三次握手四次挥手。如下为建立连接的过程:

    释放连接的过程:

    2)全双工通信:是指在建立TCP连接后,通信双方都可以发送数据。
    3)可靠:通过TCP传输的数据 不丢失,不出错,不重复,不乱序。传输过程中有丢包或者错误包的现象,让发送端重新发送。
    4)面向字节流:数据以流的形式传输,即具有流量控制和拥塞避免的功能。简单理解,流量控制就是建了个缓冲池,让接收方和发送方用合适的速率传输,不会因为传输太快导致数据丢失。比如我们有一个仓库大小就那么大,东西都还没用完,又不停地往里面存东西,那么直接结果是仓库爆了后后面送过来的货物还要重新送,还不如直接告诉发送端,仓库满了,等等吧。拥塞避免就是在网络环境差的情况下,降低低发包节奏,缓解网络环境。

    TCP的优缺点
    优点是数据传输可靠。
    缺点是效率慢(过程复杂)。

    UDP

    UDP 称为 User Datagram Protocol,即用户数据报协议,其特点如下:
    1)无连接:使用UDP传输数据无需建立连接,
    2)不可靠:不能保证数据到达接受方。就像寄信一样,写上地址给邮局就不用管了,能不能寄到目的地就不能保证了。
    3)面向报文:数据以数据报文形式发送,长度无限制,一次性发送,不会像TCP一样拆分。
    4)无拥塞控制:传输不可靠,没有拥塞控制。
    报文段格式如下:

    UDP优缺点
    优点:速度快,整个协议非常轻量。
    缺点:不可靠,如果想要保证数据的完整且接收的顺序无误,就需要应用层协议自己来保障。

    3. 网络层

    网络层负责为不同分组网络上的主机提供通信服务,是主机与主机之间的通信。运输层将数据加装进程端口等信息后封装为报文段交给网络层,网络层将报文段加装网络号与主机号等信息封装为IP数据报,简称数据报。

    IP

    IP协议
    与IP配合使用的协议还有其他三个协议,
    地址解析协议ARP
    网际控制报文协议ICMP
    网际组管理协议IGMP
    IP基于ARP,ICMP与IGMP基于IP,r如下图:

    IP地址
    IP地址为32位 = 网络号 + 主机号;
    即IP地址 ={<网络号>,<主机号>}
    其中:
    网络号:标志主机(或路由器)所连接到的网络。一个网络号在整个因特网范围内必须是唯一的。
    主机号:标志该主机(或路由器)。一个主机号在它面前的网络号所指明的网络范围必须是唯一的。
    不同类型的IP地址,其主机号 & 网络号所占字节数不同;故:一个IP地址在整个网络范围内是唯一的
    IP地址的分类:
    传统的IP地址是分类的地址,分为A,B,C,D,E五类,区别在于网络号 & 主机号占的字节数不同。

    4. 数据链路层

    两台主机的数据传输,总是在一段一段的链路上进行的,这就需要专门的链路层协议。数据链路层将网络层交下来的IP数据报加装控制信息,组装成数据帧。这样接收端就可以根据控制信息了解到应该从哪里开始读取到哪里结束。再提取出数据部分,上交自己网络层。

    三个基本问题

    1)封装成帧:在IP数据报前后添加首部和尾部,转发给物理层。
    2)透明传输:解决数据中可能存在控制字符而导致接收端丢失数据的情况,解决办法一般为字符填充,即在数据中的控制字符前加上转义字符ESC。
    3)差错检测:通过循环冗余检验来检测传输过程中产生的差错,如比特差错。

    两种协议

    1)PPP协议:计算机与ISP进行通信时使用的数据链路层协议。
    2)CSMA/CD协议:普通局域网内部使用,一台计算机发送数据时,所有数据都能检测到这个数据。
    至此数据封装全部完成:

    5. 物理层

    在上述的个协议层中已经完成了数据的封装处理,物理层就是用来将这些数据转为二进制真实的发送到目的地去。传输单位为比特。
    网络设备:中继器和集线器。

    如何更好的理解整个体系结构?

    将数据的的发送过程比作寄信,如下所示:

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: