什么是Internet

组成角度来看互联网可以分为三个部分:

  • 边缘:端系统(包括应用)+接入网
  • 核心:网络交换设备+通信链路
  • 协议:对等层实体通信过程中遵守的规则的集合(语法、语义、时序)

服务角度来看:

  • 通信服务基础设施
  • 应用

互联网中有许多个ISP(internet service provider 译为互联网服务提供商 类似中国电信,中国移动,中国联通)。一个ISP连接这许多主机设备,再将这些ISP连接起来,就构成了互联网。


应用交互

网络的建立是为了满足需要的应用交互模式。

C/S模式

客户(client)服务器(server)方式所描述的是进程之间服务和被服务的关系:客户是服务的请求方,服务器是服务的提供方,服务器提供服务,客户请求服务。如下简图:

特点

多个客户进程可以同时访问一个服务进程,一个客户进程可以同时访问多个服务器进程提供的服务。

客户主动向远地服务器发起通信(请求服务)。因此,客户必须知道服务器程序的地址,同时却不需要特殊的硬件和很复杂的操作系统。

服务器系统启动后即自动调用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。因此,服务器程序不需要知道客户程序的地址,但一般需要强大的硬件和高级的操作系统支持。

P2P模式

对等连接(peer-to-peer,简写为 P2P),指通过直接交换信息的方式共享计算机资源和服务的工作模式。简图如下:

特点

只要两个主机都运行了对等连接软件(P2P 软件),它们就可以进行平等的、对等连接通信,不分服务请求方还是服务提供方。

对等连接方式从本质上看仍然是使用客户服务器方式,只是淡化服务提供者与服务使用者的界限,每一个主机既是客户又同时是服务器。

两者区别

C/S与P2P模式的差别主要在应用层

C/S:DNS,SMTP,FTP,Web
P2P:支持文件共享类Napster与BitTorrent服务协议、支持多媒体传输类Skype服务的协议。P2P网络是在IP网络上构建的一种逻辑的覆盖网,P2P是一种网络的覆盖模式。


线路的连接交换

在网络的构建中最重要的是连接,而在现今的通信网交换方式有三种:电路交换报文交换分组交换

电路交换

电路交换(CS:circuit switching),又称线路交换,是通信网中最早出现的一种交换方式,主要应用于电话通信网中。

电路交换的主要过程可分为连接建立信息传送释放连接。整个报文的比特流连续的从源点直达终点,好像在一个管道中传送。

特点

独占性

在建立之后、释放之前,即使站点之间无任何数据可以传输,整个线路仍不允许其他站点共享

就和打电话一样,只要电话打通,即使不说话,电话也是占线状态,电话费还在计算。如上图,红色箭头的线路表示服务器到主机2的电路交换线路。当此线路建立以后,服务器到主机1的线路就不能使用红色的部分,直到服务器到主机2的线路释放才行。

优点

实时性

由于电路交换的独占性,一旦电路建立,通信双方的所有资源(包括线路资源)均用于本次通信。因此,除了传播延迟传播时迟=链路长度(m)/传播速率(m/s))之外,不再有其他延迟,具有较好的实时性。

可靠性

还是由于独占性,使得通信过程中,数据传输可靠、迅速、数据不会丢失,基本不会出现抖动现象,通信可靠性高,延时也非常小,仅仅是电磁信号传输时所花费的延时。

缺点

易浪费

同样由于独占性,在某些情况下,电路空闲时的信道容量被浪费(电话打通,但不说话);另外,如数据传输阶段的持续时间不长,电路建立和拆除所用的时间就得不偿失。

不可靠

独占性说明一旦线路建立,那么传输就是一定通过该线路。因此,如果该线路的某一节点损坏,传输就无法进行。此时,要么数据丢失,要么重新建立连接。

分组交换

