计算机网络知识总结---第一章概述

一.使用计算机网络

1.商业应用

资源共享目标:让网络中的任何人都能都可以访问程序设备,尤其是数据,并且让这些资源和用户所处的物理位置无关。

虚拟专用网络(VPN,Virtual Private Networks):将不同地点的单个网络联结成一个扩展的网络。

服务器(Server):存储性能强大的高性能计算机。通常集中在一起。服务器是一个概念,可以是一台真正的服务器,也可以是一个集群,一个数据中心。

**网络:**指的是用于传输数据的通信网络,包括网卡、网线、交换机等网络设备和软件。支持客户机与服务器之间的信息传递。

Client-Server模型:以服务器为中心,每个客户端通过服务器存取、访问资源

2.家庭应用

peer-to-peer model(P2P):采用一种对等的通信技术

每台设备既可以是服务器,也可以是客户机,关系对等(平等)

用户之间是Connected,主要用软件支持,如资源的定位,数据传递路径的确定等。每个节点需要有路由功能

3.移动用户

无线网络:电话公司经营的蜂窝网络和无线热点hotspot两种

无线和移动的区别:Wireless and mobile are related but different:

办公室的台式计算机

酒店房间的一台笔记本电脑

未曾布线的建筑物内的网络

手持计算机清点商业库存

二.网络硬件

分类是网络设计中首先考虑的问题,包括当前能够使用的组网技术、网络的规模、组网的目的等都与分类有关。

常见的分类技术:传输技术,网络尺度,介质类型等。 最基本的要求:数据送达;资源使用高效。

1.传输技术

(1)广播式链路BroadCast Links

一台机器发送的信息,会沿着通信信道传播,到达网络上其它机器。(总线链路)

总线网络使用硬件实现。

在广播网络上**通信信道**被网络上**所有机器共享**;任何一台机器发出的数据包能被其他所有任何机器共享。

每个数据包的地址字段指定了预期的接收方。当一台机器接收到数据包时,要检查地址字段,如果包的目的地就是接收机器,则该机器处理这个数据包,否则忽略。

(2)点到点链路Point-to-Point Links

环网络使用**硬件+软件(桥功能)**实现

点到点链路将一对单独的机器连接起来。可能中间经过一个或多个中间机器。直接相连的两个机器是点到点链路的最简单的形式。点到点链路的确定过程称为路由

通常在网络中存在多条不同长度的路由,因此,找到一条好的路由对点对点网络非常重要。

点-点传输只有一个发送方和一个接收方,也称为单播。

💡从一台机器发送方到接收方选择了子网中的A-C-E作为路由。

2.数据递交方式

单播unicasting

将数据发送给某个特定接收方的方式

广播broadcasting

将数据发送给所有接收方的方式。只需要在地址字段中使用一个特殊的编码,那么网络中每一台机器都会接受该包,并对其进行处理。同一时刻只能有一台机器正在发送信息。

组播multicasting

将数据发送给某些接收方的方式。

这些概念属于网络功能性的概念,与具体的网络拓扑有区别,是对网络抽象后封装的功能。 无论网络采用什么样的物理拓扑(广播网络或点到点网络),都可以支持以上的三种数据递交方式。

地址Address

完成数据递交功能时对一台、多台、所有机器的一种表达方式

根据完成功能时所处的抽象层次,地址的表达方式也会不同。

常见的地址有网卡地址(物理地址)、网络层地址、端口号等。

地址分为单播地址、广播地址和组播地址。

地址根据通信双方的角色,分为发送方地址(源地址)和接收方地址(目的地址)。

地址使用方式:每个机器接收到信息后,会根据信息携带的地址决定自己的处理。

✨常见的地址使用方式有:

常规接收:接收到信息的每个机器根据信息中携带的目的地址判断信息是否发送给自己,从而决定接收或拒绝。 过滤功能:根据源地址或目的地址的组合,决定是否接收或拒绝。

3.网络尺度Network Scale

网络尺度或网络规模,根据距离接入网络的机器的数量等作为分类依据。

个域网:一米见方

局域网:同一个房间、建筑物、园区

