软考基础知识之计算机网络

目录

前言

网络架构与协议

网络互联模型

1、OSI/RM 各层的功能

2、TCP/IP 结构模型

常见的网络协议

1、应用层协议

2、传输层协议

3、网络层协议

IPv6


前言

从古代的驿站、 八百里快马, 到近代的电报、 电话, 人类对于通信的追求从未间断, 信息的处理与通信技术的革新一直伴随社会的发展。 而作为 20 世纪人类最伟大、 最卓越的发明——个人计算机的出现与发展, 使得人们获得了以前无法想象的信息处理能力, 为了将这些强大的信息处理设备连接起来, 避免出现信息孤岛现象, 就催生了“计算机网络”, 这一新时代的通信技术。

计算机网络使得其功能得到了大大的加强, 范围得到了很大的扩展。从严谨的定义角度说, 计算机网络是指由通信线路互相连接的许多独立自主工作的计算机构成的资源共享集合体, 它是计算机技术和通信技术相结合的产物。

它的出现推动了信息化的发展, 从局域网到互联网, 都对信息应用产生了深远的影响。 因此这就要求系统架构设计师在设计应用系统时必须了解网络的基础知识与特性, 掌握一些相关的基础应用知识。

网络架构与协议

网络架构是指计算机网络的各层及其协议的集合。 计算机之间要交换数据, 就必须遵守一些事先约定好的规则, 用于规定信息的格式及如何发送和接收信息的一套规则就称为网络协议。

为了减少网络协议设计的复杂性, 网络设计者并不是设计一个单一、 巨大的协议来为所有形式的通信规定完整的细节, 而是将庞大而复杂的通信问题转化为若干个小问题, 然后为每个小问题设计一个单独的协议。计算机网络采用分层设计方法, 按照信息的传输过程将网络的整体功能分解为一个个的功能层, 不同机器上的同等功能层之间采用相同的协议, 同一机器上的相邻功能层之间通过接口进行信息传递。

网络互联模型

1977 年, 国际标准化组织为适应网络标准化发展的需求, 制定了开放系统互联参考模型(Open System Interconnection/Reference Model, OSI/RM), 从而形成了网络架构的国际标准。

OSI/RM 构造了由下到上的七层模型, 分别是物理层、 数据链路层、 网络层、 传输层、会话层、 表示层和应用层。

1、OSI/RM 各层的功能

在数据传输过程中, 每一层都承担不同的功能和任务, 以实现对数据传输过程中的各个阶段的控制。

(1) 物理层。 物理层的主要功能是透明地完成相邻节点之间原始比特流的传输。 其中“透明” 的意思是指物理层并不需要关心比特代表的具体含义, 而要考虑的是如何发送“0”和“1”, 以及接收端如何识别。 物理层在传输介质基础上作为系统和通信介质的接口, 为数据链路层提供服务。

(2) 数据链路层。 数据链路层负责在两个相邻节点之间的线路上无差错地传送以帧为单位的数据, 通过流量控制和差错控制, 将原始不可靠的物理层连接变成无差错的数据通道,并解决多用户竞争问题, 使之对网络层显现一条可靠的链路。

(3) 网络层。 网络层是通信子网的最高层, 其主要任务是在数据链路层服务的基础上,实现整个通信子网内的连接, 并通过网络连接交换网络服务数据单元(packet)。 它主要解决数据传输单元分组在通信子网中的路由选择、 拥塞控制和多个网络互联的问题。 网络层建立网络连接为传输层提供服务。

(4) 传输层。 传输层既是负责数据通信的最高层, 又是面向网络通信的低三层(物理层、 数据链路层和网络层) 和面向信息处理的高三层(会话层、 表示层和应用层) 之间的中间层, 是资源子网和通信子网的桥梁, 其主要任务是为两台计算机的通信提供可靠的端到端的数据传输服务。 传输层反映并扩展了网络层子系统的服务功能, 并通过传输层地址为高层提供传输数据的通信端口, 使系统之间高层资源的共享不必考虑数据通信方面的问题。

(5) 会话层。 会话层利用传输层提供的端到端数据传输服务, 具体实施服务请求者与服务提供者之间的通信、 组织和同步它们的会话 活动, 并管理它们的数据交换过程。 会话层提供服务通常需要经过建立连接、 数据传输和释放连接三个阶段。 会话层是最薄的一层,常被省略。

(6) 表示层。 表示层处理的是用户信息的表示问题。 端用户(应用进程) 之间传送的数据包含语义和语法两个方面。 语义是数据的内容及其含义, 它由应用层负责处理; 语法是与数据表示形式有关的方面, 例如, 数据的格式、 编码和压缩等。 表示层主要用于处理应用实体面向交换的信息的表示方法, 包括用户数据的结构和在传输时的比特流(或字节流) 的表示。 这样, 即使每个应用系统有各自的信息表示法, 但被交换的信息类型和数值仍能用一种共同的方法来描述。

