计算机网络 TCP/IP及互联网基础知识

目录

TCP/IP的具体含义

互联网基础知识

互联网定义

互联网与TCP/IP的关系

互联网的结构

ISP和区域网

TCP/IP协议分层模型

TCP/IP与OSI参考模型

 为什么网络协议要分层

硬件(物理层)

网络接口层(数据链路层)

互联网层(网络层)

IP

ICMP

ARP

传输层

TCP

UDP

应用层(会话层以上的分层)

WWW

电子邮件(E-Mail)

文件传输(FTP)

远程登录(TELNET与SSH)

网络管理(SNMP)

域名系统

HTTP 协议

七层体系总结图

TCP/IP分层模型与通信示例

数据包首部

发送数据包

应用程序处理

TCP模块的处理

IP模块的处理

网络接口(以太网驱动)的处理

经过数据链路的包

数据包接收处理

网络接口(以太网驱动)的处理

IP模块的处理

TCP模块的处理

应用程序的处理


TCP/IP的具体含义

从字面意义上讲,有人可能会认为TCP/IP是指TCP与IP两种协议。实际生 活当中有时也确实就是指这两种协议。然而在很多情况下,它只是利用IP进行通 信时所必须用到的协议群的统称。具体来说,IP或ICMP、TCP或UDP、TELNFET 或FTP、以及HTTP等都属于TCP/IP的协议。它们与TCP或IP的关系紧密,是 互联网必不可少的组成部分。TCP/IP一词泛指这些协议,因此,有时也称TCP/ IP为网际协议族。

计算机网络 TCP/IP及互联网基础知识_第1张图片

互联网基础知识

互联网定义

“互联网”,英文单词为"Internet"。从字面上理解,internet指的是将多个网 络连接使其构成一个更大的网络,所以internet一词本意为网际网。将两个以太网 网段用路由器相连是互联网,将企业内部各部门的网络或公司的内网与其他企业 相连接,并实现相互通信的网络也是互联网,甚至一个区域的网络与另一个区域 的网络相互连接形成全世界规模的网络也可以称作互联网。然而,现在“互联 网”这个词的意思却有所变化。当专门指代网络之间的连接时,可以使用“网际 网”这个词。

“互联网”是指由ARPANET发展而来、互连全世界的计算机网络。现在,“互联网”已经是一个专有名词了,其对应的英文单词"The Internet"也早已成 为固有名词(Internet指网际网,The Internet指互联网,首字母大写)~。

互联网与TCP/IP的关系

互联网进行通信时,需要相应的网络协议,TCP/IP原本就是为使用互联网而 开发制定的协议族。因此,互联网的协议就是TCP /IP, TCP /IP就是互联网的 协议。

互联网的结构

互联网一词原意是网际网,意指连接一个又一个网络。那么连接全世界的互联网也是如此。较小范围的网络之间相连组成机构内部的网络,机构内部的网络之间相连再形成区域网络,而各个区域网络之间再互连,最终就形成了连接全世界的互联网。互联网就是按照这样的形式构成了一个有层次的网络。

互联网中的每个网络都是由骨干网(BackBone)和末端网(Stub)组成的。每个网络之间通过NOC"(network operation center网络操作中心)相连。如果网络的运营商不同,它的网络连接方式和使用方法也会不同。连接这种异构网络需要有IX的支持。总之,互联网就是众多异构的网络通过IX(internet exchange 网络交换中心)互连的一个巨型网络。

计算机网络 TCP/IP及互联网基础知识_第2张图片

ISP和区域网

连接互联网需要向ISP或区域网提出申请。公司企业或一般家庭申请入网只 要联系ISP签约即可。

不同的ISP所提供的互联网接入服务的项目也不同。例如,不限流量包月、 限定上网时限以及有线/无线网络连接等各种各样的服务。

区域网指的是在特定区域内由团体或志愿者所运营的网络。这种方式通常价 格比较便宜,但是有时可能会出现连接方式复杂或使用上有限制等情况。

所以人们在实际申请连网前,最好先确认一下ISP或区域网所对应的具体服 务条目、所提供服务的细则(如接入方式、条件、费用等)等,然后再结合自己 的使用目的做决定。