城域网:同一座城市

广域网:同一个国家、大陆

互联网:同一个行星

个域网PAN:

允许设备围绕着一个人进行通信。一个常见例子是计算机通过无限网络与其外围设备连接。

局域网LAN:

局域网是一个私有网络,是由一个组织投资、设计、维护、使用的网络。Cisco公司给出的定义是没有使用通信部门的公共网络的网络。

规模一般覆盖一个办公室、一个楼层、一栋楼、几栋楼或一个校园 。校园网和企业网一般属于局域网。

常见的类型根据使用的传输技术的不同,网络设备不同,分为共享式局域网和交换式局域网;或根据连接介质的不同,分为有线局域网和无线局域网。另外,通过添加标签和相应的处理软件,组织虚拟局域网等。

✨共享式局域网一般采用广播链路。注意:链路是一个逻辑上的概念,可能包含一条或多条物理线路。指的是一个广播域,信号能够传递到网络上所有节点。

✨交换式局域网一般采用点到点链路。是由交换设备连接的多条点到点链路。注意:交换式网络的重点在交换设备

城域网MAN:

范围覆盖一个城市。典型的例子为有线电视网。

初期的有线电视网只支持单向内容传播。现在的有线电视网可以支持双向数据传播。

广域网WAN:

围覆盖一个国家、地区或大陆。

Subnet(子网)是由ISP运营管理的骨干网络,用于连接不同城市或地区的网络。层次化特征。

通信子网由传输线路与交换节点组成。主要功能集中在交换节点。使用点到点链路传输技术。

传输线路负责在机器之间移动比特。可以是铜线光纤甚至是无限链路。

交换元素(交换机)是专用的计算机,负责连接两条或两条以上的传输线路。交换节点为每个入境(Incoming)数据确定一个出境(Outgoing)线路。称为路由或交换

互联网Internet

交换节点为每个入境(Incoming)数据确定一个出境(Outgoing)线路。称为路由或交换。

不同网络之间使用的技术不同,可能隶属于不同的组织,需要网络软件的支持。

网关gateway:连接两个或多个网络提供必要转换的机器,硬件和软件方面的总称。

三.网络软件

 💡 网络软件需要支持不同网络之间不同需求的数据传输服务,是一个巨大的工程问题(Huge Engineering problem)。

一般采用“分而治之”的策略,将整个网络软件功能分为多个小的功能模块分别加以解决。

解决每个小的问题时工作环境、现有技术手段都可能不同,并会随着时间发生变化,为了限制变化带来的影响,需要采用封装技术。

尽量减少不同模块之间的相互调用。

1.协议层次结构

        为了降低网络设计的复杂性绝大多数网络都组织成一个**层次栈(a stack of layer)**或者**分级栈(a stack of level)**每一层建立在下一层的基础上。每一层的目的是向上一层提供特定的服务,而把如何实现这个服务的细节对上一层加以屏蔽。

从分布式系统角度考虑网络软件的设计与实现

网络软件需要支持不同用户之间的通信需求,很多功能需要用户之间协作才能完成。所以,网络软件是一个分布式系统。

每个小的功能模块也是一个分布式系统,需要通信双方的对等模块协作完成。

对等模块指的是协作完成同样功能的模块,也称为对等体(peer)

联盟:

在现实中,协作完成同样功能的对等体组成一个联盟。需要遵守联盟内部的规则或约定。

每个联盟实现特定的功能,为了实现某种大的功能,需要多个联盟共同合作完成。

为了更简单、更可控、更合理地共同完成功能,联盟之间应该尽量少地互相调用。理想方式为每个联盟依托某个联盟的功能,完成自己的某种功能,为其它联盟使用。即采用层次化模型。

为了避免联盟进化对其它联盟的影响,联盟的规则或约定只对联盟内部成员可见并遵守,对联盟外部成员不可见。即满足封装概念。


一个实例:邮政系统

邮政联盟由各个国家(城市)的邮局组成。用户按照格式填写信封并付邮资,每个城市的邮局负责将发往外地的信件收集并根据目标地址分类,打成邮袋。通过运输联盟发往目标城市。到达目标城市后,由当地邮局送往目标用户。