分组交换(PS:packet switching)是在通信过程中,通信双方以分组为单位、使用存储-转发机制实现数据交互的通信方式。单个分组(报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点。

两种方式

数据报

为网络层提供无连接服务(每个分组的路径可能不同,分组传输事先没有固定的路径)。目前Internet使用。

每个分组都会携带源地址和目的地址,路由器根据分组的目的地址和路由协议(算法)构建转发表,最后查表转发分组。

虚电路

是分组交换和电路交换结合,为网络层提供面向连接服务(确定一个确定的路径(建立连接),然后各分组走相同的已经建立好的路径,分组传输的路径相同,传输完成后拆除连接 )。

虚电路方式路由器记得不是目的IP地址和接口的对应关系而是虚电路号和路由器接口对应关系

数据报服务 虚电路服务
连接的建立 不要 必须要
目的地址 每个分组都有完整的目的地址 仅在建立连接是使用,之后每个分组使用长度较短的虚电路号
路由选择 每个分组独立进行路由的选择和转发 属于同一条虚电路的分组按照同一路由转发
分组顺序 不保证分组的有序到达 保证分组的有序到达
可靠性 可靠性有用户和主机来保证 可靠性由网络保证
对网络故障的适应性 出故障的节点丢失分组,其他分组路径选择发生变化,可正常传输 所经过的故障节点的虚电路均不能正常工作
差错处理和流量控制 由用户主机进行流量控制,不保证数据报的可靠性 可由分组交换网负责,也可由用户主机负责

特点

分组交换的本质就是存储转发,它将所接受的分组暂时存储下来,在目的方向路由上排队,当它可以发送信息时,再将信息发送到相应的路由上,完成转发。

优点

传输质量

由于其存储转发的特点,因此可实现总体的差错控制、流量控制等功能和现逐段链路的差错控制(差错校验和重发),有效防止了传输数据的错误和丢失。

可靠性

在电路交换方式中,一次呼叫的通信电路固定不变,而分组交换方式则不同,报文中的每个分组可以自由选择传输途径。当网中发生故障时,分组仍能自动选择一条避开故障地点的迂回路由传输,不会造成通信中断。

经济性和利用率

因为报文被分为多个分组来传输,这样可简化交换处理,不要求交换机具有很大的存储容量,降低了网内设各的费用。

由于进行分组多路通信,可大大提高通信电路的利用率,只有在有信息要传输的情况下线路才会链接使用,因而降低了通信电路的使用费用,提高了利用率。由此可实现分组多路通信(终端尽管和分组交换机只有一条用户线相连,但可以同时和多个用户终端进行通信)。

缺点

传输效率

由于采用分组传输,为了保证分组能按正确的路由安全准确地到达终点,要给每个数据分组加上控制信息(分组头),除此之外还要设计若干不含数据信息的控制分组,用来实现数据通路的建立、保持和拆除,并进行差错控制和数据流量控制等。因此对于较长的报文来说,分组交换的传输效率不如电路交换和报文交换的高。

延迟

由于采用存储转发,每个报文都要在节点中存储下来,而发送和接收的速率并不一定会相同。当接收>发送时,报文就会堆积,要排队发出,因此会产生排队延迟(它指的是PDU( 协议数据单元 ) 在传输路径上每交换一次所引起的缓冲延迟的集合),并且当队伍过长达到阈值时会发生分组丢失。

高性能要求

分组交换机要对各种类型的分组进行分析处理,为分组在网中的传输提供路由,并在必要时自动进行路由调整,为用户提供速率、代码和规程的变换,为网络的维护管理提供必要的信息等,因而要求具有较高处理能力的交换机。

报文交换

报文交换(英文:message switching),又称存储转发交换,是数据交换的三种方式之一,报文整个地发送,一次一跳。报文交换是分组交换的前身,是由莱昂纳多·克莱洛克于1961年提出的。

和分组交换的区别:

  • 报文交换:整个报文先传输到相邻的结点,全部存储下来后查找转发表,转发到下一个结点。
  • 分组交换:不是将整个报文进行传输,而是将整个报文分组传输

关于延时:

  • 发送时延=数据块长度(bit)/数据率(bit/s)

  • 传播时延=链路长度(m)/传播速率(m/s)

  • 处理时延=网络结点存储转发处理时间

  • 排队时延=网络结点缓存队列排队时间

电路交换延时

总时延=电路的建立时延+发送时延+传播时延

分组交换延时

  1. 发送时延=报文长度/数据率+结点数(即链路数减一)*单个分组长度/数据率

  2. 传播时延=(分组总数n减一)链路长度/传播速率+结点数(链路数k减一)链路长度/传播速率=(n+k-2)*链路长度/传播速率

  3. 排队时延=仅仅需要计算最后一个分组的排队时延即可,前面分组的排队时延不用看

  4. 处理时延=单个结点处理时延*结点数

报文交换延时

  1. 发送时延=报文长度/数据率

  2. 传播时延=链路长度/传播速率

  3. 排队时延=单个结点排队时延*结点数

  4. 处理时延=单个结点处理时延*结点数


网络层级体系结构

计算机网络的是一个复杂的结构,分层有助于将结构简单化,每一层要解决的问题相对较简单和单一。同时分层结构有助于改革创新后新技术替换老技术。

总结:把计算机网络复杂的功能分为一个个功能明确的层次,每一层通过层间接口(interface)向上层提供服务(同时包含了其所有下层的服务),而这一层的要通过其下层所提供的服务来和对方交换PDU以此实现功能

分层和模块化:

分层体系和模块化体系的优点和缺点(性能有下降)相似,可以说分层是一种特殊的模块化。

唯一的不同是:分层体系的层级之间有等级关系,下层通过层间接口上层提供服务,不相邻的层级之间不可提供服务;而模块化体系之中,各个模块可以互相调用服务。

服务(service)

低层实体向上层实体提供它们之间的通信的能力。

  • 服务用户(service user)可以多个
  • 服务提供者(service provider)

服务和功能:

每一层都有对应的功能来解决问题,并为上层提供服务。因此层的功能包含了服务。

服务访问点SAP

SAP(service access point)就是层间接口,上层使用下层提供的服务通过的地点。

原语(primitive)

用来表明上层使用下层服务的什么形式。高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的。

协议

我们将同层间交互应该遵守的动作和规则的集合叫做协议。

表示逻辑上的通信,通过层间接口利用下层实现。

目的:为了向上层提供更好的服务。

实现:通过层间接口访问下层服务。

因此协议是对等的水平关系,服务是个垂直关系。

互联网TCP/IP模型各层简介

模型封装传输简图:

应用层(application)

在传输层的基础上,完成应用报文之间的交互,为用户或其他应用进程提供应用服务。

相关协议:

  • FTP协议:文件传输协议,用于文件的上传下载。
  • HTTP协议:超文本传输协议,用于实现互联网访问功能。
  • DNS(Domain Name System)协议:域名解析协议,提供域名到IP的解析。
  • SMTP(Simple Mail Transfer Protocol)协议:简单的邮件传送协议,用于控制信件的发送中转。

传输层(transport)

在网络层的基础上,将主机到主机的传输细分到进程到进程的传输,同时可将不可靠的通信变成可靠的通信,数据单位:数据包(packets)(TCP的数据单元称为(segments),UDP的数据单元称为数据报(datagrams))。

相关协议:

  • TCP协议:传输控制协议,是面向连接的、可靠的、基于IP的传输层协议。
  • UDP协议:用户数据报协议,提供面向事物的、简单、不可靠的信息传输协议。

网络层(network)

在链路层的基础上,实现端到端的以分组为单位的数据传输(E2E)(不可靠),通过路由算法提供最佳传输路径(选择路由),数据单位:IP数据包。

相关协议:

  • IP协议:通过路由选择将数据封装后交给链路层。
  • 路由协议(Routing protocol)是一种指定数据包转送方式的网上协议(如:ARP协议)。

链路层(link)

在物理层的基础上,建立相邻结点之间的以分组为单位的数据链路(P2P)(可靠或不可靠),mac地址寻址(交换机),数据单位:

相关协议:

  • 点对点协议(Point to Point Protocol,PPP)点对点连接,传输多协议数据包的一种标准方法,用于以太网。
  • 无线协议(WiFi)短距离无线技术

物理层(physical)

设备之间原始数据的传输(物理信号:电磁波信号,光信号),数据单位:比特(bit)

ISO /OSI参考模型

在传输层和应用层之间细化了两层(会话层,表示层),一共七层。

会话层

数据交换的同步,检查点,恢复。不参与具体的传输,提供建立和维护应用间通信的机制。

表示层

允许应用解释传输的数据。数据的表示方式(格式处理及编码转换)和特定功能(加解密,解压缩)的实现

在互联网TCP/IP模型中,可以在应用层中实现改两层功能。


参考:

https://blog.csdn.net/READLEAF/article/details/107419963

https://blog.csdn.net/xingyangs/article/details/85722164

https://blog.csdn.net/weixin_43838785/article/details/105046384

https://www.bilibili.com/video/BV1JV411t7ow?share_source=copy_web&vd_source=5fa7b3693d8da11802d9a9ea8897259d

https://blog.csdn.net/qq_43395427/article/details/92978122

https://www.cnblogs.com/fennleo/p/13471217.html

https://blog.csdn.net/qq_37768971/article/details/96123223

https://blog.csdn.net/weixin_43838785/article/details/105046384