当公司的网络与家里的个人电脑都能连网时,一方面可以认为它们 都是互联网的一部分, 另一方面,从公司的局域网或家里个 人电脑的角度出发,可以认为它们连接的目标网络都是互联网。这种透 视方法其实就是在将提供网络的ISP看作是外在、将内外明确划分的一种 方法

计算机网络 TCP/IP及互联网基础知识_第3张图片

TCP/IP协议分层模型

TCP/IP与OSI参考模型

TCP/IP诞生以来的各种 协议其实也能对应到OSI参考模型当中。如果了解了这些协议分属OSI的哪一层, 就能对该协议的目的有所了解。然后对于每个协议的具体技术要求就可以参考相 应的规范了。在此,暂时略过协议本身的细节,先介绍一下 各个协议与OSI参考模型中各个分层之间的对应关系。

图列出了TCP/IP与OSI分层之间的大致关系。不难看出,TCP/IP与 OSI在分层模块上稍有区别。OSI参考模型注重“通信协议必要的功能是什么。 而TCP/IP则更强调”在计算机上实现协议应该开发哪种程序”。

计算机网络 TCP/IP及互联网基础知识_第4张图片

 为什么网络协议要分层

各层之间是独立的。某一层并不需要知道它的下一层是如何实现的,而仅仅需要知道该层通过层间的接口(即界面)所提供的服务。由于每一层只实现一种相对独立的功能,因而可将一个难以处理的复杂问题分解为若干个较容易处理的更小一些的问题。这样,整个问题的复杂程度就下降了。

灵活性好。当任何一层发生变化时(例如由于技术的变化),只要层间接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。

当某层提供的服务不再需要时,甚至可以将这层取消。

结构上可分割开。各层都可以采用最合适的技术来实现。

易于实现和维护。这种结构使得实现和调试一个庞大而又复杂的系统变得易于处理,因为整个的系统已被分解为若干个相对独立的子系统。

能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明。

分层当然也有一些缺点,例如,有些功能会在不同的层次中重复出现,因而产生了额外开销。

硬件(物理层)

TCP/IP的最底层是负责数据传输的硬件。这种硬件就相当于以太网或电话线路等物理层的设备。作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。

关于它的内容一直无法统一定义。因为只要人们在物理层面 上所使用的传输媒介不同(如使用网线或无线),网络的带宽、可靠性、安全性、 延迟等都会有所不同,而在这些方面又没有一个既定的指标。总之,TCP/IP是在 网络互连的设备之间能够通信的前提下才被提出的协议。

在物理层上所传送的数据单位是比特。

网络接口层(数据链路层)

数据链路层(data link layer)通常简称为链路层。两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要使用专门的链路层的协议。 在两个相邻节点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装成帧,在两个相邻节点间的链路上传送帧。每一帧包括数据和必要的控制信息(如同步信息,地址信息,差错控制等)。

在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提出数据部分,上交给网络层。 控制信息还使接收端能够检测到所收到的帧中有无差错。如果发现差错,数据链路层就简单地丢弃这个出了差错的帧,以避免继续在网络中传送下去白白浪费网络资源。如果需要改正数据在链路层传输时出现差错(这就是说,数据链路层不仅要检错,而且还要纠错),那么就要采用可靠性传输协议来纠正出现的差错。这种方法会使链路层的协议复杂些。

网络接口层利用以太网中的数据链路层进行通信,因此属于接口层。也就是说,把它当做让NIC起作用的"驱动程序”也无妨。驱动程序是在操作系统与硬件之间起桥梁作用的软件。计算机的外围附加设备或扩展卡,不是直接插到电 脑上或电脑的扩展槽上就能马上使用的,还需要有相应驱动程序的支持。例如换 了一个新的NIC网卡,不仅需要硬件,还需要软件才能真正投入使用。因此,人们常常还需要在操作系统的基础上安装一些驱动软件以便使用这些附加硬件"

互联网层(网络层)

互联网层使用IP协议,它相当于OSI模型中的第3层网络层。IP协议基于IP地址转发分包数据。