两个联盟:邮政联盟和运输联盟。邮政联盟为用户提供信件传递功能;运输联盟为邮政联盟提供城市之间的邮袋传递功能。 两次调用:用户通过信封调用邮政联盟的功能;邮政联盟通过邮袋调用运输联盟的功能。 两种内部规则:不同邮局之间的内部约定;不同运输公司之间的内部约定。

对用户而言,只有邮政联盟可见,通过使用邮政联盟的功能就可以完成信件在任意两个用户之间的递交。邮政联盟为了完成对用户承诺的功能,除了位于不同城市的邮局根据信封内容完成城市内部的信件递交功能以外,还需要针对不同目标城市对信件分拣,并封装为邮袋(每个城市一个),然后使用运输联盟的功能完成邮袋在不同城市之间的递交。 运输联盟对邮政联盟可见,对用户不可见(用户不关心)。

每个联盟对应一个层(Layer),联盟实现的功能称为层提供的服务(Service),联盟内部协作完成服务的多个对等体称为本层的对等体(Peer)。 层次模型中,每个层只对上下层可见,对其他层不可见。

用户通过信封调用邮政联盟提供的服务;邮政联盟通过邮袋调用运输联盟提供的服务。信封和邮袋称为接口。

信封上的内容(收信人地址、发信人地址、邮资、邮戳等)确定了用户和邮政联盟之间的合同,邮袋上的内容(到达城市、出发城市、出发时间、到达时间、运输费用等)确定了邮政联盟和运输联盟之间的合同。这些内容称为接口参数

层次模型中,上层通过接口调用下层的服务。

这些联盟内部为了实现联盟服务所进行的约定或规则的集合称为协议。


协议:

从计算机编程角度,为了完成某种功能,最基本的方式是“数据结构+算法”。数据结构是双方交互的内容,称为协议字段;运行在各个对等体上针对协议格式的处理操作集合称为协议算法

邮政联盟接收用户信件后,根据信件类型,在信件上添加额外的标签,联盟内的各个邮局根据标签执行相应的操作。如根据普通信件、快件、挂号信件等,添加不同的标签,执行不同的操作。普通信件优先级最低,可以4小时收集处理一次;快件实时收集处理;挂号信需要回执等。根据信件的时间需求,安排不同的运输方式等。 运输联盟接收到邮袋递交任务后,根据任务需求不同,在邮袋上添加额外的标签,联盟内的各个运输实体根据标签执行相应的操作。如规划不同的线路、运输方式等。 每个联盟内部使用的标签就是本联盟的协议字段,联盟内部实体针对标签执行的操作就是本联盟的协议算法。

封装:

每个层为了完成本层的服务(功能),发送对等体上运行的协议算法需要对上层交付的对象添加额外的协议字段(标签,协议字段赋值,交互的内容),使得本层其它对等体能够根据协议字段的取值执行相应的操作(协议算法,每个对等体上运行)。

解封装:

某层协议的目的对等体接收到带有本层协议字段(标签)封装的对象后,根据标签执行相应的操作,完成服务(功能)后,去掉标签(本层协议字段),将对象递交给上层。

 💡 通过封装与解封装,某层协议的协议字段与协议算法只对本层对等体可见。即标签和针对标签的算法只对本层有效。

在邮政系统中,邮政联盟接收用户的邮件,并将信件按照用户与邮政联盟的约定递交给目标用户。运输联盟接收邮政联盟的邮袋,并将邮袋按照与邮政联盟的约定递交到目标城市。用户感觉不到运输联盟的存在。 信件的实际递交过程:寄信人将信件递交给本地邮局,本地邮局在信封上贴上标签,并根据标签将信件在本地处理;将信件打包成邮袋后递交给本地运输公司;本地运输公司为邮袋贴上标签,并根据标签安排邮袋的运输。运输联盟将邮袋递交到目的城市,去掉邮袋上的标签,将邮袋递交给当地邮局;当地邮局根据信封上的标签将信件递交给收信方。 去掉标签表明按照要求完成任务(实现了本层功能。)

