专栏首页用户7721898的专栏计算机网络基础(了解完这些你就不再是小白了)

计算机网络基础(了解完这些你就不再是小白了)

一、协议 1.1 随处可见的协议 互联网中常用的代表性的协议有IP、TCP、HTTP等,LAN中常用协议有IPX、SPX等。“计算机网络体系结构”将这些网络协议进行了系统的归纳,TCP/IP就是这些协议的集合。

其中,还有Novell公司的IPX/SPX、苹果公司的AppleTalk(仅限苹果公司计算机使用)、IBM开发的用于构件大规模网络的SNA以及前DEC公司开发的DECnet等 1.2 协议的必要性 简单来说,协议就是计算机之间通过网络实现通信时事先达成的一种“约定”;这种“约定”使那些由不同厂商的设备,不同CPU及不同操作系统组成的计算机之间,只要遵循相同的协议就可以实现通信。 协议可以分很多种,每一种协议都明确界定了它的行为规范:2台计算机之间必须能够支持相同的协议,并且遵循相同的协议进行处理,才能实现相互通信。 1.3 分组交换协议 定义:将大数据分割为一个个叫做包(Packet)的较小单位进行传输的方法,如图

计算机通信会在每一个分组中附加上源主机地址和目标主机地址送给通信线路;这些发送端地址、接收端地址以及分组序号写入的部分就是“报文首部”。 一个较大的数据被分为很多个分组,为了标明原始数据的归属,有必要将分组序号写入包中,接收端会根据序号,分组按序重新装配为原始数据。 协议中,通常会规定报文首部应写入哪些信息,如何处理;相互通信的每台计算机则根据协议构造报文首部,读取首部等内容,发送和接收方必须对报文首部和主体保持一致的定义和解释。 二、协议的标准化 计算机通信诞生之初,系统化与标准化未受到重视,不同厂商只出产各自的网络来实现通信,这样就造成了对用户使用计算机网络造成了很大障碍,缺乏灵活性和可扩展性。 为解决该问题,ISO(国际标准化组织)制定了一个国际标准OSI(开放式通信系统互联参考模型)。 TCP/IP并非ISO指定,是由IETF(国际互联网工程任务组)建议、致力推进标准化的一种协议,其中,大学等研究机构和计算机行业是推动标准化的核心力量,现已成为业界标准协议。 三、协议分层和OSI参考模型 1.1 协议的分层 概念:ISO在指定标准的OSI之前,提出了作为通信协议设计指标的OSI参考模型,将协议分为七层,使得原来复杂的网络协议更加简单化。 定义:在七层模型中,每个分层都接受由它下一层所提供的特定服务,并且负责为自己的上一层提供特定的服务,上下层之间进行交互所遵循的约定叫做“接口”,同一层之间的交互所遵循的约定叫做“协议”。 协议分层的优点: 每个分层可以独立使用,其实系统中某些分层发生变化,也不会影响整个系统,因此可以构造一个扩展性和灵活性都比较强的系统; 此外,通过分层可以细分通信功能,更易于单独实现每个分层的协议,界定各个分层的具体责任和义务 。 协议分层的劣势: 过分模块化,处理变得更加沉重,以及每个模块都不得不事先相似的处理逻辑等。

1.2 OSI参考模型 实际上,分组通信协议很复杂,OSI参考模型将其分为了易于理解的七个分层,如下图:

不过,OSI参考模型只是一个模型,对各层只做了粗略的定义,并没有对接口和协议做详细的定义,想深入了解还需要学习具体的协议规范。 1.3 OSI参考模型中每个分层的作用 下图表述了简单的每个分层的作用:

1.3.1 应用层 为应用程序提供服务并规定应用程序中通信相关的细节,包括的协议如下: ①:超文本传输协议HTTP:这是一种最基本的客户机/服务器的访问协议;浏览器向服务器发送请求,而服务器回应相应的网页。 ②:文件传送协议FTP:提供交互式的访问,基于客户服务器模式,面向连接,使用TCP可靠的运输服务。 主要功能:减少/消除不同操作系统下文件的不兼容性 。 ③:远程登录协议TELNET:客户服务器模式,能适应许多计算机和操作系统的差异,网络虚拟终端NVT的意义。 ④:简单邮件传送协议SMTP:Client/Server模式,面向连接 。 基本功能:写信、传送、报告传送情况、显示信件、接收方处理信件 。 ⑤:DNS域名解析协议:DNS是一种用以将域名转换为IP地址的Internet服务。 ⑥:简单文件传送协议TFTP:客户服务器模式,使用UDP数据报,只支持文件传输,不支持交互,TFTP代码占内存小 。 ⑦:简单网络管理协议(SNMP): SNMP模型的4个组件:被管理结点、管理站、管理信息、管理协议。 SNMP代理:运行SNMP管理进程的被管理结点 对象:描述设备的变量 管理信息库(MIB):保存所有对象的数据结构 ⑧DHCP动态主机配置协议: 发现协议中的引导文件名、空终止符、属名或者空,DHCP供应协议中的受限目录路径名,Options –可选参数字段。 1.3.2 表示层:将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式;主要负责数据格式的转换,确保一个系统的应用层信息可被另一个系统应用层读取。 具体来说,就是将设备固有的数据格式转换为网络标准传输格式,不同设备对同一比特流解释的结果可能会不同;因此,主要负责使它们保持一致。 1.3.3 会话层:负责建立和断开通信连接(数据流动的逻辑通路),记忆数据的分隔等数据传输相关的管理。 PS:其实在应用层、表示层、会话层这三层,协议可以共用:

