目录

1.1.1 具体构成概述:因特网=“设备+连接”的大集合

        1. 端系统(end system):所有“能上网的设备”,相当于“交通系统里的汽车、行人”

        2. 通信链路(communication link):连接设备的“线路”,相当于“交通系统里的马路、桥梁”

        3. 分组交换机(packet switch):数据的“中转站”,相当于“交通系统里的红绿灯、收费站”

        补充:分组(packet)+ ISP(Internet Service Provider):数据的“包裹”和“网络服务商”

1.1.2 服务描述:因特网给我们提供了什么“便利”?

        1. TCP(Transmission Control Protocol):传输控制协议——“靠谱的快递员”

        2. IP(Internet Protocol):网际协议——“快递地址+路线规划”

        3. 套接字接口(socket interface):“应用程序的上网入口”——“快递收发站”

1.1.3 什么是协议:网络世界的“交通规则”

        类比1:人与人之间的“对话协议”

        类比2:交通规则=“马路协议”

        网络协议的核心:“互相理解、按规矩办事”

本节核心总结(必看)

结语:        

        大家好~ 最近我正在啃机械工业出版社出版的计算机科学丛书《计算机网络-自顶向下方法》(原书第7版),作为经典的计算机网络教材,它的“自顶向下”思路真的很友好,从我们最熟悉的应用层逐步深入底层,不用一上来就被复杂的物理层、协议细节劝退👏。

        今天先分享第1章-「计算机网络和因特网」的核心小节——1.1 什么是因特网?,全程避开复杂公式,用生活化比喻、现实场景引导大家理解核心概念,一起夯实网络基础~

1.1.1 具体构成概述:因特网=“设备+连接”的大集合

        我们先抛开教材里的专业定义,先想一个现实场景:你用手机连Wi-Fi刷短视频,或者用电脑连网线发邮件——这个过程,其实就是你在使用因特网。那么,支撑这个过程的“硬件+连接”,就是因特网的具体构成。

        教材里说,因特网是“由大量互联的计算机设备组成的网络”,这些设备和连接可以分为3类核心组件,我们用“城市交通系统”来类比,一下子就懂了:

        1. 端系统(end system):所有“能上网的设备”,相当于“交通系统里的汽车、行人”

        端系统(end system),其实就是我们常说的“主机(host)”——注意哦,这里的主机(host)不只是电脑,而是所有能接入因特网、发送或接收数据的设备,范围特别广:

        我们日常用的:手机、电脑(台式机、笔记本)、平板、智能手表;

        背后提供服务的:Web服务器(存网页的设备)、视频服务器(存短视频的设备)、邮件服务器;

        甚至是智能家电:联网的空调、冰箱、摄像头,都属于端系统(end system)

        简单说:只要能“上网互动”,不管是我们用的,还是背后提供服务的,都是端系统(end system),也可以叫主机(host)——两者在本节语境下基本等价,不用刻意区分。

        2. 通信链路(communication link):连接设备的“线路”,相当于“交通系统里的马路、桥梁”

        端系统之间不能凭空通信必须靠“连接线”,这就是通信链路(communication link)。就像汽车要靠马路才能行驶,端系统要靠通信链路才能传递数据。

        我们身边常见的通信链路有很多,不用记复杂分类,知道这些就够了:

有线链路:家里的网线、小区的光纤、办公室的以太网电缆;

