什么是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)
-
处理时延=网络结点存储转发处理时间
-
排队时延=网络结点缓存队列排队时间
电路交换延时
总时延=电路的建立时延+发送时延+传播时延
分组交换延时
-
发送时延=报文长度/数据率+结点数(即链路数减一)*单个分组长度/数据率
-
传播时延=(分组总数n减一)链路长度/传播速率+结点数(链路数k减一)链路长度/传播速率=(n+k-2)*链路长度/传播速率
-
排队时延=仅仅需要计算最后一个分组的排队时延即可,前面分组的排队时延不用看
-
处理时延=单个结点处理时延*结点数
报文交换延时
-
发送时延=报文长度/数据率
-
传播时延=链路长度/传播速率
-
排队时延=单个结点排队时延*结点数
-
处理时延=单个结点处理时延*结点数
网络层级体系结构
计算机网络的是一个复杂的结构,分层有助于将结构简单化,每一层要解决的问题相对较简单和单一。同时分层结构有助于改革创新后新技术替换老技术。
总结:把计算机网络复杂的功能分为一个个功能明确的层次,每一层通过层间接口(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://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