TCP/IP分层中的互联网层与传输层的功能通常由操作系统提供。尤其是路由器,它必须得实现通过互联网层转发分组数据包的功能。

此外,连接互联网的所有主机跟路由器必须都实现IP的功能。其他连接互联 网的网络设备(如网桥、中继器或集线器)就没必要一定实现IP或TCP的 功能。

在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。 在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组和包进行传送。在 TCP/IP 体系结构中,由于网络层使用 IP 协议,因此分组也叫 IP 数据报 ,简称 数据报

这里要注意:不要把运输层的“用户数据报 UDP ”和网络层的“ IP 数据报”弄混。另外,无论是哪一层的数据单元,都可笼统地用“分组”来表示。

这里强调指出,网络层中的“网络”二字已经不是我们通常谈到的具体网络,而是指计算机网络体系结构模型中第三层的名称.

互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来的。互联网使用的网络层协议是无连接的网际协议(Internet Protocol)和许多路由选择协议,因此互联网的网络层也叫做网际层IP 层

计算机网络 TCP/IP及互联网基础知识_第5张图片

IP

IP是跨越网络传送数据包,使整个互联网都能收到数据的协议。IP协议使数 据能够发送到地球的另一端,这期间它使用IP地址作为主机的标识。

IP还隐含着数据链路层的功能。通过IP, 相互通信的主机之间不论经过怎样 的底层数据链路都能够实现通信。

虽然IP也是分组交换的一种协议,但是它不具有重发机制。即使分组数据包 未能到达对端主机也不会重发。因此,属于非可靠性传输协议。

ICMP

IP数据包在发送途中一旦发生异常导致无法到达对端目标地址时,需要给发送端发送一个发生异常的通知。ICMP就是为这一功能而制定的。它有时也被用来 诊断网络的健康状况。

ARP

从分组数据包的IP地址中解析出物理地址(MAC地址)的一种协议。

传输层

TCP/IP的传输层有两个具有代表性的协议。该层的功能本身与OSI参考模型 中的传输层类似。

运输层(transport layer)的主要任务就是负责向两台主机进程之间的通信提供通用的数据传输服务计算机内部,通常 同一时间运行着多个程序。为此,必须分清是哪些程序与哪些程序在进行通信。 识别这些应用程序的是端口号。应用进程利用该服务传送应用层报文。“通用的”是指并不针对某一个特定的网络应用,而是多种应用可以使用同一个运输层服务。由于一台主机可同时运行多个线程,因此运输层有复用和分用的功能。所谓复用就是指多个应用层进程可同时使用下面运输层的服务,分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。

计算机网络 TCP/IP及互联网基础知识_第6张图片

TCP

TCP是一种面向有连接的传输层协议。它可以保证两端通信主机之间的通信 可达。TCP能够正确处理在传输过程中丢包、传输顺序乱掉等异常情况。此外, TCP还能够有效利用带宽,缓解网络拥堵。

然而,为了建立与断开连接,有时它需要至少7次的发包收包,导致网络流 量的浪费。此外,为了提高网络的利用率,TCP协议中定义了各种各样复杂的规 范,因此不利千视频会议(音频、视频的数据量既定)等场合使用。

UDP

UDP有别于TCP, 它是一种面向无连接的传输层协议。UDP不会关注对端是 否真的收到了传送过去的数据,如果需要检查对端是否收到分组数据包,或者对 端是否连接到网络,则需要在应用程序中实现。

UDP常用于分组数据较少或多播、广播通信以及视频通信等多媒体领域。

应用层(会话层以上的分层)

应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统 DNS,支持万维网应用的 HTTP 协议,支持电子邮件的 SMTP 协议等等。我们把应用层交互的数据单元称为报文。

TCP/IP的分层中,将OSI参考模型中的会话层、表示层和应用层的功能都集 中到了应用程序中实现。这些功能有时由一个单一的程序实现,有时也可能会由 多个程序实现。因此,细看TCP/IP的应用程序功能会发现,它不仅实现OSI模型 中应用层的内容,还要实现会话层与表示层的功能。

