Internet 之结构

2019 年 10 月 23 日 计算机与网络安全

一次性付费进群,长期免费索取教程,没有付费教程。

微信群回复公众号:微信群QQ群460500587

 教程列表  见微信公众号底部菜单 |   本文底部有推荐书籍 

微信公众号:计算机与网络安全

ID:Computer-network


Internet的结构一般包括物理结构和协议结构。物理结构通常是指物理连接的拓扑结构,协议结构是指TCP/IP的构成及层次。


1、Internet的物理结构


Internet的物理结构实际上是指连入Internet的网络之间的物理连接方式。Internet采用的是客户机/服务器工作模式,凡是使用TCP/IP并能与Internet的任意主机进行通信的计算机,无论是何种类型、采用何种操作系统,均可看成是Internet的一部分。但严格地讲,用户并不是将自己的计算机直接连接到Internet上的,而是连接到其中的某个网络上(如校园网、企业网等),该网络再通过路由器、调制解调器等网络设备,并租用数据通信专线与广域网相连,成为Internet的一分子,如图1所示。这样各个网络上的计算机即可相互进行数据和信息传输。例如,用户的计算机通过拨号上网,连接到本地的某个ISP的主机上,而ISP的主机通过高速专线与本国及世界各国各地区的无数主机相连。这样,用户仅通过ISP的主机即可访问Internet。

图1  Internet的物理结构


Internet上的网络速度是有区分的。例如,某些计算机之间利用光缆建立了高速的网络连接,形成了Internet的主干网络,这些主干网络的连接速度远远快于Internet的平均速度,而其他计算机将以较低的速度连接到主干网的计算机上。


2、Internet协议结构与TCP/IP


(1)Internet的协议结构


Internet使用的协议是TCP/IPTCP/IP参考模型OSI开放系统互连参考模型类似,也采用分层体系结构,自上而下分为4层。TCP/IP并不仅仅包含TCP和IP两个协议,而是一组协议,所有的协议都包含在TCP/IP组的4个层次中。TCP/IPOSI 7层参考模型的对应关系如表1所示。

表1  TCP/IP与OSI参考模型间的对应关系


(2)TCP/IP簇


Internet允许世界各地的网络接入作为其通信子网,而连入各个通信子网的计算机以及计算机使用的操作系统都可以是不相同的。为了保证这样一个复杂和庞大的系统能够顺利、正常地运转,要求所有连入Internet的计算机都使用相同的通信协议,这个协议就是TCP/IP


TCP/IP美国的国防部高级计划研究局为实现ARPANET而开发的,也是很多大学及研究所多年的研究及商业化的结果。TCP/IP是一组协议的代名词,其核心协议是TCP和IP,除此之外还包括许多其他协议,共同组成了TCP/IP簇。


TCP/IP具有以下一些特点。


开放的协议标准,可以免费使用,并且独立于具体的计算机硬件和操作系统


可应用在各类计算机网络中,包括局域网、城域网、广域网,更适用于Internet中。


统一的网络地址分配方案,使所有TCP/IP设备在网络中都具有唯一的地址。


标准化的高层协议,可以提供多种可靠的用户服务。


1)TCPTCP是一种面向连接的传输层协议,可以使网络提供一种可靠的数据流服务。面向连接服务具有建立连接、数据传输和连接释放3个阶段,而且传输的数据是按顺序到达的,实现了“虚电路分组交换”的概念。在双方通信之前,先建立一条连接,就好像打电话时占有了一条完整的物理线路一样(虚电路分组交换中,通信链路是逐步被占用的)。连接建立后,用户就可以将报文按顺序发送给远端用户。远端用户对报文的接收也是按顺序进行的。数据发送完毕后,释放连接。


TCP采用“带重传的肯定确认”技术来实现传输的可靠性。简单的“带重传的肯定确认”是指接收方每接收一次数据,就送回一个确认报文,发送者对每个发出去的报文都留一份记录,等收到确认信息之后再发出下一个报文分组。发送方在发出一个报文分组时,马上启动一个计时器,若计时器计数完毕,确认还未到达,则发送者重新传送该报文分组。简单的确认重传对网络带宽的浪费较大,因此TCP还采用一种称为“滑动窗口”的流量控制机制来提高网络的吞吐量,窗口的范围决定了发送方发送的但未被接收方确认的数据报的数量。每当接收方正确收到一则报文时,窗口便向前滑动,这种机制使网络中未被确认的数据报数量增加,从而提高了网络的吞吐量。


