network
网络协议
LIEYz
这个作者很懒,什么都没留下…
展开
-
A记录、CNAME
域名解析就是国际域名或者国内域名以及中文域名等域名申请后做的到IP地址的转换过程。IP地址是网路上标识您站点的数字地址,为了简单好记,采用域名来代替ip地址标识站点地址。域名的解析工作由DNS服务器完成。原创 2022-04-26 16:17:18 · 952 阅读 · 0 评论 -
SIGPIPE信号
产生 SIGPIPE 的条件对一个已经收到 FIN 包的 socket 调用 read 方法,如果接收缓冲已空,则返回 0,这就是常说的“连接关闭”表示。对一个已经收到 FIN 包的 socket 第一次调用 write 方法时,如果发送缓冲没问题,则 write 调用会返回写入的数据量,同时进行数据发送。但是发送出去的报文会导致对端发回 RST 报文。因为对端的 socket 已经调用了 close 进行了完全关闭,已经处于既不发送,也不接收数据的状态。所以第二次调用 write 方法时(假设在收到原创 2020-12-14 10:30:53 · 912 阅读 · 0 评论 -
socket编程总结
计算机硬件有两种储存数据的方式:大端模式(big endian)和小端模式(little endian)。大端模式:高位字节在前,低位字节在后。小端模式:低位字节在前,高位字节在后。例如:0x01234567的大端字节序和小端字节序的写法如下图计算机的存储模式,与CPU设计有关,数据的顺序是由cpu决定的,如Intelx86结构采用小端模式,IBM power PC结构采用大端模式。由于这个原因不同体系结构的机器之间进行通信时要转换成一种约定的数序,也就是网络字节顺序, 网络字节顺序采用大端原创 2020-07-13 15:18:18 · 208 阅读 · 0 评论 -
TCP流量控制,拥塞控制
TCP的流量控制RTT算法在TCP超时重传机制中,Timeout的设置对于重传非常重要:设长了,重发就慢,丢了老半天才重发,没有效率,性能差。设短了,会导致可能并没有丢就重发。于是重发的就快,会增加网络拥塞,导致更多的超时,更多的超时导致更多的重发。而且,这个超时时间在不同的网络环境下不同,必须动态设置。为此,TCP引入了RTT(Round Trip Time,环回时间):一个数据包从发出去到回来的时间。这样,发送端就大约知道正常传输需要多少时间,据此计算RTO(Retransmission原创 2020-06-18 16:12:06 · 758 阅读 · 1 评论 -
TCP重传机制
TCP协议通过重传机制保证所有的segment都可以到达对端,注意,此处重传机制特指数据传输阶段,握手、挥手阶段的传输机制与此不同。TCP是面向字节流的,Seq与Ack的增长均以字节为单位。为了减少网络传输,接收端只回复最后一个连续包的Ack,并相应移动窗口。比如,发送端发送1,2,3,4,5一共五份数据(假设一份数据一个字节),接收端快速收到了Seq 1, Seq 2,于是回Ack 3;然后收到了Seq 4,由于在此之前未收到过Seq 3(乱序),如果序号在窗口内,则只填充窗口,但不发送Ack 5,否则原创 2020-06-18 15:25:34 · 1095 阅读 · 0 评论 -
TCP粘包现象
问题原因TCP是一种流式连接,这个流字到底怎么理解?它是指TCP的数据传输就像一种水流一样,并不区分不同数据包之间的界限。就像我们打开水龙头后,水流自然的流出,我们并不知道背后水泵是分了几次将水供上来的。发送端需要等缓冲区满才发送出去,造成一次发送多个包接收方不及时接收缓冲区的包,造成多个包接收解决方案短连接最简单的方法就是短连接,也就是需要发送数据的时候建立TCP连接,发送完一个数据包后就断开TCP连接,这样接收端自然就知道数据结束了。但是这样的方法因为会多次建立TCP连接,性能低原创 2020-06-18 10:48:50 · 266 阅读 · 0 评论 -
网络调试相关工具
tcpdump保存抓包数据tcpdump 提供了保存抓包数据的功能,使用 -w 选项将保存数据包而不是在屏幕上显示。Wireshark 可以用来读取 tcpdump 保存的 pcap 文件。一般使用 tcpdump 命令行在没有 GUI 界面的远程机器上抓包然后在 Wireshark 中分析数据包。查看端口被哪个进程使用netstat -nap | grep port 路由跟踪windowstracert是Windows路由跟踪实用程序,在命令提示符(cmd)中使用tracert命令可以原创 2020-05-12 11:19:34 · 432 阅读 · 0 评论 -
TCP连接建立与断开
TCP 的三次握手、四次挥手时序图状态机TCP进行握手初始化一个连接的目标是:分配资源、通知peer对端我的初始序列号是多少,知道初始化连接的目标。TCP进行断开连接的目标是:回收资源、终止数据传输。由于TCP是全双工的,需要Peer两端分别各自拆除自己通向Peer对端的方向的通信信道。为什么握手三次,挥手四次?建立连接,服务端ACK确认包和SYN包可以合成一个SYN ACK包一起...原创 2020-04-01 17:27:24 · 2550 阅读 · 0 评论 -
UDP疑难杂症
UDP的传输方式:面向报文面向报文的传输方式决定了 UDP 的数据发送方式是一份一份的,也就是应用层交给 UDP 多长的报文,UDP 就照样发送,即一次发送一个报文。UDP 报文大小的影响因素UDP协议本身,UDP协议中有16位的UDP报文长度,那么UDP报文长度不能超过2^16=65536。以太网(Ethernet)数据帧的长度,数据链路层的MTU(最大传输单元)。socket的UD...原创 2020-03-30 18:25:11 · 709 阅读 · 0 评论 -
SSL/TLS协议运行机制的概述
本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和运行过程,不涉及具体的实现细节。如果想了解这方面的内容,请参阅RFC文档。作用不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。窃听风险(eavesdropping):第三方可以获知通信内容。篡改风险(tampering):第三方可以修改通信内容。冒充风险(pretending):第三...转载 2019-12-27 16:41:40 · 139 阅读 · 0 评论 -
一个故事讲完https
序言今天来聊一聊https 安全传输的原理。在开始之前,我们来虚构两个人物, 一个是位于中国的张大胖(怎么又是你?!), 还有一个是位于米国的Bill (怎么还是你?!)。这俩哥们隔着千山万水,通过网络联系上了, 两个人臭味相投,聊得火热。此时正值米国大选, 张大胖亲切地“致电”Bill, 对米国总统大选的情况表示强烈地关注。 Bill则回电说谢谢关心米国人的事情我们米国人自己做主,不用你...转载 2019-12-24 11:16:22 · 153 阅读 · 0 评论 -
STUN、TURN、ICE
简介STUN协议里能处理的也只有市面上大多数的Cone NAT,对于Symmetric NAT,传统的P2P打洞方法是不适用的。因此为了保证通信能够建立,我们可以在没办法的情况下用保证成功的中继方法,虽然使用中继会对服务器负担加重,而且也算不上P2P,但是至少保证了最坏情况下信道的通畅,从而不至于受NAT类型的限制。TURN就是为此目的而进行的拓展,因此绝大部分TURN报文都是STUN类型的,作...原创 2019-10-24 14:27:48 · 788 阅读 · 0 评论 -
NAT穿越原理
简介网络地址转换(NAT,Network Address Translation)属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术。原理当内部网络中的一台主机想传输数据到外部网络时,它先将数据包传输到NAT路由器上,路由器检查数据包的报头,获取该数据包的源IP信息,并从它的NAT映射表中找出与该IP匹配的转换条目,用所选的内部全局地址(全局唯一IP地址)来替换...原创 2019-10-16 14:55:01 · 600 阅读 · 0 评论 -
计算机网络基本概念
三层交换机为数据包进行一次路由,后续同源同目的数据包的直接交由二层交换处理,判断依据为数据包的mac,vlan-id,ip,来源端口;路由器则对每个数据包进行三层路由选择,转发效率较低。 三层交换机核心功能仍为高速转发,路由功能简单因而适合做网关以实现不同局域网vlan或网段通信;路由器同其他路由器之间通过各类路由算法和路由通信协议,为每个数据包选择更优质的路由...原创 2019-06-25 15:36:54 · 2821 阅读 · 0 评论 -
wireshark抓包过滤器
wireshark过滤器分为抓包过滤器和显示过滤器,抓包过滤器会将不满足过滤条件的包丢弃,只保留满足条件的包,而显示过滤器则是对已抓取的包做过滤,过滤出满足条件的包。抓包过滤器语法使用的是BFP语法(Berkeley Packet Filter),一共四个元素:类型(Type) host、net、port 方向(Dir) src、dst 协议(Proto) eth...原创 2019-08-28 14:31:51 · 941 阅读 · 0 评论