| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 计算机网络 -> 正文阅读 |
|
[网络协议]计算机网络 |
面试总结:OSI七层模型参考博文地址: https://blog.csdn.net/yaopeng_2005/article/details/7064869 巧记: 五叔网传会表演!1.物理层:主要功能是利用物理介质为上面的数据链路层提供物理连接,实现比特流的透明传输。
2.数据链路层:主要建立和管理节点之间的链路,通过各种控制协议将有差错的物理信道变为无差错传送数据帧的数据链路。 3**.网络层**:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。 数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。 4.传输层:因此该层起到承上启下的作用。向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输。作用是向高层屏蔽下层数据通信的细节。 5.会话层:向两个实体的表示层提供建立和使用连接的方法。任务就是组织和协调两个会话进程之间的通信,并对数据交换进行管理。
6.表示层(Presentation Layer),它对来自上面应用层的命令和数据进行解析、翻译,并按照一定的格式传送给下面会话层。 7.应用层:直接向用户提供服务,尽可能完成用户希望在网络上完成的各种工作。 计算机网络是个非常复杂的系统 相互通信的两个计算机系统必须高度协调工作才行,而这种"协调"相当复杂 “分层”可将庞大复杂的问题转化为小的局部的问题,更加易于研究和处理 由于网络体系结构的不同,不同公司的设备很难互相连通 非国际标准TCP/IP却获得了最广泛的应用 TCP/IP常被称为事实上的(de facto)国际标准。 分层的好处和缺点各层完成的主要任务
计算机网络的体系结构是计算机网络各层及其协议的集合。 体系结构:是这个计算机网络及其部件所应完成的功能的精确定义 体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。 协议必须把所有不利的条件事先都估计到,不能假定一切都是正常和非常理想的。 互联网互联网的边缘部分边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据,音频或视频)和资源共享。 互联网的核心部分核心部分:由大量网络和链接这些网络的路由器组成。这部分是为边缘部分提供服务(提供连通性和交换)。 它是互联网中最复杂的部分。 网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。 在网络核心部分起特殊作用的是路由器(router). 处在互联网边缘的部分就是连接在互联网上的所有的主机,这些主机又称为端系统****(end system). 端系统之间的两种通信方式 1.客户-服务器方式(C/S方式)即Client/Server方式,简称C/S方式 被用户调用后运行,在打算通信时主动向远服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址。 2.对等方式(P2P方式)即Peer-to-Peer方式,简称为P2P方式。 指两个主机在通信时并不区分哪一个是服务请求方哪一个是服务提供方(S). 客户与服务器的通信关系建立后,通信是双向的,客户和服务器都可发送和接受数据。 只要两个主机都运行了对等连接软件(P2P软件),它们就可以进行平等的、对等连接通信。 双方都可以下载对方已经存储在硬盘的文档等。 不需要特殊的硬件和很复杂的操作系统。 服务器程序:一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。 系统启动后即自动调用并一直不断地运行者,被动的等待并接受来自各地的客户的通信请求。 因此,服务器程序不需要知道客户程序的地址。 路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重用的功能。 计算机网络的性能指标主要包括:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AHEj2gBb-1629592936707)(https://i.loli.net/2021/08/21/cp72muwJxQkjeWL.png)] 1.速率
2.带宽
3.吞吐量
4.时延
5.利用率
三种交换:电路交换电路交换必定是面向连接的。 电路交换分为三个阶段:
分组交换
理解对于分组交换的理解 ? 将需要交换的信息(包裹)分组(分成固定规格大小的包裹)发送(发快递),各种通信线路(各种快递)只要哪个快递,在我发的时候,就可以寄出去的,就发哪一个,没有固定的。在接收方快要接收的前,分组的首部(快递员)都有地址等控制信息,将所有包裹分类组合完整的大包裹,再送到接收方。 主机和路由器的区别 1.主机是为了用户进行信息处理的,在网络发送接收分组。 2.路由器对分组进行存储转发,最后把分组交付目的主机。 分组交换中首部的重要性
优点分组交换的优点
分组交换带来的问题: 1.分组在各结点存储转发需要排队,多了就花就会造成一定的时延。 2.分组必须携带的首部(里面有必不可少的控制信息)也造成了一定的开销 ? 注:存储(暂停查找下一个转发到哪)和转发是两个过程 报文交换报文交换是以报文为数据交换的单位,报文携带有目标地址、源地址等信息,在交换结点采用存储转发的传输方式,因而有以下优缺点: 优点:? ①报文交换不需要为通信双方预先建立一条专用的通信线路,不存在连接建立时延,用户可随时发送报文。 a.在报文交换中便于设置代码检验和数据重发设施,交换结点还具有路径选择,就可以做到某条传输路径发生故障时,重新选择另一条路径传输数据,提高了传输的可靠性; b.在存储转发中容易实现代码转换和速率匹配,甚至收发双方可以不同时处于可用状态。这样就便于类型、规格和速度不同的计算机之间进行通信; c.提供多目标服务,即一个报文可以同时发送到多个目的地址 d.允许建立数据传输的优先级,使优先级高的报文优先转换。 缺点? ①由于数据进入交换结点后要经历存储、转发这一过程,从而引起转发时延(包括接收报文、检验正确性、排队、发送时间等),而且网络的通信量愈大,造成的时延就愈大,因此报文交换的实时性差,不适合传送实时或交互式业务的数据。 路由器1.在路由器中的输入和输出端口之间没有直接连线 路由器处理分组的过程是:
交换对比电路与分组之间交换对比
分类和性能指标定义网络的定义 1)计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机 2)计算机网络并发专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用) 注意:“可编程的硬件”表明这种硬件一定包含有CPU; 计算机网络有多种类别。典型包括: 分类从作用范围进行分类
从使用者分类从网络的使用者进行分类
接入用来把用户接入到互联网的网络
注:接入网AN的覆盖范围很多还是属于局域网,但从作用上来看,接入网只起到了让用户能连接互联网的"桥梁"作用。 物理层数据通信包括三大部分:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IhovG2RO-1629592936713)(https://i.loli.net/2021/08/21/xad32v4zlhmOkLG.png)] 信道基本概念
数据
由于基带信号有较多的低频信号,往往是传输媒介的最低值Hz。所以必须对基带信号进行调制(modulation). 调制调制分为两大类: 基带调制只**对基带信号的波形进行变换**,使它能够与信道特征相适应。变换后的信号仍然是基带信号。把这种过程称为编码(coding)。
曼彻斯特的两种编码要比上面两种信号频率高。 而且不归零制不能从信号波形本身提取信号时钟频率(无自同步能力) 而曼彻斯特的两种编码方式有自同步能力。 带通调制:使用**载波(carrier)**进行调制,把基带信号的频率范围搬移到较高的频段,并转换为模拟信号,这样就能够更好地在模拟信道中传输(即仅在一段频率范围内能够通过信号) 带通信号经过载波调制后的信号。 原因:基本的信号往往包含有较多的低频成分,甚至有直流成分,而许多信道并不能传输这种低频分量或直流分量。为了解决这个问题就必须对基带信号进行调制(modulation). 调波法基本二元制调波法
当数字信号通过实际的信道时收到外界的干扰达到一定程度就会失真: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cA8i9Zmc-1629592936719)(计网.assets/1629167987663.png)] 从概念上将,限制码元在信道上的传输速率的因素有以下两个: 频率范围信道能够通过的频率范围 信噪比在任何信道中,码元传输的速率是有上限的,否则就会出现码间串扰的问题,使接收端对码元的判决(识别)成为不可能。 如果信号的频带越宽,也就是能够通过信号的高频分量越多,那么就可以用更高的速率传送码元而不出现码间串扰。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qwbxIigu-1629592936720)(https://i.loli.net/2021/08/21/iowTvMd7cRDqOtY.png)] **频分**复用FDM将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用用这个频带。频分复用的所有用户在同样的时间占用不同的带宽资源(带宽:这里指的是频道带宽而不是数据的发送速率)。 ==时分==复用使用时分复用系统传送计算机数据时,由于计算机数据的突发性质,用户对分配到子信道的利用率一般不高。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cgf0wz8j-1629592936722)(https://i.loli.net/2021/08/21/SJvn3b78UirxPFO.png)] ==波分==复用WDM波分复用WDM就是光的频分复用,使用一个光纤同时传输多个光载波信号。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f2AO06Ot-1629592936723)(https://i.loli.net/2021/08/21/6UykstWMZirXNL4.png)] **码分**复用CDM
码片序列(chip sequence)
码片序列实现了扩频 此为扩频(spread spectrum)通信中的一种。
重要特点CDMA(码分多址)的重要特点 每个站分配的码元序列不仅必须各不相同,并且还必须互相正交(orthogonal) 在实用的系统中是使用伪随机码序列。 码片序列的正交关系: 两个不同站的码片序列规格化内积=0 就是对应相乘再相加=0 任何码片向量和该码片自己的规格化内积都是1 **CDMA(码分多址)**的工作原理图 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3BnKr5h2-1629592936728)(https://i.loli.net/2021/08/21/WjLzCiBH8KMos1Y.png)] 数据链路层点对点信道使用点对点信道的数据链路层 两种类型数据链路层使用的信道主要有以下两种类型:
模型数据链路层的简单模型 数据链路和帧
传送的是帧数据链路层传送的是帧 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aI6s8oxi-1629592936732)(https://i.loli.net/2021/08/21/nFmEakb93tjB6xM.png)] 三个基本问题本层各种协议共同的三个基本问题: 封装成帧指的是一段数据的前后添加首部和尾部,就构成了一个帧(确定了帧的界限) 帧定界距离2.使用控制字符进行帧定界距离的方法 当数据是由可打印的ASCLL码组成的文本文件时,帧定界可以使用特殊的帧定界符。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hE7NbrF9-1629592936734)(https://i.loli.net/2021/08/21/Jj3kvFN2bpOcmZL.png)] 透明传输如果数据中的某个字节的二进制代码恰好和SOH或EOT一样,数据链路层就会错误的"找到帧的边界"。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AVHmOHGb-1629592936735)(https://i.loli.net/2021/08/21/ZIH5ASMab1rezFy.png)] 解决方法
差错控制比特差错在传输过程中可能会产生比特差错: 1可能会变成0,而0也可能会变成1. 在一段时间内,传输错误的比特会占所传输比特总数的比特率称为误码率BER(Bit Error Rate) 误码率与信噪比有很大的关系。 可靠性为了保证数据传输的可靠性: 在计算机网络传输数据时,必须采用各种差错检测措施。 循环冗余检测的原理: 在数据链路层传送帧中,广泛使用了循环冗余检验CRC的检错技术。只能做到无差错接受。 检错技术:循环冗余检验CRC的检错技术:
可靠传输
点对点协议PPP特点PPP协议的特点 对于点对点的链路,广泛使用的是数据链路层的点对点协议PPP(Point-to-PointProtocol) 需求PPP协议应满足的需求
而PPP协议不需要实现纠错、流量控制、序号、多点线路、半双工或单工链路默认全双工 组成PPP协议的组成
4.PPP帧的首部和尾部分别为4个字段和2个字段
PPP是面向字节的,所有的PPP帧的长度都是整数字节。 5.PPP协议的帧格式透明传输问题
字符填充
零比特填充 使用ppp协议在同步传输一连串比特连续传送的时候,采用零比特方法实现透明传输。 发送方:连续5个1就接一个0 接收方:连续5个1就删除一个0 在这里为什么不提供使用序号和确认的可靠传输? ppp协议之所以不使用序号和确认机制是出于以下的考虑:
使用广播信道使用广播信道的数据链路层 局域网的数据链路层局域网最主要的特点是:网络为一个单位(例如公司)所有; 地理范围和站点数目均有限 2.局域网具有如下主要优点;具有广播功能:
为了使数据链路层能更好的适应多种局域网标准 IEEE 802委员会就将局域网的数据链路层拆分两个子层: 重要的功能有: 2.对数据进行缓存 3.在计算机的操作系统安装设备驱动程序 4.实现以太网协议 计算机通过适配器和局域网进行通信 高速以太网CSMA/CDCSMA/CD 协议 最初的以太网是将许多计算机都链接到一根总线上。当初认为这样的连接方法既简单又可靠,因为总线上没有源器件。 采用广播方式以太网采用广播方式发送
在具有广播特性的总线上实现了“一对一“的通信 。 为了通信简便,以太网采取了两种重要的措施
碰撞检测
why?为什么要进行碰撞检测?
如果A从刚开始发送开始,一直到一个往返时间开始,检测都没有发生异常,就认为没有发生冲突 这个往返窗口称之为争用期。 含义CSMA/CD含义:载波监听多点接入/碰撞检测
二进制指数类型退避算法(truncated binary exponential type) 发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。 基本退避时间取为争用期 K=Min[重传次数,10] 争用起的长度10Mbit/s以太网取51.2为争用期的长度。 若前64字节没有发生冲突,则后续的数据就不会发生冲突 以太网规定,最短帧为64字节,凡小于64字节的帧都是由于冲突而异常中止的无效帧 强化碰撞
要点CSMA/CD协议的要点
集线器的一些特点
具有三个接口的集线器 信道利用率的最大值Smax
检查MAC地址适配器检查MAC地址
无效MAC帧
对于检查出的无效MAC帧就简单的丢弃,以太网可不负责重传丢弃的帧哦! 以太网的扩展物理层扩展在物理层扩展以太网 使用光纤使用光纤扩展 用集线器使用集线器扩展 使用多个集线器可连成更大的、多级星形结构的以太网。 用集线器扩展以太网 优点: 1.使原来属于不同碰撞域的以太网的计算机能够进行跨碰撞域的通信 2.扩大了以太网的覆盖地理范围 缺点: 1.碰撞域增大了,但总的吞吐量没有提高 如果不同的碰撞域使用不同的数据率,那么就不能使用集线器将它们互连起来。 二、在数据链路层扩展以太网 扩展以太网更常用的方法是在数据链路层进行。 早期使用网桥,现在使用以太网交换机。 网桥先检查此帧的目的MAC地址
交换机以太网交换机
以太网交换机的交换方式 1.把整个数据帧先缓存后再进行处理 直通(cut-through)方式 1.接收数据帧的同时就立即按数据帧的目的MAC地址决定该帧的转发接口,提高了帧的转发速度。 缺点就是它不检查,直接就转发,所以也可能转发了无效帧。 交换机自学习和转发帧的步骤归纳
生成树协议:不改变网络的实际拓扑,但在逻辑上则切断某些链路,使得从一台主机到所有其它主机的路径是无环路的单向树状结构,从而消除了兜圈子的现象。 虚拟局域网利用以太网交换机可以很方便的实现虚拟局域网VLAN(Virtual LAN) 虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求,每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个VLAN局域网。
虚拟局域网限制了接收广播信息的工作站数,使得网络不会因传播过多的广播信息(即"广播风暴")而引起性能恶化。
快速以太网为什么将最大电缆长度减小到100m?
网络层数据链路层实现的是不可靠传输 数据链路层并没有实现不同网络之间的传输 在网络层会实现吗?怎么实现? 基本概念虚电路是逻辑连接这只是一条逻辑上的连接,分组都沿着这条逻辑连接,按照存储转发方式传送,并不是真正建立了一条物理链接。 注:电路交换的电话通信是先建立了一条真正的连接,分组交换的虚连接和电路交换的连接只是类似 ? 虚电路服务图 尽最大努力交付
? 数据报服务图 IP协议的位置异构的网络的连接将网络互相连接起来要使用一些**中间设备(中继系统/中间系统)**进行互连
当中继系统是转发器或网桥时,一般并不称之为网络互连,因为这仅仅是把一个网络扩大了,而这仍然是一个网络。 网络互连的概念都是指用路由器进行网络互连和路由选择 虚拟(逻辑)互连网络的意义
在网络层看IP数据报的传送,只考虑网络层问题,那么IP数据报就可以被想象成在网络层中传送 IP地址IP地址及其表示方法把因特网看成为一个单一的、抽象的网络 IP地址就是给每个连接在互联网上的主机(或路由器)分配一个在全世界范围是唯一的32位的标识符。 IP地址现在由**互联网名字和数字分配机构(ICANN)**进行分配 IP地址的分类将IP地址划分为若干个固定类 每一类地址都是由两个固定长度的字段组成
注意:主机号在它前面的网络号所指名的网络范围内必须是唯一的 点分十进制记法点分十进制记法举例:一般不使用的特殊IP地址 IP地址的重要特点IP地址是一种分等级的地址结构分两个等级的好处是: 方便管理 IP地址管理机构在分配IP地址时只分配网络号,剩下的主机号则由得到该网络号的单位自行分配 减小路由表所占空间 路由器根据目的主机所连接的网络号来转发分组(不考虑目的主机号),可以使路由表中的项目数大幅度减少。 实际上IP地址是标志一个主机(或路由器)和一条链路的接口 多归属主机multihomed host: 当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,它的net-id网络号必须是不同的 由于一个路由器至少应当连接到两个网络(这样它才能将IP数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的IP地址。 用转发器或者网桥连接起来的若干局域网仍为一个网络,因此这些局域网都具有同样的网络号net-id 所有分配到网络号net-id的网络,无论是范围很小的局域网,还是可能覆盖很大的地理范围的广域网,都是平等的。
? 互联网中的IP地址 IP地址和硬件地址从层次的角度看 硬件地址(或者物理地址)是数据链路层和物理层使用的地址 IP地址是网络层和以上各层使用的地址,是一种逻辑地址(称IP地址是逻辑地址是因为IP地址是用软件实现的。) 在IP层抽象的互联网上只能看见IP数据报 IP层抽象的互联网屏蔽了下层很复杂的细节,在细节的网络层上讨论问题,就能够使用统一的、抽象的IP地址,研究主机和主机或主机和路由器之间的通信。 注意:两个路由器的IP地址并不出现在IP数据报的首部中。 使用地址解析协议ARP 通信时使用了两个地址 IP地址(网络层地址) MAC地址(数据链路层地址) 地址解析协议ARP作用用来解决已经知道了一个机器(主机或路由器)的IP地址,如何找出其相应的硬件地址的问题的。 要点无论网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址 ? 每个主机都设有一个ARP高速缓存(ARP cache),里面有所有的局域网上的各主机和路由器的IP地址到硬件地址的映射表
ARP请求分组:包含发送方硬件地址/发送方IP地址/目标方硬件地址(未知时填0)/目标方IP地址。 本地广播ARP请求(路由器不转发ARP请求) ARP响应分组:包含发送方硬件地址/发送方IP地址/目标方硬件地址/目标方IP地址。 ARP分组封装在物理网络的帧中传输。 ARP高速缓存的作用存放最近获得的IP地址到MAC地址的绑定以减少ARP广播的数量。 注意:
为什么不直接使用硬件地址进行通信? IP数据报格式一个IP数据报的格式由首部和数据两部分组成 首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。 在首部的固定部分的后面是一些可选字段,长度是可变的。 首部的固定部分
分片
IP数据报分片图生存时间TTL:占8位,指示数据报在网络中可通过的路由器数的最大值。 首部的可变部分IP首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。 选项字段的长度可变,从1个字节到40个字节不等,取决于所选择的项目。 IP层转发分组的流程(重点)
路由器分组分组转发算法
在路由表中,对每一条路由,最主要的是==(目的网络地址,下一跳地址)== 查找路由表根据目的网络地址就能分析确定下一跳路由器,这样做的结果是: IP数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。 只有到达最后一个路由器时,才试图向目的主机进行直接交付。 特定路由虽然互联网所有的分组转发都是基于目的主机所在的网络,但在大多数情况下都允许有特例: ? 也就是为特定的目的主机指明一个路由 采用特定主机路由可以使网络管理人员能更方便地控制网络和测试网络,同时,也可以在需要考虑某种安全问题时采用这种特定主机路由 默认路由默认路由(default route)路由器还可采用默认路由以减少路由表所占用的空间和搜索路由表所用的时间,这种转发方式在网络只有很少的对外连接时是很有用的。 默认路由在主机发送IP数据报时往往更能显示出它的好处。 例:如果一个主机连接在一个小网络上,而这个网络只用一个路由器和互联网连接,那么在这种情况下使用默认路由是非常合适的。 强调: IP数据报的首部中没有地方可以用来指名"下一跳的IP地址" 当路由器收到待转发的数据报,不是将下一跳路由器的IP地址填入IP数据报,而是送交下层的网络接口软件。 网络接口软件使用ARP负责将下一跳路由器的IP地址转换成硬件地址,并将此硬件地址放在链路层的MAC帧的首部,然后根据这个硬件地址找到下一条路由器。 划分子网和构造超网求网络地址给出IP地址,再给出子网掩码,要求:得出网络地址?
默认子网掩码A类是8位 B类是16位 C类是24位(个1) 子网掩码是一个重要属性路由器在和相邻的路由器交换路由信息时候,必须把自己所在的网络(或子网)的子网掩码告诉相邻路由器。 路由表中的每一个项目都需要网络地址+子网掩码 一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码 子网划分的办法有固定长度子网和变长子网两种子网划分方法 在采用固定长度子网时,所划分的所有子网的子网掩码都是相同的。 划分子网增加了灵活性,却减少了能够连接在网络上的主机总数。 使用子网时分组的转发
无分类的两级编址
CIDR地址块把网络前缀都相同的连续的IP地址组成"CIDR地址块" 128.14.32.0/20表示的地址块共有2的12次方个地址。(斜线后面的20是网络前缀的位数,所以这个地址的主机号是12位)。 1.这个地址块的起始地址是128.14.32.0 在不需要指出地址块的起始地址时,也可将这样的地址块简称为"/20地址块"。 CIDR使用“斜线记法”(slash notation) :在IP地址面加上一个斜线"/"然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中1的个数)例如:220.78.168.0/24 路由聚合(route aggregation)或者叫构成超网(supernetting)一个CIDR地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。 路由聚合有利于减少路由器之间的路由选择信息的交换,从而提高了整个互联网的性能。 想要构成超网 前缀长度不超过23位的CIDR地址块都包含了多个C类地址 这些C类地址合起来就构成了超网 CIDR地址块中的地址数一定是2的整数次幂。 网络前缀越短,其地址块所包含的地址数就越多,而在三级结构的IP地址中,划分子网使网络前缀变长。 ? CIDR地址块划分举例 控制报文协议ICMP
ICMP报文的种类ICMP报文的种类有两种,即ICMP差错报告报文,和ICMP询问报文。 ICMP报文的前4个字节是统一的格式,共有三个字段: 类型、代码和检验和。接着4个字节的内容和ICMP的类型有关。 使用子网时分组的转发
ICMP差错报告报文共有4种 终点不可达 时间超过 参数问题 改变路由(重定向)(Redirect) 不应该发送ICMP差错报告报文的几种情况
ICMP的应用举例PING(Packet InterNet Groper) PING用来测试两个主机之间的连通性 PING使用了ICMP回送请求与回送回答报文。 想测试与谁的连接就去ping谁! 输入:PING sspu.edu.cn
ICMP的应用举例 Traceroute的应用举例 在Windows操作系统中这个命令是tracert 用来跟踪一个分组从源点到终点的路径 它利用IP数据报中的TTL字段和ICMP时间超过差错报告报文实现对从源点到终点的路径的跟踪。 通过tracert命令获得到目的主机的路由信息 输入:tracert sspu.edu.cn
路由选择协议基本概念理想的路由算法关于"最佳路由"不存在一种绝对的最佳路由算法 所谓的"最佳"只能是相对于某一种特定要求下得出的较为合理的选择而已。 路由选择是一个非常复杂的问题它是网络中的所有结点共同协调工作的结果 路由选择的环境往往是不断变化的,而这种变化有时无法事先知道。 RIP内部网关协议工作原理:路由信息协议RIP(Routing Information Protocol)是内部网关协议IGP中最先得到广泛使用的协议。 RIP是一种分布式的、基于距离向量的路由选择协议 RIP协议要求网络中的每一个路由器都要维护从它自己到其它每一个目的网络的距离记录。 "距离"的定义从一个路由器到直接连接的网络的距离定义为1 从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加1 RIP协议中的"距离"也称为"跳数"(hop count),因为每经过一个路由器,跳数就加1 报文格式RIP认为一个好的路由就是由它通过的路由器的数目少,即"距离短" RIP允许一条路径最多只能包含15个路由器。 16就表示不可达,所以RIP只适用于小型互联网 RIP不能在两个网络之间同时使用多条路由。 不够灵活RIP选择一个具有最少路由器的路由(即最短路由),哪怕还存在另一条高速(低时延)但路由器较多的路由 特点1.仅和相邻路由器交换信息 2.交换的信息是当前本路由器所知道的全部信息,即自己的路由表 3.按固定的时间间隔交换路由信息,例如,每隔30秒,当网络拓扑发生变化时,路由器也及时向相邻路由器通告变化后的路由信息。 距离向量算法
例如: 路由表的建立
OSPF内部网关协议基本特点
使用洪泛法发送信息使用洪泛法向本自治系统中所有路由器发送信息(范围大比较杂): 发送信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。 链路状态:说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric) 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。 ? 区域边界路由器 OSPF直接用IP数据报传送OSPF不用UDP而是直接用IP数据报传送。OSPF构成的数据报很短,这样做可减少信息的通信量。 数据报很短的另一个好处就是可以不必将很长的数据报分片传送 只要丢失一个数据报就无法组装成原来的数据报,而整个数据报就必须重传。 BGP外部网关协议
BGP 系统的主要功能:? 和其他的 BGP 系统交换网络可达信息。网络可达信息包括列出的自治系统(AS)的信息。这些信息有效地构造了 AS 互联的拓扑图并由此清除了路由环路,同时在 AS 级别上可实施策略决策。 BGP 是不同自治系统的路由器之间交换路由信息的协议。 边界网关协议 BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。 BGP 发言人 路由器的构成路由器是一种典型的网络层设备 路由器是互联网中的关键设备 路由器的主要作用连接不同的网络 选择信息传送的线路,选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高畅通率,从而让网络系统发挥更大的效益来。 路由器的结构路由器是一种具有多个输出端口和多个输入端口的专用计算机,其任务是转发分组,也就是说: ? 将路由器某个输入端口收到的分组,按照分组要去的目的地(即目的网络),把该分组从路由器的某个合适的输出端口转发给下一跳路由器 ? 下一跳路由器也按照此方法处理分组,直到该分组到达终点为止。 分组丢弃若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃 路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。 IPIP是互联网的核心协议 互联网经过几十年的飞速发展,到了2011年2月IPv4的32位地址已经耗尽 ISP已经不能再申请到新的IP地址块了。 解决IP地址耗尽的根本措施就是采用具有更大地址空间的新版IP也就是IPv6 IPv6IPv6基本首部IPv6仍支持无连接的传送,但将协议数据单元PDU称为分组(数据报) 引进的主要变化如下: 更大的地址空间。地址从32位增大到了,128位也是数据报接收站的IP地址 扩展的地址层次结构 灵活的首部格式。IPv6定义了许多可选的扩展首部 改进的选项。IPv6允许数据报包含有选项的控制信息,其选项放在有效载荷中。 IPv6的基本首部
IPv6数据报构成1.基本首部(base header)有效载荷(payload),有效载荷也称为净负荷,有效载荷允许有零个或多个扩展首部(extension header),再后面是数据部分。 IPv6将首部长度变为固定的40字节,称为基本首部 把首部中不必要的功能取消了,使得IPv6首部的字段数减少到只有8个 IPv6对首部中的某些字段进行了如下的更改: IPv6的扩展首部 它把原来的IPv4首部中选项的功能都放在扩展首部中,并将扩展首部留给路径两端的源站和目的站的主机来处理。 数据报途中经过的路由器都不处理这些扩展首部(只有一个首部例外,即逐跳选项扩展首部) 这样就大大提高了路由器的处理效率。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6AYxvIky-1629592936803)(https://gitee.com/practicemei/note/raw/master/20210822082839.png)] IPv6数据报的目的地址是以下三种基本类型地址之一: 1.单播(unicase):传统的点对点通信 2.多播(multicast):一点对多点的通信 3.任播(anycast):这是IPv6增加的一种类型 任播的目的站是一组计算机,但数据报在交付时只交付其中一个,通常是距离最近的一个。 结点与接口IPv6将实现IPv6的主机和路由器均称为结点 一个结点就可能有多个链路相连的接口 IPv6地址是分配给结点上面的接口的。 一个接口可以有多个单播地址 其中的任何一个地址都可以当作到达该结点的目的地址。 即一个结点接口的单播地址可用来唯一地标志该结点。 冒号十六进制记法每16位的值用十六进制值表示,各值之间用冒号分隔。 零压缩在任一地址中只能使用一次零压缩 从IPv4到IPv6过渡向IPv6过渡只能采用逐步演进的办法,同时还必须使新安装的IPv6系统能够向后兼容 IPv6系统必须能够接收和转发IPv4分组,并且能够为IPv4分组选择路由 双栈协议隧道技术CMPv6是面向报文的协议,它利用报文来报告差错,获取信息,探测邻站或管理多播通信 ICMPv6还增加了几个定义报文的功能及含义的其它协议。 和多播路由选择协议 虚拟专用网VPN由于IP地址的紧缺,一个机构能够申请到的IP地址数往往远小于本机构所拥有的主机数。 考虑到互联网并不很安全,一个机构内也并不需要把所有的主机接入到外部的互联网。 假定在一个机构内部的计算机通信也是采用TCP/IP协议,那么从原则上讲,对于这些仅在机构内部使用的计算机就可以由本机构自行分配其IP地址。 用**隧道技术(封装)**实现虚拟专用网 MPLS特点MPLS并没有取代IP,而是作为一种IP增强技术,被广泛应用在互联网中 MPLS具有以下三个方面的特点: 1.支持面向连接的服务质量 2.支持流量工程,平衡网络负载 3.有效的支持虚拟专用网VPN 运输层运输层协议概述运输层协议概述 一、进程之间的通信 运输层的作用: 提供了逻辑通信 在一台主机中经常有多个应用进程同时分别和另一台主机中的多个应用进程通信 这表明运输层有一个很重要的功能就是——**复用(multiplexing)和分(demultiplexing) 根据应用程序的不同需求,运输层提供两种运输协议,应对不同需求: 1.面向连接的TCP协议 2.无连接的UDP协议。 屏蔽作用 运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等) 它使应用进程看到的好像两个运输层之间有一条端到端的逻辑通信信道。 两种不同的运输协议 但这条逻辑通信信道对上层的表现却因运输层使用的不同协议而有很大的差别 当运输层采用面向TCP协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但是这种逻辑通信信道就相当于一条全双工的可靠信道。 当运输层采用无连接的UDP协议时,这种逻辑通信信道是一条不可靠信道。 两个主要协议
UDP无连接协议提供无连接服务 在传送数据之前不需要先建立连接 传送的数据单位是UDP报文或用户数据报 对方的运输层在收到UDP报文后,不需要给出任何确认 虽然UDP不提供可靠交付,但在某些情况下UDP是一种最有效的工作方式。 TCP面向连接的协议提供面向连接的服务 传送的数据单位协议是TCP报文段(segment) TCP不提供广播或多播服务 由于TCP要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。 UDP和IP二者数据报的区别强调:运输层的UDP用户数据报与网络层的IP数据报有很大的区别
运输层的端口运行在计算机中的进程是用进程标识符来标志的。 但运行在应用层的各种进程却不应当让计算机操作系统指派它的进程标识符。这是因为在互联网上使用的计算机的操作系统种类很多,而不同的操作系统又使用不同格式的进程标识符。 为了使运行不同操作系统的计算机的应用进程能够互相通信,就必须用统一的方法TCP/IP体系的应用程序进行标志。 TCP/IP运输层端口
两类端口号 1.服务器端用的端口号 2.客户端使用的端口号 ? 常用的端口 用户数据报协议UDP概述UDP只在IP的数据报服务之上增加了很少一点的功能: 复用和分用的功能 差错检测的功能 虽然UDP用户数据报只能提供不可靠的交付,但UDP在某方面有其特殊的优点。 主要特点1.UDP是无连接的,发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延。 2.UDP使用尽最大努力交付,不保证可靠交付,因此主机不需要维持复杂的连接状态表 3.UDP是面向报文的。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。 UDP一次交付一个完整的报文。 4.UDP没有阻塞控制。因此网络出现的拥塞不会使源主机发送速率降低,这对一些实时应用还是很重要的,很适合多媒体通信的要求。 面向报文的UDP接收方UDP对IP层交上来的UDP用户数据报在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文 应用程序必须选择合适大小的报文: 1.若是报文太长,UDP把它交给IP层后,IP层在传送时可能要进行分片,这会降低IP层的效率 2.若是报文太短,UDP把它交给IP层后,会使IP数据报的首部的相对长度太大,这也降低了IP层的效率 首部格式在计算检验和时,临时把"伪首部"和UDP用户数据报连接在一起,伪首部仅仅是为了计算校验和。 传输控制协议TCP####主要特点 TCP是面向连接的运输层协议 每一条TCP连接只能有两个端点(endpoint),每一条TCP连接只能是点对点的(一对一) TCP连接只能是点对点的(一对一) TCP提供可靠交付的服务 TCP提供全双工通信。 面向字节流的含义TCP中的“流”指的是流入或流出进程的字节序列,虽然应用程序和TCP交互是一次一个数据块,但TCP把应用程序交下来的数据看成仅仅是一连串无结构的字节流。 面向字节流的概念TCP不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小的关系 但接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。 TCP连接是一条虚连接而不是一条真正的物理连接。不关心应用程序一次把多长的报文发送到TCP缓存,TCP对连续的字节流进行分段,形成TCP报文段。 TCP连接TCP把连接作为最基本的抽象。 每一条TCP连接有两个端点 TCP连接的端点不是主机,不是主机的IP地址,不是应用进程,也不是运输层的协议端口 套接字TCP连接的端点叫做套接字(socket)或插口=(IP地址+端口号)。端口号拼接到(contatenated with) IP地址即构成了套接字。每一条TCP端口唯一的被通信两端的两个端点所确定。 同一个IP地址可用有多个不同的TCP连接,同一个端口号也可以出现在多个不同的TCP连接中。 可靠传输的工作原理理想的传输条件1.传输信道不产生差错 2.不管发送方以多快的速度发送数据,接收方总是来的及处理收到的数据。 在这样的理想传输条件下,不需要采取任何措施就能够实现可靠传输 然而实际的网络都不具备以上两个理想条件,必须使用一些可靠传输协议,在不可靠传输信道实现可靠传输 停止等待协议"停止等待"就是每发送完一个分组就停止发送,等待对方的确认,在收到确认后再发送下一个分组 全双工通信的双方既是发送方也是接收方。 ? ? 为了讨论问题的方便,我们仅考虑A发送数据,而B接收数据并发送确认,因此A叫发送方,B叫接收方 1.无差错情况2.出现差错在接收方B会出现两种情况 ? B在接受M1时检测出了差错,就丢弃M1,其它什么都不做(也不通知A收到有差错的分组) ? M1在传输过程中丢失了:这时,B当然什么也不知道,所以什么也不做 在这两种情况下,B都不会发送任何信息。 如何保证B正确收到M1呢? 解决方案——超时重传 A为每一个已发送的分组都设置了一个超时计时器 A只要在超时计时器到期之前收到相应的确认,就撤销该超时计时器,继续发送下一个分组M2 3.确认丢失和确认迟到注意:在发送完一个分组后,必须暂时保留已发送的分组的副本,以备重发 分组和确认分组都必须进行编号 超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。 停止等待协议的优点:简单 停止等待协议的缺点信道利用率太低 所以,为了提高信道利用率,引入了流水线传输 连续ARQ协议工作原理累计确认接收方一般采用累积确认的方式,即不必对收到的分组逐个发送确认,而是对按序到达的最后一个分组发送确认,这样就表示:到这个分组为止的所有分组都已正确收到了。 优点:容易实现,即使确认丢失也不必重传 缺点:不能向发送方反映出接收方已经正确收到所有分组的信息。 Go-back-N 回退N
TCP报文段的首部格式TCP可靠传输的实现滑动窗口一、以字节为单位的滑动窗口 ? ? 发送缓存 注意:
接收方发送确认
超时重传时间的选择TCP采用了一种自适应算法: 记录一个报文段发出的时间,以及收到相应的确认时间,这两个时间的差就是报文段的往返时间RTT。 加权平均往返时间超时重传时间RTORTO应略大于上面得出的加权平均往返时间 选择确认选择确认SACK. 问题:若收到的报文段无差错,只是未按序号,中间还缺少一些序号的数据,那么能否设法只传送缺少的数据而不重传已经正确到达接受方的数据? 答案:选择确认SACK就可以 不连续当接收到的字节流序号不连续 利用滑动窗口实现流量控制 一般来说,我们总希望数据传输更快一些,但如果发送方发数据发送的过快,接收方就可能来不及接收,这就会造成数据的丢失 流量控制flow control就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。利用滑动窗口机制可以很方便地在TCP连接上实现流量控制。 死锁可能发生死锁的情况
持续计时器TCP为每一个连接设有一个持续计时器 只要TCP连接的一方收到对方的零窗口通知,就会开启持续计时器 传输效率
糊涂窗口发送方糊涂窗口综合症
阻塞控制一般原理在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏。这种现象称为拥塞(congestion). 若网络中许多资源同时产生阻塞,网络的性能就要变坏,整个网络的吞吐量将随输入负荷的增大而下降 出现阻塞的原因: ? 对资源的需求 > 可用资源 解决拥塞增加资源能解决拥塞吗? 不能。因为网络拥塞是一个非常复杂的问题,简单的增加资源,在许多情况下,反而会使得网络的性能更差! ? 网络阻塞往往是由许多因素引起的,例如: 趋于恶化拥塞常常趋于恶化 如果一个路由器没有足够的缓存空间,它就会丢弃一些新到的分组。但当分组被丢弃时,甚至可能还要重传多次,这样会引起更多的分组流入网络和被网络中的路由器丢弃。拥塞引起的重传不但不会缓解,反而会加剧网络的拥塞。 区别拥塞控制与流量控制的区别 拥塞控制就是防止过多的数据注入到网络中 使网络中的路由器或链路不致过载 拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络负荷 拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。 作用拥塞引起的作用 动态拥塞控制是一个动态的问题当前网络正高速发展,这很容易出现缓存不够大而造成分组的丢失,但分组的丢失是网络发生拥塞的征兆而不是原因。 在许多情况下,甚至正是拥塞控制本身成为引起网络性能恶化甚至发生死锁的原因。 TCP的拥塞控制方法TCP采用基于窗口的方法进行拥塞控制,该方法属于闭环控制方法。 TCP发送方维持一个拥塞窗口CWND(Congestion Window) 1.拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化 2.发送端利用拥塞窗口根据网络的拥塞情况调整发送的数据量 3.所有发送窗口大小不仅取决于接收方公告的接收窗口,还取决于网络的拥塞状况,所以真正的发送窗口值为: ? 真正的发送窗口值 = Min(公告窗口值,拥塞窗口值) 拥塞的判断重传定时器超时 现在的通信线路传输质量一般都很好,因传输出差错而丢弃分组的概率很小,只要出现了超时,一般都是网络出现了拥塞 收到三个相同(重复)的ACK 个别报文段会在网络中丢失,预示可能会出现拥塞(实际未发生拥塞),因此要尽快采取控制措施,避免拥塞。 控制拥塞窗口的原则只要网络没有出现拥塞,拥塞窗口就可以增大一些,以便更多的分组发送出去,这样就可以提高网络利用率 但只要网络出现拥塞或有可能出现拥塞,就必须把拥塞窗口减小一些,以减少注入到网络中的分组数,缓解网络出现的拥塞。 TCP拥塞控制算法四种(RFC 5681) 发送方每收到一个对新报文段的确认(重传的不算在内)就使cwnd+1 慢开始(Slow start)拥塞窗口cwnd控制方法:每收到一个对新的报文段的确认后,可以把拥塞窗口增加最多一个SMSS的数值。 慢开始和拥塞算法实现举例注意:拥塞避免并发指完全能够避免拥塞,利用以上的措施要完全避免网络拥塞还是不可能的。拥塞避免阶段把拥塞窗口控制为按线性规律增长,使得网络比较不容易出现拥塞 发送窗口的上限值发送方的发送窗口的上限值应当取用为接收方窗口rwnd和拥塞窗口cwnd这两个变量中较小的一个,即应按以下公式确定: 重点,运输连接的三个阶段 TCP是面向连接的协议 运输连接有三个阶段: 数据传送 连接释放 运输连接的管理就是使运输连接的建立和释放都能正常进行。 TCP连接建立过程种要解决的三个问题就是 1.要使每一方能够相互知道对方的存在 2.要允许双方协商一些参数(如最大窗口值、是否使用窗口扩大选项和时间戳选项以及服务质量等)。 3.能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配。 TCP的连接建立(重点)TCP建立连接的过程叫做握手 握手需要在客户和服务器之间交换三个TCP报文段。称之为三报文握手。 采用三报文握手主要是==为了防止已失效的连接请求报文段突然又传送到了,因而产生错误==。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TBOXHHwP-1629592936857)(计网.assets/1629373327654.png)] TCP三次握手连接图 一、A给B发送一个连接请求 二、B给A发送确认,并同时发送一个连接请求 三、 如果没有第三次握手,那么B给A发送的是得不到响应的 B和A的通信就变成单向的了。TCP是一个全双工的协议,应该两个都有才对!所以,第三次连接是必不可少的。 此时表示上一次我A给你B发送的数据,你收到了0-x,我也知道你现在需要从x+1开始的数据 从第三次握手开始SYN已经变成0表示已经建立了有效连接
释放资源的四次握手TCP的连接释放 TCP连接释放过程比较复杂 数据传输结束后,通信的双方都可释放连接 TCP连接释放过程是四报文握手。 B在第三次握手的时候发送剩余数据 如果A最后一次 也会设定一个等待计时器 大概是两次传送完成的时间 ,只要在此时间内没有收到 重复上一次发送的数据,就证明 已经完成结束了。(守株待兔,但是不想待了) 为什么要三次握??三次握?的?的是建?可靠的通信信道,说到通讯,简单来说就是数据的发送与接收,?三次握?最主要的?的就是双?确认??与对?的发送与接收是正常的 第?次握?:Client 什么都不能确认;Server 确认了对?发送正常,??接收正常 第?次握?:Client 确认了:??发送、接收正常,对?发送、接收正常;Server 确认了:对?发送 正常,??接收正常 第三次握?:Client 确认了:??发送、接收正常,对?发送、接收正常;Server 确认了:??发 送、接收正常,对?发送、接收正常 所以三次握?就能确认双发收发功能都正常,缺?不可。 为什么要四次挥?任何??都可以在数据传送结束后发出连接释放的通知,待对?确认后进?半关闭状态。当另??也没 有数据再发送的时候,则发出连接释放通知,对?确认后就完全关闭了TCP连接。 举个例?:A 和 B 打电话,通话即将结束后,A 说“我没啥要说的了”,B回答“我知道了”,但是 B 可 能还会有要说的话,A 不能要求 B 跟着??的节奏结束通话,于是 B 可能?巴拉巴拉说了?通,最后 B 说“我说完了”,A 回答“知道了”,这样通话才算结束。 上?讲的?较概括,推荐?篇讲的?较细致的? 章:https://blog.csdn.net/qzcsu/article/details/72861891 总结:TCP可靠传输 建立连接:三握手 发送数据:窗口(序号,发送窗口+接收窗口),确认机制,流量控制,拥塞控制(发现什么时候拥塞 ,发生越晚越好(预防)),超时重传…… 连接释放:四握手 应用层协议特点应用层协议的特点 每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议。 每个应用层协议都是通过位于不同主机中的多个应用进程的通信和协同,解决某一类应用的问题。 应用层大多数协议都是基于客户服务器方式: 域名系统域名系统DNS许多应用层软件直接使用域名系统,DNS(Domain Name System),但计算机的用户只是间接而不是直接使用域名系统。 互联网采用层次结构的命名树来作为主机的名字,并用分布式的域名系统DNS. 名字到IP地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行它的机器就叫域名服务器。 结构互联网的域名结构 互联网采用了层次树状结构的命名方法 域名 任何一个连接在互联网上的主机或路由器**,都有一个唯一的层次结构的名字**也就是域名 ? 域名的结构由标号序列组成,各标号之间用点隔开,各标号分别代表不同级别的域名: 顶级域名国家顶级域名.cn表示中国 .us表示美国 .uk表示英国…… 顶级域名.com(公司或企业) .net(网络服务机构) .org(非盈利性组织) .edu(美国专用的教育机构) .gov(美国专用的政府部门) .mil(美国专用的军事部门) .int(国际组织) 域名服务器一个服务器所负责管辖(或有权限的)范围叫做区(zone) 各单位根据具体情况来划分自己的管辖范围的区,但在一个区中的所有节点必须是能够连通的。 ? 每个区设定相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射,DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位 结构图? DNS域名服务器结构图 根域名服务器共有13套装置而不是13个机器 顶级域名服务器:负责管理注册的所有二级域名 本地默认本地(默认)域名服务器: 当一个主机发送DNS(DNS一般指域名系统)查询请求时,这个查询请求报文线发送给本地域名服务器 每一个互联网服务提供者ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器。 用的最多的也是采用迭代查询(减少其它服务器的压力) 高速缓存名字的高速缓存 每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。 ? 可大大减轻根域名服务器的负荷。使互联网上的DNS查询请求和回答报文的数量减少。 文件传送协议概念文件传送协议FTP使用广泛, ? FTP提供交互式的访问,允许客户指明文件类型与格式,并允许存取权限。 ? FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。 特点FTP协议的特点
工作步骤1.打开熟知端口(21),使客户进程能够连接上,等待客户进程发出连接请求。 启动从属进程来处理客户进程发来的请求: ? 从属进程对客户进程的处理完毕后终止 ? 但从属进程在运行期间根据需要还可能创建其它一些子进程 ? 回到等待状态,继续接受其它客户进程发来的请求。主进程与从属进程的处理是并发进行的。 两个连接1.控制连接在整个会话期间一直保持打开: ? FTP客户发出的传送请求通过控制连接发送到服务器端的控制进程,但控制连接不用来传送文件。 2.实际用于传输文件的是“数据连接”。**服务器端的控制进程在接收FTP客户发来的文件传输请求后就创建“数据传送进程”和“数据连接”,**用来连接客户端和服务端的数据传送进程。 数据传送进程实际完成文件的传送,在传送完毕后关闭“数据连接 ”并结束运行。 端口号两个不同的端口号
TFTP概念简单文件传送协议TFTP TFTP是一个很小且易于实现的文件传送协议。 TFTP使用客户服务器方式和使用UDP数据报,因此TFTP需要有自己的差错改正措施 TFTP只支持文件传输而不支持交互 TFTP没有一个庞大的命令集,没有列目录的功能不能对用户进行身份鉴别。 特点
工作TFTP的工作很像停止等待协议 发送完一个文件块后就等待对方的确认,确认时应指名所确认的块编号。 发完数据后在规定时间内收不到确认就要重发数据PDU 远程终端协议远程终端协议TELNET 概念TELNET是一个简单的远程终端协议(互联网正式标准) 用远程终端协议就可在所在地通过TCP连接注册(即登录)到远地的另一个主机上(使用主机名或IP地址) TELNET能将用户的击键传到远地主机,同时也能将远地主机的输出通过TCP连接返回到用户屏幕。这种服务是透明的,因为用户感觉到好像键盘和显示器是直接连在远地主机上。 方式客户-服务器方式 TELNET也是使用客户-服务器方式,在本地系统运行TELNET客户进程,而在远地主机则运行TELNET服务器进程。 格式TELNET使用网络虚拟终端NVT格式 万维网概念万维网www 万维网WWW(World Wide Web)是一个大规模、联机式的信息储藏所。 万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。 这种访问方式称为"链接" 万维网提供分布式服务 超媒体与超文本万维网是分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。 一个超文本由多个信息源链接成,利用一个链接可使用户找到另一个文档,这些文档可以位于世界上任何一个接在互联网上的超文本系统中。超文本是万维网的基础。 超媒体与超文本的区别是文档内容不同,超文本文档仅包含文本信息,而超媒体文档还包含其它表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。 工作方式万维网以客户-服务器方式工作 浏览器就是在用户计算机上的万维网客户程序。 万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。 客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。 在一个客户程序主窗口上显示出的万维网文档称为页面(page) URL统一资源定位符URL 格式1.URL(统一资源定位符)是对可以从互联网上得到的资源的位置和访问方法的一种简洁表示。 2.URL给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。 3.只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找它的属性 URL相当于一个文件名在网络范围的扩展。因此URL是与互联网相连的机器上的任何可访问对象的一个指针。 一般形式URL以冒号隔开的两大部分组成,并且在URL中的字符对大小写没有要求: URL的一般形式是: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XK9BueTM-1629592936875)(计网.assets/1629381618136.png)] 万维网怎么标志分布在整个互联网上的万维网文档? 使用统一资源定位符URL(Uniform Resource Locator)来标志万维网上的各种文档。 使每一个文档在整个互联网的范围具有唯一的标识符URL。 用何协议实现万维网上各种超链的链接? Transfer Protocol) HTTP是一个应用层协议,它使用TCP连接进行可靠传送。 怎么使各种万维网文档都能在互联网上的各种计算机上显示出来,同时使用户清楚的知道什么地方处在着超链 ? 答:超文本标记语言HTML使得万维网页面的设计者可以很方便地用一个超链从本网页的某处链接到互联网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来 怎样使用户能够很方便地找到所需的信息? HTTP超文本传送协议HTTP 操作过程HTTP的操作过程 为了使超文本的链接能够高效率地完成,需要用HTTP协议来传送一切必须的信息 从层次的角度看,HTTP是面向事务的应用层协议,它是万维网上能够可靠的交换文件(包括文本,多媒体文件)的重要基础。 特点HTTP的主要特点 HTTP是面向事务的客户服务器协议 HTTP1.0协议是无状态的(stateless) HTTP协议本身也是无连接的,虽然它使用了面向连接的TCP向上提供的服务。 持续连接HTTP/1.1协议使用持续连接(persistent connection) 万维网服务器在发送响应后仍然在一段时间内保持这条链接,使同一个客户(浏览器)和该服务器可以继续在这跳连接上传送后续的HTTP请求报文和响应报文 这并不局限于传送同一个页面链接的文档,而是只要这些文档都在同一个服务器上就行 工作方式两种工作方式 非流水线和流水线 报文结构HTTP的报文结构(请求报文) 工作过程万维网的工作过程 用户点击一个URL后发生的事件
所需时间 请求代理服务器(proxy server)/万维网高速缓存(Web cache),它代表浏览器发出HTTP请求。 万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中。 当与暂时存放的请求相同新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按URL的地址再去互联网访问该资源。 使用高速缓存可减少访问互联网服务器的时延 状态码
HTML文档万维网文档静态文档是指该文档创作完毕后,就存放在万维网服务器中,在用户浏览的过程中,内容不会改变 动态文档指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建。 区别动态文档和静态文档的主要差别体现在服务器一端,这主要是文档内容的生成方法不同,从浏览器的角度看,这两种文档没有区别 检索系统万维网的信息检索系统 全文检索搜索和分类目录搜索 在万维网用来进行搜索的程序叫做搜索引擎。 全文检索全文检索搜索引擎是一种纯技术型的检索工具,它的工作原理是通过搜索软件到互联网上的各网站收集信息,找到一个网站后可以从这个网站再链接到另一个网站。然后按照一定的规则建立一个很大的在线数据库供用户查询。 ? 用户在查询时只要输入关键词,就从已经建立的索引数据库上进行查询(并不是实时的在互联网上检索到的信息) 分类目录分类目录搜索引擎并不采集网站的任何信息,而是利用各网站向搜索引擎提交的网站信息时,填写的关键词和网站描述等信息,经过人工审核编辑后,如果认为符合网站登录的条件,则输入到分类目录的数据库中,供网上用户查询。 分类目录搜索也叫做分类网站搜索。 垂直搜索引擎针对某一特定领域,特定人群或某一特定需求提供垂直搜索也是提供关键字来进行搜索的,但被放到了一个行业知识的上下文中,返回的结果更倾向于信息、消息、条目等。 电子邮件概念**电子邮件(e-mail)**是互联网上使用的最多的和最受用户欢迎的一种应用。 它把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可随时上网到自己使用邮件服务器进行读取。 电子邮件不仅使用方便,而且还具有传递迅速和费用低廉的优点。 SMTP发送邮件的协议:SMTP 读取邮件的协议:POP3和IMAP MIME在其邮件首部中说明了邮件的数据类型(如文本、声音、图像、视觉等),使用MIME可在邮件中同时传送多种类型的数据。 工作SMTP邮件发送协议通信的三个阶段 1.连接建立:连接是在发送主机的SMTP客户和接收主机的SMTP服务器之间建立的。SMTP不使用中间的邮件服务器。 2.邮件传送 3.连接释放:邮件发送完毕后,SMTP释放TCP连接 构成用户代理用户代理UA(User Agent) 用户代理UA就是用户与电子邮件系统的接口,是电子邮件客户端软件 用户代理的功能:撰写、显示、处理和通信 邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等) 邮件服务器按照客户-服务器方式工作,邮件服务器需要使用发送和读取两个不同的协议。 步骤发送和接收电子邮件的几个重要步骤 1.发送人调用PC中的用户代理撰写和编辑要发送的邮件 2.发件人的用户代理把邮件用SMTP协议发给发送方邮件服务器 3.SMTP服务器把邮件临时存放在邮件缓存队列中,等待发送 4.发送方邮件服务器的SMTP客户与接收方邮件服务器的SMTP服务器建立TCP连接,然后把邮件缓存队列中的邮箱依次发送出去。 5.运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取。 6.收件人在打算收信时,就允许PC机中的用户代理,使用POP3(或IMAP)协议读取发送给自己的邮件 格式IMAP协议 IMAP也是按客户服务器方式工作,用户在自己的PC机上就可以操纵ISP的邮件服务器的邮箱,就像在本地操纵一样。 因此IMAP是一个联机协议,当用户PC机上的IMAP客户程序打开IMAP服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上 基于万维网基于万维网的电子邮件 电子邮件从A发送到网易邮件服务器使用HTTP协议 两个邮件服务器之间的传送使用SMTP 邮件从新浪邮件服务器传送到B是使用HTTP协议 MIME概述 通用互联网邮件扩充MIME并没有改动SMTP或取代它 MIME的意图是继续使用目前的[RFC 822]格式,但增加了邮件主体的结构,并定义了传送非ASCLL码的编码规则 MIME与SMTP动态主机配置协议动态主机配置协议DHCP 为了将软件协议做成通用的和便于一直,协议软件的编写者把协议软件参数化,这就使在很多计算机上使用同一个经过编译的二进制代码成为可能 ? 一台计算机和另一台计算机的区别,都可通过一些不同的参数来体现。 ? 在软件协议运行之前,必须给每个参数赋值 互联网广泛的动态主机配置协议DHCP提供了即插即用连网的机制 ? 这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与 DHCP使用客户-服务器方式 需要IP地址的主机在启动时,就向DHCP服务器广播发送报文,这时该主机就成了DHCP客户 ? 本地网络上的所有主机都能收到广播报文,但只有DHCP服务器才回答此广播报文 DHCP服务器先在其数据库中查找该计算机的配置信息。 若找到,则返回找到的信息,若找不到,则从服务器的IP地址池中取一个地址分配给该计算机,DHCP服务器的回答报文叫做提供报文。 网络管理协议简单网络管理协议SNMP 基本概念网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求 ? 如:实时运行性能,服务质量等,网络管理简称“网管” 它并不是指对网络进行行政上的管理 一般模型主要构件管理站也常称为网络运行中心NOC(Network Operations Center),是网络管理系统的核心。 管理程序在运行时就成为管理进程 管理站(硬件)或管理程序(软件)都可称为管理者manager Manager不是指人而是指机器或软件 网络管理员指的是人,大型网络往往实行多级管理,因而有多个管理者,而一个管理者一般只管本地网络的设备。 SNMP网络管理组成 由三部分组成 1.SNMP本身 2.管理信息结构SMI 3.管理信息库MIB SMLMIBMIB在被管理的实体中创建了命名对象,并规定了其类型 陷阱trap SNMP不完全的探询协议,它允许不经过询问就能发送某些信息,这种信息称为陷阱。表示它能够捕捉“事件” 这种陷阱信息的参数是受限制的 当被管对象的代理检测到有时间发生时,就检查其门限值。代理只管向管理进程报告达到某些门限值的事件(即过滤),过滤的好处是: ? 陷阱信息很简单且所需字节数很少。 应用编程接口API当某个应用进程启动系统调用时,控制权就从应用进程给了系统调用接口。 此接口再将控制权传递给计算机的操作系统,操作系统将此调用传给某个内部进程,并执行所有请求的操作。 此接口再将控制权传递给计算机的操作系统,操作系统将将此调用传给某个内部过程,并执行所请求的操作。 内部过程一旦执行完毕,控制权又通过系统调用接口返回应用进程。 系统调用接口实际上就是应用进程的控制权和操作系统的控制权进行转换的一个接口,即应用编程接口API(Application Programming Iterface). 套接字的作用 当应用进程需要用网络通信的时候,发出系统调用请求操作系统给它创建套接字,以便把网络通信所需要的系统资源分配给该应用进程。 操作系统为这些资源的总和用一个叫做套接字描述符的号码来表示。并把此号码返回给应用进程,应用进程所进行的网络操作都必须使用这个号码。
跨网络通信应用进程跨网络的通信 应用编程接口API当某个应用进程启动系统调用时,控制权就从应用进程给了系统调用接口。 此接口再将控制权传递给计算机的操作系统,操作系统将此调用传给某个内部进程,并执行所有请求的操作。 此接口再将控制权传递给计算机的操作系统,操作系统将将此调用传给某个内部过程,并执行所请求的操作。 内部过程一旦执行完毕,控制权又通过系统调用接口返回应用进程。 系统调用接口实际上就是应用进程的控制权和操作系统的控制权进行转换的一个接口,即应用编程接口API(Application Programming Iterface). ? 应用程序通过套接字进入网络 套接字的作用 当应用进程需要用网络通信的时候,发出系统调用请求操作系统给它创建套接字,以便把网络通信所需要的系统资源分配给该应用进程。 操作系统为这些资源的总和用一个叫做套接字描述符的号码来表示。并把此号码返回给应用进程,应用进程所进行的网络操作都必须使用这个号码。
P2P应用概述P2P工作方式概述 自从互联网能够提供音频/视频服务后,宽带上网用户数急剧增加,很多用户使用宽带接入的目的就是更快的下载音频/视频文件。 ? P2P的工作方式收到广大网民的欢迎,这种工作方式解决了集中式媒体服务器可能出现的瓶颈问题 ? 在P2P的工作方式下,所有的音频/视频文件都是在普通的互联网用户之间传输,这相当于有很多分散在各地的媒体服务器向其它用户提供所要下载的音频/视频文件。 ? 在互联网流量中,P2P工作方式下的文件分发已占据最大的份额,比万维网的应用所占都要大的多。 集中目录服务器P2PNapster 最早出现的P2P技术,可提供免费下载mp3音乐 Napster能搜索音乐文件,能够提供检索功能,所有的音乐文件地址集中存放在一个Napster目录服务器中,使用者可很方便地下载需要的MP3文件 ? 用户要及时向Napster的目录服务器报告自己存有的音乐文件,当用户向下载某个MP3文件时,将向目录服务器发出询问,目录服务器检索出结果后,向用户返回存放此文件的PC机的IP地址。 ? Napster的文件传输是分散的,但文件的定位则是集中的 这种集中式目录服务器的缺点就是可靠性差,Napster被判定属于“间接侵害版权”,因此在2000年7月底Napster网站被迫关闭了。 比特洪流BTBitTorrent对等方集合称为一个洪流(torrent),下载文件的数据单元为长度固定的文件块(chunk)。基础设施结点,叫做追踪器(tracker) 用户代理用户代理UA(User Agent) 用户代理UA就是用户与电子邮件系统的接口,是电子邮件客户端软件 用户代理的功能:撰写、显示、处理和通信 邮件服务器的功能是发送和接收邮件,同时还要向发信人报告邮件传送的情况(已交付、被拒绝、丢失等) 邮件服务器按照客户-服务器方式工作,邮件服务器需要使用发送和读取两个不同的协议。 步骤发送和接收电子邮件的几个重要步骤 1.发送人调用PC中的用户代理撰写和编辑要发送的邮件 2.发件人的用户代理把邮件用SMTP协议发给发送方邮件服务器 3.SMTP服务器把邮件临时存放在邮件缓存队列中,等待发送 4.发送方邮件服务器的SMTP客户与接收方邮件服务器的SMTP服务器建立TCP连接,然后把邮件缓存队列中的邮箱依次发送出去。 5.运行在接收方邮件服务器中的SMTP服务器进程收到邮件后,把邮件放入收件人的用户邮箱中,等待收件人进行读取。 6.收件人在打算收信时,就允许PC机中的用户代理,使用POP3(或IMAP)协议读取发送给自己的邮件 [外链图片转存中…(img-PzkC7E8p-1629592936887)] 格式[外链图片转存中…(img-GjoSGCWu-1629592936888)] [外链图片转存中…(img-jy5Lbolo-1629592936888)] IMAP协议 IMAP也是按客户服务器方式工作,用户在自己的PC机上就可以操纵ISP的邮件服务器的邮箱,就像在本地操纵一样。 因此IMAP是一个联机协议,当用户PC机上的IMAP客户程序打开IMAP服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上 [外链图片转存中…(img-jsQzwGAd-1629592936889)] 基于万维网基于万维网的电子邮件 电子邮件从A发送到网易邮件服务器使用HTTP协议 两个邮件服务器之间的传送使用SMTP 邮件从新浪邮件服务器传送到B是使用HTTP协议 [外链图片转存中…(img-okTjbdFT-1629592936890)] MIME概述 通用互联网邮件扩充MIME并没有改动SMTP或取代它 MIME的意图是继续使用目前的[RFC 822]格式,但增加了邮件主体的结构,并定义了传送非ASCLL码的编码规则 MIME与SMTP[外链图片转存中…(img-Vp49lpNA-1629592936891)] 动态主机配置协议动态主机配置协议DHCP 为了将软件协议做成通用的和便于一直,协议软件的编写者把协议软件参数化,这就使在很多计算机上使用同一个经过编译的二进制代码成为可能 ? 一台计算机和另一台计算机的区别,都可通过一些不同的参数来体现。 ? 在软件协议运行之前,必须给每个参数赋值 互联网广泛的动态主机配置协议DHCP提供了即插即用连网的机制 ? 这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与 DHCP使用客户-服务器方式 需要IP地址的主机在启动时,就向DHCP服务器广播发送报文,这时该主机就成了DHCP客户 ? 本地网络上的所有主机都能收到广播报文,但只有DHCP服务器才回答此广播报文 DHCP服务器先在其数据库中查找该计算机的配置信息。 若找到,则返回找到的信息,若找不到,则从服务器的IP地址池中取一个地址分配给该计算机,DHCP服务器的回答报文叫做提供报文。 网络管理协议简单网络管理协议SNMP 基本概念网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求 ? 如:实时运行性能,服务质量等,网络管理简称“网管” 它并不是指对网络进行行政上的管理 一般模型[外链图片转存中…(img-Zu6awANI-1629592936892)] 主要构件管理站也常称为网络运行中心NOC(Network Operations Center),是网络管理系统的核心。 管理程序在运行时就成为管理进程 管理站(硬件)或管理程序(软件)都可称为管理者manager Manager不是指人而是指机器或软件 网络管理员指的是人,大型网络往往实行多级管理,因而有多个管理者,而一个管理者一般只管本地网络的设备。 SNMP网络管理组成 由三部分组成 1.SNMP本身 2.管理信息结构SMI 3.管理信息库MIB SML[外链图片转存中…(img-jKdRIOab-1629592936893)] MIBMIB在被管理的实体中创建了命名对象,并规定了其类型 陷阱trap SNMP不完全的探询协议,它允许不经过询问就能发送某些信息,这种信息称为陷阱。表示它能够捕捉“事件” 这种陷阱信息的参数是受限制的 当被管对象的代理检测到有时间发生时,就检查其门限值。代理只管向管理进程报告达到某些门限值的事件(即过滤),过滤的好处是: ? 陷阱信息很简单且所需字节数很少。 应用编程接口API当某个应用进程启动系统调用时,控制权就从应用进程给了系统调用接口。 此接口再将控制权传递给计算机的操作系统,操作系统将此调用传给某个内部进程,并执行所有请求的操作。 此接口再将控制权传递给计算机的操作系统,操作系统将将此调用传给某个内部过程,并执行所请求的操作。 内部过程一旦执行完毕,控制权又通过系统调用接口返回应用进程。 系统调用接口实际上就是应用进程的控制权和操作系统的控制权进行转换的一个接口,即应用编程接口API(Application Programming Iterface). 套接字的作用 当应用进程需要用网络通信的时候,发出系统调用请求操作系统给它创建套接字,以便把网络通信所需要的系统资源分配给该应用进程。 操作系统为这些资源的总和用一个叫做套接字描述符的号码来表示。并把此号码返回给应用进程,应用进程所进行的网络操作都必须使用这个号码。
跨网络通信应用进程跨网络的通信 应用编程接口API当某个应用进程启动系统调用时,控制权就从应用进程给了系统调用接口。 此接口再将控制权传递给计算机的操作系统,操作系统将此调用传给某个内部进程,并执行所有请求的操作。 此接口再将控制权传递给计算机的操作系统,操作系统将将此调用传给某个内部过程,并执行所请求的操作。 内部过程一旦执行完毕,控制权又通过系统调用接口返回应用进程。 系统调用接口实际上就是应用进程的控制权和操作系统的控制权进行转换的一个接口,即应用编程接口API(Application Programming Iterface). ? 应用程序通过套接字进入网络 [外链图片转存中…(img-7uEP86OQ-1629592936895)] 套接字的作用 当应用进程需要用网络通信的时候,发出系统调用请求操作系统给它创建套接字,以便把网络通信所需要的系统资源分配给该应用进程。 操作系统为这些资源的总和用一个叫做套接字描述符的号码来表示。并把此号码返回给应用进程,应用进程所进行的网络操作都必须使用这个号码。
P2P应用概述P2P工作方式概述 自从互联网能够提供音频/视频服务后,宽带上网用户数急剧增加,很多用户使用宽带接入的目的就是更快的下载音频/视频文件。 ? P2P的工作方式收到广大网民的欢迎,这种工作方式解决了集中式媒体服务器可能出现的瓶颈问题 ? 在P2P的工作方式下,所有的音频/视频文件都是在普通的互联网用户之间传输,这相当于有很多分散在各地的媒体服务器向其它用户提供所要下载的音频/视频文件。 ? 在互联网流量中,P2P工作方式下的文件分发已占据最大的份额,比万维网的应用所占都要大的多。 集中目录服务器P2PNapster 最早出现的P2P技术,可提供免费下载mp3音乐 Napster能搜索音乐文件,能够提供检索功能,所有的音乐文件地址集中存放在一个Napster目录服务器中,使用者可很方便地下载需要的MP3文件 ? 用户要及时向Napster的目录服务器报告自己存有的音乐文件,当用户向下载某个MP3文件时,将向目录服务器发出询问,目录服务器检索出结果后,向用户返回存放此文件的PC机的IP地址。 ? Napster的文件传输是分散的,但文件的定位则是集中的 这种集中式目录服务器的缺点就是可靠性差,Napster被判定属于“间接侵害版权”,因此在2000年7月底Napster网站被迫关闭了。 比特洪流BTBitTorrent对等方集合称为一个洪流(torrent),下载文件的数据单元为长度固定的文件块(chunk)。基础设施结点,叫做追踪器(tracker) |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 21:00:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |