《图解TCP/IP》章节的笔记(二):计算机网络

[复制链接]
查看1308 | 回复0 | 2022-12-27 14:56:33 | 显示全部楼层 |阅读模式
本文记录了阅读《图解TCP/IP》的《网络基础知识》章节的笔记。

一、序

在TCP/IP出现之前,计算机网络以连接每台计算机进行交互为目的,因此只能在有限的设备之间进行通信。由于可连接的设备有限,因而对网络的使用方法也有很大程度的限制,显然不能与现代网络的便携性相提并论。

正是在这个背景之下,为了能自由、简单地连接更多设备,构筑更容易使用地网络,才开发出了TCP/IP。目前广泛倡导地计算机系统虚拟化和云计算也都在使用TCP/IP为核心地网络技术。因此以TCP/IP为基础地现代网络技术,已渗透到对各种设施地控制和它们之间地信息传输当中,俨然演变为重要地社会基础设施。

然而随着网络地发展和普及,出现了很大新的挑战。需要构造一个更加复杂地网络来面对使用者数量地激增、使用方法地多样化、大量数据地高效传输,所以限制需要致力于提高构建网络地性价比,根据市场要求更新设备、提供运维工具、培养技术人员等。

为了构造和运营一个安全、高效的网络环境,理解TCP/IP刻不容缓。

二、计算机网络出现的背景1 从独立模式到网络互联模式

起初计算机以单机模式(独立模式)被广泛使用。然而随着计算机不断发展,人们已经不再局限于单机模式,而是将一个个计算机连接在一起,形成一个计算机网络。连接多台计算机可以实现信息共享,也能在两台物理位置较远的机器之间即时传递信息。

独立模式 和 互联模式

计算机网络按规模可以划分为WAN/LAN(Wide/Local Area Network,广域网/局域网)

LAN 和 WAN2 从计算机通信到信息通信

最初,几台计算机相连可以形成计算机网络。例如一个公司、实验室、多个企业的计算机连在一起,是一种私有网络。随着这种私有网络的不断发展,它们演变成了互联网为公众所用。连接到互联网后,计算机之间的通信已经不再局限于公司或部门,而是任意两台机器都能通信。此后互联网接入技术不断丰富,各种通信终端都能连到互联网,使得互联网成为一个世界级规模的计算机网络,成为现在的综合通信环境。

三、计算机与网络发展的7个阶段1 批处理

为了能让更多的人使用计算机,出现了批处理(Batch Processing)系统,它是指事先将用户程序和数据装入卡带或磁带,由计算机按照一定顺序读取,使用户所要执行的程序和数据能一并批量得到处理的方式。

由于当时计算机操作非常复杂,不是所有人都能轻松使用,所以程序会交由专门的操作员处理。用户只能先将程序留给操作员,过一段时间再来取结果。这时候计算机还不是一个便于普通人使用的工具。

批处理2 分时系统

20世纪60年代出现了分时系统(TSS),它由多个终端与同一个计算机连接,允许多个用户同时使用一个计算机。分时系统实现了“一人一机”的目的,让用户在指定时段感觉是“完全是自己在使用一台计算机”。这也体现了分时系统的一个重要特性——独占性。其他还有多路性、交互性、及时性。

分时系统让计算机的可用性得到了极大的改善,尤其是在交互式操作上。从此计算机变得更加人性化,贴近生活。它还促进了BASIC这种能与计算机实现交互的编程语言的发展。此前的COBOL和FORTRAN等都只能以批处理系统为基础才能开发和运行。

由于分时系统的独占性,使得装备一套用户可直接操作的计算机环境变得比以前简单。每个终端与计算机之间使用通信线路连接成一个星形结构,也正是从这时开始,网络(通信)与计算机的关系逐渐浮出水面。小型机随机产生,办公场所与工厂也逐渐引入计算机。

分时系统3 计算机之间的通信

在分时系统中,计算机与每个终端使用通信线路连接,这并不意味着计算机与计算机之间也已经相互连接。

到了20世纪70年代,计算机性能飞速发展,体积趋于小型化,价格急剧下降。众多企业都可以使用计算机。因为企业内部对于使用计算机处理日常事务的需求越来越大,为了提高工作效率,人们开始研究计算机与计算机之间通信的技术。

