计算机网络快速指南
数据通信概述
计算机网络是由互连的计算机和打印机等计算机外围设备组成的系统。计算机之间的互连有助于它们之间的信息共享。计算机可以通过有线或无线媒体相互连接。
计算机网络的分类
计算机网络根据各种因素进行分类。其中包括:
- 地理跨度
- 互连
- 管理
- 架构
地理跨度
从地理上看,网络可以分为以下类别之一:
- 它可能横跨您的桌子、蓝牙设备等。范围不超过几米。
- 它可能横跨一整栋建筑,包括连接所有楼层的中间设备。
- 它可能横跨整个城市。
- 它可能横跨多个城市或省份。
- 它可能是一个覆盖整个世界的网络。
互连
网络的组件可以以某种方式相互连接。我们所说的连通性是指逻辑上的、物理上的或两种方式。
- 每个设备都可以连接到网络上的所有其他设备,从而使网络形成网状结构。
- 所有设备都可以连接到单一介质,但在地理上是断开的,从而形成类似总线的结构。
- 每个设备仅连接到其左侧和右侧对等设备,从而形成线性结构。
- 所有设备通过单个设备连接在一起,从而形成星形结构。
- 所有设备使用所有先前的方式任意连接以相互连接,从而形成混合结构。
管理
从管理员的角度来看,网络可以是属于单个自治系统的私有网络,并且不能在其物理或逻辑域之外访问。网络可以是所有人都可以访问的公共网络。
网络架构
- 可以有一个或多个系统充当服务器。另一个是客户端,请求服务器提供请求。服务器代表客户端接收和处理请求。
- 两个系统可以点对点连接,也可以背对背连接。它们都位于同一级别,称为对等。
- 可以存在混合网络,其中涉及上述两种类型的网络架构。
计算机网络可分为各种类型,如客户端-服务器、对等或混合,具体取决于其架构。
网络应用
计算机系统和外围设备连接起来形成网络。它们提供许多优势:
- 资源共享,如打印机和存储设备
- 通过电子邮件和 FTP 交换信息
- 使用 Web 或 Internet 共享信息
- 使用动态网页与其他用户交互
- IP 电话
- 视频会议
- 并行计算
- 即时消息
计算机网络类型
通常,网络根据其地理跨度进行区分。网络可以小到您的手机与其蓝牙耳机之间的距离,也可以大到互联网本身,覆盖整个地理世界,
个人区域网络
个人区域网络 (PAN) 是最小的网络,对用户而言非常私人。这可能包括启用蓝牙的设备或启用红外线的设备。PAN 的连接范围可达 10 米。 PAN 可能包括无线计算机键盘和鼠标、支持蓝牙的耳机、无线打印机和电视遥控器。
例如,Piconet 是支持蓝牙的个人局域网,最多可包含 8 个以主从方式连接在一起的设备。
局域网
在建筑物内横跨并在单一管理系统下运行的计算机网络通常称为局域网 (LAN)。通常,LAN 涵盖组织的办公室、学校、学院或大学。局域网中连接的系统数量可能从至少两个到多达 1600 万个不等。
局域网提供了一种在最终用户之间共享资源的有效方式。打印机、文件服务器、扫描仪和互联网等资源可以在计算机之间轻松共享。
局域网由廉价的网络和路由设备组成。它可能包含提供文件存储和其他本地共享应用程序的本地服务器。它主要在私有 IP 地址上运行,不涉及繁重的路由。局域网在其自己的本地域下工作并集中控制。
局域网使用以太网或令牌环技术。以太网是最广泛使用的局域网技术,使用星型拓扑,而令牌环很少见。
局域网可以是有线、无线或同时采用这两种形式。
城域网
城域网 (MAN) 通常遍布整个城市,例如有线电视网络。它可以采用以太网、令牌环、ATM 或光纤分布式数据接口 (FDDI) 的形式。
城域以太网是 ISP 提供的一项服务。此服务使用户能够扩展其局域网。例如,MAN 可以帮助组织连接其在城市中的所有办事处。
MAN 的主干是高容量和高速光纤。MAN 介于局域网和广域网之间。 MAN 为 LAN 提供到 WAN 或互联网的上行链路。
广域网
顾名思义,广域网 (WAN) 覆盖范围很广,可能横跨省份甚至整个国家。一般来说,电信网络都是广域网。这些网络为 MAN 和 LAN 提供连接。由于配备了非常高速的主干网,WAN 使用非常昂贵的网络设备。
WAN 可能使用异步传输模式 (ATM)、帧中继和同步光纤网络 (SONET) 等先进技术。WAN 可能由多个管理部门管理。
互联网络
网络的网络称为互联网络,或简称为互联网。它是地球上现存的最大网络。互联网连接了所有广域网,并且可以连接到局域网和家庭网络。互联网使用 TCP/IP 协议套件并使用 IP 作为其寻址协议。如今,互联网广泛使用 IPv4 实现。由于地址空间不足,它正在逐渐从 IPv4 迁移到 IPv6。
互联网使用户能够在全球范围内共享和访问大量信息。它使用 WWW、FTP、电子邮件服务、音频和视频流等。从很大程度上讲,互联网采用客户端-服务器模型。
互联网使用非常高速的光纤主干网。为了连接各个大陆,光纤被铺设在海底,我们称之为海底通信电缆。
互联网广泛部署在万维网服务上使用 HTML 链接页面,可通过称为 Web 浏览器的客户端软件访问。当用户使用位于世界任何地方的某个 Web 服务器上的某个 Web 浏览器请求页面时,Web 服务器会以正确的 HTML 页面进行响应。通信延迟非常低。
互联网服务于许多目的,涉及生活的方方面面。其中一些是:
- 网站
- 电子邮件
- 即时通讯
- 博客
- 社交媒体
- 营销
- 网络
- 资源共享
- 音频和视频流
网络 LAN 技术
让我们简要介绍一下各种 LAN 技术:
以太网
以太网是一种广泛部署的 LAN 技术。该技术由 Bob Metcalfe 和 D.R. 发明。 Boggs 于 1970 年提出。1980 年,IEEE 802.3 将其标准化。
以太网共享媒体。使用共享媒体的网络发生数据冲突的概率很高。以太网使用载波侦听多路访问/冲突检测 (CSMA/CD) 技术来检测冲突。当以太网发生冲突时,其所有主机都会回滚,等待一段随机时间,然后重新传输数据。
以太网连接器是配备 48 位 MAC 地址的网络接口卡。这有助于其他以太网设备识别以太网中的远程设备并与之通信。
传统以太网使用 10BASE-T 规范。数字 10 表示 10MBPS 速度,BASE 代表基带,T 代表粗以太网。10BASE-T 以太网提供高达 10MBPS 的传输速度,并使用带 RJ-45 连接器的同轴电缆或 Cat-5 双绞线电缆。以太网采用星型拓扑结构,段长可达 100 米。所有设备都以星型方式连接到集线器/交换机。
快速以太网
为了满足快速出现的软件和硬件技术的需求,以太网将自身扩展为快速以太网。它可以在 UTP、光纤和无线上运行。它可以提供高达 100 MBPS 的速度。该标准在 IEEE 803.2 中被称为 100BASE-T,使用 Cat-5 双绞线电缆。它使用 CSMA/CD 技术在以太网主机之间共享有线媒体,并使用 CSMA/CA(CA 代表冲突避免)技术在无线以太网 LAN 上。
光纤上的快速以太网是在 100BASE-FX 标准下定义的,该标准在光纤上提供高达 100 MBPS 的速度。光纤以太网在半双工模式下可以延伸至 100 米,在多模光纤上全双工模式下最大可以延伸至 2000 米。
千兆以太网
快速以太网在 1995 年推出后,仅在千兆以太网推出的 3 年内,就一直保持着高速状态。千兆以太网提供高达 1000 mbits/秒的速度。IEEE802.3ab 标准化使用 Cat-5、Cat-5e 和 Cat-6 电缆的 UTP 千兆以太网。IEEE802.3ah 定义了光纤千兆以太网。
虚拟 LAN
LAN 使用以太网,而以太网又在共享媒体上工作。以太网中的共享媒体创建一个广播域和一个冲突域。交换机引入以太网消除了单个冲突域问题,连接到交换机的每个设备都在其单独的冲突域中工作。但即使交换机也无法将网络划分为单独的广播域。
虚拟局域网是一种将单个广播域划分为多个广播域的解决方案。一个 VLAN 中的主机无法与另一个 VLAN 中的主机通信。默认情况下,所有主机都放在同一个 VLAN 中。
在此图中,不同的 VLAN 以不同的颜色代码表示。一个 VLAN 中的主机即使连接到同一个交换机,也无法看到或与不同 VLAN 中的其他主机通信。VLAN 是与以太网紧密配合的第 2 层技术。要在两个不同的 VLAN 之间路由数据包,需要使用第 3 层设备(例如路由器)。
计算机网络拓扑
网络拓扑是计算机系统或网络设备相互连接的安排。拓扑可以定义网络的物理和逻辑方面。同一网络中的逻辑拓扑和物理拓扑可以相同或不同。
点对点
点对点网络包含两台主机,例如计算机、交换机或路由器、服务器,它们使用一根电缆背对背连接。通常,一台主机的接收端连接到另一台主机的发送端,反之亦然。
如果主机在逻辑上是点对点连接的,则可能有多个中间设备。但终端主机不知道底层网络,彼此之间就像直接连接一样。
总线拓扑
在总线拓扑中,所有设备共享一条通信线路或电缆。总线拓扑在多个主机同时发送数据时可能会出现问题。因此,总线拓扑要么使用 CSMA/CD 技术,要么将一台主机识别为总线主控来解决问题。它是简单的网络形式之一,其中一个设备的故障不会影响其他设备。但共享通信线路的故障会导致所有其他设备停止运行。
共享通道的两端都有线路终止符。数据只朝一个方向发送,一旦到达最末端,终结器就会从线路中删除数据。
星型拓扑
星型拓扑中的所有主机都使用点对点连接连接到中央设备(称为集线器设备)。也就是说,主机和集线器之间存在点对点连接。集线器设备可以是以下任何一种:
- 第 1 层设备,例如集线器或中继器
- 第 2 层设备,例如交换机或网桥
- 第 3 层设备,例如路由器或网关
与总线拓扑一样,集线器充当单点故障。如果集线器发生故障,则所有主机与所有其他主机的连接都会失败。主机之间的所有通信都仅通过集线器进行。星型拓扑并不昂贵,因为要连接另一台主机,只需要一根电缆,并且配置简单。
环形拓扑
在环形拓扑中,每台主机都连接到另外两台机器,从而创建一个循环网络结构。当一台主机尝试与不相邻的主机通信或发送消息时,数据将通过所有中间主机传输。要在现有结构中再连接一台主机,管理员可能只需要一根额外的电缆。
任何主机发生故障都会导致整个环发生故障。因此,环中的每个连接都是一个故障点。有一些方法采用另一个备份环。
网状拓扑
在这种类型的拓扑中,主机连接到一个或多个主机。这种拓扑中的主机与其他每个主机都点对点连接,或者也可能有主机仅与少数主机点对点连接。
网状拓扑中的主机还可以作为没有直接点对点链接的其他主机的中继。网状技术有两种类型:
- 全网状:所有主机都与网络中的每个其他主机都点对点连接。因此,对于每个新主机,都需要 n(n-1)/2 个连接。它提供了所有网络拓扑中最可靠的网络结构。
- 部分网状:并非所有主机都与其他主机点对点连接。主机以某种任意方式相互连接。这种拓扑存在于我们需要为所有主机中的某些主机提供可靠性的地方。
树形拓扑
也称为分层拓扑,这是目前使用最广泛的网络拓扑形式。此拓扑模仿扩展星形拓扑并继承了总线拓扑的属性。
此拓扑将网络划分为多个级别/层。主要是在 LAN 中,网络分为三种类型的网络设备。最底层是计算机连接的接入层。中间层称为分布层,充当上层和下层之间的中介。最高层称为核心层,是网络的中心点,即所有节点从其分叉的树的根。
所有相邻主机之间都有点对点连接。与总线拓扑类似,如果根发生故障,则整个网络都会受到影响。尽管它不是单点故障。每个连接都是故障点,如果发生故障,网络将划分为无法访问的段。
菊花链
此拓扑以线性方式连接所有主机。与环形拓扑类似,除终端主机外,所有主机仅连接到两台主机。也就是说,如果菊花链中的终端主机已连接,则它代表环形拓扑。
菊花链拓扑中的每个链接都代表单点故障。每个链接故障都会将网络分成两个段。每个中间主机都充当其直接主机的中继。
混合拓扑
设计包含多个拓扑的网络结构称为混合拓扑。混合拓扑继承了所有合并拓扑的优点和缺点。
上图表示任意混合拓扑。组合拓扑可能包含星型、环形、总线和菊花链拓扑的属性。大多数 WAN 通过双环拓扑连接,连接到它们的网络大多是星型拓扑网络。互联网是最大的混合拓扑的最佳示例
计算机网络模型
网络工程是一项复杂的任务,涉及软件、固件、芯片级工程、硬件和电脉冲。为了简化网络工程,整个网络概念分为多个层。每个层都涉及某些特定任务,并且独立于所有其他层。但作为一个整体,几乎所有网络任务都依赖于所有这些层。各层之间共享数据,并且它们仅在接收输入和发送输出时相互依赖。
分层任务
在网络模型的分层架构中,整个网络过程被划分为小任务。每个小任务随后被分配给一个特定的层,该层专门处理该任务。每个层只做特定的工作。
在分层通信系统中,主机的一层处理远程主机上同一级别的对等层所完成或将要完成的任务。任务由最低级别的层或最高级别的层发起。如果任务是由最顶层发起的,则将其传递给其下方的层进行进一步处理。下层执行相同的操作,处理任务并传递给下层。如果任务是由最下层发起的,则采用相反的路径。
每一层都将执行其任务所需的所有程序、协议和方法组合在一起。所有层都通过封装头和尾来识别其对应层。
OSI 模型
开放系统互连是所有通信系统的开放标准。OSI 模型由国际标准组织 (ISO) 制定。该模型有七层:
应用层:该层负责向应用程序用户提供界面。该层包含直接与用户交互的协议。
表示层:该层定义如何以主机的本机格式呈现远程主机的本机格式的数据。
会话层:该层维护远程主机之间的会话。例如,一旦完成用户/密码验证,远程主机将维持此会话一段时间,并且不会在该时间跨度内再次请求验证。
传输层:此层负责主机之间的端到端交付。
网络层:此层负责地址分配和网络中主机的唯一寻址。
数据链路层:此层负责从线路读取和写入数据。在此层检测链接错误。
物理层:此层定义硬件、电缆布线、电源输出、脉冲率等。
互联网模型
互联网使用 TCP/IP 协议套件,也称为互联网套件。这定义了包含四层架构的互联网模型。 OSI 模型是通用通信模型,但互联网模型是互联网用于所有通信的模型。互联网独立于其底层网络架构,其模型也是如此。该模型具有以下层:
应用层:此层定义使用户能够与网络交互的协议。例如,FTP、HTTP 等。
传输层:此层定义数据应如何在主机之间流动。此层的主要协议是传输控制协议 (TCP)。此层确保主机之间传递的数据是有序的,并负责端到端传递。
互联网层:互联网协议 (IP) 在此层上运行。此层有助于主机寻址和识别。此层定义路由。
链路层:此层提供发送和接收实际数据的机制。与 OSI 模型对应层不同,此层独立于底层网络架构和硬件。
计算机网络安全
在互联网发展的初期,其使用仅限于军队和大学用于研究和开发目的。后来,当所有网络合并在一起并形成互联网时,数据通过公共交通网络传输。普通人可能会发送高度敏感的数据,例如他们的银行凭证、用户名和密码、个人文件、在线购物详情或机密文件。
所有安全威胁都是故意的,即只有在故意触发的情况下才会发生。安全威胁可分为以下几类:
中断
中断是一种安全威胁,其中资源的可用性受到攻击。例如,用户无法访问其 Web 服务器或 Web 服务器被劫持。
隐私泄露
在这种威胁中,用户的隐私受到损害。未经授权的人正在访问或拦截原始经过身份验证的用户发送或接收的数据。
完整性
此类威胁包括对原始通信上下文的任何更改或修改。攻击者拦截并接收发送者发送的数据,然后攻击者修改或生成虚假数据并发送给接收者。接收者接收数据,并假设数据是由原始发送者发送的。
真实性
当攻击者或安全违规者冒充真实用户并访问资源或与其他真实用户通信时,就会发生这种威胁。
当今世界上没有任何技术可以提供 100% 的安全性。但可以采取措施保护在非安全网络或互联网中传输的数据。最广泛使用的技术是密码学。
密码学是一种加密纯文本数据的技术,它使数据难以理解和解释。目前有几种可用的加密算法,如下所述:
密钥
公钥
消息摘要
密钥加密
发送者和接收者都有一个密钥。此密钥用于在发送者端加密数据。数据加密后,将在公共域中发送给接收者。因为接收方知道并拥有密钥,所以加密的数据包很容易被解密。
密钥加密的示例是数据加密标准 (DES)。在密钥加密中,网络上的每个主机都需要一个单独的密钥,这使得管理起来很困难。
公钥加密
在此加密系统中,每个用户都有自己的密钥,并且不在共享域中。密钥永远不会在公共域中泄露。除了密钥,每个用户都有自己的公钥。公钥始终是公开的,并由发送者用来加密数据。当用户收到加密数据时,他可以使用自己的密钥轻松解密。
公钥加密的示例是 Rivest-Shamir-Adleman (RSA)。
消息摘要
在此方法中,不发送实际数据,而是计算并发送哈希值。另一个终端用户计算自己的哈希值并与刚刚收到的哈希值进行比较。如果两个哈希值匹配,则接受,否则拒绝。
消息摘要的示例是 MD5 哈希。它主要用于身份验证,其中用户密码与服务器上保存的密码进行交叉检查。
物理层 - 简介
OSI 模型中的物理层起着与实际硬件和信令机制交互的作用。物理层是 OSI 网络模型中唯一真正处理两个不同站点的物理连接的层。该层定义了硬件设备、电缆、配线、频率、用于表示二进制信号的脉冲等。
物理层为数据链路层提供服务。数据链路层将帧移交给物理层。物理层将它们转换为表示二进制数据的电脉冲。然后通过有线或无线媒体发送二进制数据。
信号
当数据通过物理介质发送时,需要先将其转换为电磁信号。数据本身可以是模拟的,例如人的声音,也可以是数字的,例如磁盘上的文件。模拟和数字数据都可以用数字或模拟信号表示。
数字信号
数字信号本质上是离散的,表示电压脉冲序列。数字信号用于计算机系统的电路中。
模拟信号
模拟信号本质上是连续波形式,由连续电磁波表示。
传输损伤
当信号通过介质传播时,它们往往会衰减。这可能有许多原因,如下所示:
衰减
为了让接收器准确解释数据,信号必须足够强。当信号穿过介质时,它往往会变弱。随着距离的增加,它会失去强度。
散射
当信号穿过介质时,它往往会扩散和重叠。散射量取决于使用的频率。
延迟失真
信号以预定义的速度和频率通过介质发送。如果信号速度和频率不匹配,则信号可能会以任意方式到达目的地。在数字媒体中,某些比特比之前发送的比特更早到达是非常关键的。
噪声
模拟或数字信号中的随机扰动或波动被称为信号噪声,这可能会扭曲所携带的实际信息。噪声可以归为以下类别之一:
热噪声
热量会搅动介质的电子导体,从而可能在介质中引入噪声。在一定程度内,热噪声是不可避免的。
互调
当多个频率共享一个介质时,它们的干扰会导致介质中的噪声。如果两个不同的频率共用一个介质,并且其中一个频率强度过大或组件本身无法正常工作,则会发生互调噪声,然后结果频率可能无法按预期传输。
串扰
当外来信号进入介质时,就会发生这种噪声。这是因为一种介质中的信号会影响第二种介质的信号。
脉冲
这种噪声是由于不规则的干扰(例如雷电、电流、短路或故障组件)引起的。数字数据最容易受到这种噪声的影响。
传输介质
两个计算机系统之间发送信息的介质称为传输介质。传输介质有两种形式。
导向介质
所有通信线/电缆都是导向介质,例如 UTP、同轴电缆和光纤。在这种介质中,发送方和接收方直接连接,信息通过它发送(引导)。
非导向介质
无线或露天空间被称为非导向介质,因为发送方和接收方之间没有连接。信息通过空中传播,包括实际接收者在内的任何人都可以收集信息。
信道容量
信息传输的速度被称为信道容量。我们将其视为数字世界中的数据速率。这取决于许多因素,例如:
带宽:底层媒体的物理限制。
错误率:由于噪音导致信息接收不正确。
编码:用于信令的级别数。
多路复用
多路复用是一种通过单一介质混合和发送多个数据流的技术。该技术需要称为多路复用器 (MUX) 的系统硬件来多路复用数据流并将其发送到介质上,以及解复用器 (DMUX),它从介质中获取信息并分发到不同的目的地。
交换
交换是一种机制,通过该机制,数据/信息从源发送到不直接连接的目的地。网络具有互连设备,它们从直接连接的源接收数据,存储数据,分析数据,然后转发到最靠近目的地的下一个互连设备。
交换可分为:
数字传输
数据或信息可以以两种方式存储,即模拟和数字。计算机要使用数据,它必须是离散数字形式。与数据类似,信号也可以是模拟和数字形式。要以数字方式传输数据,首先需要将其转换为数字形式。
数数转换
本节介绍如何将数字数据转换为数字信号。它可以通过两种方式完成,即线路编码和块编码。对于所有通信,线路编码是必需的,而块编码是可选的。
线路编码
将数字数据转换为数字信号的过程称为线路编码。数字数据采用二进制格式。它在内部表示(存储)为一系列 1 和 0。
数字信号用离散信号表示,它代表数字数据。有三种类型的线路编码方案可用:
单极编码
单极编码方案使用单一电压电平来表示数据。在这种情况下,为了表示二进制 1,传输高电压,而为了表示 0,不传输电压。它也被称为单极不归零,因为没有静止条件,即它代表 1 或 0。
极性编码
极性编码方案使用多个电压电平来表示二进制值。极性编码有四种类型:
极性不归零 (Polar NRZ)
它使用两个不同的电压电平来表示二进制值。通常,正电压代表 1,负电压代表 0。由于没有静止条件,因此它也是 NRZ。
NRZ 方案有两种变体:NRZ-L 和 NRZ-I。
NRZ-L 在遇到不同位时改变电压电平,而 NRZ-I 在遇到 1 时改变电压。
归零 (RZ)
NRZ 的问题是,如果发送方和接收方的时钟不同步,接收方无法确定一个位何时结束以及下一个位何时开始。
RZ 使用三个电压电平,正电压表示 1,负电压表示 0,零电压表示无。信号在位期间变化,而不是在位之间变化。
曼彻斯特
此编码方案是 RZ 和 NRZ-L 的组合。位时间分为两半。它在位的中间转换,并在遇到不同的位时改变相位。
差分曼彻斯特
此编码方案是 RZ 和 NRZ-I 的组合。它也在位的中间转换,但仅在遇到 1 时改变相位。
双极编码
双极编码使用三个电压电平,即正、负和零。零电压表示二进制 0,而位 1 则通过改变正负电压来表示。
块编码
为了确保接收数据帧的准确性,使用了冗余位。例如,在偶校验中,添加一个奇偶校验位以使帧中的 1 计数为偶数。这样,原始位数就增加了。这称为块编码。
块编码用斜线符号表示,mB/nB。意思是,m 位块被 n 位块替换,其中 n > m。块编码涉及三个步骤:
- 除法
- 替换
- 组合。
块编码完成后,进行线路编码以进行传输。
模数转换
麦克风产生模拟语音,摄像头产生模拟视频,这些视频被视为模拟数据。要通过数字信号传输这些模拟数据,我们需要进行模数转换。
模拟数据是波形的连续数据流,而数字数据是离散的。要将模拟波转换为数字数据,我们使用脉冲编码调制 (PCM)。
PCM 是将模拟数据转换为数字形式的最常用方法之一。它涉及三个步骤:
- 采样
- 量化
- 编码。
采样
模拟信号每 T 间隔采样一次。采样中最重要的因素是模拟信号的采样率。根据奈奎斯特定理,采样率必须至少为信号最高频率的两倍。
量化
采样产生连续模拟信号的离散形式。每个离散模式都显示该时刻模拟信号的幅度。量化是在最大幅度值和最小幅度值之间完成的。量化是对瞬时模拟值的近似。
编码
在编码中,每个近似值随后被转换为二进制格式。
传输模式
传输模式决定了两台计算机之间如何传输数据。二进制数据以 1 和 0 的形式发送,可以采用两种不同的模式:并行和串行。
并行传输
二进制位被组织成固定长度的组。发送方和接收方都使用相同数量的数据线并联连接。两台计算机都区分高阶和低阶数据线。发送方在所有线路上一次发送所有位。由于数据线的数量等于一组或数据帧中的位数,因此一次发送完整的一组位(数据帧)。并行传输的优点是速度快,缺点是线路成本高,因为它等于并行发送的位数。
串行传输
在串行传输中,位以队列方式一个接一个地发送。串行传输只需要一个通信通道。
串行传输可以是异步的,也可以是同步的。
异步串行传输
之所以这样命名,是因为没有时间的重要性。数据位具有特定的模式,它们可帮助接收器识别起始和结束数据位。例如,每个数据字节前面都加一个 0,末尾添加一个或多个 1。
两个连续的数据帧(字节)之间可能存在间隙。
同步串行传输
同步传输中的时序非常重要,因为没有遵循任何机制来识别起始和结束数据位。没有模式或前缀/后缀方法。数据位以突发模式发送,不保持字节之间的间隙(8 位)。单个数据位突发可能包含多个字节。因此,时序变得非常重要。
接收器负责识别并将位分离为字节。同步传输的优点是速度快,并且没有异步传输中额外的报头和脚注位的开销。
模拟传输
要通过模拟媒体发送数字数据,需要将其转换为模拟信号。根据数据格式,可以有两种情况。
带通:滤波器用于过滤和传递感兴趣的频率。带通是可以通过滤波器的频段。
低通:低通是一种通过低频信号的滤波器。
当数字数据转换为带通模拟信号时,这称为数模转换。当低通模拟信号转换为带通模拟信号时,这称为模模转换。
数模转换
当一台计算机的数据通过某种模拟载波发送到另一台计算机时,它首先被转换成模拟信号。模拟信号经过修改后可反映数字数据。
模拟信号的特征在于其幅度、频率和相位。数模转换有三种类型:
幅移键控
在这种转换技术中,模拟载波信号的幅度经过修改可反映二进制数据。
当二进制数据表示数字 1 时,幅度保持不变;否则设置为 0。频率和相位与原始载波信号保持相同。
频移键控
在这种转换技术中,模拟载波信号的频率被修改以反映二进制数据。
该技术使用两个频率,f1 和 f2。其中一个,例如 f1,被选择来表示二进制数字 1,另一个用于表示二进制数字 0。载波的幅度和相位都保持不变。
相移键控
在此转换方案中,原始载波信号的相位被改变以反映二进制数据。
当遇到新的二进制符号时,信号的相位会改变。原始载波信号的幅度和频率保持不变。
正交相移键控
QPSK 改变相位以同时反映两个二进制数字。这在两个不同的阶段完成。二进制数据主流被均等地分成两个子流。串行数据在两个子流中转换为并行,然后使用 NRZ 技术将每个流转换为数字信号。之后,两个数字信号合并在一起。
模拟-模拟转换
模拟信号被修改以表示模拟数据。此转换也称为模拟调制。使用带通时需要模拟调制。模拟-模拟转换可以通过三种方式完成:
幅度调制
在此调制中,载波信号的幅度被修改以反映模拟数据。
幅度调制通过乘法器实现。调制信号(模拟数据)的幅度乘以载波频率的幅度,然后反映模拟数据。
载波信号的频率和相位保持不变。
频率调制
在这种调制技术中,载波信号的频率被修改以反映调制信号(模拟数据)电压电平的变化。
载波信号的幅度和相位不变。
相位调制
在调制技术中,载波信号的相位被调制以反映模拟数据信号电压(幅度)的变化。
相位调制实际上类似于频率调制,但在相位调制中,载波信号的频率不会增加。载波信号的频率会改变(变得密集和稀疏),以反映调制信号幅度的电压变化。
传输介质
传输介质只不过是计算机网络中进行通信的物理介质。
磁性介质
在网络诞生之前,将数据从一台计算机传输到另一台计算机的最便捷方式之一是将其保存在某些存储介质上,然后将物理数据从一个站点传输到另一个站点。虽然在当今高速互联网的世界里,这种方式似乎有些过时,但当数据量巨大时,磁性介质就会发挥作用。
例如,一家银行必须处理和传输其客户的大量数据,出于安全原因以及防止发生不确定的灾难,银行会将数据的备份存储在某个地理位置遥远的地方。如果银行需要存储其大量备份数据,那么通过互联网传输是不可行的。WAN 链路可能不支持如此高的速度。即使支持,成本也太高,难以承受。
在这些情况下,数据备份存储在磁带或磁盘上,然后在远程位置进行物理转移。
双绞线
双绞线由两根塑料绝缘铜线绞合在一起制成,形成单一介质。在这两根电线中,只有一根承载实际信号,另一根用于接地参考。电线之间的绞合有助于减少噪音(电磁干扰)和串扰。
双绞线有两种类型:
屏蔽双绞线 (STP) 电缆
非屏蔽双绞线 (UTP) 电缆
STP 电缆带有覆盖金属箔的双绞线对。这使其对噪声和串扰更不敏感。
UTP 有七种类型,每种类型都适用于特定用途。在计算机网络中,主要使用 Cat-5、Cat-5e 和 Cat-6 电缆。UTP 电缆通过 RJ45 连接器连接。
同轴电缆
同轴电缆有两根铜线。芯线位于中心,由实心导体制成。芯线包裹在绝缘护套中。第二根线缠绕在护套上,护套也被绝缘护套包裹。所有这些都被塑料盖覆盖。
由于其结构,同轴电缆能够比双绞线电缆承载高频信号。包裹结构为其提供了良好的噪声和串扰屏蔽。同轴电缆提供高达 450 mbps 的高带宽速率。
同轴电缆有三类,即 RG-59(有线电视)、RG-58(细以太网)和 RG-11(粗以太网)。RG 代表无线电政府。
电缆使用 BNC 连接器和 BNC-T 连接。 BNC 终端器用于在远端终止电线。
电力线
电力线通信 (PLC) 是一种第 1 层(物理层)技术,使用电力线传输数据信号。在 PLC 中,调制数据通过电缆发送。另一端的接收器解调并解释数据。
由于电力线部署广泛,PLC 可以使所有受电设备都受到控制和监控。 PLC 以半双工方式工作。
PLC 有两种类型:
窄带 PLC
宽带 PLC
窄带 PLC 提供高达 100 kbps 的较低数据速率,因为它们在较低频率(3-5000 kHz)下工作。它们可以分布在几公里之外。
宽带 PLC 提供高达 100 Mbps 的较高数据速率,并在较高频率(1.8 – 250 MHz)下工作。它们的扩展性不如窄带 PLC。
光纤
光纤利用光的属性工作。当光线以临界角照射时,它往往会以 90 度折射。此属性已用于光纤中。光纤电缆的芯线由高品质玻璃或塑料制成。光从其一端发射,穿过其传播,另一端的光检测器检测光流并将其转换为电数据。
光纤提供最高速度模式。它有两种模式,一种是单模光纤,另一种是多模光纤。单模光纤可以承载单束光,而多模光纤可以承载多束光。
光纤还具有单向和双向功能。为了连接和访问光纤,使用特殊类型的连接器。这些可以是用户通道 (SC)、直头 (ST) 或 MT-RJ。
无线传输
无线传输是一种非制导媒体。无线通信不涉及在两个或多个设备之间建立物理链接,而是以无线方式进行通信。无线信号在空中传播,并由适当的天线接收和解释。
当天线连接到计算机或无线设备的电路时,它会将数字数据转换为无线信号并在其频率范围内传播。另一端的接收器接收这些信号并将其转换回数字数据。
电磁波谱的一小部分可用于无线传输。
无线电传输
无线电频率更容易产生,而且由于其波长较长,它可以穿透墙壁和建筑物。无线电波的波长范围为 1 毫米 - 100,000 公里,频率范围为 3 Hz(极低频)至 300 GHz(极高频)。无线电频率细分为六个频段。
较低频率的无线电波可以穿过墙壁,而较高频率的无线电波可以直线传播并反弹。低频波的功率在覆盖长距离时会急剧下降。高频无线电波具有更大的功率。
较低频率(例如 VLF、LF、MF 波段)可以在地面上传播,传播距离可达 1000 公里,覆盖地球表面。
高频无线电波容易被雨水和其他障碍物吸收。它们利用地球大气的电离层。高频无线电波(例如 HF 和 VHF 波段)向上传播。当它们到达电离层时,它们会被折射回地球。
微波传输
100 MHz 以上的电磁波倾向于沿直线传播,通过将这些波束向一个特定站点发送信号。由于微波沿直线传播,因此发送器和接收器都必须对齐,严格处于视线范围内。
微波的波长范围为 1 毫米 - 1 米,频率范围为 300 MHz 至 300 GHz。
微波天线将波集中起来,形成一束。如上图所示,可以对齐多个天线以达到更远的距离。微波具有较高的频率,无法穿透墙壁等障碍物。
微波传输在很大程度上取决于天气条件和所使用的频率。
红外传输
红外波位于可见光谱和微波之间。 它的波长为 700 nm 至 1 mm,频率范围为 300 GHz 至 430 THz。
红外波用于非常短距离的通信目的,例如电视和遥控器。 红外线沿直线传播,因此本质上具有方向性。 由于频率范围高,红外线无法穿过墙壁等障碍物。
光传输
可用于数据传输的最高电磁频谱是光或光信号。这是通过激光实现的。
由于光使用的频率,它倾向于严格沿直线传播。因此,发送器和接收器必须在视线范围内。由于激光传输是单向的,因此在通信的两端都需要安装激光器和光电探测器。激光束通常为 1 毫米宽,因此将两个远距离接收器对准激光源是一项精密的工作。
激光用作 Tx(发射器),光电探测器用作 Rx(接收器)。
激光无法穿透墙壁、雨水和浓雾等障碍物。此外,激光束会因风、大气温度或路径温度变化而扭曲。
激光对于数据传输是安全的,因为在不中断通信信道的情况下窃听 1 毫米宽的激光非常困难。
多路复用
多路复用是一种技术,通过该技术,不同的模拟和数字传输流可以在共享链路上同时处理。多路复用将高容量介质划分为低容量逻辑介质,然后由不同的流共享。
通信可以通过空中(无线电频率)、物理介质(电缆)和光(光纤)进行。所有介质都能够进行多路复用。
当多个发送者尝试通过单一介质发送时,称为多路复用器的设备会划分物理信道并为每个发送者分配一个信道。在通信的另一端,解复用器从单一介质接收数据,识别每个介质,并发送到不同的接收器。
频分复用
当载波为频率时,使用 FDM。FDM 是一种模拟技术。FDM 将频谱或载波带宽划分为逻辑信道,并为每个信道分配一个用户。每个用户可以独立使用信道频率,并独占该频率。所有信道都以不相互重叠的方式划分。信道由保护带分隔。保护带是任何信道均未使用的频率。
时分复用
TDM 主要应用于数字信号,但也可以应用于模拟信号。在 TDM 中,共享信道通过时隙在其用户之间划分。每个用户只能在提供的时隙内传输数据。数字信号被划分为帧,相当于时隙,即可以在给定时隙内传输的最佳大小的帧。
TDM 以同步模式工作。两端,即复用器和解复用器,都是及时同步的,并且都同时切换到下一个信道。
当信道 A 在一端传输其帧时,解复用器在另一端向信道 A 提供媒体。一旦信道 A 的时隙到期,这一端就会切换到信道 B。在另一端,解复用器以同步方式工作,并为信道 B 提供媒体。来自不同信道的信号以交错方式在路径上传播。
波分复用
光具有不同的波长(颜色)。在光纤模式下,多个光载波信号通过使用不同的波长被复用到光纤中。这是一种模拟复用技术,其概念与 FDM 相同,但使用光作为信号。
此外,在每个波长上可以结合时分复用以容纳更多数据信号。
码分复用
使用码分复用,可以在单个频率上传输多个数据信号。FDM 将频率划分为较小的通道,但 CDM 允许其用户使用全带宽并使用唯一代码始终传输信号。CDM 使用正交码来扩展信号。
每个站都分配有一个唯一代码,称为码片。信号在整个带宽内独立地使用这些代码传输。接收器提前知道它必须接收的码片代码信号。
网络交换
交换是将数据包从一个端口转发到通向目的地的端口的过程。当数据进入端口时,称为入口,当数据离开端口或出去时,称为出口。通信系统可能包括许多交换机和节点。从广义上讲,交换可分为两大类:
无连接: 数据代表转发表转发。不需要先前的握手,确认是可选的。
面向连接: 在交换要转发到目的地的数据之前,需要预先建立沿两个端点之间路径的电路。然后数据在该电路上转发。传输完成后,电路可以保留以备将来使用,也可以立即关闭。
电路交换
当两个节点通过专用通信路径相互通信时,这称为电路交换。需要预先指定数据将从其传输的路线,并且不允许其他数据通过。在电路交换中,要传输数据,必须建立电路以便进行数据传输。
电路可以是永久的,也可以是临时的。使用电路交换的应用程序可能需要经历三个阶段:
建立电路
传输数据
断开电路
电路交换是为语音应用程序设计的。电话是电路交换最合适的例子。在用户拨打电话之前,通过网络在呼叫者和被呼叫者之间建立了虚拟路径。
消息交换
这种技术介于电路交换和分组交换之间。在消息交换中,整个消息被视为一个数据单元,并被整体交换/传输。
进行消息交换的交换机首先接收整个消息并对其进行缓冲,直到有资源可用来将其传输到下一跳。如果下一跳没有足够的资源来容纳大尺寸消息,则存储该消息并等待交换机。
该技术被认为是电路交换的替代品。与电路交换一样,整个路径仅对两个实体进行阻塞。消息交换被分组交换取代。消息交换具有以下缺点:
传输路径中的每个交换机都需要足够的存储空间来容纳整个消息。
由于存储转发技术和等待资源可用,消息交换非常慢。
消息交换不是流媒体和实时应用程序的解决方案。
分组交换
消息交换的缺点催生了分组交换的想法。整个消息被分解成称为数据包的较小块。交换信息被添加到每个数据包的报头中并独立传输。
中间网络设备更容易存储小尺寸数据包,并且它们不会在载体路径或交换机的内部存储器中占用太多资源。
分组交换提高了线路效率,因为来自多个应用程序的数据包可以通过载体进行多路复用。互联网使用分组交换技术。分组交换使用户能够根据优先级区分数据流。根据优先级存储和转发数据包以提供高质量的服务。
数据链路层简介
数据链路层是 OSI 分层模型的第二层。该层是最复杂的层之一,具有复杂的功能和责任。数据链路层隐藏了底层硬件的细节,并向上层表示自己是通信媒介。
数据链路层在两台在某种意义上直接连接的主机之间工作。这种直接连接可以是点对点或广播。广播网络上的系统被称为在同一链路上。当数据链路层处理单个冲突域上的多个主机时,它的工作往往会变得更加复杂。
数据链路层负责将数据流逐位转换为信号,并通过底层硬件发送。在接收端,数据链路层从硬件中获取电信号形式的数据,将其组装成可识别的帧格式,然后交给上层。
数据链路层有两个子层:
逻辑链路控制:它处理协议、流量控制和错误控制
媒体访问控制:它处理媒体的实际控制
数据链路层的功能
数据链路层代表上层执行许多任务。这些是:
成帧
数据链路层从网络层获取数据包并将其封装成帧。然后,它在硬件上逐位发送每个帧。在接收端,数据链路层从硬件中拾取信号并将其组装成帧。
寻址
数据链路层提供第 2 层硬件寻址机制。硬件地址在链路上被认为是唯一的。它在制造时被编码到硬件中。
同步
当在链路上发送数据帧时,两台机器必须同步才能进行传输。
错误控制
有时信号可能在转换过程中遇到问题,并且位被翻转。检测到这些错误并尝试恢复实际数据位。它还向发送者提供错误报告机制。
流量控制
同一链路上的站点可能具有不同的速度或容量。数据链路层确保流量控制,使两台机器能够以相同的速度交换数据。
多路访问
当共享链路上的主机尝试传输数据时,发生冲突的概率很高。数据链路层提供 CSMA/CD 等机制,以配备在多个系统之间访问共享媒体的能力。
错误检测和纠正
有很多原因,例如噪音、串扰等,可能会导致数据在传输过程中损坏。上层基于网络架构的一些通用视图工作,并且不了解实际的硬件数据处理。因此,上层期望系统之间无错误传输。如果收到错误数据,大多数应用程序将无法正常运行。语音和视频等应用程序可能不会受到太大影响,即使出现一些错误,它们仍可以正常运行。
数据链路层使用一些错误控制机制来确保帧(数据位流)以一定的准确度传输。但要了解如何控制错误,必须知道可能发生哪些类型的错误。
错误类型
可能存在三种类型的错误:
单比特错误
在一个帧中,无论在何处,只有一个比特是损坏的。
多比特错误
收到的帧中有多个比特处于损坏状态。
突发错误
帧包含 1 个以上连续损坏的位。
错误控制机制可能涉及两种可能的方式:
错误检测
错误更正
错误检测
通过奇偶校验和循环冗余校验 (CRC) 检测接收帧中的错误。在这两种情况下,都会随实际数据一起发送一些额外的位,以确认另一端收到的位与发送的位相同。如果接收端的计数器检查失败,则认为这些位已损坏。
奇偶校验
将与原始位一起发送一个额外的位,以使 1 的数量在偶校验的情况下为偶数,在奇校验的情况下为奇数。
发送方在创建帧时会计算其中 1 的数量。例如,如果使用偶校验并且 1 的数量为偶数,则添加一个值为 0 的位。这样 1 的数量就保持为偶数。如果 1 的数量为奇数,则添加一个值为 1 的位以使其为偶数。
接收方只需计算帧中的 1 的数量。如果 1 的数量为偶数,并且使用偶校验,则认为该帧未损坏并被接受。如果 1 的数量为奇数,并且使用奇校验,则该帧仍未损坏。
如果单个位在传输过程中翻转,接收器可以通过计算 1 的数量来检测它。但是当多个位错误时,接收器很难检测到错误。
循环冗余校验 (CRC)
CRC 是一种检测接收帧是否包含有效数据的另一种方法。该技术涉及对正在发送的数据位进行二进制除法。除数是使用多项式生成的。发送方对正在发送的位执行除法运算并计算余数。在发送实际位之前,发送方将余数添加到实际位的末尾。实际数据位加上余数称为码字。发送方将数据位作为代码字传输。
在另一端,接收方使用相同的 CRC 除数对代码字执行除法运算。如果余数全为零,则数据位被接受,否则则认为传输过程中发生了一些数据损坏。
错误校正
在数字世界中,错误校正可以通过两种方式完成:
向后错误校正 当接收方检测到收到的数据中有错误时,它会请求发送方重新传输数据单元。
前向错误校正 当接收器检测到所接收数据中的某些错误时,它会执行纠错码,这有助于它自动恢复并纠正某些类型的错误。
第一个是向后纠错,它很简单,只能在重传成本不高的情况下有效使用。例如,光纤。但在无线传输的情况下,重传可能成本太高。在后一种情况下,使用前向纠错。
要纠正数据帧中的错误,接收器必须确切知道帧中的哪个位已损坏。要找到出错的位,冗余位被用作错误检测的奇偶校验位。例如,我们取 ASCII 字(7 位数据),那么我们可能需要 8 种信息:前七位告诉我们哪个位是错误的,还有一位告诉我们没有错误。
对于 m 个数据位,使用 r 个冗余位。r 位可以提供 2r 种信息组合。在 m+r 位码字中,r 位本身可能会损坏。因此,使用的 r 位的数量必须告知 m+r 位位置加上无错误信息,即 m+r+1。
数据链路控制和协议
数据链路层负责实现点对点流量和错误控制机制。
流量控制
当数据帧(第 2 层数据)通过单一介质从一个主机发送到另一个主机时,要求发送方和接收方以相同的速度工作。也就是说,发送方以接收方可以处理和接受数据的速度发送数据。如果发送方或接收方的速度(硬件/软件)不同怎么办?如果发送方发送速度过快,接收方可能会超载(淹没),数据可能会丢失。
可以部署两种机制来控制流量:
停止并等待
滑动窗口
在此流量控制机制中,发送方和接收方都同意应发送确认后的数据帧数量。正如我们所知,停止和等待流控制机制浪费资源,该协议尝试尽可能多地利用底层资源。
错误控制
当传输数据帧时,数据帧可能会在传输过程中丢失或接收时损坏。在这两种情况下,接收方都没有收到正确的数据帧,而发送方也不知道任何丢失的情况。在这种情况下,发送方和接收方都配备了一些协议,帮助他们检测传输错误,例如数据帧丢失。因此,发送方可以重新传输数据帧,或者接收方可以请求重新发送前一个数据帧。
错误控制机制的要求:
错误检测 - 发送方和接收方(无论是两者还是其中之一)必须确定传输过程中是否存在错误。
肯定 ACK - 当接收方收到正确的帧时,它应该确认它。
否定 ACK - 当接收方收到损坏的帧或重复的帧时,它会向发送方发送回 NACK,并且发送方必须重新传输正确的帧。
重传: 发送方维护时钟并设置超时期限。如果先前传输的数据帧的确认未在超时之前到达,则发送方将重新传输该帧,认为该帧或其确认在传输中丢失。
数据链路层可以部署三种技术来通过自动重复请求 (ARQ) 控制错误:
停止并等待 ARQ
停止并等待 ARQ 中可能发生以下转换:
- 发送方维护超时计数器。
- 发送帧时,发送方启动超时计数器。
- 如果帧确认及时到达,发送方传输队列中的下一帧。
- 如果确认未及时到达,则发送方认为帧或其确认在传输过程中丢失。发送方重新传输该帧并启动超时计数器。
- 如果收到否定确认,则发送方重新传输该帧。
Go-back-N ARQ
停止并等待 ARQ 机制无法充分利用资源。收到确认后,发送方处于空闲状态,不执行任何操作。在 Go-Back-N ARQ 方法中,发送方和接收方都维护一个窗口。
发送窗口大小使发送方能够发送多个帧,而无需收到前一个帧的确认。接收窗口使接收方能够接收多个帧并确认它们。接收方会跟踪传入帧的序列号。
当发送方发送窗口中的所有帧时,它会检查已收到肯定确认的序列号。如果所有帧都得到肯定确认,则发送方发送下一组帧。如果发送方发现它已收到 NACK 或未收到特定帧的任何 ACK,它会重新传输所有未收到任何肯定 ACK 的帧。
选择性重复 ARQ
在 Go-back-N ARQ 中,假设接收方没有任何缓冲空间来容纳其窗口大小,并且必须在收到每个帧时对其进行处理。这会强制发送方重新传输所有未确认的帧。
在选择性重复 ARQ 中,接收方在跟踪序列号的同时,将帧缓冲在内存中,并仅对丢失或损坏的帧发送 NACK。
在这种情况下,发送方只发送收到 NACK 的数据包。
网络层简介
OSI 模型中的第 3 层称为网络层。网络层管理与主机和网络寻址、管理子网和网络互连有关的选项。
网络层负责将数据包从源路由到子网内或子网外的目的地。两个不同的子网可能具有不同的寻址方案或不兼容的寻址类型。与协议相同,两个不同的子网可能运行在互不兼容的不同协议上。网络层负责将数据包从源路由到目的地,映射不同的寻址方案和协议。
第 3 层功能
在网络层上工作的设备主要专注于路由。路由可能包括旨在实现单一目标的各种任务。这些可以是:
寻址设备和网络。
填充路由表或静态路由。
对传入和传出数据进行排队,然后根据为这些数据包设置的服务质量约束转发它们。
两个不同子网之间的互联网络。
尽最大努力将数据包传送到目的地。
提供面向连接和无连接的机制。
网络层功能
凭借其标准功能,第 3 层可以提供各种功能:
服务质量管理
负载平衡和链路管理
安全
不同协议和子网与不同模式之间的相互关系。
物理网络设计上的不同逻辑网络设计。
L3 VPN 和隧道可用于提供端到端专用连接。
互联网协议是广受尊重和部署的网络层协议,有助于通过互联网进行端到端设备通信。它有两种形式。IPv4 已经统治了世界几十年,但现在已经耗尽了地址空间。IPv6 是为了取代 IPv4 而创建的,希望也能减轻 IPv4 的限制。
网络寻址
第 3 层网络寻址是网络层的主要任务之一。网络地址始终是合乎逻辑的,即这些是基于软件的地址,可以通过适当的配置进行更改。
网络地址始终指向主机/节点/服务器,或者它可以代表整个网络。网络地址始终配置在网络接口卡上,并且通常由系统与机器的 MAC 地址(硬件地址或第 2 层地址)进行映射,以进行第 2 层通信。
存在不同类型的网络地址:
IP
IPX
AppleTalk
我们在这里讨论 IP,因为它是目前我们在实践中使用的唯一 IP。
IP 寻址提供了区分主机和网络的机制。由于 IP 地址是按层次结构分配的,因此主机始终位于特定网络下。需要与其子网外通信的主机需要知道数据包/数据要发送到的目标网络地址。
不同子网中的主机需要一种机制来相互定位。此任务可以通过 DNS 完成。DNS 是一种服务器,它提供与其域名或 FQDN 映射的远程主机的三层地址。当主机获取远程主机的三层地址(IP 地址)时,它会将其所有数据包转发到其网关。网关是一种路由器,配备了将数据包路由到目标主机的所有信息。
路由器借助路由表,路由表包含以下信息:
到达网络的方法
路由器在收到转发请求后,将数据包转发到其下一跳(相邻路由器)到达目的地。
路径上的下一个路由器遵循相同的操作,最终数据包到达目的地。
网络地址可以是以下之一:
单播(目的地为一台主机)
多播(目的地为组)
广播(目的地为所有)
任播(目的地为最近的一)
默认情况下,路由器从不转发广播流量。多播流量使用特殊处理,因为它大多数是具有最高优先级的视频流或音频。任播与单播类似,不同之处在于当有多个目的地可用时,数据包会被传送到最近的目的地。
网络层路由
当设备有多条路径到达目的地时,它总是选择一条路径,而不是其他路径。此选择过程称为路由。路由由称为路由器的特殊网络设备完成,也可以通过软件过程完成。基于软件的路由器功能有限,范围有限。
路由器始终配置一些默认路由。如果未找到特定目的地的路由,默认路由会告诉路由器将数据包转发到哪里。如果存在多条路径到达同一目的地,路由器可以根据以下信息做出决策:
跳数
带宽
度量
前缀长度
延迟
路由可以静态配置或动态学习。可以将一条路由配置为优先于其他路由。
单播路由
互联网和内联网上的大部分流量(称为单播数据或单播流量)都是通过指定目的地发送的。在互联网上路由单播数据称为单播路由。这是最简单的路由形式,因为目的地已知。因此,路由器只需查找路由表并将数据包转发到下一跳。
广播路由
默认情况下,任何网络上的路由器都不会路由和转发广播数据包。路由器会创建广播域。但可以将其配置为在某些特殊情况下转发广播。广播消息发往所有网络设备。
广播路由可以通过两种方式(算法)完成:
路由器创建一个数据包,然后将其逐个发送到每个主机。在这种情况下,路由器会创建具有不同目标地址的单个数据包的多个副本。所有数据包都以单播形式发送,但由于它们被发送给所有设备,因此它模拟了路由器正在广播。
此方法消耗大量带宽,并且路由器必须知道每个节点的目标地址。
其次,当路由器收到要广播的数据包时,它只是将这些数据包从所有接口泛洪出去。所有路由器的配置方式相同。
此方法对路由器的 CPU 来说很简单,但可能会导致从对等路由器收到重复数据包的问题。
反向路径转发是一种技术,其中路由器提前知道其前任应该从哪里接收广播。此技术用于检测和丢弃重复项。
多播路由
多播路由是广播路由的特殊情况,具有显著差异和挑战。在广播路由中,数据包会被发送到所有节点,即使它们不需要。但在多播路由中,数据仅发送给想要接收数据包的节点。
路由器必须知道有节点希望接收多播数据包(或流),然后才转发。多播路由使用生成树协议来避免循环。
多播路由还使用反向路径转发技术来检测和丢弃重复和循环。
任播路由
任播数据包转发是一种多台主机可以具有相同逻辑地址的机制。当收到发往该逻辑地址的数据包时,它会被发送到路由拓扑中最近的主机。
任播路由是在 DNS 服务器的帮助下完成的。每当收到任播数据包时,都会向 DNS 询问将其发送到何处。DNS 提供的 IP 地址是其上配置的最近 IP。
单播路由协议
有两种路由协议可用于路由单播数据包:
距离矢量路由协议
距离矢量是一种简单的路由协议,它根据源和目标之间的跳数做出路由决策。跳数较少的路由被视为最佳路由。每个路由器都会向其他路由器通告其设置的最佳路由。最终,所有路由器都会根据其对等路由器的通告建立其网络拓扑,
例如路由信息协议 (RIP)。
链路状态路由协议
链路状态协议比距离矢量协议稍微复杂一些。它考虑了网络中所有路由器的链路状态。此技术有助于路由构建整个网络的通用图。然后,所有路由器都会计算其最佳路径以进行路由。例如,开放最短路径优先 (OSPF) 和中间系统到中间系统 (ISIS)。
多播路由协议
单播路由协议使用图,而多播路由协议使用树,即生成树来避免循环。最佳树称为最短路径生成树。
DVMRP - 距离向量多播路由协议
MOSPF - 多播开放最短路径优先
CBT - 基于核心的树
PIM - 协议独立多播
现在普遍使用协议独立多播。它有两种形式:
PIM 密集模式
此模式使用基于源的树。它用于密集环境,例如 LAN。
PIM 稀疏模式
此模式使用共享树。它用于稀疏环境,例如 WAN。
路由算法
路由算法如下:
泛洪
泛洪是最简单的数据包转发方法。当收到数据包时,路由器会将其发送到除接收数据包的接口之外的所有接口。这会给网络带来过多负担,并且大量重复数据包会在网络中徘徊。
可以使用生存时间 (TTL) 来避免数据包无限循环。还有另一种泛洪方法,称为选择性泛洪,以减少网络开销。在这种方法中,路由器不会在所有接口上泛洪,而是选择一些接口。
最短路径
网络中的路由决策大多基于源和目的地之间的成本。跳数在这里起着主要作用。最短路径是一种使用各种算法来决定跳数最少的路径的技术。
常见的最短路径算法有:
Dijkstra 算法
Bellman Ford 算法
Floyd Warshall 算法
互联网
在现实世界中,同一管理下的网络通常在地理上分散。可能需要连接两个相同类型或不同类型的网络。两个网络之间的路由称为网络间路由。
网络可以根据各种参数(例如协议、拓扑、第 2 层网络和寻址方案)被视为不同。
在网络间路由中,路由器知道彼此的地址以及它们之外的地址。它们可以静态配置在不同网络上,也可以通过使用网络间路由协议进行学习。
在组织或管理部门内使用的路由协议称为内部网关协议或 IGP。RIP、OSPF 是 IGP 的示例。不同组织或管理部门之间的路由可能具有外部网关协议,并且只有一个 EGP,即边界网关协议。
隧道
如果它们是两个地理上独立的网络,想要相互通信,它们可能会在它们之间部署一条专用线路,或者它们必须通过中间网络传递数据。
隧道是一种机制,通过传递中间网络复杂性,两个或多个相同的网络可以相互通信。隧道配置在两端。
当数据从隧道的一端进入时,它会被标记。然后,这些标记的数据在中间或中转网络内路由,以到达隧道的另一端。当数据存在于隧道中时,其标签将被删除并传送到网络的另一部分。
两端看起来就像直接连接一样,标记使数据无需任何修改即可通过传输网络传输。
数据包碎片
大多数以太网段的最大传输单元 (MTU) 固定为 1500 字节。数据包的数据包长度可能更长或更短,具体取决于应用程序。传输路径中的设备也有自己的硬件和软件功能,这些功能决定了设备可以处理的数据量以及可以处理的数据包大小。
如果数据包大小小于或等于传输网络可以处理的数据包大小,则会对其进行中立处理。如果数据包较大,则会将其分解成较小的部分,然后转发。这称为数据包碎片。每个片段都包含相同的目标和源地址,并可轻松通过传输路径路由。在接收端,它会被重新组装。
如果数据包的 DF(不分段)位设置为 1,而路由器由于数据包长度而无法处理该数据包,则该数据包将被丢弃。
当路由器接收到数据包并将其 MF(更多分段)位设置为 1 时,路由器便知道这是一个分段数据包,并且原始数据包的部分正在传输中。
如果数据包分段太小,开销就会增加。如果数据包分段太大,中间路由器可能无法处理它,并且可能会被丢弃。
网络层协议
网络中的每台计算机都有一个 IP 地址,通过该地址可以唯一地标识和寻址它。IP 地址是第 3 层(网络层)逻辑地址。每次计算机重新启动时,此地址可能会更改。一台计算机可以在某一时刻拥有一个 IP,而在另一时刻拥有另一个 IP。
地址解析协议 (ARP)
在通信时,主机需要属于同一广播域或网络的目标计算机的第 2 层 (MAC) 地址。MAC 地址物理上刻录在机器的网络接口卡 (NIC) 中,永远不会改变。
另一方面,公共域上的 IP 地址很少改变。如果 NIC 因某些故障而更改,MAC 地址也会更改。这样,要进行第 2 层通信,就需要两者之间的映射。
要知道广播域中远程主机的 MAC 地址,希望发起通信的计算机会发送 ARP 广播消息询问"谁有这个 IP 地址?"由于它是广播,因此网络段(广播域)上的所有主机都会接收并处理此数据包。ARP 数据包包含发送主机希望与之通信的目标主机的 IP 地址。当主机收到发往它的 ARP 数据包时,它会回复自己的 MAC 地址。
一旦主机获得目标 MAC 地址,它就可以使用第 2 层链路协议与远程主机通信。此 MAC 到 IP 的映射保存在发送和接收主机的 ARP 缓存中。下次,如果它们需要通信,它们可以直接引用各自的 ARP 缓存。
反向 ARP 是一种机制,其中主机知道远程主机的 MAC 地址,但需要知道 IP 地址才能通信。
Internet 控制消息协议 (ICMP)
ICMP 是网络诊断和错误报告协议。ICMP 属于 IP 协议套件并使用 IP 作为载体协议。构造 ICMP 数据包后,将其封装在 IP 数据包中。因为IP本身是一种尽力而为的不可靠协议,所以ICMP也是如此。
任何有关网络的反馈都会发送回原始主机。如果网络中出现某些错误,则通过 ICMP 进行报告。ICMP 包含数十条诊断和错误报告消息。
ICMP-echo 和 ICMP-echo-reply 是最常用的 ICMP 消息,用于检查端到端主机的可达性。当主机收到 ICMP-echo 请求时,它必然会发回 ICMP-echo-reply。如果传输网络中出现任何问题,ICMP 将报告该问题。
Internet 协议版本 4 (IPv4)
IPv4 是用作 TCP/IP 主机寻址机制的 32 位寻址方案。 IP 寻址使 TCP/IP 网络上的每个主机都具有唯一可识别性。
IPv4 提供分层寻址方案,使其能够将网络划分为子网络,每个子网络具有明确定义的主机数量。IP 地址分为许多类别:
A 类 - 它使用第一个八位字节作为网络地址,使用后三个八位字节作为主机寻址
B 类 - 它使用前两个八位字节作为网络地址,使用后两个八位字节作为主机寻址
C 类 - 它使用前三个八位字节作为网络地址,使用最后一个八位字节作为主机寻址
D 类 - 它提供平面 IP 寻址方案,与上述三个方案的分层结构不同。
E 类 - 它用作实验。
IPv4 还具有明确定义的地址空间,可用作私有地址(不可在互联网上路由)和公共地址(由 ISP 提供,可在互联网上路由)。
尽管 IP 不可靠,但它提供了"尽力而为"机制。
互联网协议版本 6 (IPv6)
IPv4 地址的耗尽催生了下一代互联网协议版本 6。IPv6 使用 128 位宽的地址寻址其节点,为未来在整个星球或更远的地方使用提供了充足的地址空间。
IPv6 引入了任播寻址,但删除了广播的概念。 IPv6 使设备能够自行获取 IPv6 地址并在该子网内通信。此自动配置消除了动态主机配置协议 (DHCP) 服务器的可靠性。这样,即使该子网上的 DHCP 服务器关闭,主机也可以相互通信。
IPv6 提供了 IPv6 移动性的新功能。配备移动 IPv6 的机器可以漫游而无需更改其 IP 地址。
IPv6 仍处于过渡阶段,预计将在未来几年完全取代 IPv4。目前,很少有网络在 IPv6 上运行。有一些过渡机制可供启用 IPv6 的网络在 IPv4 上轻松地在不同网络中通信和漫游。这些是:
- 双栈实现
- 隧道
- NAT-PT
传输层简介
OSI 模型中的下一层被认为是传输层(第 4 层)。与数据或数据流传输有关的所有模块和程序都归类到此层。与所有其他层一样,此层与远程主机的对等传输层进行通信。
传输层在远程主机上的两个进程之间提供对等和端到端连接。传输层从上层(即应用层)获取数据,然后将其分解为更小的段,对每个字节进行编号,然后移交给下层(网络层)进行交付。
功能
该层是第一个将应用层提供的信息数据分解成更小的单元(称为段)的层。它对段中的每个字节进行编号并维护它们的记帐。
该层确保必须按照发送数据的相同顺序接收数据。
该层在可能属于或不属于同一子网的主机之间提供端到端的数据传输。
所有打算通过网络进行通信的服务器进程都配备了众所周知的传输服务访问点 (TSAP),也称为端口号。
端到端通信
一个主机上的进程通过 TSAP(也称为端口号)识别远程网络上的对等主机。 TSAP 定义非常明确,尝试与对等方通信的进程会提前知道这一点。
例如,当 DHCP 客户端想要与远程 DHCP 服务器通信时,它始终在端口号 67 上请求。当 DNS 客户端想要与远程 DNS 服务器通信时,它始终在端口号 53 (UDP) 上请求。
两个主要的传输层协议是:
传输控制协议
它提供两台主机之间的可靠通信。
用户数据报协议
它提供两台主机之间的不可靠通信。
传输控制协议
传输控制协议 (TCP) 是最重要的协议之一互联网协议套件中的协议。它是互联网等通信网络中数据传输最广泛的协议。
特点
TCP 是可靠的协议。也就是说,接收方始终向发送方发送有关数据包的肯定或否定确认,以便发送方始终清楚数据包是否到达目的地或是否需要重新发送。
TCP 确保数据按照发送的顺序到达预定目的地。
TCP 是面向连接的。 TCP 要求在发送实际数据之前建立两个远程点之间的连接。
TCP 提供错误检查和恢复机制。
TCP 提供端到端通信。
TCP 提供流量控制和服务质量。
TCP 以客户端/服务器点对点模式运行。
TCP 提供全双工服务器,即它可以同时充当接收方和发送方的角色。
报头
TCP 报头的长度最小为 20 字节,最大为 60 字节。
源端口 (16 位)- 它标识发送设备上应用程序进程的源端口。
目标端口 (16 位)- 它标识接收设备上应用程序进程的目标端口。
序列号 (32 位)- 会话中段的数据字节序列号。
确认号 (32 位) - 当设置 ACK 标志时,此数字包含预期数据字节的下一个序列号,并作为对先前收到的数据的确认。
数据偏移量(4 位) - 此字段表示 TCP 标头的大小(32 位字)和当前数据包在整个 TCP 段中的数据偏移量。
保留(3 位) - 保留以供将来使用,默认情况下所有标志均设置为零。
标志(每个 1 位)
NS - 显式拥塞通知信令过程使用 Nonce Sum 位。
CWR - 当主机收到设置了 ECE 位的数据包时,它会设置 Congestion Windows Reduced 以确认已收到 ECE。
ECE - 它有两层含义:
如果 SYN 位清除为 0,则 ECE 表示 IP 数据包已设置其 CE(拥塞体验)位。
如果 SYN 位设置为 1,则 ECE 表示设备具有 ECT 功能。
URG - 表示紧急指针字段有重要数据,需要处理。
ACK - 表示确认字段有重要数据。如果 ACK 被清除为 0,则表示数据包不包含任何确认。
PSH - 设置后,请求接收站将数据(一到达)推送到接收应用程序而不进行缓冲。
RST - 重置标志具有以下功能:
用于拒绝传入连接。
用于拒绝段。
用于重新启动连接。
SYN - 此标志用于在主机之间建立连接。
FIN - 此标志用于释放连接,此后不再交换任何数据。因为带有 SYN 和 FIN 标志的数据包具有序列号,所以它们会按正确的顺序进行处理。
窗口大小 - 此字段用于两个站之间的流量控制,并指示接收器为一个段分配的缓冲区量(以字节为单位),即接收器期望多少数据。
校验和 - 此字段包含报头、数据和伪报头的校验和。
紧急指针 - 如果 URG 标志设置为 1,则指向紧急数据字节。
选项 - 它有助于提供常规报头未涵盖的附加选项。选项字段始终以 32 位字描述。如果此字段包含的数据少于 32 位,则使用填充来覆盖剩余位以达到 32 位边界。
寻址
两个远程主机之间的 TCP 通信通过端口号 (TSAP) 完成。端口号范围为 0 – 65535,分为:
- 系统端口 (0 – 1023)
- 用户端口 (1024 – 49151)
- 私有/动态端口 (49152 – 65535)
连接管理
TCP 通信在服务器/客户端模型中工作。客户端发起连接,服务器接受或拒绝连接。三次握手用于连接管理。
建立
客户端发起连接并发送带有序列号的段。服务器用自己的序列号和客户端段的 ACK 进行确认,ACK 比客户端的序列号大一。客户端在收到其段的 ACK 后,发送服务器响应的确认。
释放
服务器和客户端都可以发送 FIN 标志设置为 1 的 TCP 段。当接收端通过确认 FIN 进行响应时,TCP 通信的该方向将关闭并释放连接。
带宽管理
TCP 使用窗口大小的概念来满足带宽管理的需要。窗口大小告诉远程端的发送者,此端的接收者可以接收的数据字节段数。TCP 使用窗口大小 1 来使用慢启动阶段,并在每次成功通信后成倍增加窗口大小。
例如,客户端使用窗口大小 2 并发送 2 个字节的数据。当收到此段的确认时,窗口大小加倍为 4,下次发送的段将为 4 个数据字节长。当收到 4 字节数据段的确认时,客户端将窗口大小设置为 8,依此类推。
如果丢失了确认,即数据在传输网络中丢失或收到 NACK,则窗口大小将减小一半,慢启动阶段再次开始。
错误控制和流量控制
TCP 使用端口号来了解需要哪个应用程序进程来交接数据段。除此之外,它还使用序列号将自身与远程主机同步。所有数据段都使用序列号发送和接收。当发送方收到 ACK 时,它就知道接收方收到了哪个最后的数据段。接收方通过参考最近收到的数据包的序列号来了解发送方发送的最后一个段。
如果最近收到的段的序列号与接收方期望的序列号不匹配,则丢弃该段并返回 NACK。如果两个段具有相同的序列号,则比较 TCP 时间戳值以做出决定。
多路复用
在一个会话中组合两个或多个数据流的技术称为多路复用。当 TCP 客户端初始化与服务器的连接时,它总是引用一个明确定义的端口号,该端口号指示应用程序进程。客户端本身使用从私有端口号池中随机生成的端口号。
使用 TCP 多路复用,客户端可以在单个会话中与多个不同的应用程序进程进行通信。例如,客户端请求一个网页,而该网页又包含不同类型的数据(HTTP、SMTP、FTP 等),TCP 会话超时会增加,会话保持打开状态的时间会更长,从而避免三次握手开销。
这使客户端系统能够通过单个虚拟连接接收多个连接。如果超时时间太长,这些虚拟连接对服务器来说并不好。
拥塞控制
当大量数据被输入到无法处理的系统中时,就会发生拥塞。TCP 通过窗口机制控制拥塞。TCP 设置窗口大小,告诉另一端要发送多少数据段。 TCP 可以使用三种算法进行拥塞控制:
加法增加,乘法减少
慢启动
超时反应
计时器管理
TCP 使用不同类型的计时器来控制和管理各种任务:
保持活动计时器:
此计时器用于检查连接的完整性和有效性。
当保持活动时间到期时,主机将发送探测以检查连接是否仍然存在。
重传计时器:
此计时器维护已发送数据的状态会话。
如果确认已发送的数据在重传时间内没有收到,则重新发送该数据段。
持久计时器:
任一主机都可以通过发送窗口大小 0 来暂停 TCP 会话。
要恢复会话,主机需要发送具有较大值的窗口大小。
如果此段从未到达另一端,则两端可能会无限期地等待对方。
当持久计时器到期时,主机会重新发送其窗口大小以告知另一端。
持久计时器有助于避免通信死锁。
定时等待:
释放连接后,任一主机都会等待定时等待时间来完全终止连接。
这是为了确保另一端已收到其连接终止请求的确认。
超时时间最长为 240 秒(4 分钟)。
崩溃恢复
TCP 是一种非常可靠的协议。它为分段中发送的每个字节提供序列号。它提供反馈机制,即当主机收到数据包时,它必然会确认具有下一个预期序列号的数据包(如果它不是最后一个分段)。
当 TCP 服务器在通信中途崩溃并重新启动其进程时,它会向其所有主机发送 TPDU 广播。然后,主机可以发送从未未确认的最后一个数据段并继续前进。
用户数据报协议
用户数据报协议 (UDP) 是 TCP/IP 协议套件中最简单的传输层通信协议。它涉及最少量的通信机制。 UDP 被认为是一种不可靠的传输协议,但它使用提供尽力而为交付机制的 IP 服务。
在 UDP 中,接收方不会生成对收到的数据包的确认,反过来,发送方也不会等待对发送的数据包的任何确认。这个缺点使得该协议不可靠,但处理起来也更简单。
UDP 的要求
可能会出现一个问题,为什么我们需要一个不可靠的协议来传输数据?我们部署 UDP,其中确认数据包与实际数据共享大量带宽。例如,在视频流的情况下,数千个数据包被转发给其用户。确认所有数据包很麻烦,可能会造成大量带宽浪费。底层 IP 协议的最佳交付机制确保尽最大努力交付其数据包,但即使视频流中的某些数据包丢失,影响也不会很严重,可以轻松忽略。视频和语音流量中的少量数据包丢失有时不会被注意到。
功能
当数据确认不具有任何意义时,使用 UDP。
UDP 是单向数据流动的良好协议。
UDP 简单且适用于基于查询的通信。
UDP 不是面向连接的。
UDP 不提供拥塞控制机制。
UDP 不保证数据的有序传递。
UDP 是无状态的。
UDP 是适用于流媒体应用(如 VoIP、多媒体流媒体)的协议。
UDP 标头
UDP 标头与其功能一样简单。
UDP 报头包含四个主要参数:
源端口 - 这 16 位信息用于标识数据包的源端口。
目标端口 - 这 16 位信息用于标识目标机器上的应用程序级服务。
长度 - 长度字段指定 UDP 数据包(包括报头)的整个长度。它是 16 位字段,最小值为 8 字节,即 UDP 报头本身的大小。
校验和 - 此字段存储发送方在发送前生成的校验和值。IPv4 将此字段作为可选字段,因此当校验和字段不包含任何值时,它将被设为 0,并且其所有位都设置为零。
UDP 应用程序
以下是使用 UDP 传输数据的几个应用程序:
域名服务
简单网络管理协议
简单文件传输协议
路由信息协议
Kerberos
应用层简介
应用层是 OSI 和 TCP/IP 分层模型中的最顶层。该层存在于两个分层模型中,因为它具有与用户和用户应用程序交互的重要性。此层适用于涉及通信系统的应用程序。
用户可以或不直接与应用程序交互。应用层是实际通信发起和反映的地方。由于此层位于层堆栈的顶部,因此它不为任何其他层提供服务。应用层借助传输层及其下方的所有层来与远程主机通信或传输数据。
当应用层协议想要与远程主机上的对等应用层协议通信时,它会将数据或信息交给传输层。传输层在其下方的所有层的帮助下完成其余工作。
对应用层及其协议的理解存在歧义。并非每个用户应用程序都可以放入应用层。除了那些与通信系统交互的应用程序。例如,设计软件或文本编辑器不能被视为应用层程序。
另一方面,当我们使用 Web 浏览器时,它实际上是使用超文本传输协议 (HTTP) 与网络交互。HTTP 是应用层协议。
另一个示例是文件传输协议,它可帮助用户在网络上传输基于文本或二进制的文件。用户可以在基于 GUI 的软件(如 FileZilla 或 CuteFTP)中使用此协议,并且同一用户可以在命令行模式下使用 FTP。
因此,无论您使用哪种软件,它都是该软件在应用层使用的协议。 DNS 是一种协议,可帮助用户应用程序协议(如 HTTP)完成其工作。
客户端服务器模型
两个远程应用程序进程可以主要以两种不同的方式进行通信:
对等:两个远程进程都在同一级别执行,并使用一些共享资源交换数据。
客户端-服务器:一个远程进程充当客户端,并从充当服务器的另一个应用程序进程请求一些资源。
在客户端-服务器模型中,任何进程都可以充当服务器或客户端。机器的类型、机器的大小或其计算能力并不是使其成为服务器的原因;正是处理请求的能力使得机器成为服务器。
一个系统可以同时充当服务器和客户端。也就是说,一个进程充当服务器,另一个进程充当客户端。客户端和服务器进程也可能驻留在同一台机器上。
通信
客户端-服务器模型中的两个进程可以以各种方式交互:
套接字
远程过程调用 (RPC)
套接字
在此范例中,充当服务器的进程使用众所周知的(或客户端已知的)端口打开套接字并等待某个客户端请求到来。充当客户端的第二个进程也打开套接字,但客户端不会等待传入的请求,而是"先处理请求"。
当请求到达服务器时,服务器会提供服务。它可以是信息共享或资源请求。
远程过程调用
这是一种通过过程调用与另一个进程交互的机制。一个进程(客户端)调用位于远程主机上的过程。远程主机上的进程被称为服务器。两个进程都分配有存根。这种通信以以下方式发生:
客户端进程调用客户端存根。它传递与本地程序相关的所有参数。
然后打包(编组)所有参数,并进行系统调用以将它们发送到网络的另一端。
内核通过网络发送数据,另一端接收数据。
远程主机将数据传递到服务器存根,在那里对其进行解组。
将参数传递给过程,然后执行过程。
结果以相同的方式发送回客户端。
应用协议
应用层中有多种协议可供用户使用。应用层协议大致可分为两类:
用户使用的协议。例如,电子邮件。
帮助和支持用户使用的协议的协议。例如 DNS。
下面介绍了一些应用层协议:
域名系统
域名系统 (DNS) 在客户端服务器模型上工作。它使用 UDP 协议进行传输层通信。DNS 使用基于分层域的命名方案。DNS 服务器配置了完全限定域名 (FQDN) 和与各自的 Internet 协议地址映射的电子邮件地址。
使用 FQDN 请求 DNS 服务器,DNS 服务器使用与其映射的 IP 地址进行响应。 DNS 使用 UDP 端口 53。
简单邮件传输协议
简单邮件传输协议 (SMTP) 用于将电子邮件从一个用户传输到另一个用户。此任务通过用户使用的电子邮件客户端软件(用户代理)完成。用户代理帮助用户键入和格式化电子邮件并将其存储,直到互联网可用。当提交电子邮件发送时,发送过程由消息传输代理处理,该代理通常内置在电子邮件客户端软件中。
消息传输代理使用 SMTP 将电子邮件转发到另一个消息传输代理(服务器端)。虽然最终用户仅使用 SMTP 发送电子邮件,但服务器通常使用 SMTP 发送和接收电子邮件。 SMTP 使用 TCP 端口号 25 和 587。
客户端软件使用 Internet 消息访问协议 (IMAP) 或 POP 协议接收电子邮件。
文件传输协议
文件传输协议 (FTP) 是通过网络进行文件传输的最广泛使用的协议。FTP 使用 TCP/IP 进行通信,并在 TCP 端口 21 上工作。FTP 在客户端/服务器模型上工作,其中客户端从服务器请求文件,服务器将请求的资源发送回客户端。
FTP 使用带外控制,即 FTP 使用 TCP 端口 20 交换控制信息,实际数据通过 TCP 端口 21 发送。
客户端向服务器请求文件。当服务器收到文件请求时,它会为客户端打开 TCP 连接并传输文件。传输完成后,服务器关闭连接。对于第二个文件,客户端再次请求,服务器重新打开新的 TCP 连接。
邮局协议 (POP)
邮局协议版本 3 (POP 3) 是一种简单的邮件检索协议,用户代理(客户端电子邮件软件)使用它从邮件服务器检索邮件。
当客户端需要从服务器检索邮件时,它会在 TCP 端口 110 上打开与服务器的连接。然后用户可以访问他的邮件并将其下载到本地计算机。POP3 有两种工作模式。最常见的模式是删除模式,即在将电子邮件下载到本地计算机后从远程服务器删除电子邮件。第二种模式是保留模式,不会从邮件服务器删除电子邮件,并为用户提供稍后在邮件服务器上访问邮件的选项。
超文本传输协议 (HTTP)
超文本传输协议 (HTTP) 是万维网的基础。超文本是一种组织良好的文档系统,它使用超链接来链接文本文档中的页面。HTTP 工作在客户端服务器模型上。当用户想要访问互联网上的任何 HTTP 页面时,用户端的客户端计算机会在端口 80 上启动与服务器的 TCP 连接。当服务器接受客户端请求时,客户端就被授权访问网页。
要访问网页,客户端通常使用 Web 浏览器,Web 浏览器负责启动、维护和关闭 TCP 连接。HTTP 是一种无状态协议,这意味着服务器不保留有关客户端先前请求的任何信息。
HTTP 版本
HTTP 1.0 使用非持久性 HTTP。最多可以通过单个 TCP 连接发送一个对象。
HTTP 1.1 使用持久性 HTTP。在此版本中,可以通过单个 TCP 连接发送多个对象。
网络服务
计算机系统和计算机化系统帮助人类高效工作并探索不可思议的事物。当这些设备连接在一起形成网络时,其功能将增强数倍。计算机网络可以提供的一些基本服务是。
目录服务
这些服务是名称与其值之间的映射,可以是可变值或固定值。该软件系统有助于存储信息、组织信息并提供各种访问信息的方法。
会计
在组织中,许多用户的用户名和密码都映射到他们身上。目录服务提供以加密形式存储此信息并在请求时提供的方法。
身份验证和授权
在登录时和/或定期检查用户凭据以对用户进行身份验证。用户帐户可以设置为分层结构,并使用授权方案控制其对资源的访问。
域名服务
DNS 被广泛使用,是互联网运行的基本服务之一。该系统将 IP 地址映射到域名,域名比 IP 地址更容易记住和回忆。由于网络在 IP 地址的帮助下运行,而人类倾向于记住网站名称,因此 DNS 提供网站的 IP 地址,该地址在用户请求网站名称时从后端映射到其名称。
文件服务
文件服务包括通过网络共享和传输文件。
文件共享
网络诞生的原因之一是文件共享。文件共享使用户能够与其他用户共享数据。用户可以将文件上传到特定服务器,所有目标用户都可以访问该服务器。作为替代方案,用户可以在自己的计算机上共享文件,并向目标用户提供访问权限。
文件传输
这是在底层网络的帮助下将文件从一台计算机复制或移动到另一台计算机或多台计算机的活动。网络使用户能够找到网络中的其他用户并传输文件。
通信服务
电子邮件
电子邮件是一种通信方法,是计算机用户离不开的东西。这是当今互联网功能的基础。电子邮件系统有一个或多个电子邮件服务器。所有用户都具有唯一的 ID。当用户向其他用户发送电子邮件时,它实际上是在电子邮件服务器的帮助下在用户之间传输的。
社交网络
最近的技术使技术生活变得社会化。精通计算机的人可以找到其他认识的人或朋友,与他们联系,并分享想法、图片和视频。
互联网聊天
互联网聊天提供两台主机之间的即时文本传输服务。两个或多个人可以使用基于文本的互联网中继聊天服务相互通信。如今,语音聊天和视频聊天非常普遍。
讨论板
讨论板提供了一种将具有相同兴趣的多个人联系起来的机制。它使用户能够提出查询、问题、建议等,所有其他用户都可以看到。其他人也可以做出回应。
远程访问
此服务使用户能够访问远程计算机上的数据。此功能称为远程桌面。这可以通过某些远程设备(例如手机或家用电脑)完成。
应用服务
这些只是向用户提供基于网络的服务,例如 Web 服务、数据库管理和资源共享。
资源共享
为了高效、经济地使用资源,网络提供了一种共享资源的方法。这可能包括服务器、打印机和存储介质等。
数据库
此应用服务是最重要的服务之一。它存储数据和信息,对其进行处理,并使用户能够通过使用查询有效地检索它。数据库帮助组织根据统计数据做出决策。
Web 服务
万维网已成为互联网的代名词。它用于连接互联网,并访问互联网服务器提供的文件和信息服务。