1.3.4 传输层:只在通信双方的节点上(比如计算机终端)进行处理,而无需在路由器上处理,传输层是OSI中最重要、最关键的一层,是唯一负责总体的数据传输和数据控制的一层; 传输层提供端到端的交换数据的机制,检查分组编号与次序,传输层对其上三层如会话层等,提供可靠的传输服务,对网络层提供可靠的目的地站点信息主要功能。 在这一层,数据的单位称为数据段(segment)。 主要功能: ①:为端到端连接提供传输服务。 ②:这种传输服务分为可靠和不可靠的,其中Tcp是典型的可靠传输,而Udp则是不可靠传输。 ③:为端到端连接提供流量控制,差错控制,服务质量(Quality of Service,QoS)等管理服务。 包括的协议如下: TCP:传输控制协议,传输效率低,可靠性强。 UDP:用户数据报协议,适用于传输可靠性要求不高,数据量小的数据(比如QQ)。 DCCP、SCTP、RTP、RSVP、PPTP等协议。 1.3.5 网络层:将数据传输到目标地址;目标地址可以使多个网络通过路由器连接而成的某一个地址,主要负责寻找地址和路由选择,网络层还可以实现拥塞控制、网际互连等功能。 在这一层,数据的单位称为数据包(packet)。 网络层协议的代表包括:IP、IPX、RIP、OSPF等。 1.3.6 数据链路层:负责物理层面上的互联的、节点间的通信传输(例如一个以太网项链的2个节点之间的通信);该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。 在这一层,数据的单位称为帧(frame)。 数据链路层协议的代表包括:ARP、RARP、SDLC、HDLC、PPP、STP、帧中继等。 1.3.7 物理层:负责0、1 比特流(0/1序列)与电压的高低、逛的闪灭之间的转换。 规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性;该层为上层协议提供了一个传输数据的物理媒体。只是说明标准。 在这一层,数据的单位称为比特(bit)。 属于物理层定义的典型规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45、fddi令牌环网等。 四、传输方式的分类 网络通信科根据数据发送方法进行多种分类,分类方法很多,下面列举几种常见的:

  1. 面向有连接型和面向无连接型 1.1 面向有连接型

发送数据之前,需要在收发主机之间建立一条通信线路,在通信传输前后,专门进行建立和断开连接的处理,如果与对端之间无法通信,可避免发送无谓的数据。 1.2面向无连接型

这种类型不要求建立和断开连接,发送端可任何时候发送数据,接收端也不知道自己何时从哪里接受数据,这种情况下,接收端需要时常确认是否收到数据,彼此也不需要确认对方是否存在。

  1. 电路交换和分组交换 软件通信方式大致分为2种:电路交换和分组交换,TCP/IP协议组,采用的就是分组交换。 2.1 电路交换 电路交换中,交换机主要负责数据的中转处理;计算机与交换机相连接,交换机之间由众多通信线路连接,计算机发送数据时,需要先连接电路,建立连接,即可进行通信,直到连接被断开。 2.2 分组交换 最初,一台计算机收发信息时会独占整个电路,其他计算机只能等待,且无法预测何时结束通信,为解决这个问题,将发送的数据分为多个数据包,按一定的顺序排列后发送,这就是分组交换。

