学习记录,知识点是通过书获取的,如有编辑不对的地方大家指正,会及时更改
计算机网络是计算机技术与通信技术相互融合的产物,替代了之前只能通过存储介质(磁盘)来进行数据传输的局限。
计算机网络是互连的、自治的计算机的集合。其中的计算机不单单只是通常意义上的个人计算机、笔记本电脑或者服务器,因该包括所有智能计算设备。
“互连”是指利用通信链路连接互相独立的计算机系统。通信链路可以是双绞线、光纤、微波、通信卫星等。不同链路的传输速率不同,在计算机网络中也称为带宽,单位是 bit/s 或 bps 或 b/s 。
“自治计算机” 通常称为 “主机” 或 “端系统” 。
目前最大的、应用最广泛的计算机网络就是 Internet 或因特网。(家庭用户端系统构成小型家庭网络,并借助电话网络、有线电视网络等接入区域或本地 ISP。企业网络、校园网等机构网络,通常构建成一定规模的局域网,然后再接入区域或本地 ISP。区域或本地 ISP 再与更大规模的国家级 ISP 互连,国家级 ISP 再互连其他国家级 ISP 或全球性 ISP)。
ISP(Image Signal Processing)图像信号处理,由许多有线或无线通信链路互连分组交换设备(可以实现数据分组的接收与转发,最典型的是路由器和交换机)构成。
Internet 中互连的端系统、分组交换设备或其他网络设备在进行信息发送、接收或转发的过程中,都需要遵循一些规则或约定,即网络协议。
通信链路互仅仅实现了网络硬件设备的互连,还不足以确保通信实体间进行正常的数据交换。(网络中通信的实体是 “机器” 或 “软件程序”)
协议约定了实体之间交换的信息类型、信息各部分的含义、信息交换顺序以及收到特定信息或出现宜昌市应采取的行动。
任何一个协议都会显式或隐式地定义 3 个基本要素:
语法(syntax)
定义实体间交换信息的格式与结构
语义(semantics)
定义实体间交换的信息中需要发送(或包含)那些控制信息,还需要定义彼此采用何种差错编码,以及何种差错处理机制等
时序(timing)
定义实体之间交换信息的顺序以及如何匹配或适应彼此的速度
计在不同主机之间实现快速的信息交换。
硬件资源共享
云计算、云存储,一台主机可以共享使用另一台主机的硬件资源
软件资源共享
网络上的主机可以远程访问、使用服务器上运行的各类大型软件
信息资源共享
获取信息的渠道
按覆盖范围分类
(1)个域网 - Person Area NetWork, PAN
因为穿戴设备、便携移动设备而提出的网络类型。实现个人设备间的数据传输,比如蓝牙技术实现个人设备互连
(2)局域网 - Local Area NetWork, LAN
办公室、办公楼等实现局部范围内高速数据传输
(3)城域网 - Metropoliran Area NetWork, MAN
城市范围的网络
(4)广域网 - Wide Area NetWork, WAN
异地城域网或局域网的互连
按拓扑结构分类
(1)星形拓扑结构
有一个中央节点,网络中的主机通过点对点通信链路与中央节点连接。
易于管理,故障诊断与隔离容易;中央节点出问题全网瘫痪,规模受限于中央节点的端口数量。
(2)总线型拓扑结构
采用一条广播信道作为公共传输介质。
易于拓展;通信范围受限,故障诊断与隔离较困难,两个或两个以上的节点同时发送信息时会互相干扰,会导致某一节点数据发送失败造成冲突。
(3)环形拓扑结构
利用通信链路将所有节点连接成一个闭合的环(可单项可双向传输)。节点从环中复制发送给主机的数据。发送数据的节点需要负责从环中清楚发送的数据 “自生自灭”。
电缆长度短,易于避免产生冲突。某节点故障可能导致全网瘫痪,新节点加入或撤出过程比较麻烦。
(4)网状拓扑结构
通过多条链路与不同的节点直接连接;全网状拓扑图(任一节点与其余所有节点均有直接链路连接)。
网络可靠性高;网络结构复杂,造假成本高。
(5)树形拓扑结构
总线型或星形拓扑网络的拓展。
易于拓展,故障隔离容易;根节点故障,可能导致网络大范围无法通信。
(6)混合拓扑结构
两种以上简单拓扑结构网络混合连接而成的网络。
易于拓展,可以构建不同规模的网络;网络结构复杂,管理与维护复杂。
按交换方式分类
数据交换是指网络通过彼此互连的节点间的数据转接。可以分为电路交换网络、报文交换网络和分组交换网络。
按网络用户属性分类
(1)公用网 - public network
国家企业出资建设,面向公众提供收费或免费服务的网络。
(2)私用网 - private network
面向组织内部业务提供的网络传输服务,不向公众开放的网络,如:军事专业网络、航空专用网络、银行专用网络。
连接到网络上的所有端系统构成了网络边缘。
网络边缘上的端系统运行分布式网络应用,在端系统之间进行数据交换,实现应用目的。(用户主机上运行浏览器软件,服务器主机上运行 Web 服务器软件。浏览器根据用户的操作向 Web 服务器发送请求消息,Web 服务器根据请求,向浏览器发送响应信息,浏览器解释并显示收到的信息,如 Web 页面。)
网络边缘为网络用户提供了网络应用服务,实现网络边缘的端系统之前的信息交换。
简单的局域网或个域网,网络边缘中的端系统可以通过通信链路直接连接,可以认为就是图中没有接入网和网络核心的情况。
对于大规模、复杂网络,如 Internet,大部分端系统相距遥远,可能位于两个不同的国家,这些端系统之间的网络连接和通信需要网络核心进行数据中继或转发。通常情况,网络核心是由一些电信网络运营商等企业运营的 ISP 网络。
接入网络是实现网络边缘的端系统与网络核心连接与接入的网络。
电话拨号接入是利用电话网络,通过调制解调器(modem)将数字信号调制到模拟电话线路,通过电话网络的模拟语音信号作为载波传送到远端,再利用调制解调器将数字信号从模拟信号解调出来。
早期接入网络中主要用于家庭接入,最大带宽为 56kbit/s 。
ADSL 也是利用现有的电话网络的用户线路实现的接入网络。
ADSL 基于频分多路复用(FDM)技术实现电话语音通信与数字通信(即网络数据传输)共享一条线路,在进行网络通信的同时可以进行电话语音通信。
之所以称为 “非对称” 数字用户线路,是因为在 ADSL 接入网络中,在用户线路上实现的上行(从用户端向网络上上传数据)宽带比下行(从网络端向用户端下载数据)宽带小。
根据用户线路长度的不同对应的带宽也会由不同的差异,普遍来说,用户线路越短带宽越大。它是独享式接入。
HFC(Hybrid Fiber-Coaxial)接入网络也称为电缆调制解调器(cable modem)接入,是利用有线电视网络实现网络接入的技术。
HFC 也是基于频分多路复用技术,利用有线电视网络同轴电缆剩余的传输能力实现电视信号传输与网络数据传输的共享。
HFC 接入网络的用户端使用电缆调制解调器连接有线电视网的入户同轴电缆,同轴电缆连接到光纤点,再通过光纤链路连接电缆调制解调端系统进而连接网络。
HFC 也是 “非对称” 的。
HFC 是共享式接入,即连接到同一段同轴电缆上的用户共享上行和下行带宽。一个同轴电缆的接入用户有10个,上行带宽为 30,下行为 40,如果所有用户都进行通信,每个用户平均占有的上下行带宽分别是 3 和 4。当 HFC 共享用户数量较大时,每个用户获得的实际带宽可能并不高。(我觉得学校的网就是通过这个方式接入的,每晚 6-12 属于用网高峰期。)
企业、学校等机构会在组织范围内建设局域网,连接所有需要接入外部网络(如 Internet)的主机,然后通过企业网络或校园网的边缘路由器连接网络核心。典型的局域网技术是以太网、Wi-Fi等。
移动接入网络主要利用移动通信网络,如3/4G/5G网络,实现智能手机、移动终端等设备的网络接入。
网络核心是由通信链路互连的分组交换设备构成的网络,作用是实现网络边缘中主机之间的数据中继与转发。比较典型的分组交换设备是路由器和交换机等。
在大规模计算机网络中,相距遥远的主机之间不可能通过一条物理通信链路直接相连,而是各自通过接入网连接到网络核心上,彼此传输的数据都是通过网络核心进行中继与转发,最后送达目的主机。
ISP网络就是网络核心。
假如移动网络中的主机 A 要访问机构网络中的服务器 S,A 发往 S 的数据,在进入网络核心时,网络核心存在多条可能的路径将数据向 S 转发。对于网络核心中的每个路由器,必须能够为去往不同目的的数据做出合理的决策,选择如何转发数据,如转发给哪个相邻的路由器,通过路由器之间的转发与中继,最终将数据送达正确的目的主机。
网络核心如何实现数据的中继与转发?答案就是数据交换。
计算机网络的根本目的是在网络边缘的主机之间实现相互的数据传输、信息交换。
为了主机如何同时维护众多通信链路以及如何灵活扩展网络的问题,发明了通信设备。
交换设备具有多通信端口,可以同时连接多个通信结点(即主机或交换设备),实现通信端口间物理或逻辑上的动态、并行通信。通过交换设备,每个主机只需一个通信链路与交换设备相连,即可实现与其他主机的通信。
为了连接更大范围、更多数量的主机,可以将许多交换设备互连,构成一个数据中继与转发的 “中间网络”,然后再将主机连接到距离较近的交换设备上,主机之间的数据传输通过 “中间网络” 实现中继与转发。这个中间网络不需要关心所传输数据的内容,而只是为这些数据从一个结点到另一个结点直至到达目的结点提供数据中继与交换的功能,因此,称之为数据交换网络,组成交换网络的结点(即交换设备)称为交换结点,交换结点和传输介质的集合称为通信子网,即网络核心。
基于不同交换技术构建的网络分别称之为电路交换网络、报文交换网络和分组交换网络。
电话网络则是最早、最大的电路交换网络。在电路交换网络中,首先需要通过中间交换结点为两台主机之间建立一条专用的通信线路,称为电路,然后再利用该电路进行通信,通信结束后再拆除电路。电话网络的电话拨号呼叫过程就是请求建立电路的过程。
如果两个主机之间需要进行通信,那么发送主机需要先发出呼叫请求信号给接收主机,然后经过若干结点沿途接通一条物理链路后,再由接收主机发出应答信号给发送主机,这样双方之间的电路连接就建立成功了。
电路建立之后在两个主机之间的每一段物理链路上都为双方的通信预留了相应的带宽,这个带宽在双方通信期间将一直保留并独占。
打电话时通话双方均为 “占线” 状态,而此时可能会有多路通话在交换网络中同时进行。在本次通信结束之前,这条 “独占” 的物理线路上的所有资源不能被其他主机使用,即使某一时刻通信双方并没有数据进行传输。
(之前如果在通话中你的网络流量你会发现使用不了,或者你在打王者的时候突然来电话了,你的王者460了)
数据传输结束后,要释放(拆除)该物理链路。该释放动作可由两个通信主机之间任何大,早方发起并完成。释放信号必须传送到电路所经过的各个结点,以便重新分配资源。
当主机间交换的数据具有随机性和突发性时,电路交换此时就以及满足不了需求了,于是提出了报文交换的方法。
报文交换也称为消息交换,其工作过程为:发送方把要发送的信息附加上发送/接收主机的地址及其他控制信息,构成一个完整的报文(Message)。然后以报文为单位在交换网络的各结点之间以存储-转发的方式传送,直至送达目的主机。
报文交换事先不需要建立连接,发送方组装好报文之后即可向相邻的交换结点发出,交换结点收到整个报文并且检查无误后,暂时存储报文,然后利用路由选择找出需要转发的下一个结点的地址,再把整个报文转发给下一个结点。交换结点的这种接收暂存转发的工作方式,就称为 “存储-转发” 交换方式。
报文交换网络中交换结点需要缓冲存储,报文需要排队,因此会导致报文经过网络的延迟时间变长并且不固定。(长报文排在短报文前,那短报文需要等长报文完事之后再进行传输)
分组交换需要将待传输数据(即报文)分割成较小的数据块,每个数据块附加上地址、序号等控制信息构成数据分组(packet),每个分组独立传输到目的地,目的地将收到的分组重新组装,还原为报文。分组传输过程通常也采用存储转发交换方式。
分组交换是报文交换的一种改进,它将一个完整报文拆分成若干个分组,每个分组的长度有一个上限,有限长度的分组使得每个结点所需的存储能力降低,分组可以存储到内存中,提高了交换速度。
任何一个系统都可以或需要不同的指标来度量系统的优劣、状态或特性。
速率是指网络单位时间内传送的数据量,用以描述网络传输数据的快慢也称为数据传输速率或数据速率(data rate)。
计算机网络传输的数据是以位为信息单位的二进制数据,速率的基本单位是 bit/s(位每秒),因此有时也称速率为比特率( bit rate)。
通常给出的网络速率是指网络的额定速率或标称速率,网络在实际运行时的速率可能并不总能达到额定速率。(家里面办的是 100M 的网,但是我们在使用的时候下载游戏的时候远远达不到 100M)
在计算机网络中,有时也会用 “带宽” (bandwidth)这一术语描述速率。
时延(delay),也称为延迟。
时延是指数据从网络中的一个结点(主机或交换设备等)到达另一结点所需要的时间。
在存储转发方式的分组交换网络中,每个分组从一个源结点传送到目的结点的过程中,都是首先发送给某个相邻的结点,相邻的结点再发送给其相邻结点,依次前往,最终送达目的结点。(也可以说是 “跳” 到下一个结点上)
计算机网络中,通常将连接两个结点的直接链路称为一个 “跳步” (hop),简称 “跳” 。
分组的每跳传输过程主要产生4类时间延迟:结点处理时延(nodal processing delay)、排队时延(queueing delay)、传输时延(transmission delay)和传播时延(propagation delay)
1. 结点处理时延
每个分组到达交换结点(比如路由器)时,交换设备通常可能需要验证分组是否有差错,根据分组携带的信息(比如目的地址)检索转发表,确定如何转发该分组,还有可能修改分组的部分控制信息等。
结点处理时延通常很小,并且对不同分组的结点处理时延变化也非常小,因此,在讨论网络总时间延迟时常常被忽略。
2. 排队时延
在该分组之前很有可能还有其他分组正在或等待交换到相同的输出链路,或者交换到输出链路后在该分组之前还有其他分组在等待通过输出链路进行发送。这些情形都需要分组在交换结点进行暂时缓存(这也是存储-转发概念的由来),排队等待输出链路可用,分组在缓存中排队等待的时间就是排队时延。
3. 传输时延
当一个分组在输出链路发送时,从发送第一位开始,到发送完最后一位为止,所用的时间,称为传输时延,也称为发送时延。
4. 传播时延
信号从发送端发送出来,经过一定距离的物理链路到达接收端所需要的时间,称为传播时延,
如果将物理链路看作一个传输数据的管道的话,时延带宽积表示一段链路可以容纳的数据位数,也称为以位为单位的链路长度。
当网络拥塞特别严重时,新到达的分组甚至已无缓存空间存该分组,此时交换结点会丢弃分组,就会发生 “丢包“ 现象。
丢包率常被用于评价和衡量网络性能的指标,在很大程度上可以反映网络的拥塞程度,因为引发网络丢包的主要因素是网络拥塞。
吞吐量(throughput)表示在单位时间内源主机通过网络向目的主机实际送达的数据量。
吞吐量经常用于度量网络的实际数据传送(通过)能力,即网络实际可以达到的源主机到目的主机的数据传送速率。
有了主机、链路和交换设备就能够使两个用户在硬件上建立起连接,并实现数据交换。但是要顺利地进行信息交换,或者说让计算机网络正常运转,通信双方还必须遵循相同的协议。
计算机网络作为综合计算机技术与通信技术的复杂系统,显然不可能由一个或少数几个协议就能约定网络通信过程中所要遵循的所有规则,实现所有功能。因此,在制定网络协议时经常采用的思路是将复杂的网络通信功能划分为由若干协议分别完成,然后将这些协议按照一定的方式组织起来,最终实现网络通信的所有功能,
最典型的划分方式就是采用分层的方式来组织协议。分层的核心思路是上一层的功能建立在下一层的功能基础上,并且在每一层内均要速守一定的通信规则,即协议。
按照分层的思想,计算机网络完成的所有功能可以划分为若干层,每层完成一部分功能,每层在完成相应功能的时候与另一通信实体的相同层按照某种协议进行信息交换。
负责制定国际标准的国际标准化组织 ISO 参考了 IBM 的 SNA 和其他计算机厂商的网络体系结构,提出了开放系统互连(Open System Interconnection)参考模型,简称 OSI 参考模型,按照这个标准设计建成的计算机网络中的设备都可以互相通信。
OSI 参考模型采用分层结构化技术,将整个计算机网络的通信功能分为 7 层,由低层至高层分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。每一层都有特定的功能,并且上一层利用下一层的功能所提供的服务,完成本层功能。
在 OSI 参考模型中,各层的数据并不是从一端的第 N 层直接送到另一端的对等层,第 N 层接收第 N+1 层的协议数据单元(PDU),按第 N 层协议进行封装,构成第 N 层 PDU ,再通过层间接口传递给第 N-1 层,依此类推,最后,数据链路层 PDU (通常称为数据帧)传递给最底层的物理层。数据在垂直的层次中自上而下地逐层传递直至物理层,在物理层的两个端点进行物理通信,这种通信称为实通信,如图示的实线箭头路径。由于对等层通信并不是直接进行,因而称为虚拟通信,如图所示的虚箭头路径。
端系统,如图中的主机 A 和 B,实现的是 OSI 参考模型的全部 7 个层次的功能,中间系统(比如路由器)通常只实现物理层、数据链路层和网络层功能。因此, OSI 参考模型的物理层、数据链路层和网络层称为结点到结点层,传输层、会话层、表示层和应用层称为端到端层。
(1)物理层
物理层的主要功能是在传输介质上实现无结构比特流传输。所谓无结构比特流是指不关心比特流实际代表的信息内容,只关心如何将 0 和 1 这些比特以合适的信号传送到目的地,因此,物理层要实现信号编码功能。
物理层的另一项主要任务就是规定数据终端设备(DTE)与数据通信设备(DCE)之间接口的相关特性,主要包括机械、电气、功能和规程 4 个方面的特性。
机械特性也叫物理特性,说明硬件连接口的机械特点,如接口的形状、尺寸、插脚的数量和排列方式等;电气特性规定了在物理连接上,导线的电气连接及有关电路的特性,如信号的电平大小、接收器和发送器电路特性的说明、信号的识别、最大传输速率的说明等;功能特性说明物理接口各条信号线的用途,如接口信号线的功能分类等;规程特性指明利用接口传输比特流的全过程及各项用于传输的事件发生的合法序,包括事件的执行顺序和数据传输方式,即在物理连接建立、维持和交换信息时,收发双方在各自电路上的动作序列。
这些功能都是由物理层的协议来完成的。典型的物理层协议包括 R-232c、S449 以及其他网络通信标准中有关物理层的协议等。
(2)数据链路层
数据链路层的主要功能是实现在相邻结点之间数据可靠而有效的传输。
数据在物理介质内传输过程,不能保证没有任何错误发生。为了能实现有效的差错控制,就采用了一种以“帧”为单位的数据块传输方式。要采用帧格式传输,就必须有相应的帧同步技术,这就是数据链路层的“成帧”(也称为“帧同步”)功能,包括定义帧的格式、类型、成帧的方法等。
有了“帧”的存在,就可以将差错控制技术应用在数据帧中。
某些数据通信网络的数据链路层还提供连接管理功能,即通信前建立数据链路,通信结束后释放数据链路,这种数据链路的建立、维持和释放过程称为链路管理。
数据链路层的另一个重要功能是寻址,即用来确保每一帧都能准确地传送到正确的接收方,接收方也应该知道发送方的地址,这在使用广播介质的网络中尤为重要,比如计算机局域网中广泛采用MAC地址。
(3)网络层
网络层解决的核心问题是如何将分组通过交换网络传送至目的主机,因此,网络层的主要功能是数据转发与路由。
在交换网络中信息从源结点出发,要经过若干个中继结点的存储转发后,才能到达目的结点。这样一个包括源结点、中继结点、目的结点的集合称为从源结点到目的结点的路径。一般在两个结点之间都会有多条路径选择,这种路由选择是网络层要完成的主要功能之一。
当网络设备,比如路由器,从一个接口收到数据分组时,需要根据已掌握的路由信息将其转发到合适的接口并向下一个结点发送,直至送达目的结点。
此外,网络层还要对进入交换网络的通信量加以控制,以避免通信量过大造成交换网络性能下降。
当然,和数据链路层类似,网络层也要具备寻址功能,确保分组可以被正确传输到目的主机,比如 Internet网络中的P地址
(4)传输层
传输层是第一个端到端的层次,也是进程一进程的层次。数据的通信表面上看是在两台主机之间进行,但实质上是发生在两个主机的进程之间。
OSI 参考模型的前三层(自下而上)可组成公共网络,被很多设备共享,并且计算机-交换结点(典型的交换结点是路由器、交换机等)、交换结点交换结点是按照“接力”方式传送的。
为了防止传送途中报文的丢失,两个主机的进程之间需要实现端到端控制。因此,传输层的功能主要包括复用/分解(区分发送和接收主机上的进程)、端到端的可靠数据传输、连接控制、流量控制和拥塞控制机制等。
(5)会话层
会话层是指用户与用户的连接,通过在两台计算机间建立、管理和终止通信来完成对话,会话层的主要功能:在建立会话时核实双方身份是否有权参加会话;确定双方支付通信费用;双方在各种选择功能方面(如全双工还是半双工通信)取得一致在会话建立以后,需要对进程间的对话进行管理与控制。
例如,对话过程中某个环节出了故障,会话层在可能条件下必须保存这个对话的数据,使数据不丢失,如不能保留,那么终止这个对话,并重新开始,在实际的网络中,会话层的功能已经被应用层所覆盖,很少单独存在。
(6)表示层
表示层主要用于处理应用实体间交换数据的语法其目的是解决格式和数据表示的差别,从而为应用层提供一个一致的数据格式,使字符、格式等有差异的设备之间相互通信除此之外,表示层还可以实现文本压缩/解压缩、数据加密/解密、字符编码的转换等功能这一层的功能在某些实际数据通信网络中是由应用层来实现的,而且表示层不独立在
(7)应用层
应用层与提供给用户的网络服务相关,这些服务非常丰富,包括文件传送、电子邮件、P2P应用等,应用层为用户提供了一个使用网络应用的“接口”。
OSI参考模型的 7 层中,1~3 层主要是完成数据交换和数据传输,称之为网络低层 5~7 层主要是完成信息处理服务的功能,称之为网络高层:低层与高层之间由第 4 层衔接。
OSI 参考模型中的每一层的真正功能是为其上一层提供服务。
(1)数据单元
在层的实体之间传送的比特组称为数据单元。在对等层之间传送数据单元是按照本层协议进行的,因此,这时的数据单元称为协议数据单元(PDU)。(不只是每层与每层之间存在的对应的协议,如果某人只修改了对应的层之间的协议如简单的加密了一下,那么其他人的该层只有在有对应解密办法的情况下才可以进行信息的获取)。
(2)服务访问点
相邻层间的服务是通过其接口面上的服务访问点(Service Access Point,SAP)进行的,N 层 SAP 就是(N+1)层可以访问 N 层的地方。每个 SAP 都有一个唯一的地址号码。
(3)服务原语
第 N 层向(N+1)层提供服务,或第(N+1)层请求 N 层提供服务,都是用一组原语(Primitive)描述的。
OSI 参考模型的原语有4类,分别如下:
(4)面向连接的服务和无连接的服务
在分层的体系结构中,下层向上层提供服务通常有两种形式:面向连接的服务和无连接的服务。
面向连接的服务以电话系统最为典型,要和某人通话,拿起电话—拨号码—接通—通话—挂断。某一方欲传送数据,首先给出对方的全称地址,并请求建立连接,当双方同意后,双方之间的通信链路就建立起来。第二步是传送数据,通常以分组为单位,按序传送,不再标称地址,只标称所建立的链路号,并由收方对收到的分组予以确认,称为可靠传送方式;不确认则称为不可靠传送方式。第三步当数据传送结束后,拆除链路。
无连接的服务没有建立和拆除链路的过程,例如,邮政系统的用户在发送信件之前并不必与收信方进行任何消息交换。无连接的服务又称为数据报(Datagram)服务,要求每一个分组信息带有全称地址,独立选择路径,其到达目的地的顺序也是不定的,到达目的地后,还要重新对分组进行排序。
TCP/IP 参考模型包括 4 层,通常每一层封装的数据包采用不用的名称。
(1)应用层
TCP/IP 参考模型将 OSI 参考模型中会话层和表示层的功能合并到了应用层来实现。
每一种应用都使用了相应的协议来将用户的数据按照协议定义的格式进行封装,以便达到对应的控制功能,然后再利用下一层即传输层的协议进行传输。
例如,WWW服务的应用层协议为HTTP、文件传输的应用层协议是FTP、电子邮件应用层协议包括SMTP和POP3等。
每一个应用层协议一般都会使用到两个传输层协议之一进行数据传输:面向连接的传输控制协议 TCP 和无连接的用户数据报协议 UDP。
(2)传输层
传输层的协议负责把这些数据传输到接收方主机上对等的应用层程序。
传输层协议为运行在不同主机上的进程提供了一种逻辑通信机制,之所以叫作逻辑通信,是因为两个进程之间的通信就像所在的两个主机存在直接连接一样。其实,两个主机可能相距很远,两者的物理连接可能经过了多个交换机路由器,传输路径可能由不同类型的物理链路组成。
传输层负责在网络层和应用层之间传递消息,丝毫不会涉及消息如何在网络中传输,这个任务交给下面的网络互联层去解决。
TCP/IP 参考模型的传输层主要包括面向连接、提供可靠数据流传输的传输控制协议 TCP 和无连接不提供可靠数据传输的用户数据报协议 UDP。
(3)网络互联层
网络互联层是整个 TCP 参考模型的核心,主要解决把数据分组发往目的网络主机的问题。
在这个过程中,要为分组的传输选择相应的路径(路由选择),完成分组的转发提供网络层寻址—IP地址。
网络互联层除了需要完成路由的功能外,也可以完成将不同类型的网络(异构网)互连的任务。
在 TCP/IP 参考模型中,网络互联层的核心协议是 IP,负义分组的格式和传输。
IP是无连接不可靠网络协议,因此, IP 分组到达的顺序和发送的顺序可能不同,并且可能存在分组丢失现象。
(4)网络接口层
实际上,TCP/IP 参考模型没有真正描述这一层的实现,只是要求能够提供给其上层网络互联层一个访问接口,以便在其上传递 IP 分组。
由于这一层未被定义,所以其具体的实现方法将随着网络类型的不同而不同实际上,这一层对应 OSI 参考模型中的数据链路层和物理层,网络层 IP 分组在这一层被封装到底层网络的链路层数据中,并最终以比特流的形式在物理介质上进行传输。
对比 TCP/IP 参考模型与 OSI 参考模型, TCP/IP 参考模型缺少 OSI 参考模型中功能比较少的表示层与会话层,而 TCP/IP 参考模型的网络接口层则相当于合并了 OSI 参考模型的数据链路层与物理层,结合这两个参考模型,可以提出综合理论需求与实际网络的五层参考模型,包括物理层、数据链路层、网络层、传输层与应用,各层功能基本与OS参考模型对应。
基于五层参考模型来描述网络通信的过程,如图所示。