您当前的位置:首页 > 电脑百科 > 网络技术 > 网络知识

浪里来浪里去!网络协议如何成就网上冲浪?

时间:2020-07-28 14:47:35  来源:  作者:

作者: 张小云的博客

出处:https://www.cnblogs.com/zhangweicheng/p/13388701.html

我们网上冲浪也冲了这么多年,也该上岸好好看看这些浪的形状了。

1. 从一个网址了解浪来浪去#

 我们知道计算机之间的通过其实都是通过IP+端口的形式,但是我们平时访问的时候根本就没涉及到这两个东西,还是能访问到资源,为啥呢?这得问问我们神奇的DNS

  1. 首先,举个例子,我们输入www.bilibili.com,这个时候需要通过DNS将其转化为IP地址才能继续访问,其流程大概是这样的:
浪里来浪里去!网络协议如何成就网上冲浪?

 

从当前的浏览器中查询是否存在当前域名,如果有则返回其对应的IP地址,否则的话向本机操作系统中查询。操作系统如果有,则返回,浏览器将其缓存起来之后返回;如果操作系统查询不到的话,那么则向路由器缓存上查询。同上,有返回并且缓存到操作系统,操作系统返回并缓存到浏览器;无则向本地服务器请求。本地服务器就是运营商,比如说电信或者移动。操作过程同上,还没有的话就要向根服务器请求了。根服务器就是终点站了,操作跟上面一样,如果还没有的话,服务器就要请你检查你的域名了。

okay,上面绕了一圈之后我们现在拿到了B站的IP:假设为139.159.246.60,接下来就可以访问了。

 

 是不是还少点了什么?哦,是了,少了端口,那端口咋办呢?不用办,每个协议都有默认的端口,如果你不输入端口号的话就会使用默认的,例如http协议默认80,而https默认443,所以实际上输入www.bilibili.com实际上请求的是139.159.246.60:80,也就是机器IP地址为139.159.246.60上的80端口的程序,所以B站服务器的服务要占用监听80端口,当然那边肯定还做了负载均衡,这就不扯了。

  1. 现在知道具体地址地址还需要做什么呢,还需要建立连接,要保证等下进行数据传输的时候是okay的,所以这边会跟服务器建立TCP连接,完成之后进入下一步。
  2. 连接okay了,浏览器这边就组装好请求头准备发送请求,请求头包含了一些重要的信息如请求的方式、代理、请求格式,接收格式等,组装完成后发送。
  3. 服务器收到请求解析之后包装所需信息返回。
  4. 客户端(一般是浏览器或者App)这边接收到之后进行渲染,然后就是我们平时看到的图形界面了。
  5. 最后根据是否保持连接来决定是否关闭。

这样一次对B站的访问就完成了。但是这都是表面,我们甚至都不知道浪里的是水还是盐,计算机究竟是如何通过网络来通信的,接下来让我们走进《网络》。

Top

2. 网络协议#

 上面说到一个请求的完整路径,但那只是站在应用层的角度来看的,而在网络中应用层只是属于某个模型的一部分。

 平时所说的网络模型有三种:OSI七层、TCP/IP五层、TCP/IP四层。这三种模型都是概念模型,注意是概念模型,也就是说实现的方式并不是固定的,三兄弟来亮个相吧。

浪里来浪里去!网络协议如何成就网上冲浪?

 

 这几层背起来还不用一分钟,但那没用,就跟名字一样,需要的是灵魂,而不是枯燥的文字,所以需要理解。

七层模型#

七层懂了,四、五层还难吗。 

我们知道数据在计算机底层最终都会变成0和1,那么可能有人问了,现在计算机那么牛逼,底层给整个2或者3出来总可以吧,老是纠结01干嘛?说实话,实在是办不到。

 

 计算机通过电缆的电信号来实现通信,而电信号只有高低两种,所以也就分别对应计算机数字的1和0,这也是物理层的作用,将数字转化为电信号发给其他计算机。

物理层:将接收到的数据从1和0转化成高低信号发送给其他计算机。

但发是发出来了,其他计算机怎么知道你阿巴阿巴在说什么呢,不懂也没意义啊。所以需要定义一些规则,例如发送32位,前8位是文件信息,后24位才是数据,这样就知道了,这种规则就叫做协议。但是协议人人都可以定,一千个哈姆雷特就有一千种协议,这么多个哈姆雷特有点渗人,所以需要一个标准来进行统一,这才出现了以太网协议。

以太网协议的内容大致为:

每组信号构成一个数据包,即"帧"。每个数据包都包含两个部分。head:固定18个字节,包含发送者、接收者和数据类型。数据体data:真正的数据。

