𝓝𝓮𝓶𝓸&博客

【计算机网络】体系结构

概述

注意:红色路由选择协议
记忆方法:(因为偶爱你,所以才有了粉丝排行榜打人(狂热粉))
网络层:OAI开头(偶O爱AI你
应用层:
基于TCP:FSPHB粉F丝S排P行H榜B)(很可靠);
基于UDP:DR打D人R)(不可靠)

层次 协议 名称 英文 备注
应用层 FTP 文件传输协议 File Transfer Protocol 传输当然要可靠的TCP
SMTP 简单邮件传输协议 Simple Mail Transfer Protocol 传输当然要可靠的TCP
POP 邮局协议 Post Office Protocol 传输当然要可靠的TCP
HTTP 超文本传输协议 HyperText Transfer Protocol 传输当然要可靠的TCP
BGP 边界网关协议 Border Gateway Protocol 传输信息量大当然要可靠的TCP
DNS 域名系统 Domain Name System 一个域名多个访问,单个数据量不大,信息数目大,当然要UDP提高效率
RIP 路由信息协议 Routing Information Protocol 每个周期都要传播路由信息,信息数目大,当然要UDP提高效率
DHCP 动态主机配置协议 Dynamic Host Configuration Protocol 一对多,单个数据量不大,当然要UDP提高效率
传输层 TCP 传输控制协议 Transmission Control Protocol
UDP 用户数据报协议 User Datagram Protocol
网络层 ICMP Internet控制报文协议 Internet Control Message Protocol
OSPF 开放最短路径优先 Open Shortest Path First
IGMP 网际组管理协议 Internet Group Management Protocol
IPv4 网际协议版本4 Internet Protocol version 4
ARP 地址解析协议 Address Resolution Protocol
链路层 CSMA/CD 载波侦听多路访问/冲突检测 Carrier Sense Multiple Access with Collision Detection
CSMA/CA 载波侦听多路访问/冲突避免 Carrier Sense Multiple Access with Collision Avoidance

应用 应用层协议 端口号 运输层协议 备注
域名解析 DNS 53 UDP/TCP 长度超过 512 字节时使用 TCP
动态主机配置协议 DHCP 67/68 UDP
简单网络管理协议 SNMP 161/162 UDP
文件传送协议 FTP 20/21 TCP 控制连接 21,数据连接 20
远程终端协议 TELNET 23 TCP
超文本传送协议 HTTP 80 TCP
简单邮件传送协议 SMTP 25 TCP
邮件读取协议 POP3 110 TCP
网际报文存取协议 IMAP 143 TCP

常见网络协议

image

用一张图解释8种热门网络协议

  1. HTTP(超文本传输协议):HTTP是用于获取HTML等资源的协议,它使用TCP协议作为底层的支撑协议,它是Web上任何数据交换的基础,是一种客户端-服务器协议。使用场景:浏览器。
  2. HTTP/3:HTTP/3是HTTP的第三个版本,它使用QUIC作为底层的支撑协议,QUIC是一种为移动互联网使用而设计的新传输协议。它依赖于UDP而不是TCP,这使得网页响应速度更快,可以实现虚拟现实应用,用更多的带宽来渲染虚拟场景的复杂细节。使用场景:物联网(IOT)、虚拟现实。
  3. HTTPS(超文本传输协议安全版):HTTPS是HTTP协议的安全版本,扩展了HTTP,并使用加密进行安全通信,主打一个「安全」。使用场景:浏览器、网上银行、网上支付。
  4. WebSocket:WebSocket是一种基于TCP协议的全双工通信协议,与传统的HTTP通信不同,WebSocket允许服务器主动向客户端推送数据,而不需要等待客户端的请求。使用场景:实时聊天、视频会议、股票行情。
  5. TCP(传输控制协议):TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP是互联网的基础,用于在互联网上传输各种类型的数据,包括文本、图像、音频、视频等,许多应用层协议都建立在TCP之上。使用场景:浏览器、文件传输、邮件。
  6. UDP(用户数据报协议):UDP是一种面向无连接的、不可靠的、基于数据报的传输层通信协议。UDP是TCP的补充,UDP提高了数据传输的速度,但是可能会丢失某些数据,用于那些对可靠性要求不高的应用场景。使用场景:视频流媒体、网络游戏、实时监控。
  7. SMTP(简单邮件传输协议):SMTP是一个标准协议,是电子邮件传递的基础,用于在互联网上发送和接收电子邮件。使用场景:电子邮件。
  8. FTP(文件传输协议):FTP是文件传输协议,用于在客户端和服务器之间传输计算机文件,FTP是文件传输的基础,用于在不同计算机之间共享文件。使用场景:文件传输。