TCP/IP应用的架构绝大多数属于客户端/服务端模型。提供服务的程序叫服务端,接受服务的程序叫客户端。在这种通信模式中,提供服务的程序会预先被 部署到主机上,等待接收任何时刻客户可能发送的请求。

客户端可以随时发送请求给服务端。有时服务端可能会有处理异常、超出负载等情况,这时客户端可以在等待片刻后重发一次请求。

计算机网络 TCP/IP及互联网基础知识_第7张图片

WWW

WWW"可以说是互联网能够如此普及的一个重要原动力。用户在一种叫Web 浏览器的软件上借助鼠标和键盘就可以轻轻松松地在网上自由地冲浪。也就是 说轻按一下鼠标架设在远端服务器上的各种信息就会呈现到浏览器上。浏览器中 既可以显示文字、图片、动画等信息,还能播放声音以及运行程序。

浏览器与服务端之间通信所用的协议是HTTP (HyperText Transfer Protocol)。

传输数据的主要格式是HTML (HyperText Markup Language).

WWW中的HTTP 属于OSI应用层的协议,而HTML属于表示层的协议。

计算机网络 TCP/IP及互联网基础知识_第8张图片

电子邮件(E-Mail)

电子邮件其实就是指在网络上发送信件。有了电子邮件,不管距离多远的人, 只要连着互联网就可以相互发送邮件。发送电子邮件时用到的协议叫做SMTP(Simple Mail Tranfer Protocol)。

最初,人们只能发送文本格式,,的电子邮件。然而现在,电子邮件的格式由 MIME协议扩展以后,就可以发送声音、图像等各式各样的信息。甚至还可以修 改邮件文字的大小、颜色。这里提到的MIME属千OSI参考模型的第6层一一表 示层。

有人可能会说"TCP/IP的发展离不开电子邮件!”这句话可能有两 方面的含义。

一方面,电子邮件使用起来非常方便,便于讨论TCP/IP协议的进度 和细节。而另一方面,为了正常使用电子邮件,需要具备完善的网络环 境并对某些协议进行。

总之,电子邮件与TCP/IP的发展相辅相成。电子邮件协助改善协 议,更加完善的协议又可以令电子邮件的形式多样化。

计算机网络 TCP/IP及互联网基础知识_第9张图片

文件传输(FTP)

文件传输是指将保存在其他计算机硬盘上的文件转移到本地的硬盘上,或将 本地硬盘的文件传送到其他机器硬盘上的意思。

该过程使用的协议叫做FTP (File Transfer Prototol) 。 FTP很早就已经投入使 用,传输过程中可以选择用二进制方式还是文本方式。

在FTP中进行文件传输时会建立两个TCP连接,分别是发出传输请求时所要 用到的控制连接与实际传输数据时所要用到的数据连接。

计算机网络 TCP/IP及互联网基础知识_第10张图片

远程登录(TELNET与SSH)

远程登录是指登录到远程的计算机上,使那台计算机上的程序得以运行的一 种功能。TCP/IP网络中远程登录常用TELNET"和SSH"两种协议。其实还有很 多其他可以实现远程登录的协议,如BSD UNIX系中rlogin的r命令协议以及X Window System中的X协议。

计算机网络 TCP/IP及互联网基础知识_第11张图片

网络管理(SNMP)

在TCP/IP中进行网络管理时,采用SNMP (Simple Network Management Proto­col)协议。使用SNMP管理的主机、网桥、路由器等称作SNMP代理(Agent), 而进行管理的那一段叫做管理器(Manager)。SNMP正是这个Manager与Agent所 要用到的协议。

在SNMP的代理端,保存着网络接口的信息、通信数据量、异常数据量以及温度等信息。这些信息可以通过MIB (Management Information Base) "'访问。

因此,在TCP/IP的网络管理中,SNMP属于应用协议,MIB属于表示层协议。

一个网络范围越大,结构越复杂,就越需要对其进行有效的管理。而SNMP 可以让管理员及时检查网络拥堵情况,及早发现故障,也可以为以后扩大网络收 集必要的信息。

计算机网络 TCP/IP及互联网基础知识_第12张图片

域名系统

