- 博客(42)
- 收藏
- 关注
原创 第三十五篇:HTTP报文格式,HTTP系列二
HTTP 是超⽂本传输协议,也就是HyperTextTransferProtocol。前面我们讲到第三章中网络协议的定义,网络协议的定义:网络协议是通信计算机双方必须共同遵从的一组约定。就像两个人要进行交流,如果不制定一套约定,一方用英语,一方用汉语,两个人都听不懂对方,如何进行交流呢?我们的计算机也一样。如此,便诞生了广为流传的http协议,主机双方用此进行应用层的信息交流。
2024-11-01 11:25:58
1589
1
原创 第三十四篇:URL和URI的区别,HTTP系列一
超文本,顾名思义,就是一个超级文本,超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。文本,本来是静态的,但是超文本却允许用户操作,内容会动态变化,这样形式的文本,就是超文本。,顾名思义,就是一个超级文本,超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。文本,本来是静态的,但是超文本却允许用户操作,内容会动态变化,这样形式的文本,就是超文本。简单来说,就是URI是抽象的定义,不管用什么方法表示,只要能定位一个资源,就叫URI。URI 其包括URL 和 URN。
2024-10-31 11:51:38
949
原创 第三十三篇:TCP协议如何避免/减少网络拥塞,TCP系列八
BIC的发明者发这么多的拥塞控制算法都在努力找一个合适的cwnd Congestion Window,而且BIC-TCP的提出者们看穿了事情的本质,其实这就是一个搜索的过程,所以BIC这个算法主要用的是Binary Search——二分查找来干这个事。网络是一个相当复杂的环境,我们发送数据不能只考虑交互两端的情况,基于交互两端的情况做出流量控制是不够的,我们还需要考虑网络的情况,网络上的包就像来来往往的车流,如果没有管制,那将是灾难的,试想,如果在十字路口没有红绿灯还没有交警,那将会发生什么?
2024-10-29 22:44:19
2393
1
原创 第三十二篇:TCP协议粘包和滑动窗口,TCP系列七
滑动窗口:指无需等待确认应答而可以继续发送数据的最大值,即累计可以不确认应答的数据的最大数值。同时其是是一种流量控制技术。
2024-10-28 11:23:02
1183
原创 第三十一篇:TCP协议如何解决丢包的问题,TCP系列六
前面我们说TCP协议是、基于字节流、面向连接的这里我想换种说法:与其说是TCP协议是可靠的,不如说传输层程序软件实现了TCP协议的规范(网络层次模型,每一层都有对应的程序软件),让TCP协议是。如果传输的数据过小,例如数据只有1byte,那么为了传输这1byte数据,至少要消耗20字节IP头部+20字节TCP头部=40byte,这还不包括其二层头部所需要的开销,显然这种数据传输效率是很低的。
2024-10-24 11:49:18
2504
原创 第三十篇:TCP连接断开过程,从底层说明白,TCP系列五
比如客户端发一段数据给服务端, 服务端本应该立刻回ACK给客户端的, 延迟应答是为了提高网络传输的效率, 比如服务端收到客户端的数据后, 不是立刻回ACK给客户端, 而是等一段时间(一般最大200ms),这样如果服务端要是有数据需要发给客户端,那么这个ACK就和服务端的数据一起发给客户端了, 这样比立即回给客户端一个ACK节省了一个数据包。当 TCP 保活的探测报⽂发送给对端后,对端是可以响应的,但由于没有该连接的有效信息,会产⽣⼀个 RST 报⽂,这样很快就会发现 TCP 连接已经被᯿置。
2024-10-22 11:57:02
1672
2
原创 第二十九篇:图解TCP三次握手,看过不会忘,从底层说清楚,TCP系列四
⼀开始,客户端和服务端都处于 CLOSED 状态。先是服务端主动监听某个端⼝,处于 LISTEN 状态。接下来这部分内容的介绍将影响你能不能彻底理解了TCP的三次握手。
2024-10-21 12:12:49
1243
原创 第二十九篇:TCP的报文格式,TCP系列三
选择性确认(Selective Acknowledgment,SACK)选项,TCP通信时,如果某个TCP报文段丢失,则TCP会重传最后被确认的TCP报文段后续的所有报文段,这样原先已经正确传输的TCP报文段也可能重复发送,从而降低了TCP性能。其中块左边沿表示不连续块的第一个数据的序号,而块右边沿则表示不连续块的最后一个数据的序号的下一个序号。在TCP的头部中,接收窗口大小是用16位表示的,故最大为65535字节,但实际上TCP模块允许的接收窗口大小远不止这个数(为了提高TCP通信的吞吐量)。
2024-10-21 11:54:44
933
原创 第二十八篇:TCP协议概述,TCP系列二
客户端要与服务器端进行通信,服务器端必须开启监听的端口,因为TCP报文到达接收端的传输层的时候,需要找到监听端口的程序,然后交给该程序去处理,并且TCP协议规定TCP报文中必须带有目的端口,然后才能进行通信。换句话说,TCP 可以一个字节一个字节地接收数据,就像水流一样处理,而不是一次接收一个预订格式的数据块。并且消息是「有序的」,当「前⼀个」消息没有收到的时候,即使它先收到了后⾯的字节,那么也不能扔给应⽤层去处理,同时对「如果数据以错误的顺序到达目的地,TCP 模块能够对数据重新排序,来恢复原始数据。
2024-10-15 11:36:28
918
原创 第二十七篇:传输层讲解,TCP系列一
IP只能定位数据哪台主机,无法判断数据报文应该交给哪个应用,传输层给每个应用都设置了一个编号,这个编号就是端口,目的端口可以定位报文应该发给哪个应用处理。无连接是指通信双方不需要事先建立通信线路,而是把每个带有目的地址的包(报文分组)发送到线路上,由系统选定路线进行传输,不需要目标方进行回复。要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。面向连接就是通信双方在通信时,要事先建立一条通信线路,然后进行通信。面向连接的传输,需要对连接进行管理。第一阶段是建立连接;
2024-10-15 11:30:58
697
原创 第二十六:TCP/IP的知识回顾
由于收发双方各自使用的设备工作速率和缓冲存储的空间的差异,可能出现发送方发送能力大于接收方接收能力的现象,如若此时不对发送方的发送速率(也即链路上的信息流量)作适当的限制,前面来不及接收的帧将被后面不断发送来的帧“淹没”,从而造成帧的丢失而出错。一个实用的通信系统必须具备发现(即检测)这种差错的能力,并采取某种措施纠正之,使差错被控制在所能允许的尽可能小的范围内,这就是差错控制过程,也是数据链路层的主要功能之一。帧定界就是标识帧的开始与结束,目的是让接收方能从接收到的二进制比特流中区分出帧的起始与终止。
2024-10-14 11:42:30
590
原创 第二十五:IP网络层的数据,IP数据报
因此,当 IP 的首部长度为 1111 时(即十进制的 15),首部长度就达到 60 字节。当数据报的长度超过网络的 MTU,而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。第三位称为 MF(更多分片),表示是否还有分片正在传输,设置为 0 时,表示没有更多分片需要发送,或数据报没有分片。由于可选字段中的长度不是固定的,使用若干个 0 填充该字段,可以保证整个报头的长度是 32 位的整数倍。例如,TCP 的协议号为 6,UDP 的协议号为 17,ICMP 的协议号为 1。
2024-10-14 11:39:33
2356
原创 第二十三篇:网络拥塞了,TCP/IP如何解决的?
当发生网络拥塞时,发送主机应该减少数据包的发送量。作为IP上层协议,TCP虽然也能控制网络拥塞,不过它是通过数据包的实际损坏情况来判断是否发生拥塞。ECN的机制概括起来就是在发送包的IP首部中记录路由器是否遇到拥塞,并在返回包的TCP首部中通知是否发生过拥塞。拥塞检查在网络层进行,而拥塞通知则在传输层进行,这两层的互相协助实现了拥塞通知的功能。ECN为实现拥塞通知的功能,将IP首部的TOS字段置换为ENC字段,并在TCP首部的保留位追加CWR标志和ECE标志。
2024-10-12 14:22:54
1769
原创 第二十二篇:IP任播,你的报警电话110为何总能达到最近的点?
IP任播主要用于报警电话110和消防电话119系统。当人们拨打110或者119的时,其接收电话并不只有一个,而是可以拨打到一个区域管辖范围内的所有公安或消防部门。省、市、县、乡等不同级别的区域都各自设置110和119的急救电话,而且数量庞大。IP任播是指为那些提供同一种服务的服务器配置同一个IP地址并与最近的服务器进行的通信的一种方法。这种机制的实现,在互联网上就是IP任播。
2024-10-12 14:11:37
312
原创 第二十一篇:你知道直播,小区视频点播等是怎么实现的吗?(组播协议)
⑴ 主机通过IGMP通知路由器希望接收或离开某个特定组播组的信息。⑵ 路由器通过IGMP周期性地查询局域网内的组播组成员是否处于活动状态,实现所 连网段组成员关系的收集与维护。
2024-10-11 11:59:04
1244
原创 第二十篇:必知的网络常识概念
在任何情况下,路由器都不转发目的地址为有限广播地址的数据报,这样的数据报仅出现在本地网络中。指把信息同时传递给一组目的地址。有限广播地址通常在配置主机的启动信息时使用,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的IP地址也不知道。在划分为子网的internet网络中,网络设备可以使用全部子网定向广播地址向所有子网的主机发送广播消息。将任播报文至少传输到一个具有任播地址的主机,最好仅仅传输到一个主机,改善网络负载拓扑,较好地分摊网络负载,提高网络服务的范围和服务质量,使网络资源得到合理利用;
2024-10-11 11:51:01
1084
原创 第十八篇:一文说清楚ICMP的底层原理
有的时候我们并不知道路由器的 MTU ⼤⼩,以太⽹的数据链路上的 MTU 通常是 1500 字节,但是⾮以外⽹的 MTU 值就不⼀样了,所以我们要知道 MTU 的⼤⼩,从⽽控制发送的包⼤⼩。会影响的是根据⽬标 IP 地址,选择路由的下⼀跳,还有每经过⼀个路由器到达⼀个新的局域⽹,需要换 MAC 头⾥⾯的 MAC 地址。当主机访问对端主机 8080 端⼝时,这次能找到对端主机了,防⽕墙也没有限制,可是发现对端主机没有进程监听8080 端⼝,那么会通过 ICMP 协议以端⼝不可达的原因告知主机。
2024-10-09 11:40:51
1518
原创 在mac中如何使python3作为默认版本
请注意,更改默认的Python版本可能会影响依赖特定Python版本的应用程序或脚本。因此,确保在更改后测试所有依赖Python的程序。如果你希望使用Python 3作为默认的Python版本,你可以更改环境变量,将。在系统中同时安装了Python 2和Python 3,且二者的执行文件分别是。看到的是Python 3的版本,这表明系统能够正确区分两个版本。在Windows系统中,你可以通过更改系统的环境变量设置来实现。看到的是Python 2的版本,而执行。
2024-09-18 00:59:22
1112
原创 第一篇:教你轻松部署本地大模型(Ollama)
搞研发的,想学习大模型的,很多都想本地部署一波,体验一下,部署是学习的第一步,我们不仅仅是要理论的巨人,还要成为实战的专家。不要恐惧,不要恐惧,不要恐惧,重要的问题说三遍,新手会面临很多问题:1. 大模型能本地化部署吗?2. 大模型本地化部署对硬件有什么要求没?3. 大模型本地化部署难度大吗?4. 大模型部署完后带UI界面吗?当你跟着我部署完大模型后,这些问题将迎刃而解。
2024-09-12 18:55:28
1074
原创 第十七篇:TCP协议介绍(1)
选择性确认(Selective Acknowledgment,SACK)选项,TCP通信时,如果某个TCP报文段丢失,则TCP会重传最后被确认的TCP报文段后续的所有报文段,这样原先已经正确传输的TCP报文段也可能重复发送,从而降低了TCP性能。客户端要与服务器端进行通信,服务器端必须开启监听的端口,因为TCP报文到达接收端的传输层的时候,需要找到监听端口的程序,然后交给该程序去处理,并且TCP协议规定TCP报文中必须带有目的端口,然后才能进行通信。TCP 把接收到的数据组成长度不等的段,再传递到网络层。
2024-09-06 12:01:26
1458
原创 第十六篇:走入计算机网络的传输层--传输层概述
① 分割与重组数据一次数据传输有大小限制,传输层需要做数据分割,所以在数据送达后必然也需要做数据重组。② 按端口号寻址IP只能定位数据哪台主机,无法判断数据报文应该交给哪个应用,传输层给每个应用都设置了一个编号,这个编号就是端口,目的端口可以定位报文应该发给哪个应用处理。③ 连接管理面向连接的传输,需要对连接进行管理。④ 差错控制和流量控制,纠错的功能要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。①。
2024-09-06 11:52:50
968
原创 第十五篇:我们经常上网,有几个技术人知道上网IP是怎么来的呢?
说到我们的日常上网,就不得不提一个协议:DHCP协议。DHCP全称Dynamic Host Configuration Protocol,动态主机配置协议。DHCP与ARP一样是局域网的网络协议。在分层模型里面,其属于应用层协议,底层使用的是UDP协议。虽然DHCP是应用层协议,但是为了更好的阐述网络结构,更全面的描述我们的上网过程,我这里把DHCP放在网络层来讲。前面我们说过,全世界IPv4的IP地址是有限的,并且每一台的电子设备在互联网上都有一个独一无二的身份证(IP地址);
2024-09-05 11:49:13
1244
原创 第十四篇:每天都在上网,居然不知道ARP协议?
我们前面系列文章提到过,电脑A给电脑B发信息,电脑A需要知道电脑B的IP地址,mac地址等才能正确的把信息发送给电脑B。上面DNS章节我们讲到,DNS协议可以通过域名查询到IP。
2024-09-04 11:57:21
1051
原创 第十三篇:一文讲明白域名与DNS
1)MAC地址用于定位局域网主机,其工作在数据链路层。2)IP地址用于定位主机所在网络,并定位局域网主机,其工作在网络层。3)端口用于定位主机应用,其工作在传输层。我们可以通过IP地址+端口访问网络上的某个应用;但是,通过IP地址+端口访问的方式不利于记忆与网站的传播,并且我们的网站可能会变更访问的IP,所以我们需要一个便于记忆、稳定的网站代号,这个代号就是域名。域名绑定IP,且域名绑定的IP可以变更。域名为网络中的服务器提供了便于人类理解的符号,IP地址像我们的身份证,域名像我们的名字。
2024-09-04 11:41:30
1210
原创 第十一篇:作为技术人,有多少人真正知道以太网呢?
简单来说,目前我们使用最广泛的组网模式都是以太网模式,可以说占了9成9。那么什么是以太网,以及以太网的一些组网技术又都有哪些呢?
2024-09-03 14:28:30
1135
原创 第十篇:你真的了解“局域网”吗?
Wi-Fi是一种允许设备连接到WLAN(无线局域网)的技术,我们说无线网络传输,用电磁波可以传输信息,而电磁波既然叫波,就有波长和频率,而毕竟著名的就有2.4g和5g的射频频段;这样局域网里面的系统就不能直接访问局域网2里面的,它们物理上是连在一起的,但是逻辑上是分开的两个网络,所以叫做虚拟局域网;AP是Access Point的简称,无线AP就是无线局域网的接入点、无线网关,俗称“热点”,充当无线接入点的设备有:无线路由器、无线交换机。室外天线的类型比较多,一种是锅状的定向天线,一种是棒状的全向天线。
2024-09-02 11:32:15
1402
原创 第九篇:大部分人居然连什么是“共享介质网络”与“非共享介质网络”都不知道?
发送端情况看,当一个工作站有数据要发送时,他首先监听信道并检测网络上是否有其他的工作站正在发送DATA,如果检测到信道忙,工作站将继续WAIT若发现信道空闲,则开始发送数据,信息发送出去后,发送端还要继续对发送出去的信息进行确认,以了解接收端是否已经正确接收到数据,如果收到则发送结束,否则再次发送。非共享介质网络用双绞线,双绞线里面有8个根线,2根作为进线,2根作为出线,其他4根是接入交换机的地线,起屏蔽作用;即甲向乙发送信息的时候,乙不能向甲发送信息,只有等甲信息发送完了,乙才能给甲发信息。
2024-09-02 11:20:04
509
原创 第八篇:计算机网络为何要进行分层?
针对这些公有的协议,我们最好选择一个中间的组织来管理;所以在网络中消息从A传到B,两边必须有一个约定,A传输的信息按照什么格式来进行封装,B就得按照相同的方式来解析,不然A用一种格式封装,B用另一种方式进行解析,最后牛头不对马嘴,A、B不明白相互要表达什么意思,导致双方无法正常通信。答案是有,我们知道,现在国际上的主流语言是英语,我们可以采用一套大家都公认的语言(协议)来进行交流,比如西班牙人要跟我们中国人交流,我们都去学习英语,同理阿拉伯人要跟我们交流,也是去学习英语,这样英语就成为了通用的交流语言。
2024-08-22 01:28:20
886
原创 题外篇:作为程序员你却不知道手机如何进行信息收发?
每天都在用手机进行社交、游戏、购物、新闻、视频,但是你知道手机是如何进行信息收发的吗?上一次我分享了《高级工程师都不懂的事:为什么计算机是0和1的世界》的文章,今天我给大家分享手机是如何进行信息收发的
2024-08-22 01:16:36
847
原创 第六篇:网络中的信息如何精确从源主机到目标主机?
上面的文章中我们已经搭建好了网络,满足了上海可以发送消息到北京的基础条件;那么问题来了。问题1: 如图下图所示,思考一下现在B要给E发信息,怎么准确的把消息投递给E呢?我们知道,在现实生活中,要将一个东西送到目的地;我们需要知道!那么在网络中也一样。我们需要一个可以识别机器的地址,这个地址就是mac地址必须是全世界唯一,否则,如果E和D都是一样的mac地址,那么我们依然不知道B的消息要怎么到达E(就像外卖员送外卖到小区,小区里面的楼如果没有标号,外卖员如何知道将外卖送到哪栋楼哪个单元呢?
2024-08-15 15:20:42
829
原创 第七篇:电脑(设备)在互联网上的身份证IP地址
然后发送到北京局域网的路由器,我们这里叫路由器2,这个路由器有个特殊的功能,它记录局域网中Mac地址与IP的对应关系,如此,路由器2就可以解析信息包,拿到目的IP,然后从这个特殊的Mac地址与IP的对应关系表里面查到目的IP对应的Mac地址,然后将信息包里面的目的mac地址换成这个mac地址,如此当信息到达主机A的时候,根据mac地址对比,发现信息是发给自己的,接收处理。其实这里的mac地址不是我们“北京的局域网2的A”的Mac地址,而是我们网关路由器的mac地址,那这个网关服务器的地址怎么获得呢?
2024-08-15 15:19:57
1058
原创 网络基础知识:二进制及其运算
二进制整数转换为八进制整数时,每三位二进制数字转换为一位八进制数字,运算的顺序是从低位向高位依次进行,高位不足三位用零补齐。十六进制整数转换为二进制整数时,思路是相反的,每一位十六进制数字转换为四位二进制数字,运算的顺序也是从低位向高位依次进行。八进制整数转换为二进制整数时,思路是相反的,每一位八进制数字转换为三位二进制数字,运算的顺序也是从低位向高位依次进行。把取出的整数部分按顺序排列起来,先取出的整数作为 N 进制小数的高位数字,后取出的整数作为低位数字,这样就得到了 N 进制小数。
2024-08-15 15:06:51
5287
原创 高级工程师都不懂的事:为什么计算机是0和1的世界
下面我们将以抖音视频的录制来进行举例,我们在录制抖音视频的时候,我们的摄像头就将采集到的视频画面转换成了一串串0101101110111... 同时通过麦克风IC和MEMS传感器,将拾取到的声音转化为0和1(数字信号), 而这里的0和1的组合不是真的0和1,它们只是高低电平的逻辑表示,而我们的芯片有以亿计的电路组件单元,每个单元都可以表示0和1(我们光刻机的伟大,在指甲盖大小的芯片上刻录数以亿计的电路)。注:电压电平---某一电压与任意指定的参考电压之比,用比值的对数形式表示的电压大小。
2024-08-15 14:21:57
1412
1
原创 第五篇:光电转换器-无线电波与电信号以及光信号与电信号如何进行转换?
信息从“现实世界”转换成“信息世界”的符号,需要通过装置将信息转换成电信号,电信号如何传输呢?就是通过我们的光纤或电磁波,那么电信号如何转换成光信号,就是我们接下来要认识的。:又叫光纤收发器,进行光电转换;其分为多模光纤收发器和单模光纤收发器,中继器就是其中一种。将电信号转换成无线电波信号发送出去,另一侧的接收。:电信号与无线电波信号的转换装置。将无线电波信号转换成电信号。
2024-08-15 12:39:32
915
原创 第四篇:光信号或无线电波在传输过程中会信息衰减,如何解决?
光信号在光纤内传输的时候,会随着传输距离的增加而发生衰减,当其小于一个定值的时候,光接收机在接收光信号后无法正确识别光信号编码,导致传输错误。所以需要一个设备来接收光信号,放大信号之后再发出去,这个设备就是“中继器”,光信号或无线电波在传输过程中会信息衰减,如何解决?解决这个问题的办法就是在线路上加上信号增强器“
2024-08-13 14:41:42
474
原创 第三篇:速成术!三分钟记住计算机网络拓扑结构,看这一篇就够!
局域网与地理位置没有关系,局域网可以横跨大江南北,比如国内的电力专线,就是构建的私有的电力网络,电力公司自己牵光缆搭建起来,专门用来电力领域通信的的网络,这可以看作一个电力局域网;现在可以在北京组建一个局域网,上海也可以放在北京的局域网里面,但是为了后面的表示方便,这里我们将把上海划为另一个局域网,这样北京、分属于不同的局。上面的网络结构都有自己的缺陷,所以为了客服这些缺陷,我们自然就想到,我们要给谁发信息就跟谁连一根网线,如此就组成了一个网状的拓扑结构。
2024-08-13 14:30:36
748
原创 第一篇:一分钟理解什么是计算机网络
你回到了30年前,现在有两台电脑,一台电脑在上海(A),一台在北京(B),现在要求你设计让这两台电脑能通信,你一定会说,这个很简单,拉一根网线让两台电脑连起来就可以了;是的,就是这么简单!从名字上来讲,是不是觉得计算机网络就是一张网呢?是的,计算机网络就是一张网,就是用网线、光缆、无线电波把每台电脑连起来的网络。今天就让我来带你从无到有的建立一个网络!既然计算机是用线连起来的,那么“线”是什么线呢?下一篇文章给大家普及一下这个网络的“线”----- 传输介质。,一个机房里面的设备也可以组成不同的局域网!
2024-08-13 14:20:03
339
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人