【读书笔记-《网络是怎样连接的》- 0】全书整体结构

news2024/9/21 23:37:12

网络是计算机相关课程中的重要部分,更是当今的学习生活中所不可或缺的。虽然相关的经典书籍很多,但是大多数属于深入某一部分的专著,比如TCP/IP协议。像我这样对于网络一知半解的同学来说,更需要一种覆盖网络全貌,每一部分又不那么复杂的入门书。这本《网络是怎样连接的》就非常符合这一特点。本书通过描述从Web浏览器中输入网址,到浏览器中展示出网站页面的这一过程,深入浅出地讲解了相关的网络知识。

其实Web浏览器与Web服务器的交互很简单,可以分为两个步骤:

(1) 浏览器向服务器发送请求
(2) 服务器根据请求向浏览器发送响应

为了实现这种交互,我们需要一种机制,在任何情况下都能将请求和响应准确无误地发送给对方。这种机制由操作系统中的协议栈(网络控制软件)以及交换机、路由器等设备分工合作来完成的,基本思路就是将信息分割成一个一个的小块,装入称为"包"的容器中进行运送。包的头部存有目的地等控制信息,通过许多交换机和路由器的接力,就可以根据控制信息对这些包进行分拣,并一步步地搬运到目的地。

这个负责搬运数字信息的机制,加上浏览器和Web服务器这些网络应用程序,两部分构成了网络的全貌。全书通过六章的内容来描述以下的过程:

在这里插入图片描述

第1章 Web浏览器

首先是浏览器的工作方式。输入网址(URL)后,浏览器会按照一定的规则分析URL的含义,并据此生成请求消息。而实际发送消息是由网络控制软件来实现的,浏览器会委托他们发送数据。

第2章 协议栈、网卡

第2章探索的是搬运数据的机制。首先是协议栈(网络控制软件),将从浏览器接受到的消息打成包,加上目的地址等控制信息。此外协议栈还具有通信错误时重新发送,控制发送速度等功能。接下来协议栈就会将包交给网卡,网卡将包转换为电信号并通过网络发送出去,这样包就进入到网络之中了。

第3章 集线器、交换机、路由器

接下来会根据接入互联网的形式而有所不同。这里假设客户端计算机是连接到家庭或公司的局域网中,然后通过ADSL和光纤(FTTH)等宽带线路接入互联网,在这样的场景下,网卡发送的包会经过交换机等设备,到达用来接入互联网的路由器。路由器之后就是互联网,网络运营商负责将数据包传送到目的地。

第4章 接入网、网络运营商

接下来数据包进入了互联网的内部。互联网的入口线路称为接入网,接入网连接到签约的网络运营商,并接入被称为接入点(Point of Presence, PoP)的设备。接入点的实体是一台专为运营商设计的路由器,数据包从这里被发送到全世界,接入点的后面就是互联网的骨干部分。在骨干网中存在很多运营商和大量的路由器,这些路由器相互连接构成一张大网,网络数据包经过若干路由器的接力,最终达到目标的Web服务器。

第5章 防火清、缓存服务器

通过骨干网之后,网络数据包就到达了Web服务器所在的局域网。接下来会经过防火墙,防火墙会对进入的包进行检查,防止混入危险的包。经过检查之后可能还会用到缓存服务器。缓存服务器中保存着一部分可以重复利用的数据,如果请求的数据在缓存服务器中可以找到,就可以直接从缓存服务器中返回,避免访问Web服务器。大型网站中可能还会配备将消息分布到多台Web服务器上的负载均衡器,可能会使用分布在整个互联网中的缓存服务器来分发内容的服务,经过这些机制之后网络数据包才会到达Web服务器。

第6章 Web服务器

网络包到达Web服务器后,数据会被解包并还原为原始的请求消息,交给Web服务器程序。这部分操作也是由操作系统中的协议栈来完成的。Web服务器会分析请求消息的含义,据此将数据装入响应消息,发回给客户端。接下来的过程和发送请求的过程就正好相反了。响应到达客户端,浏览器从中取出网页数据并展示在屏幕上。

接下来的文章中会详细总结每一章的内容,敬请期待。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2153603.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《线性代数》笔记

文章目录 1 行列式1.1 克拉默法则1.2 基本性质1.3 余子式 M i j M_{ij} Mij​1.4 代数余子式 A i j ( − 1 ) i j ⋅ M i j A_{ij} (-1)^{ij} \cdot M_{ij} Aij​(−1)ij⋅Mij​1.5 具体型行列式计算(化为基本型)1.5.1 主对角线行列式:主…

Python学习——【4.2】数据容器:tuple元组

文章目录 【4.2】数据容器:tuple元组一、元组的定义格式二、元组的特点三、元组的操作(一)常见操作(二)循环遍历 【4.2】数据容器:tuple元组 一、元组的定义格式 为什么需要元组 列表是可以修改的。如果想…

seL4 Untyped(二)

链接: Untyped Untyped 这篇主要是针对seL4物理内存管理的介绍。 物理内存 在seL4系统中,除了内核占用的一小部分静态内存之外,其他的所有的物理内存都是用户一级管理的。seL4在启动时创建的对象能力,以及seL4管理的其余物理资源&#xf…

初始网络编程(下)