在计算机通信技术诞生之前,数据在计算机之间转移是相当繁琐的,需要通过磁带、软盘等介质才能实现数据转储。有了计算机通信后,就可以轻松的读取另一台计算机的数据,极大的缩短了传送数据的时间,显著提高了计算机的可用性。

人们不再局限的仅使用一台计算机进行处理,而是使用多台计算机分布式处理,最终一并得到返回结果。此次计算机的发展进入了一个崭新的阶段,在这一阶段计算机则更侧重于满足使用者的需求、架构更灵活的系统,且操作比以往更加人性化。

计算机之间的通信4 计算机网络的产生

20世纪70年代初期,人们开始实验基于分组交换技术的计算机网络,并着手研究不同厂商的计算机之间相互通信的技术。到了80年代,一种能互连多种计算机的网络随之诞生,它能让各式各样的计算机相互连接,从大型的超级计算机或主机到小型的个人电脑。

图形化界面操作系统(Windows、Mac OS)的发明,更是拉近了人们与网络之间的距离,不仅可以同时执行多个程序,还能自由切换作业。



5 互联网的普及

20世纪90年代,专注于信息处理的大公司和大学已经为大多数员工分配了个人计算机,形成“一人一机”的环境。然而这种环境搭建的成本不菲,使用过程中也有许多新问题,这也就带来了“瘦身”和“多供应商连接”两个口号。希望通过连接不同厂商的计算机建立一个成本更低的网络环境,而连接异构型计算机的通信网络技术也就是现在我们所看到的互联网技术。

与此同时,诸如电子邮件、万维网等信息传播方式也迎来了前所未有的发展,使得互联网从整个公司范围到每个家庭内部,都得以广泛普及。面对这一趋势,各家厂商不仅力图保证自家产品的互联性,还着力于让自己的网络技术不断与互联网技术兼容。不仅着眼于大企业,啊hi针对每一个家庭或者SOHO也陆续推出了特定的网络服务及产品。

公司或家庭接入互联网6 以互联网技术为中心

互联网的普及和发展对通信领域产生了巨大的影响。

许多发展道路各不相同的网络技术也向互联网靠拢,例如曾经作为通信基础设施、支撑通信网络的电话网,随着互联网的发展也被IP网所取代。通过IP网,人们不仅可以实现电话通信、、电视播放,还能实现计算机、手机、家用电器、游戏机等诸多产品的通信。

通过IP协议实现通信、播放的统一7 从“单纯建立连接”到“安全建立连接”

互联网的便捷也给人们的生活带来了负面问题,例如病毒侵害、信息泄露、网络欺诈等犯罪行为日益增多。由于设备故障导致无法联网可能会直接影响公司的业务开展或个人的日常生活,这些负面影响带来的巨大损失也不容小觑。

互联网的初期,人们只关注单纯的连接性,以不受任何限制的建立互联网连接为最终目的,而现在,已经转变为追求“安全建立连接”的目标。理解通信网络的机制、充分考虑联网后的日常运维流程以及自我防卫手段,以及成为了安全生产不可或缺的组成部分。

8 手握金刚钻的 TCP/IP

互联网是由许多独立发展的网络通信技术融合而成。能够使他们之间不断融合并统一的正是TCP/IP技术。那么TCP/IP的机制是什么呢?TCP/IP是通信协议的统称,了解其核心机制之前,需要理清“协议”的概念。

计算机使用模式的演变四、协议1 协议

计算机网络和信息通信领域里,协议经常出现。互联网中常用的协议由IP、TCP、HTTP等,LAN常用的协议由IPX/SPX等。计算机网络体系结构将协议进行了系统的归纳,TCP/IP就是IP、TCP、HTTP等协议的集合。

网络体系结构和协议

协议就是计算机之间通过网络实现通信时事先达成的一种“约定”,遵循了相同约定的不同厂商的设备、CPU、操作系统之间就可以实现通信;反之如果协议不同则无法通信。就好似两个人用不同的语言说话,他们就无法理解对方。

2 分组交换协议

分组交换是指将大数据分割为较小的数据单位包(Packet)进行传输的方法。