虚拟通信:

在邮政系统中,邮政联盟中位于不同地点的邮局通过标签交换与对标签的处理协作完成信件递交的功能,但是真正的信件传递过程是借助运输联盟完成的。两个邮局之间并没有直接通信,而是通过标签交换完成的,称为虚拟通信

在一个具有多个联盟的系统中,一个联盟内部的对等体之间通过虚拟通信协作完成本联盟提供的服务。

在一个具有多个层次的分布式的系统中,每个层的对等体通过协议完成本层的服务,对等体之间是一个借助协议完成服务的虚拟通信过程。

每层的协议实现可以根据场景不同而变化,也可以随着时间与技术的进步而演化,**只要提供的服务与接口不变,**则其它层不会受到这些内部变化的影响。

💡 1.每一层的协议接口和它的对等体之间进行虚拟通信

💡 2.每一层只能调用他的下一层,将数据和信息传递给下一层,直到传递到最底层。第一层下面是物理介质(physical medium),通过它进行实际通信。

💡 3.每一对相邻层次之间的是接口,定义了下层向上层提供哪些原语操作和服务。

💡 4.层和协议的集合叫做网络体系结构(network architecture)

💡 这是两个不同哲学家之间通信,他们俩会的语言不同,于是分别雇佣了翻译,两个翻译都雇了一位秘书。分别是第二层和第一层的对等进程。两个翻译都使用荷兰语交流,使用什么语言由第二层对等进程决定。每个进程加入某些专门给他的对等实体传递的新兴,这部分不会被传递到上一层。

💡 向五层网络的最顶层通信。假设第五层的一个进程产生了一个消息M,将他传递给第四层。第四层在消息前面加了一个头(header),用来标识该消息,并把结果传递给第三层。该头包含了一些控制信息,例如地址,消息顺序、大小时间等,主要用于第四层的目标机器用来识别消息。对于许多网络来说,**第四层对传递消息的大小没有任何限制,但是几乎所有第三层协议对此总会强加一个限制,因此第三层会把入境消息分成较小的单元,即数据包或包(packet),并在每个数据包之前加上第三层的头。**这个例子M被分为两部分,M1和M2,这两部分内容是被单独传输的。

💡 第3层决定哪些使用输出线路,并把分组传递给第2层。第2层不仅要在每个信息之前加上一个头,还要在每个信息之后加上一个尾,然后将结果传输单元送给第1层进行物理传输。在接收端机器上,消息自底逐层向上传递,在传递过程中各个头被逐层剥离。

2.网络层次问题

1.可靠性是保证网络正常运行的设计问题,即使网络由本身并不可靠的组件所构成。

想象数据包中的比特穿越网络时的情形。由于存在电气噪声、随机无线信号、硬件缺陷、 软件错误等原因,其中的某些比特到达接收端时已经遭到了损坏(即被逆转了)。我们发现 并修复这些错误的可能性如何?

从接收到的信息中发现错误所用的一种机制是检错(error detection)编码;然后重新 传输接收到的不正确信息,直到它被正确接收为止。更强大的编码不仅能检错,还能纠错 (error correction),即从最初收到的可能不正确的比特中恢复正确的消息。

2.另一个可靠性问题是找到通过网络的工作路径。在源和目的地之间经常存在多条路径, 而且在一个大型网络中可能有一些链路或路由器偶尔发生故障。假设德国的网络出现了故 障,那么从伦敦发送到罗马的数据包如果选择一条经过德国的路径将注定无法通过,但我 们可以把从巴黎发往罗马的数据包改道经过伦敦到达罗马。网络应该能自动做出这种路由 决策。这个主题就是所谓的路由(routing)

3.第二个设计问题涉及网络演进。随着时间的推移,网络的增长越来越大,出现的新设 计需要与现有网络连接。

由于网络上有许多计算机,每一层在特定的消息中都需要一种机制来标识发送方和接 收方。这种机制在下层和高层分别称为寻址(addressing)和命名(naming)。

