• 什么是 TCP 的三次握手和四次挥手,看看这篇
    TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一。很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准确回答。本文就来简单谈谈 TCP 的三次握手和四次挥手。在了解后面的知识之前我们先来看下 OSI 七层模型吧。What is the OSI model?开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为 OSI 模型(OSI model),一种概念模型,由国际标准化组织(ISO)提出,一...
  • TCP粘拆包详解与Netty代码示例
    TCP是个“流”协议,所谓流,就是没有界限的一串数据。可以想想河里的流水,是连成一片的,其间并没有分界线。TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的TCP粘包和拆包问题。有关TCP的详细讲解,可以点击查看这一篇和另外一篇TCP粘包或拆包的原因应用程序写入的数据大于套接字缓冲区大小,这将会发生拆包。应用程序写入数据小于套接字缓冲区大小,网卡将应...
  • 详解三次握手和四次挥手:遇到心动的女孩时,如何去把握?
    点击上方 "程序员小乐" ,关注公众号8点20分,第一时间与你相约每日英文 The world is small and the city is big.People who lack for luck would not see one another again for the rest of life.世界很小,城市很大,欠缺缘分的人也许终生也不会再见了。每日掏心话 微笑着面对生活,即使一文不名,也能睡得香甜;微笑着面对人生,即使在黑暗中,也能看到希望的曙光。来自:刘羽冲 | 责编:乐乐链接:http...
  • 详解三次握手和四次挥手:和程序员学撩妹?
    我有一个朋友,小泷,他与我倾诉:他在咖啡厅与朋友闲谈,遇到了一个让时间彷佛静止的女孩。他描述,那一刻,他的心彻底被抓住了,脑中轰然,眼睛无法再从她身上移开。而女孩,也时不时向她望来,那是一双如秋水般清澈的明眸。小泷说,他非常非常想想把握,这一次心动。然而,自始自终,他没能迈出那一步,他不知道该怎么办。TCP协议之握手:如何开启一段情感羁绊。小泷的困境,是每个男孩的困境。我告诉他,如果你懂得TCP协议,就会把握一段感情了。TCP(Transmission control protocal),传输控制协议,既是...
  • 详解三次握手和四次挥手:遇到心动的女孩时,如何去把握?
    作者:刘羽冲链接:https://segmentfault.com/a/1190000019052710我有一个朋友,小泷,他与我倾诉:他在咖啡厅与朋友闲谈,遇到了一个让时间彷佛静止的女孩。他描述,那一刻,他的心彻底被抓住了,脑中轰然,眼睛无法再从她身上移开。而女孩,也时不时向她望来,那是一双如秋水般清澈的明眸。小泷说,他非常非常想想把握,这一次心动。然而,自始自终,他没能迈出那一步,他不知道该怎么办。TCP协议之握手:如何开启一段情感羁绊。小泷的困境,是每个男孩的困境。我告诉他,如果你懂得TCP协议,就会...
  • 趣谈TCP协议的缺陷
    100人眼里有100种哈姆雷特,谈谈我眼中的TCP。TCP做为一种可靠传输协议,其核心目标是把应用层的数据正确、可靠、高效传输到对端,而TCP所依赖的IP网络是一个原始的丛林世界,丢包、乱序、延迟不固定。TCP有一个孪生兄弟叫UDP,UDP是一大老粗,但非常听话。UDP在IP网络丛林里,严格执行自己的主人(应用层)的旨意,主人让发1000个/秒UDP包,UDP就一定会发那么多,也许这1000个包最终到达目的地的只有200个,其它的800个消失在丛林世界里无影无踪。TCP是举止优雅的绅士,对丛林世界的潜规则很...
  • 关于Keepalive的那些事
    服务端很多同学包括自己对keepalive理解不清晰,经常搞不清楚,TCP也有keepalive,HTTP也有keepalive,高可用也叫keepalive,经常混淆这几个概念。做下这几个概念的简述,尽管名字基本上是一样的,但是所表示意义和范畴却大相径庭。高可用 KeepalivedKeepalived是一个基于VRRP协议来实现的服务高可用方案,可以利用其来避免IP单点故障。它的作用是检测服务器的状态,如果有一台服务器宕机,或出现故障,Keepalived将检测到,使用其他服务器代替该服务器的工作,当服...
  • 简单的 HTTP 调用,为什么时延这么大?
    1. 背景最近项目测试遇到个奇怪的现象,在测试环境通过 Apache HttpClient 调用后端的 HTTP 服务,平均耗时居然接近 39.2ms。可能你乍一看觉得这不是很正常吗,有什么好奇怪的?其实不然,我再来说下一些基本信息,该后端的 HTTP 服务并没有什么业务逻辑,只是将一段字符串转成大写然后返回,字符串长度也仅只有 100 字符,另外网络 ping 延时只有 1.9ms 左右。因此,理论上该调用耗时应该在 2-3ms 左右,但为什么平均耗时 39.2ms 呢?由于工作原因,调用耗时的问题,对我...
  • 一次简单的 HTTP 调用,为什么时延这么大?抓个包分析下
    点击上方“占小狼的博客”,选择“设为星标“最近项目测试遇到个奇怪的现象,在测试环境通过 Apache HttpClient 调用后端的 HTTP 服务,平均耗时居然接近 39.2ms。可能你乍一看觉得这不是很正常吗,有什么好奇怪的?其实不然,我再来说下一些基本信息,该后端的 HTTP 服务并没有什么业务逻辑,只是将一段字符串转成大写然后返回,字符串长度也仅只有 100 字符,另外网络 ping 延时只有 1.9ms 左右。因此,理论上该调用耗时应该在 2-3ms 左右,但为什么平均耗时 39.2ms 呢?由...
  • 简单的 HTTP 调用,为什么时延这么大?
    1. 背景最近项目测试遇到个奇怪的现象,在测试环境通过 Apache HttpClient 调用后端的 HTTP 服务,平均耗时居然接近 39.2ms。可能你乍一看觉得这不是很正常吗,有什么好奇怪的?其实不然,我再来说下一些基本信息,该后端的 HTTP 服务并没有什么业务逻辑,只是将一段字符串转成大写然后返回,字符串长度也仅只有 100 字符,另外网络 ping 延时只有 1.9ms 左右。因此,理论上该调用耗时应该在 2-3ms 左右,但为什么平均耗时 39.2ms 呢?由于工作原因,调用耗时的问题,对我...
  • 深度好文|TCP连接的状态详解以及故障排查
    我们通过了解TCP各个状态,可以排除和定位网络或系统故障时大有帮助。1、TCP状态了解TCP之前,先了解几个命令:linux查看tcp的状态命令:1) netstat -nat#查看TCP各个状态的数量2)lsof -i:port#可以检测到打开套接字的状况3) sar -n SOCK#查看tcp创建的连接数4) tcpdump -iany tcp port 9000#对tcp端口为9000的进行抓包网络测试常用命令;1)ping:检测网络连接的正常与否,主要是测试延时、抖动、丢包率。但是很多服务器为了防止...
  • 趣说三次握手、四次挥手:遇到心动小姐姐,如何去把握?
    点击蓝色“小哈学Java”关注我哟加个“星标”,第一时间获取小哈推送的文章哦!来源:http://ymzs.top/YajkAm我有一个朋友,小泷,他与我倾诉:他在咖啡厅与朋友闲谈,遇到了一个让时间彷佛静止的女孩。他描述,那一刻,他的心彻底被抓住了,脑中轰然,眼睛无法再从她身上移开。而女孩,也时不时向她望来,那是一双如秋水般清澈的明眸。小泷说,他非常非常想想把握,这一次心动。然而,自始自终,他没能迈出那一步,他不知道该怎么办。TCP协议之握手:如何开启一段情感羁绊。小泷的困境,是每个男孩的困境。我告诉他,如...
  • 为何TCP被动关闭端不需要TIME_WAIT状态?
    主动关闭端进入TIME_WAIT状态等2MSL,是为了防止本端发出的ACK丢失,给对端重新发送FIN,本端重新ACK的机会。那被动关闭端也有可能发出了ACK对端没收到,为什么不需要进入类似TIME_WAIT的状态,而是直接CLOSED了呢?这种情况下,对端也即主动关闭端是否会一直停留在CLOSING状态?对问题补充说明下,我能理解被动端发出的FIN会等待对端ACK,我的疑问是被动端发出的ACK如何确保主动端会收到?难道主动端要同时收到ACK和FIN才会ACK,而不是收到了FIN就回ACK吗?  先说结论:不...
  • 点亮前端必会网络知识点
    http 响应常见状态码100-199 : 表示成功接收请求, 要求客户端继续提交下一次请求才能完成整个处理过程200-299: 表示成果接收请求并已完成整个处理过程. 常用 200300-399: 为完成请求, 客户需进一步细化需求: 例如: 请求的资源已经移动一个新地址, 常用 302(重定向), 307 和 304(拿缓存)400-499: 客户端的请求有错误, 包含语法错误或者不能正确执行. 常用 404(请求的资源在 web 服务器中没有) 403(服务器拒绝访问, 权限不够)500-599: 服...
  • 面试官再问你Http请求过程,怼回去!
    菜菜哥,X总在产品部瞎指挥,作为程序媛的我都快撑不住了不光你撑不住了,大家都要撑不住了,外行人指导内行人,呵呵前天我偷偷的去面试了,结果挂了出去转转其实是好事,面试官问你什么了?他让我描述一个Http请求的过程,我没回答上来,给我讲讲呗靠近点,我给你补一补这块知识Http介绍超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国...
  • 计算机网络基础几道常见面试试题
    来源于  java后端技术公众号1、OSI,TCP/IP,五层协议的体系结构,以及各层协议OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。每一层的协议如下:物理层:RJ45、CLOCK、IEEE802.3    (中继器,集线器,网关);数据链路:PPP、FR、HDLC、VLAN、MAC  (网桥,交换机);网络层:IP、ICMP、ARP、RA...
  • 代理通信,一个绕不过去的坎(一)
    关于正向代理反向代理透明代理的工作层级这样理解对吗?正向代理、反向代理(应用负载均衡、一些NG反向代理)可以理解为中间人模式,同时两端建立TCP连接,然后由中间人进行两端的TCP对接。透明代理是不是可以理解为对经过的数据包的简单粗暴的“劫持”,并没有将完整的TCP连接拆分为独立的两段。所以,从这个意义上这种透明代理跟NAT设备工作层级性质差不多吧? 序言有一次看到一个人写了好几万字回答一个问题,看了三天才看完。震惊了,这一切是为了什么?这些文字完全可以出一本书,也是对自己辛勤付出的回报。可是,我看那人一直乐...
  • TCP传输的伎俩,看这一篇就够了!
    TCP上传文件时的ACK变化?大家应该知道TCP的ACK含义了,就是给对方发送一个确认消息,以示字节编号 < 确认号的所有字节数据已经安全抵达目的地。如果Bob没有数据需要发给Alice,Alice的TCP想ACK对方也没有机会,所以Alice的TCP压根不会发什么ACK,ACK确认号会原地踏步,保持静止。如果Bob有数据要发给Alice,Alice的TCP同样也要ACK对方,而Alice的确认号也要随着接收到对方字节数据慢慢增长而不断增长,这是水涨船高的对应关系。于是,Bob的http将更新的网页提交给TCP传输,穿越网络,到达Alice的TCP,需不需要TCP来ACK?假设,双方建立TCP时,Bob的字节原点的序列号= 2000,谁占据这个编号呢?
  • 信息量巨大的 Kubernetes 网络排查之旅
    解释一下,TCP 主动关闭连接的一方在发送最后一个 ACK 会进入TIME_AWAIT状态,再等待 2 个 MSL 时间后才会关闭,了解更详细的过程请参考 TCP 四次挥手。回到我们的问题上,client 所在节点上可能也会有其它 pod 访问到 server 所在节点,而它们都被 SNAT 成了 client 所在节点的 NODE IP,但时间戳存在差异,server 就会看到时间戳错乱,因为开启了tcp_tw_recycle和tcp_timestamps激活了上述行为,就丢掉了比缓存时间戳小的报文,导致部分 SYN 被丢弃,这也解释了为什么之前我们抓包发现异常时 server 收到了 SYN,但没有响应 ACK,进而说明为什么 client 的请求部分会卡住直到超时。server 抓包: 抓 NodePort 的包,发现当 client SYN 重传时 server能收到 SYN 包但没有响应。
  • 图文并茂学 TCP/IP 协议
    前言如果你还对各类协议归属、作用也都傻傻分不清,那么你有必要详尽了解下TCP/IP协议了。它常被通称为TCP/IP协议族,简称TCP/IP。因为该协定家族的两个核心协定:TCP和IP,为该家族中最早通过的标准。TCP/IP分层管理是有好处的,假如互联网只有一个协议统筹,某一个地方改变设计时,就需要把所有部分都替换掉,而分层只需要把变动的层替换掉即可。TCP连接由源和目标IP地址以及源和目标端口号标识。该行是一项特殊规则,表示任何与其他规
官方公众号
活跃用户
一个有情怀的公众号。机器学习、自然语言处理、算法等知识集中营、期待与你相遇~
开源软件,改变世界!关注即赠送百G千元网课教程。
作者:小乐,这里有技术、心得、算法、职场、感悟、面经,做一个有趣的帮助程序员成长的公众号,每天8点20分,第一时间与你相约。
十年经验的资深架构师,著有两本业界知名的技术畅销书,多个知名技术大会的特邀演讲嘉宾。这里不仅分享大前端、Java、跨平台等技术,还有职场和程序员成长类文章。
每天分享成长干货,路虽远,行则必至
发现、挖掘与推荐、传播优秀的安全技术、产品,提升安全领域在全行业的价值,了解机构与企业的安全需求,一家真正懂安全的专业咨询机构,我们是安全牛!
一个专注侃侃计算机视觉方向的公众号。计算机视觉、图像处理、机器学习、深度学习、C/C++、Python、诗和远方等。
分享项目实践,洞察前沿架构,聚焦云计算、微服务、大数据、超融合、软件定义、数据保护、人工智能、行业实践和解决方案。