无线链路:手机连的4G/5G信号、家里的Wi-Fi(IEEE 802.11)、蓝牙。

        不同的通信链路,传输速度(相当于马路的宽窄)不一样,比如光纤比网线快,5G比Wi-Fi(远距离)更稳定,但核心作用都是“传递数据”

        3. 分组交换机(packet switch):数据的“中转站”,相当于“交通系统里的红绿灯、收费站”

        如果只有端系统通信链路,还不够——比如你在广州用手机给北京的朋友发消息,数据不可能直接从广州的手机“飞”到北京的手机,中间要经过很多“中转站”,这个中转站就是分组交换机(packet switch)

        分组交换机(packet switch)的核心作用:接收来自一条通信链路的“数据块”,然后转发到另一条通信链路,直到数据到达目标端系统。教材里重点讲了两种分组交换机,区别很简单,用生活化场景区分:

        路由器(router)“长途中转站”,相当于“高速公路收费站”,负责连接不同的“小网络”,比如把你家的Wi-Fi网络,连接到小区的网络,再连接到因特网的核心网络,实现跨区域数据传输(比如广州到北京)。

        链路层交换机(link-layer switch)“短途中转站”,相当于“小区里的红绿灯”,只负责连接同一个“小网络”里的设备,比如你家的手机、电脑、智能电视,都是通过链路层交换机连接到路由器,再接入因特网。

        补充:分组(packet)+ ISP(Internet Service Provider):数据的“包裹”和“网络服务商”

        还有两个关键概念,结合场景很好懂:

        分组(packet):数据在传输时,不会一次性全部发送,而是被分成一个个“小数据块”,每个小数据块就是分组(packet)——相当于你寄快递,不会把所有东西都堆在一起,而是分成一个个包裹,方便运输和中转。

        ISP(Internet Service Provider):因特网服务提供商,就是我们常说的“宽带公司”,比如中国电信、中国移动、中国联通。我们的端系统,必须通过ISP才能接入因特网(相当于你开车上高速,必须通过收费站才能进入高速路网),ISP会提供通信链路分组交换服务,让我们的设备能连接到全球的因特网。

1.1.2 服务描述:因特网给我们提供了什么“便利”?

        了解了因特网的构成,接下来我们想:这些设备和连接,最终是为了给我们提供什么服务?

        教材里的描述很抽象,我们换个角度:你每天用因特网做的事,就是它提供的服务——刷短视频、发微信、逛网页、下载文件、视频通话,这些背后,都是因特网在提供“数据传输服务”“资源共享服务”

        而支撑这些服务的,有三个核心“工具”,也是本节的重点,我们用“快递服务”来类比:

        1. TCP(Transmission Control Protocol):传输控制协议——“靠谱的快递员”

        

        TCP(Transmission Control Protocol,传输控制协议)的核心作用:保证数据“可靠、有序”地从一个端系统传到另一个端系统,就像靠谱的快递员,会把包裹准确送到你手上,还会确认你收到了,要是包裹丢了、坏了,还会重新送。

        比如你下载一个文件,要是没有TCP,可能会出现文件下载不全、内容错乱的情况;有了TCP,它会确保每个分组都能到达,并且按照正确的顺序拼接起来,让你下载的文件完整可用。

        常见场景:网页浏览、文件下载、微信聊天、视频通话(需要稳定传输的场景)。

        2. IP(Internet Protocol):网际协议——“快递地址+路线规划”

        IP(Internet Protocol,网际协议)的核心作用:给每个端系统分配一个唯一的“地址”(IP地址),并且规划数据的传输路线,就像快递的“收件地址”和“物流路线”,让分组知道“从哪里来,到哪里去”

        举个例子:你用手机给朋友发消息,你的手机(端系统)有一个IP地址,朋友的手机也有一个IP地址,IP协议会给每个分组贴上“ sender地址”和“ receiver地址”,然后告诉分组,经过哪些路由器、通信链路,才能到达朋友的手机。

        注意:TCP和IP通常是“一起工作”的,合称TCP/IP协议族——IP负责“找路线、贴地址”TCP负责“保可靠、保顺序”,两者配合,才能让数据顺利传输。

        3. 套接字接口(socket interface):“应用程序的上网入口”——“快递收发站”

        套接字接口(socket interface),简单说就是“应用程序和因特网之间的桥梁”。我们用的微信、浏览器、短视频APP,本身不会直接和通信链路、分组交换机打交道,而是通过套接字接口,向TCP/IP协议“发送请求”,获取因特网的服务

        类比:套接字接口就像小区里的“快递收发站”,你(应用程序)要寄快递(发数据),不用直接去找快递员(TCP/IP协议),只要把包裹放到收发站(套接字接口),收发站会交给快递员;别人给你寄快递(收数据),快递员也会把包裹放到收发站,你再去取。

        对于开发者来说,套接字接口是编写网络应用的“工具”;对于我们普通学习者来说,只要知道:所有上网的应用程序,都是通过套接字接口接入因特网的,就够了。