这里的包就像邮局的包,分组交换就是将大数据分装成一个个小包交给对方。人们邮寄时,会填写一个寄件单,上面一般有寄件人、收件人的详细地址;类似的,计算机通信也会在每个分组中附加源主机和目标主机的地址送给通信线路。每个小包需要按照一定顺序然后重新组成原始数据,所以每个包都需要一个分组序号标识自己是第几个包。这些发送端地址、接收端地址、分组序号等称为“报文首部”。通信协议中通常会规定报文首部应该写入哪些信息以及如何处理它们。

分组通信五、协议的制定者1 计算机通信的诞生

计算机通信诞生之初,每家计算机厂商都推出自己的网络产品来实现通信,对于协议的系统化、分层化并没有特别强的意识。

1974年,IBM发布了SNA,将本公司的计算机通信技术作为系统化网络体系结构公之于众。从此,各个厂商也纷纷发布自己的结构,引发了众多协议的系统化进程。然而由于各种体系结构并不兼容,导致购买了不同厂家设备的用户极其不便。

随着计算机重要性的不断提高,很多公司逐渐意识到兼容性的重要意义。人们开始着手研究使不同厂商生产的异构机型也能互相通信的技术,这促进了网络的开放性和多供性。

2 协议的标准化

为解决上述问题,ISO(国际标准化组织)制定了一个国际标准OSI(开放式通信系统互联参考模型)对通信系统进行标准化。虽然OSI所定义的协议没有得到普及,但是OSI协议设计之初作为其指导方针的OSI参考模型却常被用于网络协议的制定当中。

TCP/IP并非ISO所指定的某种国际标准,而是由IETF(Internet Engineering Task Force)所提出的、致力于推进其标准化工作的一种协议。TCP/IP作为互联网之上的一种标准,也作为业界标准,已成为全世界广泛应用的通信协议。协议的标准化也推动了计算机网络的普及。

六、协议分层与OSI参考模型1 协议的分层

ISO在制定标准化OSI之前,对网络体系结构相关问题进行了充分的讨论,最终提出了作为通信协议设计标准的OSI参考模型,讲通信协议中必要的功能分为7层,使得那些比较复杂的网络协议更加简单化。

在这一模型中,每个分层都接收由它下一层所提供的特定服务,并且负责为自己的上一层提供特定服务。上下层交互遵循的约定叫“接口”,同层交互的约定叫“协议”。

模拟的 语言层和设备层 两层模型2 OSI参考模型

OSI参考模型将这样一个复杂的协议整理并分为了易于理解的7个分层,它对通信中必要的功能做了很好的归纳。不过OSI只是一个“模型”,只对各层的作用做了一系列粗略的界定,并没有对协议和接口进行详细的定义。若想了解协议的细节,还是有必要参考每个协议本身的具体规范。

OSI模型各层分工3 OSI参考模型通信处理示例

通信与7个分层

假如用户A要给用户B发送一封内容为“早上好”的邮件,各个层会做什么事?

七、传输方式的分类

网络与通信中可以根据其数据发送方法进行多种分类,分类方法也有很多。

1 有连接、无连接

有连接 和 无连接

2 电路交换、分组交换

电路交换中,交换机主要负责数据的中转处理。计算机首先被连接到交换机上,交换机和交换机则由众多通信线路再继续连接。因此计算机之间交互需要通过交换机于目标主机建立通信电路,然后一直使用该电路,直到连接断开。如果某电路只连接两台计算机,则意味着这两台计算机是独占线路进行数据传输的。但是如果一个电路连接多个计算机,计算机之间需要相互传递数据,则多个计算机必须等待一台计算机处理结束后才能使用这条电路收发数据。如果并发数量超过交换机之间的通信线路数,则通信无法实现。

为解决该问题,就引入了分组交换。让连接到通信电路的计算机将索要发送的数据分成多个数据包,按照一定顺序排列之后分别发送。数据被分组后,所有计算机就可以一齐收发数据,也就提高了通信线路的利用率。

分组交换

分组交换的大致处理过程是:发送端计算机将数据分组发给路由器,路由器收到这些分组数据以后,缓存到自己的缓冲区,然后再转发给目标计算机,因此也叫“蓄积交换”。路由器接收到数据以后会按照顺序缓存到相应队列中,以先进先出的方式逐一发送出去。