(7) 应用层。 应用层是直接面向用户的一层, 是计算机网络与最终用户之间的界面。 在实际应用中, 通常把会话层和表示层归入到应用层, 使 OSI/RM 成为一个简化的五层模型。

2、TCP/IP 结构模型

虽然 OSI/RM 已成为计算机网络架构的标准模型, 但因为 OSI/RM 的结构过于复杂,实际系统中采用 OSI/RM 的并不多。 目前, 使用最广泛的可互操作的网络架构是 TCP/IP ( Transmission Control Protocol/ Internet Protocol, 传输控制协议/网际协议) 结构模型。 与OSI/RM 结构不同, 不存在一个正式的 TCP/IP 结构模型, 但可根据已开发的协议标准和通信任务将其大致分成四个比较独立的层次, 分别是网络接口层、 网络互联层、 传输层和应用层。

  1. 网络接口层。 网络接口层大致对应于 OSI/RM 的数据链路层和物理层, TCP/IP 协议不包含具体的物理层和数据链路层, 只定义了网络接口层作为物理层的接口规范。 网络接口层处在 TCP/IP 结构模型的最底层, 主要负责管理为物理网络准备数据所需的全部服务程序和功能。
  2. 网络互联层。 网络互联层也称为网络层、 互联网层或网际层, 负责将数据报独立地从信源传送到信宿, 主要解决路由选择、 阻塞控制和网络互联等问题, 在功能上类似于OSI/RM 中的网络层。
  3. 传输层。 传输层负责在信源和信宿之间提供端到端的数据传输服务, 相当于 OSI/RM中的传输层。
  4. 应用层。 应用层直接面向用户应用, 为用户方便地提供对各种网络资源的访问服务, 包含了 OSI/RM 会话层和表示层中的部分功能。

常见的网络协议

计算机网络的各层中存在着许多协议, 它们是定义通过网络进行通信的规则。 接收方与发送方同层的协议必须一致, 否则, 一方将无法识别另一方发出的信息。

1、应用层协议

在应用层中, 定义了很多面向应用的协议, 应用程序通过本层协议利用网络完成数据交互的任务。

这些协议主要有 FTP、 TFTP、 HTTP、 SMTP、 DHCP、 Telnet、 DNS 和 SNMP 等。FTP( File TransportProtocol, 文件传输协议) 是网络上两台计算机传送文件的协议, 运行在 TCP 之上, 是通过 Internet 将文件从一台计算机传输到另一台计算机的一种途径。

FTP 的传输模式包括 Bin( 二进制) 和 ASCII( 文本文件) 两种, 除了文本文件之外, 都应该使用二进制模式传输。 FTP 在客户机和服务器之间需建立两条 TCP 连接, 一条用于传送控制信息( 使用 21 号端口), 另一条用于传送文件内容( 使用 20 号端口)。

TFTP( Trivial FileTransfer Protocol, 简单文件传输协议) 是用来在客户机与服务器之间进行简单文件传输的协议, 提供不复杂、 开销不大的文件传输服务。 TFTP 建立在 UDP( User Datagram Protocol, 用户数据报协议) 之上, 提供不可靠的数据流传输服务, 不提供存取授权与认证机制, 使用超时重传方式来保证数据的到达。

HTTP( Hypertext TransferProtocol, 超文本传输协议) 是用于从 WWW 服务器传输超文本到本地浏览器的传送协议。 它可以使浏览器更加高效, 使网络传输减少。 HTTP 建立在 TCP之上, 它不仅保证计算机正确快速地传输超文本文档, 还确定传输文档中的哪一部分, 以及哪部分内容首先显示等。

SMTP( Simple Mail Transfer Protocol, 简单邮件传输协议) 建立在 TCP 之上, 是一种提供可靠且有效的电子邮件传输的协议。 SMTP 是建模在 FTP 文件传输服务上的一种邮件服务, 主要用于传输系统之间的邮件信息, 并提供与电子邮件有关的通知。

DHCP( Dynamic HostConfiguration Protocol, 动态主机配置协议) 建立在 UDP 之上, 是基于客户机/服务器模型设计的。

所有的 IP 网络设定数据都由 DHCP 服务器集中管理, 并负责处理客户端的 DHCP 要求; 而客户端则会使用从服务器分配下来的 IP 环境数据。DHCP 通过租约( 默认为 8 天) 的概念, 有效且动态地分配客户端的 TCP/IP 设定。 当租约过半时, 客户机需要向 DHCP 服务器申请续租; 当租约超过 87.5%时, 如果仍然没有和当初提供 IP 的 DHCP 服务器联系上, 则开始联系其他的 DHCP 服务器。

DHCP 分配的 IP 地址可以分为三种方式, 分别是固定分配、 动态分配和自动分配。Telnet(远程登录协议) 是登录和仿真程序, 建立在 TCP 之上, 它的基本功能是允许用户登录进入远程计算机系统。 以前, Telnet 是一个将所有用户输入送到远程计算机进行处理的简单的终端程序。

