「从URL到网页🌏」构建计算机网络知识体系-04

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 「从URL到网页🌏」构建计算机网络知识体系-04

image.png

阅读本文 📖



1.您将了解到输入URL到浏览器展示内容的网络全貌

2.对计算机网络有个宏观的认识

3.用宏观的角度去了解计算机网络,构建计算机网络知识体系,鱼鱼将会一章章跟新

4.对基础知识充满了兴趣和爱好,培养自己对计算机的兴趣


前言 🌵



学习了很长时间的计算机网络,我发现计算机网络是非常有意思的一个课题,但是它的知识面广而深,通过学习我发现,很多书都是深入某一部分去讲解,未免让人失去兴趣,从URL到浏览器展示画面能够让我们全面的了解到网络的从零到一


知识点 📒



从服务器断开并删除套接字


断开的操作顺序

(1)客户端发送 FIN

(2)服务器返回 ACK 号

(3)服务器发送 FIN

(4)客户端返回 ACK 号


image.png



和服务器的通信结束之后,用来通信的套接字也就不会再使用了,这 时我们就可以删除这个套接字了。不过,套接字并不会立即被删除,而是 会等待一段时间之后再被删除。


这个等待时间就是经常面试考察内容了,为什么要等地一段时间后再被删除呢?

  • 如果最后客户端返回的ACK号丢失了,客户端套接字已经删除了,但是服务端没有收到ACK号,于是会重新发送FIN。
  • 套接字被删除意味着,内存里面的控制信息也会被删除,正好这个时候有新的应用程序创建了套接字刚好被分配了同一个端口。
  • 服务器重发的FIN就正好到达了,那么会导致新套接字就开始执行断开操作了,之所以不马上删 除套接字,就是为了防止这样的误操作。

IP 与以太网的包收发操作



网络包的结构


image.png


  • 路由器根据目标地址判断下一个路由的位置


  • 集线器在子网中将网络包传输到下一个路由


路由器对应IP层,也就是网络层


集线器对应MAC层,也就是物理层


  • IP协议根据目标地址判断下一个IP转发设备的位置
  • 子网中的以太网协议将包传输到下一个转发设备


先谈谈网络的分层设计:


为什么要分层来设计呢?个人理解就是解耦了,便于扩展。网络层的就不需要关心物理层的实现,这样我们就可以随意的去切换物理层的设备和协议了(物理层可以无线网卡,有线、ADSL、FTTH)


回归正题,IP模块负责添加两个头部到数据包中

  • MAC头部:以太网用的头部,包含MAC地址
  • IP头部:IP用的头部,包含IP地址

生成包含接收方的IP地址和IP头部


IP地址从哪里来呢,是从TCP模块告知的,因为我们在创建套接字的时候,是使用的IP加端口创建的,套接字中保存了我们的控制信息。


TCP里面的IP地址又是从应用层拿到的


IP头部的格式


image.png


这里面的TTL可以重点关注一下,为了避免网络出现回环时,一个包在网络中打转。


IP 头部的“接收方 IP 地址”填写通信对象的 IP 地址。 发送方 IP 地址需要判断发送所使用的网卡,并填写该网卡的 IP 地址。


通过ARP查询目标路由器的MAC地址

image.png

ARP 协议就好比一个广播📢,在子网中,呼叫,谁是xxx IP地址,就可以拿到这个IP的mac地址,然后IP协议就可以将这个MAC地址加入到IP头部中


接下来就是将IP包转换成电或者光信号发送出去


网卡的ROM中保存着全世界唯一的MAC地址,这是生产时写入的。


通过网卡驱动 网卡从IP模块获取数据包以后,会将其放在网卡的内的缓冲区中,然后向mac模块发送发送包的指令,然后添加mac头部,并将数字信号通过网卡中的PHY模块转换成可以在网线中传入的通用信号


image.png


报头:用来测定时机,就是那个电信号的高低的时机


SFD:起始帧分节符,用来确定帧的起始位置。


这两个的作用,报头相当于把电信号的规律传递出来,SFD用来表示那一截是帧的数据了。


FCS:是帧校验序列(用来检测这个帧是否在传输过程中被噪音等干扰了,导致数据错误)


ICMP: ICMP就好比一个IP层的侦察兵

ICMP消息


image.png


UDP 协议的收发操作



不需要重发的数据用 UDP 发送更高效,和TCP都属于传输控制层

和TCP反着来的,很简单,下面介绍一下他的场景


  • 控制用的短数据
  • 音频和视频数据,实时性的,有实效性


总结 🍁



  • IP层数据包的基本知识
  • 包的收发操作
  • 物理层层相关知识
  • ICMP是什么
  • UDP简单介绍


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
2月前
|
缓存 网络协议 CDN
在网页请求到显示的过程中,如何优化网络通信速度?
在网页请求到显示的过程中,如何优化网络通信速度?
185 59
|
12天前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
2月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
100 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
2月前
|
Shell Python
Flask URL构建
url_for()函数对于动态构建特定函数的URL非常有用。
32 4
|
1月前
|
监控 安全 Apache
构建安全的URL重定向策略:确保从Web到App平滑过渡的最佳实践
【10月更文挑战第2天】URL重定向是Web开发中常见的操作,它允许服务器根据请求的URL将用户重定向到另一个URL。然而,如果重定向过程没有得到妥善处理,可能会导致安全漏洞,如开放重定向攻击。因此,确保重定向过程的安全性至关重要。
66 0
|
3月前
|
网络协议 前端开发 JavaScript
浏览器加载网页的幕后之旅:从URL到页面展示详解
【8月更文挑战第31天】当在浏览器地址栏输入URL并回车后,一系列复杂过程随即启动,包括DNS解析、TCP连接建立、HTTP请求发送、服务器请求处理及响应返回,最后是浏览器页面渲染。这一流程涉及网络通信、服务器处理和客户端渲染等多个环节。通过示例代码,本文详细解释了每个步骤,帮助读者深入理解Web应用程序的工作机制,从而在开发过程中作出更优决策。
58 5
|
5月前
|
域名解析 存储 缓存
HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口
【6月更文挑战第23天】 HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口;TCP连接(HTTP/1.1可能需排队);三次握手;发送请求头与体;服务器处理并返回响应;TCP连接可能关闭或保持;浏览器接收并显示响应,更新缓存。HTTP版本间有差异。
84 5
|
5月前
|
数据采集 存储 数据挖掘
Python网络爬虫实战:抓取并分析网页数据
使用Python的`requests`和`BeautifulSoup`,本文演示了一个简单的网络爬虫,抓取天气网站数据并进行分析。步骤包括发送HTTP请求获取HTML,解析HTML提取温度和湿度信息,以及计算平均温度。注意事项涉及遵守robots.txt、控制请求频率及处理动态内容。此基础爬虫展示了数据自动收集和初步分析的基础流程。【6月更文挑战第14天】
398 9
|
4月前
|
弹性计算 运维 Kubernetes
阿里云云效操作报错合集之构建流程中遇到 "origin_value 类型错误,取不到DOCKER_URL" 这样的错误,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
4月前
|
算法
「AIGC」readLink实现url识别pdf、网页标题和内容
AIGC算法实现服务,通过Express接收URL,识别内容类型:HTML使用Cheerio解析,PDF用`pdf-parse`。自定义函数提取标题和内容。示例代码展示了如何处理HTTP响应,提取HTML的`<title>`及PDF文本,并提供错误处理。服务器运行在端口3000。
45 0

热门文章

最新文章