TCP还可以识别重复信息,丢弃不需要的多余信息,使网络环境得到优化。如果发送方传送数据的速度远远快于接收方接收数据的速度,TCP可以采用数据流控制机制减慢数据的传送速度,协调发送方和接收方的数据响应。


2)IP。IP是一种无连接的采用分组交换方式的网络层协议,既可作为单独通信子网中的网络层协议,也可作为由多个通信子网互连组成的广域网的网络层协议。IP主要负责主机间数据的路由选择和网络上信息的存储,同时为TCP、UDP提供分组交换服务。


3)TCP/IP簇中的其他协议。

① 互连层协议。


ARP。ARP(Address Resolution Protocol)即地址解析协议。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,IP地址是在国际范围标识主机的一种逻辑地址。为了让报文在物理网上传送,还必须知道彼此的物理地址。这样就存在把 IP 地址转换为物理地址的地址转换问题。在网络层有一组协议负责将IP地址转换为相应的物理网络地址,将这组协议称为ARP。ARP使主机可以找出同一物理网络中任意一台主机的物理地址,用户只需给出目的主机的IP地址即可。


RARP。反向地址解析协议(Reverse Address Resolution Protocol,RARP)。用于一种特殊情况,如果主机初始化以后只有自己的物理地址而没有IP地址,则可以通过RARP征求自己的IP地址,而RARP服务器则负责回答。这样,无IP地址的主机即可通过RARP获取自己的IP地址,并且这个地址在下一次系统重新开始以前都有效。RARP广泛用于获取无盘工作站的IP地址。


ICMP。ICMP(Internet Control Message Protocol)即Internet控制报文协议。从IP的功能可以知道,IP提供的是一种不可靠的无连接报文分组传送服务。在传送报文的过程中,若路由器发生故障使网络阻塞,就需要通知发送方主机采取相应措施。为了使Internet能报告差错或提供有关意外情况的信息,在网络层加入了一类特殊用途的报文机制,称为Internet控制报文协议。


由于ICMP数据报一般都通过IP送出,因此ICMP实际上是IP的一部分,在功能上属于TCP/IP簇的第二层。ICMP是通过发现其他主机发来的报文有问题而产生的,接收方主机通常利用ICMP来通知发送方主机某些方面所需的修改。如果一个数据分组不能传送,ICMP便被用来警告分组源,说明有网络、主机或端口不可达。除此之外,ICMP还可以用来报告网络阻塞等情况。


② 传输层协议。


用户数据报协议(User Datagram Protocol, UDP)是对IP的扩充,它增加了一种机制,发送方主机可以使用这种机制来区分一台计算机上的多个接收者。每个UDP报文除了包含某用户进程发送的数据外,还包括报文源端口和目的端口的编号。


UDP是依靠IP来传送报文的,因而其服务和IP同样是不可靠的,提供的是一种无连接服务。这种服务不用确认,不对报文排序,也不进行流量控制。


③ 应用层协议。


FTP。文件传输协议(File Transfer Protocol,FTP)允许用户在本地机上以文件操作的方式(文件的增加、删除、修改、查找、传送等)与远程机之间相互通信。FTP工作时建立两条TCP连接,一条用于传送文件,另一条用于传送控制信息。


FTP采用客户机/服务器模式,包含客户FTP和服务器FTP。客户FTP负责启动传送过程,服务器FTP则负责对其做出应答。客户FTP大多有一个交互式界面,具有相应权限的客户可以灵活地向远程主机传文件或从远程主机上取文件。


SMTP。简单邮件传送协议(Simple Mail Transfer Protocol,SMTP)认为用户的主机是永久性地连接在Internet上的,而且认为网络上的主机在任何时候都可以被访问。所以,SMTP适用于永久连接在Internet上的主机,但是用户无法通过SLIP/PPP连接来接收电子邮件。解决这个问题的办法是在邮件主机上同时运行SMTP和POP的程序,SMTP负责邮件的发送和在邮件主机上的分拣和存储,而POP负责将邮件通过SLIP/PPP连接传送到用户的主机上。


Telnet。Telnet(Telnet Terminal Protocol)即远程终端访问协议。Telnet的连接是一个TCP连接,用于传送具有Telnet控制信息的数据。用户通过Telnet可在其所在地通过TCP连接登录到远程的另一台主机上,能把用户请求传送给远程主机,同时也能将远程主机的输出结果通过TCP连接返回到用户屏幕。


DNS。域名系统协议(Domain Name System,DNS)提供域名到IP地址的转换,允许对域名资源进行分散管理。DNS能够使用户更方便地访问Internet,而不必去记住那些能够被机器直接读取但又不易记忆的二进制数字串。