组成

  • 组成成分上看,主要由硬件软件协议
  • 工作方式上看,可分为边缘部分核心部分
  • 组成功能上看,由资源子网通信子网构成,与上面的边缘核心一一对应

功能

  • 数据通信:(最基本的功能)
  • 资源共享
  • 分布式处理
  • 提高可靠性
  • 负载均衡

分类

  • 分布范围分类:

    • 广域网(WAN, Wide Area Network):使用点对点等****交换技术(范围大)
    • 城域网(MAN, Metropolitan Area Network)
    • 局域网(LAN, Local Area Network):使用广播技术(范围小)
    • 个人区域网(PAN, Personal Area Network)
  • 传输技术分类:

    • 广播式网络
    • 点对点网络
  • 拓扑结构分类:

    网络拓扑结构是指由网中结点(路由器、主机等)与通行线路(网线)之间的几何关系表示的网络结构,主要指通信子网的拓扑结构

    • 星形网络
    • 总线型网络
    • 环形网络
    • 网状形网络

    星形总线型环形网络多用于局域网网状形网络多用于广域网

  • 使用者分类:

    • 公用网(Public Network)
    • 专用网(Private Network)
  • 交换技术分类

    • 电路交换网络:
      • 特点:
        • 交换信息的两个主机之间建立专用通道
        • 传输时延小、实时性强
        • 效率低、无法纠正错误(两个人占用了,所以效率低)
      • 优点:
        • 数据直接传送、时延小
      • 缺点:
        • 线路利用率低、不能充分利用线路容量、不便于进行差错控制
    • 报文交换网络:
      • 特点:
        • 信息拆分成报文,大小无限制,有目的/源等信息
        • 提高利用率
        • 有转发时延、要求网络结点有缓存空间(等待报文全部到达后,才能继续转发)
      • 优点:
        • 可以较为充分地利用线路容量
        • 可以实现不同链路之间不同数据率的转换
        • 可以实现格式转换
        • 可以实现一对多、多对一的访问
        • 可以实现差错控制
      • 缺点:
        • 增大了资源开销(如辅助信息导致处理时间和存储资源的开销)
        • 增加了缓冲时延,需要额外的控制机制来保证多个报文的顺序不乱序
        • 缓冲区难以管理(因为报文的大小不确定,接收方在接收到报文之前不能预知报文的大小)。
    • 分组交换网络,也称包交换网络
      • 特点:
        • 信息拆分成分组,大小有限制
        • 不需要等待分组全部到达后再转发,可以到达一个转发一个
      • 优点:
        • 具备报文交换网络的优点
        • 缓冲易于管理;
        • 包的平均时延更小,网络占用的平均缓冲区更少
        • 更易于标准化;
        • 更适合应用。(主流)
  • 传输介质分类:

    • 有线
    • 无线

局域网、广域网和互联网

其实家庭网络就是一个小型的局域网,一般包含一个电信免费送的光猫,由于光猫无线信号不好,用户会在光猫的LAN口接上一个无线路由器,于是就有了小型的家庭局域网,计算机与互联网的连通示意图:
PC --- 无线路由器 --- (LAN)光猫(WAN) --- ISP --- Internet GW --- Internet

这个示意图虽然简单,却把 LAN、WAN、Internet 三者包含了。无线路由器把电脑、手机等设备连接到局域网LAN上,分配IP地址,即私有IP,我们可以称之为LAN_IP,LAN_IP所能溜达之处,称LAN路由域。