域名系统(Domain Name System 缩写 DNS,Domain Name 被译为域名)是因特网的一项核心服务,它作为可以将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的 IP 数串。(百度百科)例如:一个公司的 Web 网站可看作是它在网上的门户,而域名就相当于其门牌地址,通常域名都使用该公司的名称或简称。例如上面提到的微软公司的域名,类似的还有:IBM 公司的域名是 www.ibm.com、Oracle 公司的域名是 www.oracle.com、Cisco 公司的域名是 www.cisco.com 等。

HTTP 协议

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的 WWW(万维网) 文件都必须遵守这个标准。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。(百度百科)

七层体系总结图

计算机网络 TCP/IP及互联网基础知识_第13张图片

TCP/IP分层模型与通信示例

数据包首部

每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层 必要的信息,如发送的目标地址以及协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。在下一层的角度看,从上一分层收 到的包全部都被认为是本层的数据。

网络中传输的数据包由两部分组成:一部分是协议所要用到的首部, 另一部分是上层传过来的数据。首部的结构由协议的具体规范详细定义。 例如,识别上一层协议的域应该从包的哪一位开始取多少个比特、如何 计算校验和并插入包的哪一位等。相互通信的两端计算机如果在识别协 议的序号以及校验和的计算方法上不一样,就根本无法实现通信。

因此,在数据包的首部,明确标明了协议应该如何读取数据。反过来 说,看到首部,也就能够了解该协议必要的信息以及所要处理内容。因此, 看到包首部就如同看到协议的规范。难怪有人会说首部就像是协议的脸了。

计算机网络 TCP/IP及互联网基础知识_第14张图片

发送数据包

假设甲给乙发送电子邮件,内容为:“早上好”。而从TCP/IP通信上看,是 从一台计算机A向另一台计算机B发送电子邮件。我们就通过这个例子来讲解一 下TCP/IP通信的过程。

应用程序处理

启动应用程序新建邮件,将收件人邮箱填好,再由键盘输入邮件内容”早上 好”,鼠标点击“发送”按钮就可以开始TCP/IP的通信了。

首先,应用程序中会进行编码处理。例如,日文电子邮件使用ISO- 2022- JP 或UTF-8进行编码。这些编码相当于OSI的表示层功能。

编码转化后,实际邮件不一定会马上被发送出去,因为有些邮件的软件有一 次同时发送多个邮件的功能,也可能会有用户点击“收信”按钮以后才一并接收 新邮件的功能。像这种何时建立通信连接何时发送数据的管理功能,从某种宽泛 的意义上看属于OSI参考模型中会话层的功能。

应用在发送邮件的那一刻建立TCP连接,从而利用这个TCP连接发送数据。

它的过程首先是将应用的数据发送给下一层的TCP, 再做实际的转发处理。

TCP模块的处理

TCP根据应用的指示,负责建立连接、发送数据以及断开连接。TCP提供 将应用层发来的数据顺利发送至对端的可靠传输。

为了实现TCP的这一功能,需要在应用层数据的前端附加一个TCP首部

TCP首部中包括源端口号和目标端口号(用以识别发送主机跟接收主机上的应 用)、序号(用以发送的包中哪部分是数据)以及校验和(用以判断数据是否被 损坏)。随后将附加了TCP首部的包再发送给IP。

IP模块的处理

IP将TCP传过来的TCP首部和TCP数据合起来当做自己的数据,并在TCP 首部的前端在加上自己的IP首部。因此,IP数据包中IP首部后面紧跟着TCP首 部,然后才是应用的数据首部和数据本身。IP首部中包含接收端1P地址以及发送 端IP地址。紧随IP首部的还有用来判断其后面数据是TCP还是UDP的信息。

IP包生成后,参考路由控制表决定接受此IP包的路由或主机。随后,IP包 将被发送给连接这些路由器或主机网络接口的驱动程序,以实现真正发送数据。

如果尚不知道接收端的MAC地址,可以利用ARP (Address Resolution Protoc_ol)查找。只要知道了对端的MAC地址,就可以将MAC地址和IP地址交 给以太网的驱动程序,实现数据传输。

网络接口(以太网驱动)的处理