所属专栏:Java学习 1. TCP 的简单示例 同时,由于 TCP 是面向字节流的传输,所以说传输的基本单位是字节,接受发送都是使用的字节流 方法签名 方法说明 Socket accept() 开始监听指定端口(创建时绑定的端口&…

十七、RC振荡电路

振荡电路 1、振荡电路的组成、作用、起振的相位条件以及振荡电路起振和平衡幅度条件, 2、RC电路阻抗与频率、相位与频率的关系曲线; 3、RC振荡电路的相位条件分析和振荡频率

信息安全数学基础(15)欧拉定理

前言 欧拉定理是数论中的一个重要定理,它建立了模运算下指数与模的互质关系。这个定理在密码学、信息安全等领域有着广泛的应用,特别是在公钥密码体制(如RSA加密算法)中。 一、表述 设 n 是一个正整数,a 是一个与 n 互…

Tomcat服务器—Windows下载配置详细教程

一、关于 1.1 简介 Tomcat是一个开源的Java Servlet容器和Web服务器,由Apache软件基金会维护。它实现了Java Servlet和JavaServer Pages (JSP) 规范,用于运行Java Web应用程序。Tomcat支持多种Java EE功能,并提供了高效的性能和可扩展性&am…

Spring扩展点系列-MergedBeanDefinitionPostProcessor

文章目录 简介源码分析示例示例一:Spring中Autowire注解的依赖注入 简介 spring容器中Bean的生命周期内所有可扩展的点的调用顺序 扩展接口 实现接口ApplicationContextlnitializer initialize AbstractApplicationContext refreshe BeanDefinitionRegistryPos…

记录一个英语听力网站的开发

背景 在当前全球经济衰退的背景下,国内IT相关工作的竞争日益激烈。为了获得更多的职业机会,学习英语或许能为程序员打开一扇新的窗户。尤其是在国际化背景的远程工作中,英语协作沟通是必不可少的。 尽管我们大多数人从小到大都在学习英语&a…

使用Renesas R7FA8D1BH (Cortex®-M85)和微信小程序App数据传输

目录 概述 1 系统架构 1.1 系统结构 1.2 系统硬件框架结构 1.3 蓝牙模块介绍 2 微信小程序实现 2.1 UI介绍 2.2 代码实现 3 上位机功能实现 3.1 通信协议 3.2 系统测试 4 下位机功能实现 4.1 功能介绍 4.2 代码实现 4.3 源代码文件 5 测试 5.1 编译和下载代码…

RNN的反向传播

目录 1.RNN网络:通过时间反向传播(through time back propagate TTBP) 2.RNN梯度分析 2.1隐藏状态和输出 2.2正向传播: 2.3反向传播: 2.4问题瓶颈: 3.截断时间步分类: 4.截断策略比较 5.反向传播的细节 ​编辑…

大数据新视界 --大数据大厂之JavaScript在大数据前端展示中的精彩应用

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

浙大数据结构:05-树8 File Transfer

数据结构MOOC PTA习题 这道题考察并查集的操作&#xff0c;合并以及找根结点 机翻&#xff1a; 1、条件准备 node是数组存放1-N结点的根节点的&#xff0c;n为总结点数 #include <iostream> using namespace std;const int N 1e4 5; int node[N]; int n; 先初始化…

众数信科AI智能体政务服务解决方案——寻知智能笔录系统

政务服务解决方案 寻知智能笔录方案 融合民警口供录入与笔录生成需求 2分钟内生成笔录并提醒错漏 助办案人员二次询问 提升笔录质量和效率 寻知智能笔录系统 众数信科AI智能体 产品亮点 分析、理解行业知识和校验规则 AI实时提醒用户文书需注意部分 全文校验格式、内…

【在Linux世界中追寻伟大的One Piece】进程间关系与守护进程

目录 1 -> 进程组 1.1 -> 什么是进程组 1.2 -> 组长进程 2 -> 会话 2.1 -> 什么是会话 2.2 -> 如何创建会话 2.3 -> 会话ID(SID) 3 -> 控制终端 4 -> 作业控制 4.1 -> 什么是作业(job)和作业控制(Job Control) 4.2 -> 作业号 4.3…

Spring:项目中的统一异常处理和自定义异常

介绍异常的处理方式。在项目中&#xff0c;都会进行自定义异常&#xff0c;并且都是需要配合统一结果返回进行使用。 1.背景引入 &#xff08;1&#xff09;背景介绍 为什么要处理异常&#xff1f;如果不处理项目中的异常信息&#xff0c;前端访问我们后端就是显示访问失败的…

20240921在友善之臂的NanoPC-T6开发板上确认宸芯的数传模块CX6602N的AT命令

console:/dev # cat ttyUSB1 & console:/dev # echo AT > ttyUSB1 20240921在友善之臂的NanoPC-T6开发板上确认宸芯的数传模块CX6602N的AT命令 2024/9/21 21:03 【必须】Android12/Linux&#xff08;Buildroot&#xff09;都必须要&#xff01; 4、【Android12默认打开U…

电脑硬件-机械硬盘

简介 机械硬盘是电脑的主要存储媒介之一&#xff0c;通常用于存储一些文件资料或者学习视频笔记等比较大的内容。 结构 采用磁盘存储数据&#xff0c;使用温彻斯特的结构&#xff0c;特有四个特点&#xff1a; 1.磁头、盘片和运动机构安装在一个密封的腔体内。 2.盘片告诉旋…

一图快速看懂flink source的设计实现

文章目录 整体来说多个处理流程是解偶的&#xff0c;这样可以在面对多数据源情况下&#xff0c;能更加的灵活。 下面只展示了&#xff0c;主要的一些流程 下面补充一点&#xff0c;读取文件状态的保存&#xff0c;切分信息用了一个 ListState 来保存。具体要保存的信息&#x…

day2-1 app端文章查看

首先一共三张表 然后大致过程就是三层架构 用mp实现 具体出现的问题 1 测试的时候后端代码启动不了 先在maven clean一下 具体流程 然后执行完之后建议把这三个模块的target文件删除一下再运行 最后的话 如果还是报错 也是正常的 因为后边的东西都没写有些文件没有用到 2…