光猫是一个边界,国家与国家之间有边界,网络之间也有边界,光猫就是局域网LAN与广域网WAN的边界。局域网LAN_IP可以在局域网LAN里遨游,但是到了边界处,即这里的光猫,就没有那么自由了,LAN_IP是光猫分配的IP,跨越边界就进入WAN了,WAN可是运营商的地盘,WAN有自己IP,WAN_IP(也称 广域网IP、外网IP、公网IP),组成一个WAN路由域。

光猫:即 光调制解调器(Optical modem),调制解调就是我们常说的Modem,其实是Modulator(调制器)与Demodulator(解调器)的简称,中文称为调制解调器。也有人跟据Modem的谐音,亲昵地称之为“猫”。我们知道,计算机内的信息是由“0”和“1”组成数字信号,而在电话线上传递的却只能是模拟电信号(模拟信号为连续的,数字信号为间断的)。于是,当两台计算机要通过电话线进行数据传输时,就需要一个设备负责数模的转换。这个数模转换器就是我们这里要讨论的Modem。计算机在发送数据时,先由Modem把数字信号转换为相应的模拟信号,这个过程称为“调制”,也成D/A转换。经过调制的信号通过电话载波传送到另一台计算机之前,也要经由接收方的Modem负责把模拟信号还原为计算机能识别的数字信号,这个过程我们称“解调”,也称A/D转换。正是通过这样一个“调制”与“解调”的数模转换过程,从而实现了两台计算机之间的远程通讯。

理解:光猫仅仅把光信号转换为电信号而已。
光猫是一种调制解调器,它是把以太光的信号,转化成上网信号的设备,电脑只有通过光猫才可以拨号上网。
而无线路由器是一个用网线可以把网络分配到几台电脑上面,并且有无线发射功能的设备。

猫只是俗称,学名其实应该叫做调制解释器,主要作用是讲模拟信号或光信号翻译成数字信号。路由器的主要功能是转发数据包,负责将你发的网络数据封装后转发给下一个设备你可以这样理解,猫就像一个翻译,只不过这个翻译只会把模拟信号或光信号翻译成0和1(0代表无电1代表有电)。路由器就好比事快递公司,负责运送你的快递,比如说你家在湖南,你从北京买了个东西,北京的物流就要把你的物流先送到河南的物流点,然后河南的物流点把东西送到湖南的物流点,湖南的物流点负责把东西送到你家,这个过程中每一个物流点都是一个路由器,而你家就是你的电脑,当然发送数据的流程也是一样的。

光猫通过PPPoE拨号,从ISP拿到了WAN_IP,这是WAN路由域的特别通行证,所有局域网的上网流量,必须在光猫处,完成 LAN_IP<--->WAN_IP 地址转换(NAT),统一换成特别通行证才可以在WAN路由域里继续遨游。

持有WAN_IP的IP包顺利到达下一个边界,Internet Gateway,这是通往互联网Internet的最后一道关卡,即边界。左边是WAN路由域,右边是互联网路由域,如果运营商财大气粗,WAN_IP全是IANA分配的Global_IP (全球唯一,可以在世界任何地方访问此IP),则这些携带WAN_IP的IP包直接进入互联网。

如果运营商的WAN_IP也是私有的,则也要做 WAN_IP 与 Global_IP 的地址转换,然后用Global_IP这个全球通用通行证遨游互联网。

Global_IP 可以到达全球任何角落,包括家庭局域网:

  • Global_IP:局域网路由域+广域网路由域+互联网路由域
  • WAN_IP:局域网路由域+广域网路由域
  • LAN_IP:局域网路由域

既然LAN_IP 只在局域网路由域合法,那如果进入广域网路由域是否要换一个合法的身份?
同理,WAN_IP在互联网路由域不合法,则必须做身份转换,这些工作都是NAT的基本职责,这方面内容在网络层会讲到。

性能指标

