TCP/IP
文章平均质量分 73
TCP/IP,苦练内功,计算机世界的九阳神功
stark张宇
我亦无他,惟手熟尔。
展开
-
Tcp是怎样进行可靠准确的传输数据包的?
很多时候,我们都在说Tcp协议,Tcp协议解决了什么问题,在实际工作中有什么具体的意义,想到了这些我想你的技术会更有所提升,Tcp协议是程序员编程中的最重要的一块基石,Tcp是怎样进行可靠准确的传输数据包的呢?看过很多文章里都提到过Tcp协议的三次握手,在这里我要进行系统的整理一下,学习不能人云亦云,要真的去明白其中的道理,下面是一张理解Tcp/Ip的协议图。原创 2023-08-07 16:15:25 · 730 阅读 · 0 评论 -
与tcp协议有关的几个知识点
在Linux中,这个设置是由内核参数net.ipv4.tcp_syn_retries控制的,默认值为6,一个空的TCP连接会消耗3.3KB左右的内存。原创 2022-07-29 13:15:51 · 686 阅读 · 0 评论 -
EasySwoole消息推送8 - 开发完结
概述上周结束了年报项目,一切又是新的开始,准备迎接新一场的暴风雨,然后享受暴风雨后的平静的幸福,好吧,就让我们回顾一下之前项目和项目的问题。存在的问题:如果服务器发生故障,Uid-Fd的对应关系得存在?消息体在推送之前要加以验证,如果存在未读消息,不要复推新的消息?当数量多的时候,存数据的时候采用什么策略分表?部署的时候,怎么支持Ws和Wss?链接(正常/错误)断开的回收?新的思考:1.系统初始化2.需要把消息分成三类:登陆、广播、UID取模3.优雅编程4.部署/启动/热启动原创 2021-01-07 14:40:23 · 601 阅读 · 0 评论 -
Linux性能优化学习笔记①
1.什么是平均负载?uptime命令[root@b0b5a9371ce4 /]# uptime 09:59:49 up 11 days, 14:50, 0 users, load average: 0.16, 0.07, 0.02 09:59:49 //当前时间up 11 days, 14:50 //系统运行时间0 user //正在登录用户数//load average 依次则是过去 1 分钟、5 分钟、15 分钟的平原创 2021-03-19 14:04:47 · 204 阅读 · 0 评论 -
Jmeter - webSocket 压力测试笔记
概述编程的内核是数学,而测试的本质是计算,专业名词叫容量预估,而测试的大体就是用程序模拟程序,检测程序的正确性,有两个点需要注意,QPS最佳值和系统接收最大值,根据测试数据的反馈,针对测试的现象和反映进行优化。Server : i5 8GSwoole : 4.4.23php : 7.2.10Jmeter 的基础使用step.01 Thread Group 线程组设置jmeter自带的thread group非常简单。 一个thread 代表一个vuser,那么我们如果需要多少用户并发,设原创 2021-03-02 11:57:34 · 1116 阅读 · 2 评论 -
代码重构与设计模式 - 实践笔记
概述所有改变和突破的前提是欲望,投入工作是一件蛮开心的事情,时间过的也快,这次项目的主要改造的点有两个,优化代码结构(主要是设计模式上),优化成好用的系统成为了一个新的小目标。面向对象设计原则单一职责原则Srp开放-关闭原则Ocp,解决的是程序的扩展性里式替换原则Lsp,解决的是程序的继承性接口隔离原则Isp依赖反转原则Dip(控制反转/依赖注入)编码原则KISS原则(编码尽量保持简单)YAGNI (当前不需要就不要做)DRY(可复用好的代码)LOD(迪米特法则)问题原创 2021-10-09 14:39:47 · 365 阅读 · 0 评论 -
面试笔记 - 进程/线程/协程
面试笔记 - 进程/线程/协程一个好的后端程序员,要清楚的知道进程、线程和协程的关系,这也是面试中普遍遇到的知识点,知识这东西最怕的就是似懂非懂,又会又不会,真的懂得这个知识点的人虽然不能那么顺利的回答出来,但在大脑里一定有痕迹,所以练好基本功,这是向上进步的基石。面试问题:你怎么理解 进程/线程/协程 ?进程程序和进程计算机刚被发明的时候,只能跑单一的程序,后来冯·诺依曼,提出了存储程...原创 2020-02-28 12:38:31 · 1514 阅读 · 0 评论 -
PHPer的进阶-Swoole网络和未来
PHP基础任何一种编程语言的基础知识看起来都稍微显得有一点枯燥,但确实是首当其冲需要学习和总结的,没有坚实的地基是盖不起万丈高楼的,成为高手的第一课就是学而思,反复练习。1.设计模式 ( http://www.imooc.com/learn/236 )2.php异常,错误处理 ( http://www.imooc.com/learn/380 )PHP - 运行模式1.cgi 协议模式(基本已经不再使用)cgi模式 通用网关接口(Common Gateway Interface),它允许web服务原创 2021-07-02 15:56:10 · 466 阅读 · 0 评论 -
终篇:解惑篇,那些思懂非懂的知识点①
好开心,之前专题里的浏览量已突破3k+了,除了我自己还要特别感谢我的插画师肖敏同学,多才多艺的姑娘,也谢谢每一位光临的读者,尤其是在开篇网关中1.7k+的浏览量和那些点赞的同学,谢谢你们的支持…还有很多知识点,是我最近新解惑的知识点,所以抽一点时间,重新梳理一下。1、说好的MAC地址世界的唯一值,我为啥可以修改呢?在上大学的时候,就听说MAC地址的唯一的,但我明明还可以修改,所以梳理了一下原...原创 2019-08-21 18:33:55 · 673 阅读 · 0 评论 -
应用层 :细解PHP中的流,礼尚往来的真朋友 HTTP/HTTPS/RTMP
朋友的朋在甲骨文最早的来源就是,两串用线串成的贝壳(远古时期的货币),小伙伴来你家做客,拿出一串贝壳请朋友吃饭,你去伙伴家串门,伙伴拿出一串贝壳请你吃饭,讲究的是礼尚往来。http协议原理和朋友间的礼尚往来一样,由请求(request) 和 响应(response)构成,属于应用层协议,是一个标准的客户端服务器模型。http承载于TCP协议之上。请求和响应请求 : 连接是一个传输层的实际...原创 2019-07-23 10:23:39 · 1115 阅读 · 2 评论 -
RPC : 堂堂程序员,应该懂点RPC
从分布式到微服务,互联网公司更注重高性能和高可用,在这里,我想写写关于RPC的那点事儿。如果一个开发者不知道啥是RPC,都不好意思说自己所在的公司是互联网属性的公司。模型建筑师在动工一座大厦的时候都要有沙盘,也算是模型,构建它的美学和建筑原理,RPC也一样,RPC概念出现的很早,后来在 Bruce Jay Nelson 的论文里,定义了RPC的调用标准。后面所有RPC框架,都是按照这个标准模...原创 2019-07-31 18:34:58 · 1339 阅读 · 2 评论 -
网络云:云技术是网络世界的真假美猴王Ya
西游记里有这么一回,真假美猴王,虚拟机和这个东西差不多,在物理机上安装虚拟软件,主要会模拟 CPU、内存、网络、硬盘,使得虚拟机感觉自己在使用独立的设备,但是真正使用的时候,当然还是使用物理的设备。虚拟机就是一个骗子,真真假假、傻傻分不清楚。虚拟机多了,在这基础上出现了云计算技术。虚拟网技术是Zen么实现的?1、虚拟机要有一张网卡。对于 qemu-kvm 来说,这是通过 Linux 上的一种...原创 2019-07-26 15:43:12 · 713 阅读 · 0 评论 -
仙剑3: 带你看胡霍CP,聊TCP/UDP/Socket
仙剑3: 带你看胡霍CP,聊TCP/UDP相信很多人都看过仙剑3这部电视,大火之后,产生了胡霍CP,产生了一个娱乐圈现象,是胡不是霍,是霍躲不过Ya ~在要好的朋友也是有区别的,有什么甚至是互补的一对,TCP和UDP也是如此。TCP/UDP 区别所有的信息通信都是要有连接的。所谓的建立连接,是为了在客户端和服务端维护连接,而建立一定的数据结构来维护双方交互的状态,用这样的数据结构来保证所谓的...原创 2019-07-22 14:02:10 · 1025 阅读 · 0 评论 -
极客时间 - (应用层) P2P学习笔记
FTPFTP也即文件传输协议。FTP 采用两个 TCP 连接来传输一个文件。控制连接:服务器以被动的方式,打开众所周知用于 FTP 的端口 21,客户端则主动发起连接。该连接将命令从客户端传给服务器,并传回服务器的应答。常用的命令有:list——获取文件目录;reter——取一个文件;store——存一个文件。数据连接:每当一个文件在客户端与服务器之间传输时,就创建一个数据连接。...原创 2019-07-12 15:04:27 · 318 阅读 · 0 评论 -
极客时间 - (应用层) 流媒体协议(RTMP)学习笔记
三个名词系列名词系列一:AVI、MPEG、RMVB、MP4、MOV、FLV、WebM、WMV、ASF、MKV。例如 RMVB 和 MP4,看着是不是很熟悉?名词系列二:H.261、 H.262、H.263、H.264、H.265。这个是不是就没怎么听过了?别着急,你先记住,要重点关注 H.264。名词系列三:MPEG-1、MPEG-2、MPEG-4、MPEG-7。MPEG 好像听说过,但是...原创 2019-07-12 11:00:34 · 490 阅读 · 2 评论 -
极客时间 - 数据中心 - DNS学习笔记
DNS 服务器由此可见,DNS 在日常生活中多么重要。每个人上网,都需要访问它,但是同时,这对它来讲也是非常大的挑战。一旦它出了故障,整个互联网都将瘫痪。另外,上网的人分布在全世界各地,如果大家都去同一个地方访问某一台服务器,时延将会非常大。因而,DNS 服务器,一定要设置成高可用、高并发和分布式的。DNS 解析流程为了提高 DNS 的解析性能,很多网络都会就近部署 DNS 缓存服务器。于是...原创 2019-07-12 17:05:32 · 295 阅读 · 0 评论 -
极客时间 - 数据中心 - HTTPDNS学习笔记
传统 DNS 存在哪些问题域名缓存问题它可以在本地做一个缓存,也就是说,不是每一个请求,它都会去访问权威 DNS 服务器,而是访问过一次就把结果缓存到自己本地,当其他人来问的时候,直接就返回这个缓存数据。有的运营商会把一些静态页面,缓存到本运营商的服务器内,这样用户请求的时候,就不用跨运营商进行访问,这样既加快了速度,也减少了运营商之间流量计算的成本。在域名解析的时候,不会将用户导向真正...原创 2019-07-12 18:42:41 · 443 阅读 · 0 评论 -
极客时间 - 网关学习笔记整理
极客时间 - 网关学习笔记整理在进行网卡配置的时候,除了 IP 地址,还需要配置一个Gateway的东西,这个就是网关。如果是同一个网段,例如,你访问你旁边的兄弟的电脑,那就没网关什么事情,直接将源地址和目标地址放入 IP 头中,然后通过 ARP 获得 MAC 地址,将源 MAC 和目的 MAC 放入 MAC 头中,发出去就可以了。如果不是同一网段,例如,你要访问你们校园网里面的 BBS,该...原创 2019-07-09 14:26:49 · 527 阅读 · 0 评论 -
极客时间 - 路由协议笔记
极客时间 - 路由协议笔记路由表路由器就是一台网络设备,它有多张网卡。当一个入口的网络包送到路由器时,它会根据一个本地的转发信息库,来决定如何正确地转发流量。这个转发信息库通常被称为路由表。 ip route add 10.176.48.0/20 via 10.173.32.1 dev eth0就说明要去 10.176.48.0/20 这个目标网络,要从 eth0 端口出去,经过 10....原创 2019-07-09 16:06:48 · 301 阅读 · 0 评论 -
极客时间 - (传输层) UDP协议学习笔记
极客时间 - (传输层) UDP协议学习笔记TCP 与 UDP的区别所谓的建立连接,是为了在客户端和服务端维护连接,而建立一定的数据结构来维护双方交互的状态,用这样的数据结构来保证所谓的面向连接的特性。1、TCP 连接传输的数据,无差错、不丢失、不重复、并且按序到达。而UDP 继承了 IP 包的特性,不保证不丢失,不保证按顺序到达。2、TCP 是面向字节流的。发送的时候发的是一个流,没头没...原创 2019-07-09 18:50:24 · 348 阅读 · 0 评论 -
极客时间 - 从物理层到MAC层笔记
极客时间 - 从物理层到MAC层笔记物理层水晶头的第 1、2 和第 3、6 脚,它们分别起着收、发信号的作用。将一端的 1 号和 3 号线、2号和 6 号线互换一下位置,就能够在物理层实现一端发送的信号,另一端能收到。当然电脑连电脑,除了网线要交叉,还需要配置这两台电脑的 IP 地址、子网掩码和默认网关。这三个概念上一节详细描述过了。要想两台电脑能够通信,这三项必须配置成为一个网络,可以一个...原创 2019-07-09 20:20:07 · 278 阅读 · 0 评论 -
极客时间 - (传输层) TCP协议学习笔记01
极客时间 - (传输层) TCP协议学习笔记01TCP包头格式1、源端口号和目标端口号是不可少的(应用系统用端口号去寻找应用,反过来应用通过端口号监听系统)2、发送和接收有序,还应该有的就是确认序号。3、TCP 是靠谱的协议,努力做到在传输层不丢包。4、TCP 有一些状态位。 SYN 是发起一个连接,ACK 是回复,RST 是重新连接,FIN 是结束连接等5、TCP 要做流量控制...原创 2019-07-10 11:50:01 · 395 阅读 · 0 评论 -
极客时间 - (传输层) Socket 学习笔记
极客时间 - (传输层) Socket 学习笔记在网络层,Socket 函数需要指定到底是 IPv4 还是 IPv6,分别对应设置为 AF_INET 和AF_INET6。另外,还要指定到底是 TCP 还是 UDP。还记得咱们前面讲过的,TCP 协议是基于数据流的,所以设置为 SOCK_STREAM,而 UDP 是基于数据报的,因而设置为SOCK_DGRAM。基于 TCP 协议的 Socket ...原创 2019-07-10 17:36:55 · 519 阅读 · 0 评论 -
极客时间 - 数据中心 - CDN学习笔记
分布在各个地方的各个数据中心的节点,就称为边缘节点。在没有 CDN 的情况下,用户向浏览器输入 www.web.com 这个域名,客户端访问本地 DNS服务器的时候,如果本地 DNS 服务器有缓存,则返回网站的地址;如果没有,递归查询到网站的权威 DNS 服务器,这个权威 DNS 服务器是负责 web.com 的,它会返回网站的 IP 地址。本地 DNS 服务器缓存下 IP 地址,将 IP 地址...原创 2019-07-15 11:53:08 · 495 阅读 · 0 评论 -
极客时间 - (应用层) HTTP 学习笔记
http://www.163.com 是个 URL,叫作统一资源定位符。之所以叫统一,是因为它是有格式的。HTTP 称为协议,www.163.com 是一个域名,表示互联网上的一个位置。有的 URL 会有更详细的位置标识,例如 http://www.163.com/index.html 。正是因为这个东西是统一的,所以当你把这样一个字符串输入到浏览器的框里的时候,浏览器才知道如何进行统一处理。H...原创 2019-07-11 11:07:49 · 463 阅读 · 0 评论 -
极客时间 - (应用层) HTTP2.0/QUIC 学习笔记
HTTP2.0HTTP 1.1 在应用层以纯文本的形式进行通信。每次通信都要带完整的 HTTP 的头,而且不考虑pipeline 模式的话,每次的过程总是像上面描述的那样一去一回。这样在实时性、并发性上都存在问题。为了解决这些问题,HTTP 2.0 会对 HTTP 的头进行一定的压缩,将原来每次都要携带的大量key value 在两端建立一个索引表,对相同的头只发送索引表中的索引。另外,HT...原创 2019-07-11 14:18:25 · 418 阅读 · 0 评论 -
网关: 一夫当关,万夫莫开
开篇:程序老鸟已经入行好多年,只是对编程知识还是一知半解,想想突破和改变,不才,胸中三点墨,把写字的爱好挪到编程上多好,其实也是穷困所迫,不得不做这件事儿,提升,突破从此刻开始,Go ~剑阁峥嵘而崔嵬,一夫当关,万夫莫开。 -- 李白秦有函谷关,御六国之师,伏尸百万,流血漂橹;汉有玉门关,拒匈奴,通西域,创丝绸之路;明有山海关,皇太极饮恨而终,终生不得入中原。在计算机的世界里,网关扮演着非常...原创 2019-07-18 11:52:56 · 2179 阅读 · 2 评论 -
极客时间 - ICMP与ping 传输原理理解笔记
ICMP与ping 传输原理理解ping 是基于 ICMP 协议工作的。ICMP全称Internet Control Message Protocol,就是互联网控制报文协议。ICMP 报文是封装在 IP 包里面的。因为传输指令的时候,肯定需要源地址和目标地址。它本身非常简单。因为作为侦查兵,要轻装上阵,不能携带大量的包袱。ICMP 报文有很多的类型,不同的类型有不同的代码。最常用...原创 2019-07-09 10:53:01 · 1035 阅读 · 0 评论