关于网络的一些知识点

1.三次握手与四次挥手


三次握手


四次挥手

问题1:为什么建立TCP连接需要三次握手?

回答:是为了连接双方都能确认建立起了有效的连接。设想一种情况,客户端发起SYN请求,该请求在网络中迷路了,没有及时到达服务端,超时之后客户端重新发起了SYN请求,这时连接建立并且完成了数据传输然后正常关闭了连接,这之后第一次的SYN包又来到了服务端,服务端依然进入SYN_RCVD状态并向客户端返回确认,这时客户端收到该确认肯定是不会回应的,如果没有接下来的第三次握手,那么服务端便会以为连接建立成功了,显然这样是与事实不符的。

SYN Flood攻击,便是利用了三次握手的机制,其基本攻击原理就是不与服务端完成第三次握手,服务端会分配TCB资源,而且会多次重试对SYN请求的确认,攻击方通过发送大量这种请求来消耗服务端的有限资源。而且,服务端在收到SYN请求后就会分配TCB资源,客户端是在收到SYN+ACK之后才会分配TCB资源,这样的不对等,也为攻击提供了便利。

针对SYN Flood攻击,有一些检测手段,比如检测一段时间内成功建立连接数与未完成连接数差值,或者检测SYN请求量是否有突增。

还有一些攻击防范手段,比如利用系统参数来调整服务端重试次数,增大SYN连接数,或者拒绝新连接等方法。商业上的防火墙,一般采用连接认证的方式,比如对SYN+ACK回包里的seq或者ack数值进行处理,引入cookie来识别和防御非法连接。

问题2:谈谈对time_wait状态的理解

回答:主动发起断开连接的一端,在收到对端的FIN+ACK请求并回复确认之后,会进入TIME_WAIT状态,该状态会持续至少2MSL(Maximum Segment Lifetime)时间,RFC定义MSL为2分钟,Linux默认为60s。一方面,等待2MSL是为了在确认包丢失的情况下,让对端能够有机会再次发起FIN+ACK请求,从而完成连接关闭的流程;另一方面,在这段时间内,所有本连接发送过的报文,会在网络中陆续全部失效,这样就避免了在新建立连接之后,还收到旧连接的报文。

问题3:如果是服务端主动关闭连接,会有什么问题?

回答:

问题4:为何关闭连接需要四次挥手?

回答:关闭连接要比建立连接多一次握手,主要是考虑到一端发起关闭连接的时候,另一端可能还有部分数据没有发送,这时被动关闭端需要维持一个CLOSE_WAIT状态,在该状态下,被动关闭端可以将未发送完成的数据发送完成,然后再来继续连接关闭的流程。

问题5:如果已经建立了连接,但是客户端突然出现故障了怎么办?

回答:TCP还设有一个保活计时器,显然,客户端如果出现故障,服务器不能一直等下去,白白浪费资源。服务器每收到一次客户端的请求后都会重新复位这个计时器,时间通常是设置为2小时,若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔75分钟发送一次。若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。

2.HTTPS

HTTP传输明文容易被窃听,没有做身份认证容易遭遇伪装,无法验证信息完整性容易被篡改。基于这3个缺点,催生了HTTPS解决方案。https=http+ssl/tls=http+加密+认证+完整性保护。

参看这篇文章:我是这样理解HTTP和HTTPS区别的

3.TCP连接池,这里有个搞笑的问题,连接池是维护在客户端还是服务端?

4.长连接与短连接

HTTP/1.0 版的主要缺点是,每个TCP连接只能发送一个请求。发送数据完毕,连接就关闭,如果还要请求其他资源,就必须再新建一个连接。TCP连接的新建成本很高,因为需要客户端和服务器三次握手,并且开始时发送速率较慢(slow start)。所以,HTTP 1.0版本的性能比较差。

HTTP/1.1版允许复用TCP连接,但是同一个TCP连接里面,虽然可以发起多个请求,但是所有的数据通信是按次序进行的,服务器只有处理完一个回应,才会进行下一个回应。要是前面的回应特别慢,后面就会有许多请求排队等着。这称为"队头堵塞"(Head-of-line blocking)。

2015年,HTTP/2 发布,它是在谷歌SPDY协议基础上推出的最新版本。HTTP/2是二进制协议,其支持头信息压缩、多路复用、数据流、服务器推送等,可以大幅提升HTTP协议性能。

2018年,HTTP/3发布,其底层支撑是谷歌 QUIC 协议,该协议基于 UDP。

4.重传机制,超时重传,快速重传,SACK,D-SACK等。

5.流量控制,滑动窗口,Zero Window Probe技术,Silly Window Syndrome(糊涂窗口综合症),Nagle算法

6.拥塞控制,慢启动,拥塞避免,快速重传,快速恢复

7.websocket与HTPP/2的关系

websocket是一种真正全双工通信,服务端可以向客户端推送消息,是一种可控的长连接。

8.H5小游戏

9.子网划分,CIDR

CIDR表示方法:IP地址/网络ID的位数,比如192.168.23.35/21,其中用21位表示网络ID。

10.IPv4与IPv6

RFC1918规定了三个保留地址段落:10.0.0.0-10.255.255.255;172.16.0.0-172.31.255.255;192.168.0.0-192.168.255.255。这三个范围分别处于A,B,C类的地址段,不向特定的用户分配,被IANA作为私有地址保留。这些地址可以在任何组织或企业内部使用,和其他Internet地址的区别就是,仅能在内部使用,不能作为全球路由地址。

IPv4地址只有42亿个,今天仍然能够支撑远远超过这一数量的互联网设备,是NAT(网络地址转换)技术在发挥巨大作用,将大量设备隐藏在NAT网关之后,透过NAT网关的功能实现公网互联。

11.上网的原理,

12.代理的原理,

13.P2P

14.epoll原理

15.DNS原理

16.session

17.大小端

参考文献:

关于TCP,UDP,针对面试。超详细

TCP 的那些事儿

SYN Flood攻击防范技术白皮书

HTTP/3竟然基于UDP HTTP 协议这些年都经历了啥?

在浏览器地址栏输入一个URL后回车,背后会进行哪些技术步骤?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343