一般都考虑线路速度,所以单位一般都是b/sB记得×8

  • 带宽(Bandwidth):在计算机网络中,表示网络的通信线路所能传送数据的能力,是数字信道所能传送的“最高数据率”的同义语,单位是比特/秒(b/s)

    注意:KMGT,昆明高铁,不要漏掉其中一个,不然换算会错误)
    此处通信领域,表示速率(如 b/s)时,K=\(10^3\)M=\(10^6\)G=\(10^9\)T=\(10^{12}\)
    而计算机领域,表示存储容量(如 b)文件大小时,K=\(2^{10}\)M=\(2^{20}\)G=\(2^{30}\)T=\(2^{40}\)

  • 时延(Delay):指数据(一个报文或分组)从网络(或链路)的一段传送到另一端所需要的总时间,它由4部分构成:发送时延、传播时延、处理时延和排队时延。(总时延=发送时延+传播时延+处理时延+排队时延
    • 发送时延也称传输时延:$$发送时延=分组长度/信道宽度$$
    • 传播时延:$$传播时延=信道长度/电磁波在信道上的传播速率$$
    • 处理时延
    • 排队时延

      注意:做题时,排队时延和处理时延一般可忽略不计(除非题目另有说明)。

另外,对于高速链路,提高的仅是数据发送速率而非比特在链路上的传播速率。提高数据的发送速率只是为了减少数据的发送时延

  • 时延带宽积=传播时延*信道带宽(即 管道体积=长度*横截面面积
  • 往返时延(Round-Trip Time, RTT)
  • 吞吐量(Throughput):指单位时间内通过某个网络(或信道、接口)的数据量。吞吐量受网络带宽或网络额定速率的限制。
  • 速率(Speed):指连接到计算机网络上的主机在数字信道上传送数据的速率,也称数据率或比特率,单位为b/s(比特/秒)(或bit/s,有时也写为bps)。通常把最高数据率称为带宽。
  • 最大吞吐率=一个RTT传输的有效数据/一个RTT的时间

体系结构与参考模型

计算机网络分层结构

计算机网络的各层及其协议的集合称为网络的体系结构(Architecture)

  • 在计算机网络体系结构的各个层次中,每个报文都分为两部分:一是数据部分,即SDU;而是控制信息部分,即PCI,他们共同组成PDU
  • 服务数据单元(SDU, Service Data Unit):指为完成用户所要求的功能而应传送的数据(即 层与层之间交换的数据的单位
  • 协议控制信息(PCI, Protocol Control Information):控制协议操作的信息(即 协议
  • 协议数据单元(PDU, Protocol Data Unit)对等层次之间传送的数据单位称为该层的PDU(PCI(协议)+SDU(数据)=PDU(报文)

    在实际的网络中,每层的协议数据单元都有一个通俗的名称,如物理层的PDU称为比特,链路层的PDU称为帧,网络层的PDU称为分组,传输层的PDU称为报文。

  • 三者关系:(n-SDU+n-PCI=n-PDU=(n-1)-SDU
    在各层间传输数据时,把从第n+1层收到的PDU(报文)作为第n层的SDU(数据),再加上第n层的PCI(协议),就变成了第n层的PDU。

网络体系结构模型

  • OSI,TCP/IP,五层协议的体系结构,以及各层协议

OSI分层 (7层) 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层
TCP/IP分层(4层) 网络接口层 -- 网际层 传输层 -- -- 应用层
五层协议(5层) 物理层 数据链路层 网络层 传输层 -- -- 应用层

OSI参考模型

国际标准化组织(ISO)提出的网络体系结构模型。
巫术网传会表演(物数网传会表应):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

  • 物理层(Physical Layer):(物理传输)

    • 传输单位:比特(bit)
    • 服务访问点(SAP):网卡接口

      服务访问点是相邻层实体之间的逻辑接口。

    • 任务:
      透明的传输比特流(注意这个透明的意思,是表示“看不见”的意思,而不是一览无余)
      负责将数据报通过链路从一个节点传输到相邻的节点
    • 功能:
      在物理媒体上为数据段设备透明地传输原始比特流
    • 作用:
      通过媒介传输比特,确定机械及电气规范(比特Bit)

      注意:传输信息所利用的一些媒体,如双绞线、光缆、无线信道等,并不在物理层协议之内,而在物理层协议下面。因此,有人把物理媒体当作第0层

  • 数据链路层(Data Link Layer):(无线-有线)(节点-节点)(数据的交通工具)(逻辑传输)

    说它是数据的交通工具是因为,在路由转发时,网络地址不变,链路层地址变化。(即 IP源、目的地址不变,只是交通工具MAC地址改变了
    应用层、传输层和网络层的通信是端到端(即 起始地到目的地,公交车的起始站到终点站)的,而数据链路层的通信是节点到节点(即 起始地到沿途经过地到目的地,公交车的每一站之间都是节点到节点)的。在网络中,将端主机和路由器视为节点,将它们之间的网络视为链路。

    • 传输单位:帧(唯一一个有头有尾)(Frame)
    • 服务访问点(SAP):MAC地址
    • 任务:
      将网络层传来的IP数据报组装成帧(提供点到点的通信)(即 主机到主机)
    • 功能:
      成帧差错控制流量控制传输管理等。
    • 三大基本功能:(坟头草,封透差
      封装成帧透明传输差错检测

      注意:这里没有拥塞控制,因为拥塞控制是涉及整个网络是否拥塞的问题,而不是单独的数据链路。

    • 作用:
      将比特组装成帧和点到点的传递(帧Frame)

      从本质上说,由物理层、数据链路层和网络层组成的通信子网为网络环境中的主机提供点到点的服务,而传输层为网络中的主机提供端到端的通信

  • 网络层(Network Layer):(主机-主机)

    • 传输单位:数据报(Packet)分组)(包)
    • 服务访问点(SAP):IP地址
    • 任务:
      它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务
    • 功能:
      对分组进行路由选择,并实现流量控制拥塞控制差错控制网际互联等功能
    • 作用:
      负责数据包从源到宿的传递和网际互连(包Packet)
  • 传输层(Transport Layer):也称运输层(进程-进程)

    • 传输单位:报文段(TCP)(Segment)或用户数据报(UDP)报文
    • 服务访问点(SAP):端口号
    • 任务:
      负责主机中两个进程之间的通信(提供端到端的通信)(即 运行在不同主机内的两个进程之间的通信)
    • 功能:
      为端到端连接提供可靠的传输服务,为端到端连接提供流量控制差错控制服务质量数据传输管理等服务
    • 作用:
      提供端到端的可靠报文传递和错误恢复(段Segment)

      点到点数据链路层的说法,因为数据链路层只负责直接相连的两个结点之间的通信,一个结点的数据链路层接受网络层数据并封装之后,就把数据帧从链路上发送到与其相邻的下一个结点。
      端到端传输层的说法,因为无论TCP还是UDP协议,都要负责把上层交付的数据从发送端传输到接收端,不论其中间跨越多少结点。只不过TCP比较可靠而UDP不可靠而已。所以称之为端到端,也就是从发送端到接收端

  • 会话层(Session Layer):

    • 任务:
      允许不同主机上的各个进程之间进行会话
    • 功能:
      主要为表示层实体或用户进程建立连接在连接上有序地传输数据,这就是会话,也称为建立同步(SYN)
    • 作用:
      建立、管理和终止会话(会话协议数据单元SPDU)
  • 表示层(Presentation Layer):

    • 任务:
      主要处理在两个通信系统中交换信息的表示方式,表示出用户看得懂的数据格式
    • 功能:
      • 为使不同表示方法的数据和信息之间能相互交换,表示层采用的抽象的标准方法定义数据结构,并采用标准的编码格式。
      • 数据压缩、加密、解密也是表示层可提供的数据表示变换功能
    • 作用:
      对数据进行翻译、加密和压缩(表示协议数据单元PPDU)
  • 应用层(Application Layer):(用户-用户)

    • 服务访问点(SAP):用户界面
    • 任务:
      应用层是用户网络界面。为特定类型的网络应用提供访问OSI环境的手段
    • 作用:
      允许访问OSI环境的手段(应用协议数据单元APDU)
    • 特点:最复杂的一层
  • 数据→(分割成)报文→(封装成)分组→(封装成)数据帧→比特流

  • 每一层的协议如下:

    • 物理层: RJ45、CLOCK、IEEE802.3 (中继器,集线器,网关)
    • 数据链路层: PPP、FR、HDLC、VLAN、MAC (网桥,交换机)
    • 网络层: IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器)
    • 传输层: TCP、UDP、SPX
    • 会话层: NFS、SQL、NETBIOS、RPC
    • 表示层: JPEG、MPEG、ASII
    • 应用层: FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS

TCP/IP模型

ARPA在研究ARPAnet时提出的TCP/IP模型。(实际执行的国际标准)

  • 网络接口层:

    • 功能:
      类似于OSI的物理层和数据链路层
    • 作用:
      从主机或结点接收IP分组,并把它们发送到指定的物理网络上
  • 网际层:(主机-主机)

    • 功能:
      类似于OSI网络层,但它不保证各个分组有序地到达,各个分组的有序交付由高层负责
    • 定义了标准的分组格式和协议,即 IP
  • 传输层:(应用-应用 或 进程-进程)

    • 功能:
      类似于OSI中的传输层
    • 协议:
      • 传输控制协议(Transmission Control Protocol, TCP):
        • 面向连接,能够提供可靠的交付
        • 传输单位:报文段
      • 用户数据报协议(User Datagram Protocol, UDP):
        • 无连接,不保证提供可靠的交付,只能提供“尽最大努力交付”
        • 传输单位:用户数据报
  • 应用层:(用户-用户)

  • 注意:

    • OSI参考模型:
      • 网络层:
        • 无连接
        • 面向连接
      • 传输层:
        • 面向连接(只有这一个)
    • TCP/IP模型:(我们常用的)
      • 网络层:
        • 无连接
      • 传输层:
        • 无连接
        • 面向连接

注意:****OSI参考模型网络层支持无连接面向连接的通信,但在传输层仅有面向连接的通信。
TCP/IP模型认为可靠性是端到端的问题,因此它在网际层仅有一种无连接的通信模式,当在传输层支持无连接面向连接两种模式。

总结

计算机网络的传输过程其实是这样的

  1. 应用层负责从用户到用户传输,呈现用户界面。负责建立连接,数据格式转换,最终呈现给用户。
  2. 运输层负责进程之间的传输,从端(端口号)到端传输,装载端口号
  3. 网络层负责主机之间的传输,从端(IP地址)到端传输,在网络间跨网络传输,装载IP地址(起始地,目的地);
  4. 数据链路层负责从节点(网卡的MAC地址)到节点传输,在局域网中传输,装载MAC地址(充当交通工具);
  5. 物理层负责从物理网卡接口到接口传输,物理传输,装载二进制比特流

为了实现跨越互联网的,主机 A 的进程 P1,和主机 B 的进程 P2 之间的通信,我们逐层把这个任务交给 TCP/IP 协议栈。

  • 运输层(port:港口、端口,与运输有关):“如果有人能帮我把数据从某个网络中的机器 A 搬到另一个网络中的机器 B,我就可以搞定这个任务,因为我知道不同的数据应该交给机器上的哪个进程端口。
  • 网络层(ip):“如果有人能帮我把数据从局域网中直接相连的一台机器搬到另一台机器,我就可以把数据从一个网络搬到另一个网络,因为我知道路线怎么走,要经过哪些节点。
  • 数据链路层(MAC):“我知道怎样在局域网中搬数据,还能用 CSMA/CD 协议协调工作,还能用 CRC32 校验发送的数据和接收的数据是一致的,balabala... But,我只是说说,我不干苦力活。”
  • 物理层:“楼上的大爷们发话了,兄弟们上。”
posted @ 2019-09-11 22:55  Nemo&  阅读(2174)  评论(0编辑  收藏  举报