有了统一的标准,现在知道发送的是什么了,但是怎么知道要发给谁呢?那就是通过mac地址,每台计算机都有着世界上独一无二mac地址,通过这个地址能够标识唯一的一台计算机,将这当做地址再适合不过了。okay,现在发送内容有了,发给谁也知道了,那咋发呢?能不能通过一条准确的通道能够直达接收者呢?

 

 计算机之间的通信方式是通过原始的广播来实现的。

 

 什么意思呢?意思就是说,我要发送一条消息,这条消息的头部包含了是谁发的,发给谁的,那么我将这条消息发给同一个局域网下的所有计算机,他们收到了就看下是不是发给自己的,如果是则进行响应,否则就不管。

 可能有人会质疑,"老哥,照你这么说,那全世界的计算机要通信的话不就得都在一个局域网内,这样的话,不就可以联机打CS了?" 我没说过这句话,周树人也没说过。确实,如果只按照上面的方式,全世界的计算机需要进行通信的话必须要求在同一个局域网内,但这是不可能的,即便可能也是一种灾难。所以需要更好的方法,这时候网络层IP协议就登场了,IP协议的主要作用有两个:

给每台计算机分配IP地址和路由。判断两台计算机是否在同一局域网内:计算的方式大致为两个IP地址跟子网掩码做于(&)运算,如果结果相同就在同一子网内,否则则不在。(子网掩码有兴趣可以自己搜一下)

 嗯?你说的这个IP,它跟通信所需要的mac有关系吗?计算机之间是通过mac地址识别的,现在只有IP地址是对不上号的,所以我们需要一个转换器,这个转换器叫做ARP协议(OSI七层中属于链路层),ARP协议的作用就是将IP地址转化为mac地址。有了这个协议,加上之前的那些,全世界的计算机都可以进行通信啦。鼓掌!鼓掌!鼓掌!

 但是!不好意思,我还是得说但是,这样的话计算机之间貌似只能一对一,我们平时一台计算机肯定不止只运行一个程序,像下面这样都得有几个了。

浪里来浪里去!网络协议如何成就网上冲浪?

 

 肯定还有东西将其拆得更细,从而给程序定位,这时候传输层的端口协议TCPUDP就上线了,TCPUDP提供了端口的概念,这样我们通过ip转mac确定一台计算机,再通过端口确定具体的一个程序,从而实现端对端的通信,一台计算机运行多个程序,程序可以跟另一台计算机的程序进行通信,瞬间形成N×N。到了这一层网络协议的基本就结束了,往上还有三层可以理解为辅助和加强作用。

会话层:管理TCP连接、流量控制等。

表示层:格式、字符、加密等翻译工作和转化。

应用层:展示给用户的东西,例如HTTP协议就是一个页面,FTP用于传输等。

Top

3. 小结#

 本文的叙述方式比较口语化,但如果能简单理解那就足够了。首先一开始讲输入一个网址发生的事情,接而引出下方的网络协议,在网络协议中从底层物理层的电信号到最上层应用层的http协议,大致的讲述模式为:当前的问题—>为了解决当前的问题需要怎么做 的这种模式,相信理解起来并不困难。 



Tags:网络协议   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
简介简单就是美。在网络协议的世界中,TCP和UDP是建立在IP协议基础上的两个非常通用的协议。我们现在经常使用的HTTP协议就是建立在TCP协议的基础上的。相当于TCP的稳定性来说...【详细内容】
2021-12-06  Tags: 网络协议  点击:(21)  评论:(0)  加入收藏
Wireshark 中文版是一款mac网络协议分析软件,任何负责的网络分析人员都对这个软件情有独钟。如今,几乎没有哪种产品像它这样拥有如此持久的魅力,很容易看出其中的原因。网管员...【详细内容】
2021-08-20  Tags: 网络协议  点击:(72)  评论:(0)  加入收藏
想象一下今天是个无聊的周末,而你正躺在床上无聊的刷着头条或者抖音。同样的视频不停推荐,你百无聊赖,好奇这些视频是如何发送的。1、你得有一个手机,手机中有一个模块叫无线网...【详细内容】
2021-07-20  Tags: 网络协议  点击:(98)  评论:(0)  加入收藏
Wireshark 中文版是一款mac网络协议分析软件,任何负责的网络分析人员都对这个软件情有独钟。如今,几乎没有哪种产品像它这样拥有如此持久的魅力,很容易看出其中的原因。网管员...【详细内容】
2021-06-11  Tags: 网络协议  点击:(102)  评论:(0)  加入收藏
全球统一的 DNS 是很权威,但是我们都知道“适合自己的,才是最好的”。很多时候,标准统一化的 DNS 并不能满足我们定制的需求,这个时候就需要 HTTPDNS 了。然而,我们信任的地址簿...【详细内容】
2021-04-09  Tags: 网络协议  点击:(212)  评论:(0)  加入收藏
之前写过一篇《通俗易懂TCP/IP(概述)》,广受欢迎和好评,有网友催更,便抽空续写IP章节,回应粉丝期待。TCP/IP网络模型TCP/IP网络模型分为4层,自下而上分布为链路层(又叫网络接口层)、...【详细内容】
2020-08-24  Tags: 网络协议  点击:(99)  评论:(0)  加入收藏
 我们知道计算机之间的通过其实都是通过IP+端口的形式,但是我们平时访问的时候根本就没涉及到这两个东西,还是能访问到资源,为啥呢?这得问问我们神奇的DNS。...【详细内容】