分组交换中,由分组交互机(路由器)连接通信线路;在每个分组首部写入发送端与接收端地址(即同一条线路同时为多个用户服务),也可以确认区分每个分组的数据目的地,以及它与哪台计算机通信。 分组交换的大致处理过程:发送端将数据分组分给路由器,路由器收到后缓存到自己的缓冲区,然后再转发给目标计算机;因此,分组交换也称为:蓄积交换。 路由器收到收据会按照顺序进行缓存至相应队列,然后以先进先出顺序将其逐一发送(有时会优先发送目标地址较特殊的数据)。 分组交换的缺陷:分组交换中,通信线路共享,因此,通信传输速度可能有差异,根据网络拥堵情况,数据到达目标地址时间长短不同;另外,路由器缓存饱和或溢出时,可能发生数据丢失,无法发送到接收端的情况。 电路交换和分组交换的特点:

3. 根据接收端数据分类 3.1 单播 简单来说就是一对一通信,最早的固定电话就是单播通信的一个典型例子。 3.2 广播 将消息从一台主机发送给与之相连的其他所有主机;典型例子就是电视播放(将电视信号一齐发送给非特定的多个连接对象)。 3.3 多播 与广播类似,也是将消息发送给多个相连接的接收主机;不同之处在于多播要限定某一组主机作为接收端。 3.4 任播 在特定的多台主机中选择一台作为接收端的一种通信方式(从目标主机群中选择一台最符合的主机作为目标主机发送消息,一般被选中的主机将返回一个单播信号,随后发送端只会和这台主机通信)。 在实际的应用中有DNS根域名解析服务器。 PS:几种不同方式的思维逻辑图:

五、地址 通信传输中,发送端和接收端可以被视为通信主体,它们由“地址”加以标识,在计算机通信中,每一层协议的地址都不同。

  1. 地址的唯一性 通信地址必须明确的表示一个主体对象,以便确认通信主体,同一个网络中不允许有2个相同的通信主体存在,这就是地址的唯一性。
  2. 地址的层次性 地址总数不多的情况下,有了唯一地址就可以定位相互通信的主体;如果地址总数比较多,那么想要高效的定位通信主体,就需要让地址具有层次性。 比如:MAC和IP地址在标识一个通信主体时都具有唯一性,但只有IP地址具有层次性。 MAC地址由制造商制造的网卡,通过识别制造商号,制造商内部产品编号以及产品通用编号来确保MAC地址的唯一性。 IP地址由网络号和主机号2部分组成,即通信主体IP地址不同,若主机号不同,网络号相同,说明其处于同一个网段。 网络通信中,每个节点都会根据分组数据的地址信息,参考一个发出接口列表,来判断报文应该由哪个网卡发送出去,其中,MAC和IP的区别在于: MAC:寻址参考的表叫做地址转发表,其中所记录的实际上MAC地址本身。 IP:寻址参考的表叫做路由控制表,其中所记录的IP地址是集中了之后的网络号(网络号与子网掩码)。 六、网络的构成要素 搭建一套网络环境需要涉及到很多电缆和网络设备,下面只介绍下连接计算机和计算机的硬件设备:

搭建网络的主要设备及其作用:

1. 通信媒介与数据链路 计算机之间通过电缆相互连接,电缆可以分为很多种,根据数据链路不同,选用的电缆类型也不同,而媒介本身也可被划分为电波、微波等不同类型。 各种数据链路一览:

传输速率:数据传输过程中,两个设备之间数据流动的物理速度称为传输速率,单位为bps(Bits Per Second,每秒比特数),即单位时间内传输的数据量多少。 传输速率又称为带宽,带宽越大网络传输能力就越强。 吞吐量:主机之间实际的传输速率称为吞吐量,单位为bps。 吞吐量不仅衡量带宽,同时还有主机的CPU处理能力、网络拥堵程度、报文中数据字段的占有份额(不含报文首部,只计算数据字段本身)等信息。

  1. 网卡 任何计算机连接网络时,必须使用网卡(全称网络接口卡,也称为网络适配器、网卡、LAN卡)。

3. 中继器 OSI模型中第一层——物理层面上延长网络的设备;由电缆传过来的波信号或光信号,经由中继器波形调整和放大再传给两一个电缆。

一般情况下,中继器两端连接的是相同的通信媒介(有些中继器也可完成不同通信媒介之间的转接工作)。 有些中继器可提供多个端口服务,被称为中继集线器(Hub)或者集线器,每个端口都可称为一个中继器。

  1. 网桥/2层交换机

网桥是在OSI模型第二层——数据链路层面上连接2个网络的设备;它可以识别数据链路层中的数据帧,并将数据帧临时存储于内存,再重新生成一个全新帧转发给相连的另一个网段。 网桥能够连接不同传输速率的数据链路,并且不限制连接网段的个数。数据链路中有个数据帧叫做FCS,用以校验数据是否正确送达目的地;网桥通过检查该域中的值,将损坏的数据丢弃,此外,还能通过地址自学机制和过滤功能控制网络流量。 地址:MAC地址、硬件地址、物理地址及适配器地址,也就是网络上针对NIC分配的具体地址。 自学式网桥:自行判断是否将数据报文发送给相邻的网段的网桥(记住曾通过自己转发的所有数据帧的MAC地址,并存储到自己的内存表中)。