目前, 它的一些较新的版本是在本地执行更多的处理, 可以提供更好的响应, 并且减少了通过链路发送到远程计算机的信息数量。DNS(Domain NameSystem, 域名系统) 在 Internet 上域名与 IP 地址之间是一一对应的, 域名虽然便于人们记忆, 但机器之间只能互相识别 IP 地址, 它们之间的转换工作称为域名解析, 域名解析需要由专门的域名解析服务器来完成, DNS 就是进行域名解析的服务器。 DNS 通过对用户友好的名称查找计算机和服务。 当用户在应用程序中输入 DNS 名称时, DNS 服务可以将此名称解析为与之相关的其他信息, 例如, IP 地址。

SNMP(Simple NetworkManagement Protocol, 简单网络管理协议) 是为了解决 Internet上的路由器管理问题而提出的, 它可以在 IP、 IPX、 AppleTalk 和其他传输协议上使用。

SNMP是指一系列网络管理规范的集合, 包括协议本身、 数据结构的定义和一些相关概念。 目前, SNMP 已成为网络管理领域中事实上的工业标准, 并被广泛支持和应用, 大多数网络管理系统和平台都是基于 SNMP 的。

2、传输层协议

传输层主要有两个传输协议, 分别是 TCP 和 UDP(User Datagram Protocol, 用户数据报协议), 这些协议负责提供流量控制、 错误校验和排序服务。

TCP 是整个 TCP/IP 协议族中最重要的协议之一, 它在 IP 协议提供的不可靠数据服务的基础上, 采用了重发技术, 为应用程序提供了一个可靠的、 面向连接的、 全双工的数据传输服务。TCP 协议一般用于传输数据量比较少, 且对可靠性要求高的场合。

UDP 是一种不可靠的、 无连接的协议, 可以保证应用程序进程间的通信, 与 TCP 相比, UDP 是一种无连接的协议, 它的错误检测功能要弱得多。 可以这样说, TCP 有助于提供可靠性, 而 UDP 则有助于提高传输速率。 UDP 协议一般用于传输数据量大, 对可靠性要求不是很高, 但要求速度快的场合。

3、网络层协议

网络层中的协议主要有 IP、 ICMP(Internet Control Message Protocol, 网际控制报文协议)、 IGMP(Internet Group Management Protocol, 网际组管理协议)、 ARP(Address ResolutionProtocol, 地址解析协议) 和 RARP( Reverse Address Resolution Protocol, 反向地址解析协议)等, 这些协议处理信息的路由和主机地址解析。

IP 所提供的服务通常被认为是无连接的和不可靠的, 它将差错检测和流量控制之类的服务授权给了其他的各层协议, 这正是 TCP/IP 能够高效率工作的一个重要保证。 网络层的功能主要由 IP 来提供, 除了提供端到端的分组分发功能外, IP 还提供很多扩充功能。 例如,为了克服数据链路层对帧大小的限制, 网络层提供了数据分块和重组功能, 这使得很大的 IP数据包能以较小的分组在网络上传输。

ARP 用于动态地完成 IP 地址向物理地址的转换。 物理地址通常是指计算机的网卡地址,也称为 MAC( Media Access Control, 媒体访问控制) 地址, 每块网卡都有唯一的地址; RARP用于动态完成物理地址向 IP 地址的转换。

ICMP 是一个专门用于发送差错报文的协议, 由于 IP 协议是一种尽力传送的通信协议,即传送的数据可能丢失、 重复、 延迟或乱序传递, 所以需要一种尽量避免差错并能在发生差错时报告的机制, 这就是 ICMP 的功能。

IGMP 允许 Internet 中的计算机参加多播, 是计算机用作向相邻多目路由器报告多目组成员的协议。 多目路由器是支持组播的路由器, 它向本地网络发送 IGMP 查询, 计算机通过发送 IGMP 报告来应答查询。 多目路由器负责将组播包转发到网络中所有组播成员。

IPv6

互联网络能发展到当前的规模, IPv4 协议的建立功不可没。 但同时它的缺点也已经充分显现出来, 如地址空间耗尽、 路由表急剧膨胀、 缺乏对 QoS 的支持、 本身并不提供任何安全机制、 移动性差等问题。 尽管采用了许多新的机制来缓解这些问题, 如 DHCP 技术、 NAT技术、 CIDR 技术等, 但都不可避免地要引入其他新的问题, 问题没有得到根本解决。 于是IETF 从 90 年代起就开始积极探讨下一代 IP 网络, 经过几年努力, 在广泛听取业界和专家意见的基础上, 终于在 1995 年 12 月推出了下一代网络的 RFC 文档——IPv6 协议, 该协议最早叫做下一代 IP(IP Next Generation, IPng)。 现在它的全称是“ 互联网协议第 6 版”,即下一代的网际协议。

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。也可以加入微信公众号 [DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

  • 17
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值