3.面向连接与无连接服务Connection-Oriented vs. Connectionless

面向连接的服务(connection-oriented service)是按照电话系统建模的。当你想给某人 打电话时,首先要拿起话机,拨对方的号码,然后说话,最后挂机。类似地,为了使用面 向连接的网络服务,服务用户首先必须建立一个连接,然后使用该连接传输数据,最后释 放该连接。这种连接最本质的方面在于它像一个管道:发送方把对象(数据位)压入管道 的一端,接收方在管道的另一端将它们取出来。在绝大多数情况下,数据位保持原来的顺 序,所以数据位都会按照发送的顺序到达。

无连接服务(conncetionless service),这是按照邮政系统建模的。每个报文(信件)都携带了完整的目标地址,每个报文都由系统中的中间节点路由,而且路由独立于后续报文。报文(message)在不同的上下文中有不同的称呼;数据包/包 (packet)是网络层的报文。如果中间节点只能在收到报文的全部内容之后再将该报文发送给下一个节点,那么我们就称这种处理方式为存储-转发交换(store-and-forward switching)。有别于此的另一种处理方式是在报文还没有被全部接收完毕之前就向下一个节点传输,这种处理方式称为直通式交换(cut-through switching)。通常来说,当两个报文被发往同一个目的地时,首先被发送的报文将会先到达。然而,先发送的报文可能被延迟,因而后发送的报文比它先到达,这种情况也是有可能发生的。

4.服务原语Service Primitives

5.服务与协议的关系

 

服务和协议是两个截然不同的概念。

服务指的是某一层向他的上一层提供的一组原语(操作)。服务定义了该层准备代表其用户执行哪些操作,但并不涉及操作如何实现。服务与两层之间的接口有关,低层是服务提供者,上层是服务用户。

协议是一组规则,规定了同一层上对等实体之间所交换的数据包或者报文的格式和含义。对等体利用协议来实现他们的服务定义,他们可以自由的改变协议,只要不改变呈现给用户的服务即可。

四.参考模型OSI和TCP/IP

20世纪70年代末到80年代初,世界上已经存在多个不同类型、不同种类的网络,如以太网(局域网)、令牌环网(局域网)、令牌总线网(局域网)、ARPANET(广域网)等。

如何将这些不同规模、不同种类的网络连接起来,消除“信息孤岛”现象,达到位于不同网络中的主机之间的资源共享。

挑战:不同网络实现的技术差别很大。(构建网络团队的基础不同,面对的环境不同,目标不同,导致网络实现差别巨大:科学认知之一)

1.OSI参考模型

OSI参考模型由ISO(国际标准化组织)提出,重在探讨网络体系结构的标准化问题。如果每个网络构建时都遵从OSI模型,那么,网络互联不成问题。

ISO: International Standard Organization OSI: Open System Interconnection开放系统互联

网络体系结构:层和协议的集合。 网络体系结构主要探讨网络应该分为几层,每层提供的服务以及实现服务所用的协议。

OSI参考模型本身不是一个网络体系结构,只是指明了网络分为几层和每层应该做些什么,没有定义详细的服务和实现服务所用的协议(没来得及)。

OSI是一个理论模型,是网络标准化的第一步。

💡 对上图的解释:1**.PDU**(protocol data unit)是协议数据单元,供对等体进行交流使用,比如加上第四层header的message 2.主机和路由器之间的协议,和路由器与路由器之间的协议可以不同

OSI有7层,主要规则如下:

(1)应该在需要一个不同抽象体的地方创建一层。 (2)每一层都应该执行一个明确定义的功能。 (3)每一层功能的选择应该向定义国际标准化协议的目标看齐。 (4)层与层边界的选择应该使跨越接口的信息流最小。 (5)层数应该足够多,保证不同的功能不会被混杂在同一层中,但同时层数又不能太 多,以免体系结构变得过于庞大。

物理层(physical layer)

考虑两个相邻节点(计算机、设备)之间的通信。

关注在一条通信信道上传输原始比特。数据以信号的形式通过信道。考虑的问题包括采用什么样的信号形式(模拟信号、数字信号)表示比特位,每位的开始,每位的时间长度,等等。