以太网等网络中经常使用交换集线器(Hub),也属于网桥的一种;交换集线器中连接电缆的端口都能提供类似网桥的功能:

5. 路由器/3层交换机 路由器:OSI模型第三层——网络层面上连接2个网络、并对分组报文进行转发的设备,根据IP地址进行处理;TCP/IP中网络层地址就成为了IP地址。 路由器可以连接不同的数据链路,它还有分担网络负荷的作用(某些路由器具备一定的网络安全功能)。

6. 4~7层交换机 4~7层交换机负责处理OSI模型中从传输层至应用层的数据;即以TCP等协议的传输层及其上面的应用层为基础,分析收发数据,并对其进行特定的处理(例如:负载均衡器)。 应用场景:带宽控制、广域网加速器、特殊应用访问、防火墙等。

7. 网关 网关:OSI模型中负责将从传输层到应用层的数据进行转换和转发的设备;处理传输层及以上的数据。 网关不仅转发数据还对其进行转换,通常会使用一个表示层或应用层网关,在不能直接通信的协议间进行翻译,最终实现通信。

代理服务器: 使用万维网(www)时,为控制网络流量和处于安全考虑,使用代理服务器(也是网关的一种,称为应用网关)。 使用代理服务器,客户端与服务器之间不需要直接通信,而是从传输层到应用层对数据和访问进行各种控制处理,防火墙就是一种通过网关通信,针对不同应用提高安全性的产品。 代理服务如下图:

各种设备及其对应网络分层预览图:

七、现代网络

  1. 网络的构成 核心网(数据传输核心)+边缘网络(传输节点)+接入层(汇聚层:连接边缘网络的部分)
  1. 互联网通信 实际的网络构成图:
  1. 移动通信 移动通信示意图:
  1. 信息发布以及数据中心 数据中心由大型服务器、存储以及计算机网络构成(某些大型数据中心甚至连接到“主干网”)。 数据中心结构图:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 弄它!!!Ospf--动态路由--链路状态路由协议!全面解析OSPF协议!

    开放式最短路径优先OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gatewa...

    不吃小白菜
  • 深入解析OSI七层模型及各层工作原理(我只能帮你到这了)

    我们需要了解互联网的本质是一系列的网络协议,这个协议就叫做OSI协议(开放系统互联(Open System Interconnection)),它是由ISO(国...

    不吃小白菜
  • 排障集锦:九九八十一难之第十六难!-------------enoent ENOENT: no such file or directory, open ‘/root/package.json‘

    npm全称为Node Package Manager,是一个基于Node.js的包管理器

    不吃小白菜
  • 机器学习(3)再说监督学习的套路

    当我们辨别一个东西的时候,实际上我们是在比较特征,它跟那些特征相似,我们就认为它是啥?对吧。

    滚神大人
  • 互联网视频直播技术(广电总局、优酷土豆、XX直播)

    互联网直播是目前最火的技术之一,涵盖了很多方面的知识(网络,CDN,GPU,算法,图像处理),以下我介绍互联网直播的大体框架和关键技术点:

    爱撸猫的杰
  • 提升用户体验,微信小程序“授权失败”场景的优雅处理

    微信小程序中提供了相关API 让开发者能获取到微信用户的相关信息,在首次去获取的时候会展示一个用户是否同意授权的对话框。Jeff 发现有不少线上的小程序都没有处...

    Jeff
  • HTML5 简介(三):利用 History API 无刷新更改地址栏

    HTML5 新增的历史记录 API 可以实现无刷新更改地址栏链接,配合 AJAX 可以做到无刷新跳转。

    山河木马
  • 论文阅读:《Improving Content-based and Hybrid Music Recommendation using Deep Learning》

    https://blog.csdn.net/u011239443/article/details/79984751

    用户1621453
  • ImageView的属性和方法大全

    通过前面几期的学习,TextView控件及其子控件基本学习完成,可以在Android屏幕上显示一些文字或者按钮,那么从本期开始来学习如何进行图片展示,这...

    分享达人秀
  • 开发一个属于自己的Spring Boot Starter

    通过以上的描述,我们可以简单地将starter看作是对一个组件功能粒度较大的模块化封装,包括了所需依赖包的整合及基础配置和自动装配等。

    端碗吹水

扫码关注云+社区

领取腾讯云代金券