2020-07-28  Tags: 网络协议  点击:(86)  评论:(0)  加入收藏
网络协议——TCP/IP协议简介:TCP(传输控制协议)和 IP(网际协议)是两个独立且紧密结合的协议,负责管理和引导数据报文在 Internet上的传输。二者使用专门的报文头定义...【详细内容】
2020-01-02  Tags: 网络协议  点击:(119)  评论:(0)  加入收藏
Flink 的网络协议栈是组成 flink-runtime 模块的核心组件之一,是每个 Flink 作业的核心。它连接所有 TaskManager 的各个子任务(subtask),因此,对于 Flink 作业的性能包括吞吐与延迟都至关重要。与 TaskManager 和 JobMa...【详细内容】
2019-12-12  Tags: 网络协议  点击:(78)  评论:(0)  加入收藏
这个专栏的计算机网络协议,我是在极客时间上学习 已经有三万多人购买的刘超老师的趣谈网络协议专栏,讲的特别好,像看小说一样学习到了平时很枯燥的知识点,计算机网络的书籍太枯...【详细内容】
2019-12-12  Tags: 网络协议  点击:(80)  评论:(0)  加入收藏
▌简易百科推荐
HTTP 报文是在应用程序之间发送的数据块,这些数据块将通过以文本形式的元信息开头,用于 HTTP 协议交互。请求端(客户端)的 HTTP 报文叫做请求报文,响应端(服务器端)的叫做响应...【详细内容】
2021-12-27  程序员蛋蛋    Tags:HTTP 报文   点击:(1)  评论:(0)  加入收藏
一 网络概念:1.带宽: 标识网卡的最大传输速率,单位为 b/s,比如 1Gbps,10Gbps,相当于马路多宽2.吞吐量: 单位时间内传输数据量大小单位为 b/s 或 B/s ,吞吐量/带宽,就是网络的使用率...【详细内容】
2021-12-27  码农世界    Tags:网络   点击:(2)  评论:(0)  加入收藏
1.TCP/IP 网络模型有几层?分别有什么用? TCP/IP网络模型总共有五层 1.应用层:我们能接触到的就是应用层了,手机,电脑这些这些设备都属于应用层。 2.传输层:就是为应用层提供网络...【详细内容】
2021-12-22  憨猪哥08    Tags:TCP/IP   点击:(29)  评论:(0)  加入收藏
TCP握手的时候维护的队列 半连接队列(SYN队列) 全连接队列(accepted队列)半连接队列是什么?服务器收到客户端SYN数据包后,Linux内核会把该连接存储到半连接队列中,并响应SYN+ACK报...【详细内容】
2021-12-21  DifferentJava    Tags:TCP   点击:(9)  评论:(0)  加入收藏
你好,这里是科技前哨。 随着“元宇宙”概念的爆火,下一代互联网即将到来,也成了互联网前沿热议的话题,12月9日美国众议院的听证会上,共和党议员Patrick McHenry甚至宣称,要调整现...【详细内容】
2021-12-17  王煜全    Tags:Web3   点击:(14)  评论:(0)  加入收藏
一、demopublic static void main(String[] args) throws Exception { RetryPolicy retryPolicy = new ExponentialBackoffRetry( 1000, 3);...【详细内容】
2021-12-15  程序员阿龙    Tags:Curator   点击:(20)  评论:(0)  加入收藏
一、计算机网络概述 1.1 计算机网络的分类按照网络的作用范围:广域网(WAN)、城域网(MAN)、局域网(LAN);按照网络使用者:公用网络、专用网络。1.2 计算机网络的层次结构 TCP/IP四层模...【详细内容】
2021-12-14  一口Linux    Tags:网络知识   点击:(30)  评论:(0)  加入收藏
无论是在外面还是在家里,许多人都习惯了用手机连接 WiFi 进行上网。不知道大家有没有遇到过这样一种情况, 明明已经显示成功连接 WiFi,却仍然提示“网络不可用”或“不可上网”...【详细内容】
2021-12-14  UGREEN绿联    Tags:WiFi   点击:(25)  评论:(0)  加入收藏
拉了千兆宽带,买了标称 1300Mbps 的无线路由器,为什么 WiFi 还是跑不满千兆?要回答这个问题,我们先得知道这个 1300Mbps 是怎么来的。开始回答之前先说明一下,这期只讲 802.11ac,...【详细内容】
2021-12-14  Ubiquiti优倍快    Tags:WiFi   点击:(85)  评论:(0)  加入收藏
问题背景IPv6环境下,在浏览器中通过http://[vip:port]访问web业务,提示无法访问此网站,[vip]的响应时间过长。分析过程之前碰到过多次在PC浏览器上无法访问vip的情况,排查方法也...【详细内容】
2021-12-13  云原生知识星球    Tags:网络问题   点击:(27)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条