比如使用正弦波表示1,余弦波表示0等等。

面对的挑战:

如何表示时间?两台计算机的时钟不可能完全一致,在数据传输速率较低时,时钟的差异对传输影响不大,但是,当数据传输速率很高时,会带来传输的错误。通过编码解决(详见第2章)。

噪声干扰:数据在信道上传输时,不可避免的要受到周围环境噪声的干扰,造成信号识别的错误,从而造成数据传输的错误。可以使用一些手段减少干扰,但是无法彻底避免。

物理层不能保证数据的可靠性。

数据链路层(data link layer)

在一条信道上提供可靠的数据传输,即通过在两台计算机上运行一个协议,克服由于噪声等原因造成的数据传输错误。通过数据链路层的封装,一条不可靠的线路(Line)提升为一条可靠的数据链路(Data Link)。

数据链路层主要任务是将一个原始的传输设施转变成一条没有漏检传输错误的线路。完成这项任务的做法是将真实的错误掩盖起来,使得网络层看不到。

发送方将输入的数据拆分成数据帧(data frame),然后顺序发送这些数据帧。一个数据帧通常为几百个或者几千个字节长。如果服务是可靠的,则接收方必须确认正确收到的每一帧,即给发送方发回一个确认帧(acknowledgement frame)

面对的挑战:随机差错情况下提供可靠的传输? (差错控制)(第3章) 通信双方速率不匹配时提供可靠的传输? (流量控制)(第3章) 广播信道上多台设备对共享信道的使用? (介质访问控制)(第4章) MAC Medium Access Control

相邻两个节点之间可以通过物理层和数据链路层实现可靠传输。

网络层(network layer)

**主要功能是控制子网的运行。**支持数据从任意一个节点(源节点、发送方、发送节点)传输到另外一个节点(目的节点、接收方、接收节点)。由于通信双方都以一定的形式接入到通信子网,所以网络层主要探讨通信子网内部的运行。

一个关键的设计问题是如何将数据包从源端路由到接收方。路由可以建立在静态表的基础上,这些表相当于网络内部的“布线”,而且很少会改变;或者,更常见的情况是路由可以自动更新,以此来避免网络中的故障组件。路由也可以在每次会话(例如一次终端会话)开始时就确定下来,比如登录 到一台远程机器上。最后,路由可以是高度动态的,针对每一个数据包都重新确定路径,以便反映网络当前的负载情况。

面对的挑战:寻找一条路径(path)?(路由),服务质量要求?(QoS),有效使用资源?(拥塞控制),不同节点的标识?(编址),交换节点资源限制?(子网)。 数据量带有随机性,任何规划拥塞不可避免,数据丢失存在,网络层提供尽最大努力的数据传输(不可靠),需要上层进一步处理(数据发送量、发送时间需要有约束)。

当一个数据包必须从一个网络传输到另一个网络才能够到达它的目的地时,可能会发生很多问题。比如,第二个网络所使用的寻址方案可能与第一个网络不同;第二个网络可能无法接受这个数据包,因为它太大了;两个网络所使用的协议也可能不一样,等等。网络层应该解决所有这些问题,从而允许异构网络相互连接成为互联网络。

传输层(transport layer)

任意两个端(线程、进程)之间的通信

在通信子网提供的尽最大努力的节点到节点的数据传输的基础之上,为上层提供合适的端到端的符合要求的数据传输服务(如端到端的可靠的数据传输,端到端或多端的流媒体传输等)。

面对的挑战:通信子网的细节不可见,只是一个不可靠的“网络”,各种服务需要对等体(端)之间的协作完成。即协议失去对网络的控制,只发生在端之间。如何完成两个端之间可靠的数据传输?如何控制自己的发送速率,充分利用网络资源,避免或减少在多个数据传输并存的状况下拥塞的发生,使得网络的利用效率最高?(流量控制的新含义) 与数据链路层相似,但是加入了网络的复杂性。

