计算机网络基础
文章目录
1 重点知识
- 了解网络发展背景, 对局域网/广域网的概念有基本认识;
- 了解网络协议的意义, 重点理解TCP/IP五层结构模型;
- 学习网络传输的基本流程, 理解封装和分用;
2 计算机网络背景
2.1 网络发展
独立模式:独立模式指的是计算机之间相互独立,没有直接或间接的通信或共享
。在这种模式下,每台计算机都有自己的硬件和软件,并且只运行自己的程序和数据。每台计算机都是独立的实体,没有与其他计算机共享计算资源或数据。
独立模式的好处是简单和安全。由于没有与其他计算机通信,因此减少了数据泄露和被攻击的风险。此外,由于没有依赖其他计算机的计算资源,因此每台计算机的性能和可靠性都比较高。
然而,独立模式也存在一些缺点。例如,如果需要多台计算机协同工作完成一项任务,那么需要手动协调和同步每台计算机的工作,这会增加工作量和复杂度。此外,如果每台计算机都需要相同版本的软件和数据,那么需要手动管理和同步,这也会增加工作量和复杂度。
因此,在实际应用中,需要根据具体需求和场景选择适合的计算机模式。如果需要多台计算机协同工作,那么可以选择分布式计算或云计算等模式;如果需要提高计算机的可靠性和安全性,那么可以选择独立模式。
网络互联: 网络互联指的是将多台计算机连接在一起,实现数据共享和通信
。这种互联的方式使得计算机之间可以相互交换数据、共享资源,并能够协同完成各种任务。
网络互联的核心是数据共享
,即将计算机中的数据和资源通过网络共享给其他计算机。这种共享可以是有目的的、有组织的,也可以是偶然的、自发的。实现数据共享的方式有很多种,例如文件共享、数据库共享、应用程序共享等。
网络互联还涉及到计算机之间的通信。通信是指计算机之间传递信息的过程,可以是同步的、异步的,也可以是单向的、双向的。实现计算机之间通信的方式有很多种,例如串行通信、并行通信、网络通信等。
在网络互联中,为了确保数据的安全和可靠性,需要进行数据传输控制和差错控制。数据传输控制包括数据传输协议、传输控制程序等,用于确保数据传输的正确性和可靠性。差错控制则用于检测和纠正数据传输中的错误,以确保数据的完整性和准确性。
总之,网络互联是多台计算机连接在一起,实现数据共享和通信的过程。这种互联的方式使得计算机之间可以相互交换数据、共享资源,并能够协同完成各种任务。在实际应用中,需要根据具体需求和场景选择适合的网络互联技术和方案。
局域网LAN:局域网(Local Area Network,LAN)是一种计算机网络
,它将一定区域内的计算机连接在一起,形成一个局部的计算机网络
。与广域网(Wide Area Network,WAN)相比,局域网的覆盖范围较小
,一般在几百米到几公里之间。局域网通常用于连接公司、学校、政府机构等内部的计算机、打印机、服务器等设备
,实现资源共享、文件传输、电子邮件等应用。
在局域网中,计算机数量更多了,需要通过交换机和路由器等网络设备连接在一起。交换机是一种基于数据链路层的设备,用于连接计算机和其他网络设备,并提供数据交换服务。路由器则是一种基于网络层的设备,用于连接不同的网络,并提供路由服务。通过交换机和路由器的连接,可以实现计算机之间的通信和数据传输。
局域网的特点包括:
- 覆盖范围较小:局域网的覆盖范围有限,一般只在几百米到几公里之间。
- 传输速率高:局域网的传输速率比广域网更高,能够满足各种高速数据传输的需求。
- 安全性较高:由于局域网的覆盖范围较小,通常只限于特定的用户群体,因此安全性较高。
- 易于管理和维护:局域网中的设备通常比较少,结构简单,因此易于管理和维护。
局域网在各种场景中都有广泛的应用,例如公司内部网络、校园网、政府机构内部网络等。在这些场景中,局域网可以实现资源共享、文件传输、电子邮件、视频会议等各种应用,提高工作效率和管理水平。
广域网WAN:广域网(Wide Area Network,WAN)是一种计算机网络,它将分布在不同地区的计算机或网络连接在一起,形成一个较大的网络
。与局域网(Local Area Network,LAN)相比,广域网的覆盖范围更广
,可以跨越城市、国家甚至全球
。广域网通常用于连接不同地区的公司、学校、政府机构等,实现数据传输、资源共享、远程访问等各种应用。
广域网的特点包括:
- 覆盖范围广:广域网的覆盖范围非常广,可以跨越不同的地理区域和国家。
- 传输速率较低:与局域网相比,广域网的传输速率可能会较低,因为涉及到更多的网络设备和传输距离。
- 通信成本较高:由于广域网的覆盖范围广,涉及到多个运营商和网络设备,因此通信成本较高。
- 安全性较低:广域网中的安全威胁可能更多,因为涉及到更多的网络设备和用户。
在实际应用中,广域网通常由电信运营商或大型企业构建和维护。它们可以使用各种传输技术,如光纤、卫星、无线等,来实现计算机之间的连接和通信。同时,为了保证数据的安全和可靠性,还需要采取各种安全措施和技术,如加密、身份验证、防火墙等。
总之,广域网是一种将远隔千里的计算机连接在一起的网络,它可以实现数据传输、资源共享、远程访问等各种应用。在实际应用中,需要根据具体需求和场景选择适合的广域网技术和方案。
局域网和广域网确实是一个相对的概念。局域网通常是指在一个有限区域内,如一栋楼、一个学校或一个公司等,通过一定的网络设备将计算机连接起来形成的网络。而广域网则是指将分布在不同地区的计算机或网络连接在一起形成的网络。
在实际应用中,人们可以根据需要将局域网扩展到广域网。例如,一个大型企业可以在企业内部建立一个局域网,然后将这个局域网连接到互联网上,形成一个广域网。这样,企业内部的用户可以通过局域网内部访问资源,而外部用户则可以通过互联网访问这个广域网。
此外,我国特有的的广域网(中国特有的互联网模式。这种模式在互联网技术和应用方面具有中国特色,与其他国家的互联网模式存在差异。中国作为世界上最大的互联网市场之一,其互联网发展历程和模式备受全球关注。由于中国政府对互联网的监管和限制,中国的互联网模式呈现出一些独特的特点,例如内容审查、网络安全、信息管控等。)也可以被视为一个比较大的局域网。例如,在中国,互联网的接入是通过中国电信、中国移动等运营商实现的。这些运营商的广域网可以覆盖全国范围,但也可以被视为一个比较大的局域网。在这个局域网中,用户可以通过互联网访问各种资源和服务,同时也可以享受一些特定的服务或限制。
总之,局域网和广域网是一个相对的概念,它们之间的界限并不是非常清晰。在实际应用中,人们可以根据需要将局域网扩展到广域网,或者将广域网看作一个比较大的局域网。
3 认识 “协议”
"协议" 是一种约定。
协议是一种大家都同意的规矩,用来保证大家可以按同样的方式交流信息。比如,两个人之间有一个约定,用特定的语言或者方式来交流,这就是一种协议。同样地,计算机之间也需要有一种大家都同意的规矩,来保证它们可以按同样的方式交流信息,这就是计算机协议。
3.1 高小琴的例子
高小琴的例子是一个非常好的说明,说明了“协议”在现实生活中的作用。高小琴原本是一个贫穷的渔家女,但是通过和官二代赵瑞龙的搭档杜伯仲的相识,她的人生发生了巨大的改变。杜伯仲培养高小琴,让她从一个贫穷的渔家女变身为白富美,气质优雅,目的就是为了让她去引诱高官。在这个过程中,高小琴与赵瑞龙之间形成了一种协议,他们互相利用,赵瑞龙需要高小琴来获取高官的信任,高小琴则需要赵瑞龙提供的机会来改变自己的命运。这种协议是一种不道德的约定,但是却在特定的环境下发挥了作用。
在这个例子中,协议的作用在于保证双方都能够按照同样的方式来行事,以达到各自的目的。但是,这种协议并不值得提倡,因为它涉及到不道德的行为和权力斗争。在现实生活中,协议通常是一种合法的约定,用来保证各方都能够按照一定的规则行事,以达到合作共赢的目的。
例如,商业合同就是一种协议,用来保证各方都能够按照约定的条款来进行商业交易。因此,协议是一种重要的工具,可以用来协调各方的利益和行为,促进合作和发展。
计算机之间的传输媒介是光信号和电信号. 通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息. 要想传递各种不同的信息, 就需要约定好双方的数据格式。
思考: 只要通信的两台主机, 约定好协议就可以了么?
通信的两台主机之间,约定好协议是必要的,但仅仅约定好协议并不足以保证通信的顺利进行。
首先,除了协议之外,两台主机之间还需要建立可靠的连接。这可以通过各种网络传输介质(如光纤、双绞线、无线等)和通信协议(如TCP/IP、UDP等)来实现。可靠的连接能够保证数据传输的稳定性和可靠性,减少数据丢失或错误的可能性。
其次,两台主机之间的通信还需要有共同的语言。这通常指的是数据交换的格式和规则。例如,数据的编码方式、传输顺序、数据包格式等都需要有统一的标准和规范。只有当两台主机使用相同的数据交换规则时,才能正确地解析和传输数据。
此外,为了确保通信的安全性,还需要采取一系列的安全措施。这包括数据加密、身份认证、访问控制等。这些安全措施能够保护通信数据不被窃取、篡改或破坏,确保通信的安全可靠。
综上所述,虽然协议是通信中必不可少的要素,但仅仅约定好协议并不足够。还需要建立可靠的连接、共同的语言和采取必要的安全措施来保证通信的顺利进行
。
3.2 方言例子
方言是一个很好的例子,说明了即使在通信的两台主机之间约定好了协议,也可能会存在交流障碍。方言是由于地理、历史、文化等方面的原因,同一语言在不同地区或社群中产生演变而形成的语音、词汇和语法等方面的差异。
在通信中,如果两台主机的用户使用不同的方言,他们可能会遇到沟通困难。例如,一位来自南方地区的用户和一位来自北方地区的用户,如果他们使用各自的方言进行交流,很可能会因为语音差异导致对方无法理解。同样地,不同地区的用户之间也可能因为词汇和语法差异而产生误解。
为了解决这种问题,需要有一种共同的语言作为通信的基础。这种共同的语言可以是标准化的普通话,也可以是一种经过规范化的方言。通过使用共同的语言,两台主机之间的用户可以更加顺畅地进行交流,减少误解和歧义的可能性。
因此,在通信中,仅仅约定好协议并不足够,还需要有共同的语言作为基础。方言的差异提醒我们,在跨地区或跨社群的交流中,选择一种共同的语言是非常重要的,以确保通信的顺畅和准确。
总之:
- 计算机生产厂商有很多;
- 计算机操作系统, 也有很多;
- 计算机网络硬件设备, 还是有很多;
- 如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 就需要有人站出来, 约定一个共同的标准,大家都来遵守, 这就是
网络协议
;
4 网络协议初识
4.1 协议分层
打电话例子
打电话是一个常见的通信场景,也是一个很好的例子来说明协议在通信中的重要性。
当我们打电话时,我们的手机和对方接听的手机之间需要建立一种通信协议来确保通话的顺利进行。这种协议规定了信号的传输方式、数据的格式、通信的规则等。只有当双方的手机都遵守这种协议时,才能实现信号的正确传输和通话的清晰。
如果两台手机之间没有建立这种通信协议,或者协议不匹配,那么通话将无法进行或者出现信号中断、声音模糊等问题。这就像我们使用不同的软件或操作系统时,如果它们之间的协议不匹配或缺乏兼容性,可能会导致程序崩溃、数据丢失等问题。
此外,除了通信协议,打电话还需要网络的支撑。网络的质量和稳定性也会影响到通话的效果。网络拥堵、信号弱等情况会导致通话质量下降或出现掉线等问题。
因此,打电话需要手机之间建立有效的通信协议,并且需要网络的支撑来保证通话的顺利进行。这说明了在通信中,协议的重要性不仅仅在于两台主机之间的约定,还需要考虑其他因素的影响
。
在这个例子中, 我们的协议只有两层; 但是实际的网络通信会更加复杂, 需要分更多的层次.分层最大的好处在于 “封装” . 面向对象例子。
确实,实际的网络通信要复杂得多,通常需要分更多的层次以实现各种功能。分层的好处之一是封装。下面我们通过一个面向对象的例子来解释这个概念。
假设我们有一个大型的软件系统,其中有很多类和对象,这些对象之间需要进行通信。如果我们没有采用分层的结构,每个对象都需要直接与其他对象通信,这将导致代码非常复杂和混乱。
为了简化通信,我们可以采用分层的思想。例如,我们可以将系统分为三层:表示层、业务逻辑层和数据访问层。
- 表示层:这一层负责与用户交互,接收用户的请求和显示结果。它不关心具体的业务逻辑或数据如何处理,只关注与用户的交互。
- 业务逻辑层:这一层处理系统的核心功能和业务规则。它与表示层进行通信,接收请求并返回结果。业务逻辑层不关心数据如何存储或传输,只关注业务处理本身。
- 数据访问层:这一层负责与数据库进行交互,包括数据的存储和检索。它与业务逻辑层进行通信,根据业务逻辑层的请求进行数据的增删改查操作。
通过这样的分层结构,我们可以将不同层次的功能封装在不同的层中,使得代码更加清晰和易于维护。每个层次都有明确的职责和功能,降低了系统的复杂性。
在网络通信中,分层的思想也是类似的。通过将不同的功能封装在不同的层次中,我们可以降低通信的复杂性,使得协议更加简洁和易于理解。同时,分层还有助于提高系统的可扩展性和可维护性。
5 OSI七层模型
-
OSI(Open System Interconnection,开放系统互连)
七层网络模型称为开放式系统互联参考模型
,是一个逻辑上的定义和规范; -
把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备,比如路由器,交换机;
-
OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输;
-
它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整. 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯;
-
但是, 它既复杂又不实用; 所以我们按照TCP/IP四层模型来讲解。
5.1 TCP/IP五层(或四层)模型
七层模型是一个概念模型,用于描述网络协议的七个抽象层次和它们之间的关系;而四层模型是一个实际的网络协议模型,用于描述网络协议的结构和功能。在实际应用中,TCP/IP协议栈就是基于四层模型的协议栈,广泛应用于互联网和局域网中
(物理层我们考虑的比较少, 因此很多时候也可以称为 TCP/IP四层模型
。)
IP(Internet Protocol)
协议,又称网际协议,是TCP/IP协议的核心。它负责Internet上网络之间的通信
,并规定了将数据报从一个网络传输到另一个网络所应遵循的规则。IP协议的主要功能有:无连接数据报传送、数据报路由选择和差错控制
。TCP(Transmission Control Protocol,传输控制协议)
是一种面向连接的、可靠的、基于字节流的传输层通信协议
,TCP提供了一种可靠的、有序的和错误校验的数据传输方式,确保数据在网络中的可靠传输。它通过建立连接、维护连接和释放连接来管理通信过程,并且提供了一种有序的数据流传输方式,使得数据包的发送和接收是有序进行的。此外,TCP还提供了一种可靠的数据传输方式,通过确认机制、重传机制和流量控制机制等机制来保证数据的可靠传输。
一般而言:
- 对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容;
- 对于一台路由器, 它实现了从网络层到物理层;
- 对于一台交换机, 它实现了从数据链路层到物理层;
- 对于集线器, 它只实现了物理层;
但是并不绝对,很多交换机也实现了网络层的转发;很多路由器也实现了部分传输层的内容(比如端口转发);
参考资料:
TCP/IP四层模型和OSI七层模型的概念
6 网络传输基本流程
6.1 网络传输流程图
同一个网段内的两台主机进行文件传输。
跨网段的主机的文件传输, 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。
6.2 数据包封装和分用
不同的协议层对数据包有不同的称谓
,在传输层叫做段(segment)
,在网络层叫做数据报 (datagram)
,在链路层叫做帧(frame)
。- 应用层数据通过协议栈发到网络上时,
每层协议都要加上一个数据首部(header),称为封装(Encapsulation)
。 - 首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息。
- 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理。
下图为数据封装的过程:
下图为数据分用的过程:
7 网络中的地址管理
7.1 认识IP地址
IP协议有两个版本, IPv4和IPv6
. 我们平时凡是提到IP协议, 没有特殊说明的, 默认都是指IPv4。
- IP地址是在IP协议中, 用来标识网络中不同主机的地址;
- 对于IPv4来说, IP地址是一个4字节, 32位的整数(4×8=32);
- 我们通常也使用
"点分十进制"
的字符串表示IP地址
, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;
我电脑连接的是WIFI,故为局域网IP地址。
7.2 认识MAC地址
MAC地址(Media Access Control Address),也称为
局域网地址、硬件地址或物理地址
,是一种用来确认网络设备位置的地址。它是一个由48位二进制数字组成的地址
,通常表示为12个十六进制数,每两个十六进制数之间用冒号隔开。MAC地址是用来定义网络设备的位置,并且是全球唯一的硬件地址
。
MAC地址由两部分组成,前24位是厂商向IETF等机构申请用来标识厂商的代码,称为组织唯一标志符(Organizationally Unique Identifier,OUI),后24位则由厂商自行分派,称为扩展标识符(Extended Identifier)。其中,第8位为1的MAC地址称为组播MAC地址。
MAC地址可以分为3种类型:物理MAC地址、广播MAC地址和组播MAC地址。物理MAC地址是唯一的标识了以太网上的一个终端,是全球唯一的硬件地址;广播MAC地址用于表示LAN上的所有终端设备;组播MAC地址则用来代表LAN上的一组终端。
MAC地址在网络中具有重要的作用,它是网络设备之间通信的基础。在网络底层的物理传输过程中,数据传输是通过物理地址来识别主机的。因此,MAC地址就如同身份证上的身份证号码,是全球唯一的
。
在网络通信中,主机之间需要建立可靠的连接、共同的语言和采取必要的安全措施来保证通信的顺利进行。而MAC地址作为网络设备的一种标识,在网络通信中扮演着重要的角色。通过MAC地址,网络设备可以相互识别和通信,实现数据的传输和交换。
总的来说,MAC地址在网络通信中发挥着至关重要的作用,是实现网络设备之间可靠通信的基础。
- MAC地址用来识别数据链路层中相连的节点;
- 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19);
- 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址)。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!