✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉
🍎个人主页:Leo的博客
💞当前专栏: 计算机网络
✨特色专栏: MySQL学习
🥭本文内容:计算机网络篇 | 走进计算机网络
🖥️个人小站 :个人博客,欢迎大家访问
📚个人知识库: Leo知识库,欢迎大家访问
学习参考:
课件资料及视频课程学习:B站/MOOC计算机网络微课堂(湖科大 高军老师)
提示:本篇内容为计算机网络第1章全章笔记,适合入门学习以及后期复习,建议收藏。
1.前言
大家好,我是Leo🫣🫣🫣,计算机网络是Java网络编程的基础,近期学习Java网络编程跟NIO相关内容,遇到了一些网络的一些相关知识点,我感觉到有点模棱两可,所以还是把大学没学完的计算机网络知识重新捡起来学一遍,也希望这些笔记能帮助到大家。好了,话不多说让我们开始吧😎😎😎。
2.计算机网络的作用
- 计算机网络已由一种通信基础设施发展成为一种重要的信息服务基础设施
- 计算机网络已经像水,电,煤气这些基础设施一样,成为我们生活中不可或缺的一部分
2.1我国互联网的发展状况
中国互联网络信息中心CNNIC
2.2计算机网络在信息时代的作用
在信息时代,计算机网络发挥着至关重要的作用,它对社会、经济和个人的影响非常深远。以下是计算机网络在信息时代中的一些重要作用:
- 全球连接: 计算机网络使得全球范围内的人们能够实现即时通信和远程协作。通过互联网,人们可以随时随地与世界各地的人进行交流、共享信息和合作工作。这种全球连接的能力极大地促进了全球化和跨国交流。
- 信息传递和共享: 计算机网络为信息的传递和共享提供了高效、快速和安全的平台。人们可以通过电子邮件、即时消息、社交媒体和在线协作工具等方式发送和接收信息。无论是个人、组织还是政府,都可以通过计算机网络获得所需的信息,并将自己的信息传播给更广泛的受众。
- 电子商务: 计算机网络为电子商务提供了基础设施和平台。人们可以通过互联网购物、进行在线支付,促进了电子商务的迅速发展。电子商务不仅改变了商业模式,也为消费者提供了更多的选择和便利。
- 在线娱乐和文化: 计算机网络使得在线娱乐和文化活动变得更加丰富多样。人们可以通过流媒体服务观看电影、电视节目和音乐,通过社交媒体分享生活和兴趣,通过在线游戏进行虚拟交互和娱乐活动。
- 教育和学习: 计算机网络为教育提供了巨大的机会和资源。学生可以通过网络获取在线课程、教育资源和学术研究资料。远程教育和在线学习使得教育变得更加灵活和普惠,使得知识和教育机会不再受限于地理位置和时间限制。
- 科学研究和创新: 计算机网络为科学研究和创新提供了强大的支持。科学家可以通过网络与全球同行合作,共享数据、研究成果和技术资源。同时,计算机网络也为开发人员和创业者提供了平台,他们可以通过互联网将创新的产品和服务引入市场。
总的来说,计算机网络在信息时代中扮演着关键的角色,它连接了世界各地的人们,促进了信息传递和共享,推动了电子商务、教育、科学研究和创新的发展。计算机网络的发展也带来了许多挑战,如网络安全和隐私保护等问题,需要不断的技术创新和政策法规的完善来解决。
3.因特网概述
3.1什么是因特网
**因特网(Internet)**是全球最大的计算机网络,由各种互联的计算机网络组成。它是一个开放的、去中心化的网络结构,通过使用标准的互联网协议(TCP/IP协议)来实现数据的传输和通信。
因特网最初是由美国国防部在上世纪60年代末发起建立的,目的是为了满足军事和科研领域之间的远程通信需求。随着技术的发展和普及,因特网逐渐向公众开放,并成为全球范围内连接数十亿设备和用户的基础设施。
因特网采用分组交换的通信方式,将数据分割成小的数据包(packet),通过**互联网协议(IP)**进行路由传送。每个数据包都包含了源地址和目标地址的信息,这样可以确保数据能够在网络中找到正确的路径传输。
因特网的核心技术是TCP/IP协议,其中**TCP(Transmission Control Protocol)**负责数据的可靠传输,**IP(Internet Protocol)**负责数据包的寻址和路由。这两个协议的组合使得因特网能够实现高效、灵活、安全的数据传输。
除了传输数据外,因特网还提供了许多其他的服务和应用,如电子邮件、万维网(World Wide Web)、即时通信、文件传输等。这些服务和应用都是基于因特网的基础设施构建的,为用户提供了丰富多样的功能和资源。
总的来说,因特网是一个全球范围内互联的计算机网络,通过TCP/IP协议实现数据的传输和通信。它以其开放性、去中心化和高度灵活性而成为信息时代最重要的基础设施之一。
3.2网络、互联网和因特网
网络:网络(Network)由若干**结点(Node)和连接这些结点的链路(Link)**组成。
**互连网(互联网):**多个网络通过路由器互连起来,这样就构成了一个覆盖范围更大的网络,即互连网(互联网)。因此,互联网又称为网络的网络(Imetwork of Networks)
。
因特网: 因特网(Internet)是世界上最大的互连网络(用户数以亿计,互连的网络数以百万计)。
internet与Internet的区别
- internet(互联网或互连网)是一个通用名词,它泛指多个计算机网络互连而成的网络。在这些网络之间的通信协议可以是任意的。
- Internet(因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络互连而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET。
任意把几个计算机网络互连起来(不管采用什么协议),并能够相互通信,这样构成的是一个互连网(internet) ,而不是互联网(Internet)。
3.3因特网发展的三个阶段
因特网服务提供者ISP
(I
nternet S
ervice P
rovider)
普通用户是如何接入到因特网的呢?
答:通过ISP接入因特网
ISP可以从因特网管理机构申请到成块的IP地址,同时拥有通信线路以及路由器等联网设备。任何机构和个人只需缴纳费用,就可从ISP的得到所需要的IP地址。
因为因特网上的主机都必须有IP地址才能进行通信,这样就可以通过该ISP接入到因特网
中国的三大ISP
:中国电信,中国联通和中国移动
基于ISP的三层结构的因特网
一旦某个用户能够接入到因特网,那么他也可以成为一个ISP,所需要做的就是购买一些如调制解调器或路由器这样的设备,让其他用户可以和他相连。
3.4因特网的标准化工作
- 因特网的标准化工作对因特网的发展起到了非常重要的作用。
- 因特网在指定其标准上的一个很大的特点是面向公众。
- 因特网所有的RFC(Request For Comments)技术文档都可从因特网上免费下载;
- 任何人都可以随时用电子邮件发表对某个文档的意见或建议。
- 因特网协会ISOC是一个国际性组织,它负责对因特网进行全面管理,以及在世界范围内促进其发展和使用。
- 因特网体系结构委员会IAB,负责管理因特网有关协议的开发;
- 因特网工程部IETF,负责研究中短期工程问题,主要针对协议的开发和标准化;
- 因特网研究部IRTF,从事理论方面的研究和开发一些需要长期考虑的问题。
-
制订因特网的正式标准要经过一下4个阶段:
1、因特网草案(在这个阶段还不是RFC文档)
2、建议标准(从这个阶段开始就成为RFC文档)
3、草案标准
4、因特网标准
3.5因特网的组成
-
边缘部分
由所有连接在因特网上的主机组成(台式电脑,大型服务器,笔记本电脑,平板,智能手机等)。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
-
核心部分
由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
路由器是一种专用计算机,但我们不称它为主机,路由器是实现分组交换的关键构建,其任务是转发收到的分组,这是网络核心最重要的部分。
处在互联网边缘的部分就是连接在互联网上的所有的主机。这些主机又称为端系统 (end system)。
端系统在功能上可能有很大的差别:
小的端系统可以是一台普通个人电脑,具有上网功能的智能手机,甚至是一个很小的网络摄像头。
大的端系统则可以是一台非常昂贵的大型计算机。
端系统的拥有者可以是个人,也可以是单位(如学校、企业、政府机关等),当然也可以是某个ISP。
3.6补充知识
端系统之间通信的含义
主机A
和 主机B
进行通信实际上是指:运行在主机 A 上的某个程序和运行在主机 B 上的另一个程序进行通信。即主机 A 的某个进程和主机 B 上的另一个进程进行通信”。简称为计算机之间通信
。
端系统之间的通信方式通常可划分为两大类:
客户-服务器方式:
- 客户 (client) 和服务器 (server) 都是指通信中所涉及的两个应用进程。
- 客户 - 服务器方式所描述的是进程之间服务和被服务的关系。
- 客户是服务的请求方,服务器是服务的提供方。
服务请求方和服务提供方都要使用网络核心部分所提供的服务。
对等连接方式:
- 对等连接 (peer-to-peer,简写为 P2P ) 是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。
- 只要两个主机都运行了对等连接软件 ( P2P 软件) ,它们就可以进行平等的、对等连接通信。
- 双方都可以下载对方已经存储在硬盘中的共享文档。
4.三种交换方式
计算机网络的三种常见交换方式是电路交换、报文交换和分组交换。
- 电路交换:电路交换是一种建立起端到端通信路径(电路)的交换方式。在通信开始之前,两个通信节点之间的整条路径会被预留下来,直到通信结束才会释放。在此期间,所有数据都沿着这条预留的电路进行传输。这种交换方式适用于需要保证通信质量和实时性的场景,如电话通信。然而,由于资源占用比较高,电路交换在大规模数据通信中并不常用。
- 报文交换:报文交换是以报文为单位进行交换的方式。发送方将整个报文发送给网络,网络将其存储并转发到目标节点。在报文交换中,报文在网络中的传输是独立的,可以按照任意路径传输,并且不需要预先建立连接。报文交换适用于短消息和小数据量的通信,但由于每次传输都需要整个报文,因此可能会有较高的传输延迟。
- 分组交换:分组交换是最常用的交换方式,也是互联网所采用的方式。在分组交换中,数据被划分为更小的数据包(分组),每个分组独立传输。发送方将数据划分为分组,并加上目标地址等控制信息,然后发送到网络中。网络根据目标地址将各个分组独立地转发到目标节点,最后在目标节点将分组重新组装成完整的数据。分组交换具有较高的灵活性和资源利用率,因为分组可以按需传输,并且多个分组可以同时在网络中传输。然而,分组交换可能会引入一定的延迟和拥塞问题。
这三种交换方式各有优缺点,选择使用哪种方式取决于具体的通信需求和网络条件。在实际应用中,一般采用分组交换来构建大规模的计算机网络,以满足各种类型的通信需求。
4.1电路交换(Circuit Switching)
传统两两相连的方式,当电话数量很多时,电话线也很多,就很不方便
所以要使得每一部电话能够很方便地和另一部电话进行通信,就应该使用一个中间设备将这些电话连接起来,这个中间设备就是电话交换机
-
电话交换机接通电话线的方式称为电路交换;
-
从通信资源的分配角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源;
-
电路交换的三个步骤:
1、建立连接(分配通信资源)
2、通话(一直占用通信资源)
3、释放连接(归还通信资源)
当使用电路交换来传送计算机数据时,其线路的传输效率往往很低。
这是因为计算机数据是突发式地出现在传输线路上的。
所以计算机通常采用的是分组交换,而不是线路交换
4.2分组交换(Packet Switching)
通常我们把表示该消息的整块数据成为一个报文。
在发送报文之前,先把较长的报文划分成一个个更小的等长数据段,在每一个数据段前面。加上一些由必要的控制信息组成的首部后,就构成一个分组,也可简称为“包”,相应地,首部也可称为“包头”。
首部包含了分组的目的地址
分组从源主机到目的主机,可走不同的路径。
发送方
- 构造分组
- 发送分组
路由器
- 缓存分组
- 转发分组
- 简称为分组转发
在路由器中的输入和输出端口之间没有直接连线。
路由器处理分组的过程是:
- 把收到的分组先放入缓存(暂时存储);
- 查找转发表,找出到某个目的地址应从哪个端口转发;
- 把分组送到适当的端口转发出去。
接收方
- 接收分组
- 还原报文
4.3报文交换(Message Switching)
报文交换中的交换结点也采用存储转发方式,但报文交换对报文的大小没有限制,这就要求交换结点需要较大的缓存空间。报文交换主要用于早期的电报通信网,现在较少使用,通常被较先进的分组交换方式所取代。
4.4三种交换方式的对比
假设A,B,C,D是分组传输路径所要经过的4个结点交换机,纵坐标为时间
分析:
电路交换:
-
通信之前首先要建立连接;连接建立好之后,就可以使用已建立好的连接进行数据传送;数据传送后,需释放连接,以归还之前建立连接所占用的通信线路资源。
-
一旦建立连接,中间的各结点交换机就是直通形式的,比特流可以直达终点;
报文交换:
- 可以随时发送报文,而不需要事先建立连接;整个报文先传送到相邻结点交换机,全部存储下来后进行查表转发,转发到下一个结点交换机。
- 整个报文需要在各结点交换机上进行存储转发,由于不限制报文大小,因此需要各结点交换机都具有较大的缓存空间。
分组交换:
- 可以随时发送分组,而不需要事先建立连接。构成原始报文的一个个分组,依次在各结点交换机上存储转发。各结点交换机在发送分组的同时,还缓存接收到的分组。
- 构成原始报文的一个个分组,在各结点交换机上进行存储转发,相比报文交换,减少了转发时延,还可以避免过长的报文长时间占用链路,同时也有利于进行差错控制。
5.计算机网络的分类和定义
5.1定义
计算机网络的定义包含以下几个关键要素:
- 互联的计算机和网络设备:计算机网络由一组计算机和网络设备(如路由器、交换机、调制解调器等)组成,这些设备通过物理链路或无线连接相互通信和交换信息。
- 数据和资源的共享:计算机网络允许连接在网络中的计算机之间共享数据和资源。这包括文件共享、打印机共享、数据库访问、远程登录等。通过网络共享,用户可以方便地获取和利用其他计算机上的信息和服务。
- 通信和协作:计算机网络提供了各种通信手段,使连接在网络中的计算机可以相互发送和接收数据。通过网络,用户可以进行电子邮件、即时通信、视频会议等各种形式的远程通信和协作。
- 系统性:计算机网络是一个有组织的系统,它涉及到物理层面的硬件设备、数据传输的协议、网络管理和安全等方面的技术和实践。
- 计算机网络的精确定义并未统一。
- 计算机网络的最简单的定义是:一些互相连接的、自治的计算机的集合。
- 互连:是指计算机之间可以通过有线或无线的方式进行数据通信。
- 自治:是指独立的计算机,他有自己的硬件和软件,可以单独运行使用。
- 集合:是指至少需要两台计算机。
- 计算机网络的较好的定义是:计算机网络主要是由一些通用的,可编程的硬件(一定包含有中央处理机CPU)互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
- 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等智能硬件。
- 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)。
5.2分类
按交换技术分类:
- 电路交换网络
- 报文交换网络
- 分组交换网络
按使用者分类:
- 公用网
- 专用网
按传输介质分类:
- 有线网络
- 无线网络
计算机网络可以分为有线网络和无线网络两种。有线网络使用电缆等物理介质进行数据传输,包括网线、光纤等;无线网络则使用无线电波进行数据传输,包括WiFi、蓝牙、移动通信等。
按照使用协议分类:
计算机网络可以分为不同的层次和协议,例如OSI参考模型或TCP/IP协议族。其中,OSI参考模型将网络通信划分为七个层次,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层;而TCP/IP协议族则由四个层次构成,分别是网络接口层、网络层、传输层和应用层。
按覆盖范围分类:
- 广域网WAN(Wide Area Network)
作用范围通常为几十到几千公里,因而有时也称为远程网(long haul network)。广域网是互联网的核心部分,其任务是通过长距离(例如,跨越不同的国家)运送主机所发送的数据。
- 城域网MAN
作用范围一般是一个城市,可跨越几个街区甚至整个城市
- 局域网LAN
一般用微型计算机或工作站通过高速通信线路相连**(速率通常在 10 Mbit/s 以上)**,但地理上范围较小(1 km 左右)
- 个域网PAN
就是在个人工作的地方把个人使用的电子设备用无线技术连接起来的网络。
按拓扑结构分类:
- 总线型网络
- 星型网络
- 环形网络
- 网状型网络
6.计算机网络的性能指标
6.1速率
速率 即数据率或称数据传输率或比特率
需要注意的是,比特率和数据传输速率之间存在一定的关系。由于在数据传输过程中还需要传输控制信息、纠错码、协议头等额外的开销,因此实际的数据传输速率会低于比特率。
计算机网络的速率受到多种因素的影响,包括网络的带宽、信道质量、网络拓扑结构、网络设备性能等。更高的速率通常代表着更大的网络带宽和更快的数据传输能力,可以支持更高效的数据交换和通信。
总而言之,计算机网络的速率是指在单位时间内传输的比特数或数据量,通过比特率或数据传输速率来衡量。速率的高低直接影响着网络的传输性能和通信效率。
6.2带宽
在计算机网络中,带宽(Bandwidth)指的是网络链路传输数据的能力,通常以每秒传输的比特数(bps)来衡量。它表示在单位时间内可以通过网络链路传输的最大数据量。
带宽是一个重要的性能指标,影响着网络传输速度和数据吞吐量。较高的带宽意味着网络可以更快地传输数据,提供更高的数据吞吐能力。
带宽的大小受到多个因素的影响,包括网络链路的物理特性、传输介质的类型和性能、设备的限制等。在有限的带宽资源下,不同设备和应用程序之间需要共享带宽,因此带宽的分配和管理也是网络设计和运维中需要考虑的问题。
带宽通常用以下单位来表示:
- bps(比特每秒): 表示每秒传输的比特数,是最基本的带宽单位。
- Kbps(千比特每秒): 表示每秒传输的千比特数,等于10^3 bps。
- Mbps(兆比特每秒): 表示每秒传输的兆比特数,等于10^6 bps。
- Gbps(千兆比特每秒): 表示每秒传输的千兆比特数,等于10^9 bps。
- Tbps(太比特每秒): 表示每秒传输的太比特数,等于10^12 bps。
需要注意的是,实际网络中的带宽可能受到各种因素的限制和约束,如网络拓扑、设备性能、网络拥塞等。因此,网络的实际传输速度可能会低于链路的理论带宽。在网络设计和应用开发中,需要合理评估和利用可用的带宽资源,以满足用户需求并提供良好的网络体验。
6.3吞吐量
带宽1 Gb/s的以太网,代表其额定速率是1 Gb/s,这个数值也是该以太网的吞吐量的绝对上限值。因此,对于带宽1 Gb/s的以太网,可能实际吞吐量只有 700 Mb/s,甚至更低。
注意:吞吐量还可以用每秒传送的字节数或帧数表示
6.4时延
时延时指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。
网络时延由几部分组成:
- 发送时延
主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
- 传播时延
电磁波在信道中传播一定的距离需要花费的时间。
- 处理时延
主机或路由器在收到分组时要花费一定时间进行处理
- 排队时延
分组在进过网络传输时,要经过许多路由器。但分组在进入路由器后要先在输入队列中排队等待处理。
有时会把排队时延看成处理时延 一部分
总时延 = 发送时延 + 传播时延 + 处理时延 (处理时延 + 排队时延)
当处理时延忽略不计时,发送时延 和 传播时延谁占主导,要具体情况具体分析
6.5时延带宽积
时延带宽积 = 传播时延 * 带宽
6.6往返时间
互联网上的信息不仅仅单方向传输而是双向交互的。因此,我们有时很需要知道双向交互一次所需的时间。
6.7利用率
利用率有信道利用率和网络利用率两种。
6.8丢包率
7.计算机网络的体系结构
更新中。。。。。。
8.文献参考
- https://zh.wikipedia.org/zh-hans/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C
- https://www.runoob.com/w3cnote/summary-of-network.html
- https://lfool.gitbook.io/computer-network/di-yi-zhang-wang-luo-ji-chu-zhi-shi
- https://www.bilibili.com/video/BV1c4411d7jb/?p=7&spm_id_from=pageDriver&vd_source=cea816a08805c218ac4390ae9b61ae31
9.总结
以上便是本文的全部内容,本人才疏学浅,文章有什么错误的地方,欢迎大佬们批评指正!我是Leo,一个在互联网行业的小白,立志成为更好的自己。
如果你想了解更多关于Leo,可以关注公众号-程序员Leo,后面文章会首先同步至公众号。
文末推荐与福利
爆火全网的原创提示词设计框架BROKE,带你5步掌握向人工智能提问的艺术,从小白变身ChatGPT应用专家,将AI转化为生产工具,重塑你的工作流!
《ChatGPT时代系列》免费包邮送出2本!
爆火全网的原创提示词设计框架BROKE,带你5步掌握向人工智能提问的艺术。
🥇内容简介
本书是一本面向所有人的提示工程工具书,旨在帮助你掌握并有效利用以ChatGPT为代表的AI工具。学习完本书后,你将能够自如地将ChatGPT运用在生活和专业领域中,成为ChatGPT进阶玩家。
本书共分为9章,内容涵盖三个层次:介绍与解读、入门学习、进阶提升。第1~2章深入介绍与剖析了ChatGPT与提示工程,并从多个学科的角度探讨了提示工程学科。第3~5章演示了ChatGPT的实际运用,教你如何使用ChatGPT解决自然语言处理问题,并为你提供了一套可操作、可重复的提示设计框架,让你能够熟练驾驭ChatGPT。第6~9章讲解了来自学术界的提示工程方法,以及如何围绕ChatGPT进行创新;此外,为希望ChatGPT进行应用开发的读者提供了实用的参考资料,并介绍了除ChatGPT之外的其他选择。
本书聚焦ChatGPT的实际应用,可操作,可重复,轻松易读却不失深度。无论你是对ChatGPT及类似工具充满好奇,还是期待将其转化为生产力,本书都值得一读。此外,本书还可作为相关培训机构的教材。
🥇购买链接
京东购买链接:京东
当当购买链接:当当
🥇活动规则
🌟关注我的博客:关注我的博客,所有新鲜的博客文章和活动信息都不会错过。
📲添加博主wx:添加Leocisyam,如果添加不了,请私信博主。
💬参与方式:关注公众号程序员Leo或者文末扫码关注,回复抽奖,即可参与抽奖。
🎁公布结果:2023年11月15日晚,我会亲自抽取2️⃣名幸运读者,并在微信私信通知,请大家注意查收哈。