从IP传过来的IP包,对于以太网驱动来说不过就是数据。给这数据附加上 以太网首部并进行发送处理。以太网首部中包含接收端MAC地址、发送端MAC 地址以及标志以太网类型的以太网数据的协议。根据上述信息产生的以太网数据 包将通过物理层传输给接收端。发送处理中的FCSY由硬件计算,添加到包的最 后。设置FCS的目的是为了判断数据包是否由于噪声而被破坏。

计算机网络 TCP/IP及互联网基础知识_第15张图片

经过数据链路的包

分组数据包(以下简称包)经过以太网的数据链路时的大致流程如图所示。不过请注意,该图对各个包首部做了简化。

包流动时,从前往后依此被附加了以太网包首部、IP包首部、TCP包首部 (或者UDP包首部)以及应用自己的包首部和数据。而包的最后则追加了以太网 包尾,'(Ethernet Trailer)。

每个包首部中至少都会包含两个信息:一个是发送端和接收端地址,另一个 是上一层的协议类型

经过每个协议分层时,都必须有识别包发送端和接收端的信息。以太网会用MAC地址,IP会用IP地址,而TCP/UDP则会用端口号作为识别两端主机的地 址。即使是在应用程序中,像电子邮件地址这样的信息也是一种地址标识。这些 地址信息都在每个包经由各个分层时,附加到协议对应的包首部里边。

此外,每个分层的包首部中还包含一个识别位,它是用来标识上一层协议的 种类信息。例如以太网的包首部中的以太网类型,IP中的协议类型以及TCP/UDP 中两个端口的端口号等都起着识别协议类型的作用。就是在应用的首部信息中, 有时也会包含一个用来识别其数据类型的标签。

计算机网络 TCP/IP及互联网基础知识_第16张图片

数据包接收处理

包的接收流程是发送流程的逆序过程。

网络接口(以太网驱动)的处理

主机收到以太网包以后,首先从以太网的包首部找到MAC地址判断是否为发 给自己的包。如果不是发给自己的包则丢弃数据'。而如果接收到了恰好是发给自己的包,就查找以太网包首部中的类型域从而 确定以太网协议所传送过来的数据类型。在这个例子中数据类型显然是IP包,因 此再将数据传给处理IP的子程序,如果这时不是IP而是其他诸如ARP的协议, 就把数据传给ARP处理。总之,如果以太网包首部的类型域包含了一个无法识别 的协议类型,则丢弃数据。

IP模块的处理

IP模块收到IP包首部及后面的数据部分以后,也做类似的处理。如果判断得 出包首部中的IP地址与自己的IP地址匹配,则可接收数据并从中查找上一层的 协议。如果上一层是TCP就将IP包首部之后的部分传给TCP处理;如果是UDP 则将IP包首部后面的部分传给UDP处理。对于有路由器的情况下,接收端地址 往往不是自己的地址,此时,需要借助路由控制表,在调查应该送达的主机或路 由器以后再转发数据。

TCP模块的处理

在TCP模块中,首先会计算一下校验和,判断数据是否被破坏。然后检查是 否在按照序号接收数据。最后检查端口号,确定具体的应用程序。

数据接收完毕后,接收端则发送一个“确认回执"给发送端。如果这个回执 信息未能达到发送端,那么发送端会认为接收端没有接收到数据而一直反复发送。

数据被完整地接收以后,会传给由端口号识别的应用程序。

应用程序的处理

接收端应用程序会直接接收发送端发送的数据。通过解析数据可以获知邮件 的收件人地址是乙的地址。如果主机B上没有乙的邮件信箱,那么主机B返回给 发送端一个“无此收件地址”的报错信息。

但在这个例子中,主机B上恰好有乙的收件箱,所以主机B和收件人乙能够 收到电子邮件的正文。邮件会被保存到本机的硬盘上。如果保存也能正常进行, 那么接收端会返回一个“处理正常"的回执给发送端。反之,一旦出现磁盘满、 邮件未能成功保存等问题,就会发送一个“处理异常"的回执给发送端。

由此,用户乙就可以利用主机B上的邮件客户端,接收并阅读由主机A上的 用户甲所发送过来的电子邮件 “早上好”。

你可能感兴趣的:(计算机网络)