3、客户机/服务器的工作模式


与Internet相连的任何一台主机中,既有为广大用户提供服务的巨型机或大型机,也有PC和工作站,只要和Internet相连就都是主机连接Internet的主机无论大小,都是平等关系。


客户机和服务器都是独立的主机当一台连入网络的主机向其他主机提供各种网络服务(如数据、文件的共享等)时,就被称为服务器那些用于访问服务器资源的主机则被称为客户机。Internet采用的就是客户机/服务器模式,因此理解客户机和服务器的功能以及关系对掌握Internet的工作原理至关重要。


客户机的主要功能是执行用户一方的应用程序,与服务器建立连接,并接收服务器送来的结果,以可读的形式显示在本地计算机上。此外,客户机还可提供图形用户界面(Graphical User Interface,GUI)或面向对象用户接口(Object Oriented User Interface,OOUI),供用户和数据进行交互。服务器的主要功能是执行共享资源的管理应用程序,完成客户请求,形成结果,并将结果传送给客户。


客户机上运行的程序是一个请求某些服务的程序,服务器上运行的程序则是提供某些服务的程序。一个客户机可以向许多不同的服务器发出请求,一个服务器也可以同时向多个不同的客户机提供服务。客户机/服务器模型的最好实例是网络数据库。在客户端,一个数据库前端应用程序接收用户查询请求并产生必要的SQL请求,该请求通过网络传送给数据库服务器服务器解释该查询请求,从一个或多个数据库中取出数据,然后将查询结果送回客户端,如图2所示。

图2  客户机/服务器工作模式


严格地说,客户机/服务器模型并不是从物理分布的角度来定义的,所体现的是网络数据访问的一种实现方式。Internet上的大多数信息访问方式都是采用客户机/服务器的工作模式。Internet 上有成千上万个服务器,如文件服务器、WWW 服务器、FTP服务器DNS服务器、SMTP服务器、POP服务器等,为联网的客户机提供各种各样的服务。Internet上的各种资源和信息服务都是通过这些服务器提供的。


微信公众号:计算机与网络安全

ID:Computer-network


【推荐书籍】

登录查看更多
0

相关内容

【图神经网络(GNN)结构化数据分析】
专知会员服务
115+阅读 · 2020年3月22日
必读的7篇IJCAI 2019【图神经网络(GNN)】相关论文-Part2
专知会员服务
60+阅读 · 2020年1月10日
知识图谱本体结构构建论文合集
专知会员服务
106+阅读 · 2019年10月9日
图机器学习 2.2-2.4 Properties of Networks, Random Graph
图与推荐
10+阅读 · 2020年3月28日
从数据结构到算法:图网络方法初探
机器之心
7+阅读 · 2019年8月12日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
16+阅读 · 2019年5月13日
一文带你读懂 SegNet(语义分割)
AI研习社
19+阅读 · 2019年3月9日
IPSec | IKE密钥交换原理
计算机与网络安全
18+阅读 · 2018年12月23日
使用tinc构建full mesh结构的VPN
运维帮
68+阅读 · 2018年12月1日
ECCV2018|ShuffleNetV2:轻量级CNN网络中的桂冠
极市平台
7+阅读 · 2018年11月5日
【CVPR2018】物体检测中的结构推理网络
深度学习大讲堂
6+阅读 · 2018年7月30日
教你用Python来玩跳一跳
七月在线实验室
6+阅读 · 2018年1月2日
Arxiv
12+阅读 · 2019年1月24日
Recurrent Fusion Network for Image Captioning
Arxiv
3+阅读 · 2018年7月31日
VIP会员
相关资讯
图机器学习 2.2-2.4 Properties of Networks, Random Graph
图与推荐
10+阅读 · 2020年3月28日
从数据结构到算法:图网络方法初探
机器之心
7+阅读 · 2019年8月12日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
16+阅读 · 2019年5月13日
一文带你读懂 SegNet(语义分割)
AI研习社
19+阅读 · 2019年3月9日
IPSec | IKE密钥交换原理
计算机与网络安全
18+阅读 · 2018年12月23日
使用tinc构建full mesh结构的VPN
运维帮
68+阅读 · 2018年12月1日
ECCV2018|ShuffleNetV2:轻量级CNN网络中的桂冠
极市平台
7+阅读 · 2018年11月5日
【CVPR2018】物体检测中的结构推理网络
深度学习大讲堂
6+阅读 · 2018年7月30日
教你用Python来玩跳一跳
七月在线实验室
6+阅读 · 2018年1月2日
Top
微信扫码咨询专知VIP会员