1.1.3 什么是协议:网络世界的“交通规则”

        最后,我们来理解一个最核心、最基础的概念——协议(protocol)

        教材定义:协议(protocol)是指在两个或多个通信实体(比如两个端系统、一个端系统和一个路由器)之间,为了实现通信而达成的“约定”或“规则集合”

        这个定义太抽象,我们用生活中的例子类比,瞬间就能懂:

        类比1:人与人之间的“对话协议”

        你和朋友聊天,会遵循一些“约定”:比如你说中文,朋友也说中文(语言一致);你说完一句话,朋友会等你说完再回应(顺序一致);你问“吃了吗”,朋友会回应“吃了”或“没吃”(响应规则)——这些约定,就是你们之间的“对话协议”

        如果没有这个协议:你说中文,朋友说英文,你们就无法沟通;你还没说完,朋友就打断你,对话也无法顺利进行。

        类比2:交通规则=“马路协议”

        马路上的车辆和行人,要遵循“红灯停、绿灯行”“靠右行驶”“礼让行人”等规则——这些规则,就是“马路协议”。如果没有这个协议,马路就会混乱,到处都是交通事故。

        网络协议的核心:“互相理解、按规矩办事”

        回到网络世界,协议(protocol)的作用和上面的例子完全一样:让不同的设备(端系统、路由器)之间,能够“互相理解”按同样的规则传递数据,避免混乱。

        比如:

        当你的手机(端系统)向路由器发送分组时,它们会遵循“同一个协议”——手机知道怎么给分组贴标签(IP地址),路由器知道怎么识别这个标签、怎么转发分组;

        当你用浏览器访问网页时,浏览器和Web服务器之间会遵循“HTTP协议”(应用层协议)——浏览器知道怎么发送“访问请求”,服务器知道怎么回应“网页内容”

        TCP协议本身,也是一种“协议”——它规定了两个端系统之间,如何建立连接如何确认数据收到如何重传丢失的分组

总结一下协议的关键特性(不用死记,理解即可):

  1. 约定好“语言”:比如数据的格式编码方式,确保双方能识别;

  2. 约定好“顺序”:比如先发送请求,再接收响应,不能乱序

  3. 约定好“动作”:比如收到数据后,要回复“确认收到”;如果没收到,要请求重发。

本节核心总结(必看)

        看完1.1小节,我们其实可以用一句话概括“什么是因特网”:

        因特网,是由无数端系统(主机),通过通信链路连接到分组交换机(路由器、链路层交换机),再通过ISP接入,依靠TCP/IP协议族和各种网络协议,为我们提供数据传输和资源共享服务的“全球互联网络”

        最后再梳理一下本节必掌握的核心概念

  • 主机(host):所有能接入因特网、发送/接收数据的设备,与端系统等价;

  • 端系统(end system):同上,即所有上网设备的统称;

  • 通信链路(communication link):连接端系统和分组交换机的“线路”(有线/无线);

  • 分组交换机(packet switch):数据中转站,分为路由器链路层交换机

  • 路由器(router):连接不同网络,负责长途数据转发

  • 链路层交换机(link-layer switch):连接同一网络,负责短途数据转发

  • 分组(packet):数据传输时被分成的“小数据块”

  • ISP(Internet Service Provider):因特网服务提供商(如电信、移动);

  • TCP(Transmission Control Protocol)传输控制协议,保证数据可靠、有序传输;

  • IP(Internet Protocol):网际协议,分配IP地址、规划传输路线

  • 套接字接口(socket interface):应用程序接入因特网的“入口”

  • 协议(protocol):设备间通信的“约定”“规则集合”

结语:        

        其实因特网离我们一点都不遥远——你每天刷的短视频、发的微信、逛的网页,都是因特网在工作;那些看似高深的概念,本质上都是为了“让设备之间能顺利沟通”,就像我们现实生活中的交通系统、对话规则一样,只是换了一种“设备能理解的方式”

        下一节我们继续分享1.2小节,感兴趣的朋友可以关注一下,一起跟着《计算机网络-自顶向下方法》,从基础开始,逐步吃透计算机网络~

        如果觉得本节笔记对你有帮助,欢迎点赞、收藏,有不懂的地方也可以在评论区留言,我们一起讨论学习!😊

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