传输层是真正的端-端的层,它自始自终将数据从源端携带到接收方。换句话说,源机 器上的一个程序利用报文头和控制信息与目标机器上的一个类似程序进行会话。在其下面 的各层,每个协议涉及一台机器与它的直接邻居,而不涉及最终的源机器和目标机器,即 源机器和目标机器可能被多个中间路由器隔离了。第 1 层到第 3 层是链式连接的,而第 4 层到第 7 层是端-端的。

会话层(session layer)

允许不同机器上的用户建立会话。会话通常提供各种服务,包括对话控制(dialog control)(记录该由谁来传递数据)、令牌管理(token management)(禁止双方同时执行同一个关键操作),以及同步功能(synchronization)(在一个长传输过程中设置一些断点,以便在系统崩溃之后还能恢复到崩溃前的状态继续运行)。

表示层(presentation layer)

消除不同机器进行数据交换时语法和语义的差别。如不同的文件格式之间的不同,数据加密功能等。

应用层(application layer)

为最终网络用户提供网络应用,即基于网络开发的一个应用系统。关注涉及应用内部的各种逻辑等。如组织开发一个邮件系统,需要关注发信方地址、收信方地址、信件在不同邮件系统内部的递交等。

应用层(application layer)包含了用户通常需要的各种各样的协议。一个得到广泛使 用的应用协议是超文本传输协议(HTTP,HyperText Transfer Protocol),它是万维网(WWW, World Wide Web)的基础。当浏览器需要一个 Web 页面时,它通过 HTTP 将所要页面的名 字发送给服务器,然后服务器将页面发回给浏览器。其他一些应用协议可用于文件传输、 电子邮件以及网络新闻等。

2.TCP/IP参考模型

TCP/IP参考模型被ARPANET(广域网的鼻祖)和其继任者Internet使用。是一个事实上(实现)的标准,以最出名的两个协议TCP和IP命名。

TCP协议用在传输层,IP协议用在网络层。

无缝连接多个不同网络、消除信息孤岛为目的之一。实现方式为不关心每个网络内部的工作模式,当需要与其它网络互联时,必须遵守TCP/IP协议。即每个需要连接到互联网的设备必须运行TCP/IP协议。一般情况下,当一个局域网络通过一台网络设备(路由器)连接到互联网时,这台设备必须同时支持局域网协议和互联网协议,提供从局域网协议到互联网协议的转换(完成接入功能)

采用分组交换(数据包交换)技术,支持在网络部分设备或线路失效时仍能够完成数据递交任务。

为了支持日渐增多的网络应用,不再统一支持会话层和表示层,其功能交由应用层实现。避免了多种应用下对会话和表示的复杂的统一实现。

链路层(网络接入层):

不同的网络,需要按照一定的接口功能接入到互联网。

互联网层(网络层):

完成从发送方到接收方的分组(数据包)递交。主要协议是互联网协议(IP),和用于网络维护的互联网控制信息协议(ICMP)。还有完成路径规划的路由协议,用于地址转换的地址解析协议(ARP)等。

传输层:

实现端到端的数据传输服务。最主要的两个协议是提供面向连接的、可靠的数据传输控制协议(TCP)和非连接的、不可靠的用户数据报协议(UDP)。

应用层:

为网络用户提供网络应用。包括将域名转换为IP地址的域名系统(DNS),虚拟终端协议(TELNET)、文件传输协议(FTP)、电子邮件协议(POP3,SMTP)、超文本传输协议(HTTP)等。

附:

考虑子网中A—>C的通信,其中A—>B的通信和B—>C的通信都是相邻两个节点之间的通信。在AB之间和BC之间的数据传输都是可靠的,但是AC之间的不可靠。因为在B这里将数据转发出去的时候可能会遇到拥塞,从而导致丢失数据包。比如说A这里发送10个包,到B接收到10个包,但B发出去8个包,C接收到8个包。因此说网络层不提供可靠的数据传输机制。

通信子网内部ABC都只具有123层功能,而主机需要具有7层的功能。

数据链路层和传输层的区别:

数据链路层是两个相邻节点之间的通信

传输层是两个主机上的进程之间相互通信,叫做两个端点。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值