电路交换和分组交换的特点3 根据接收端数量分类

八、地址

通信传输中,发送端和接收端都是通信实体,可以用“地址”来标识出来。实际网络通信中,每一层协议的地址都不尽相同。例如TCP/IP使用MAC地址、IP地址、端口号等信息;应用层以电子邮件为地址。

地址的层次性

MAC和IP虽然都具有唯一性,但只有IP地址有层次性。一方面,IP地址由网络号和主机号两部分组成,即使通信实体IP不同,若主机号不同,网络号相同,则说明它们处于一个网段;另一方面,网络号相同的实体在组织结构、运营商类型、地域分布上都不仅集中,也为IP寻址带来了极大的方便。

网络传输中,每个节点会根据分组数据的地址信息判断该报文应该由哪个网卡发送,为此各个地址会参考一个发出接口列表。MAC寻址参考的叫地址转发表,IP寻址参考的是路由控制表。MAC地址转发表中记录的是实际的MAC地址本身,路由表记录的IP地址则是集中了之后的网络号。

根据地址转发表和路由表定位报文发送的目标设备

九、网络构成要素

这里介绍连接计算机与计算机的硬件设备。

网络构成要素

计算机之间通过电缆相互连接。根据数据链路不同,选择的电缆类型也不尽相同。媒介本身也可以被划分为电波、微波等。

各种数据链路

任何一台计算机连接网络时,必须使用网卡(网络接口卡,网络适配器,LAN卡)。

网卡

各种设备及其对应分层

中继器是在物理层拓展网络的设备,由电缆传过来的光、电信号经有中继器的波形调整和放大再传给另一个电缆。

中继器

网桥(L2交换机,2层交换机)是数据链路层连接两个网络的设备,可以识别数据链路层的数据帧,并临时存储于内存,重新生成信号作为一个全新的帧转发给相连的另一个网段。

数据链路的数据帧有一个数据位叫FCS(用CRC方式校验数据帧中的位,有时由于噪音导致通信传输中的数据信号逐渐减弱,CRC就用来检测数据帧是否因此受到破坏。)用以校验数据是否正确送达。网桥检查这个值,将损坏的数据丢弃,避免发给其他的网段。

网桥

此外还能通过地址自学机制和过滤功能控制网络流量。这里的地址包括MAC地址、硬件地址、物理地址、适配器地址,也就是网络上针对NIC分配的具体地址。网桥可以根据地址自学机制判断是否需要转发数据帧。

路由器(3层交换机)是在网络层上连接两个网络、并对分组报文进行转发的设备。网桥根据MAC地址进行处理,路由器根据IP地址处理,因此TCP/IP中的网络层地址就成为了IP地址。路由器可以连接不同的数据链路,还能分担网络负荷作用,甚至还具备一些网络安全功能。由于路由器会分割数据链路,因此数据链路层的广播消息将无法继续传播。

路由器

4-7层交换机负责处理传输层-应用层的数据,就是以TCP等协议的传输层及上面的应用层为基础,分析收发数据,并对其进行特定的处理。

例如对于并发访问量很大的企业级Web,一台服务器无法满足访问需求,通常会架设多台服务器分担。而这些服务器前端url通常只有一个,为了能通过同一个url访问多个服务器,可以在这些服务器的前端加一个负载均衡器,这种负载均衡器也就是4-7层交换机的一种。带宽控制(优先传输语音这类及时性较高的请求,放缓处理邮件这种稍有延迟的通信请求)也是一项重要功能。

4-7层交换机

网关是负责将从传输层到应用层的数据进行转换和转发的设备,他与4-7层交换机类似,但是还负责了数据转换。它通常会使用一个表示层或应用层网关,在两个不能直接进行通信的协议之间进行翻译,最终实现通信。

此外在使用万维网时,为了控制流量和安全的考虑,有时会使用代理服务器(Proxy Server),也是一种应用网关。有了代理服务器,客户端和服务端无需在网络层通信,而是从传输层到应用层对数据和访问进行各种控制和处理。防火墙就是一款通过网关通信,针对不同应用提高安全性的产品。

网关
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则