
计算机网络
文章平均质量分 79
TABE_
这个作者很懒,什么都没留下…
展开
-
数字签名与数字证书
这里写目录标题数字签名数字证书数字证书的原理数字证书的特点如何验证证书机构的公钥不是伪造的数字签名数字签名是非对称密钥加密技术与数字摘要技术的应用,数字签名就是用加密算法加密message的摘要(摘要通过hash函数得到)而生成的内容。发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用发送方的私钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再公钥来对报文附加的数字签名进行解密,如原创 2021-12-15 22:07:38 · 1561 阅读 · 0 评论 -
对称加密和非对称加密体系
这里写目录标题对称密钥密码体系非对称密钥密码体系RSA对称密钥密码体系对称密钥密码体系是指消息发送方和消息接收方必须使用相同的密钥,该密钥必须保密。发送方用该密钥对待发消息进行加密,然后将消息传输至接收方,接收方再用相同的密钥对收到的消息进行解密。优点计算量小,算法速度快,加密效率高缺点密钥容易泄漏。不同的会话需要不同的密钥,管理起来很费劲常用算法DES,3DES,IDEA,CR4,CR5,CR6,AES非对称密钥密码体系非对称密钥密码体系又叫公钥密码体系,它使用两个密钥:一个公共密钥P原创 2021-12-23 21:22:42 · 2378 阅读 · 0 评论 -
数据链路层是如何传递数据的
数据链路层的主要作用就是加强物理层传输原始比特流的功能。其负责将物理层提供的可能出错的物理连接,改造成逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。封装成帧、透明传输、差错控制。............原创 2022-07-15 11:10:51 · 1767 阅读 · 0 评论 -
NAT协议(网络地址转换协议)详解
这里写目录标题为什么需要NATNAT的特点NAT的实现方式静态NAT动态NATNAPTNAT技术的优缺点优点缺点为什么需要NATIPv4地址随着用户的增多压力不断增大,但是每一个路由器的IP地址下面都有很多的私有地址,外部消息只需要找到这个路由器,这个路由器把消息找到真正目的主机传递给它即可。每一个路由器都可以分配很多私有地址,并且不同路由器的私有地址可以重复,通过这种地址转换,能够大大增加地址的容量。私有地址有三种:①10.0.0.0~10.255.255.255/8②172.16.0.0~17原创 2022-03-18 19:34:57 · 27671 阅读 · 2 评论 -
ping命令
当A设备pingB设备时候,会同时发出arp和icmp协议。arp协议用于根据目的ip获取默认网关的mac地址,icmp协议用于实现ping的功能。MAC地址在两个设备间通信时变化,传送时DestMac和SourceMac会一直不停变化,但是ip地址始终不变。...原创 2022-07-18 20:25:05 · 527 阅读 · 0 评论 -
ICMP协议(网际报文控制协议)详解
ICMP协议ICMP协议的功能ICMP的报文格式常见的ICMP报文差错报文目的站不可达数据报超时源站抑制重定向(路由)数据报参数错误查询报文回送请求或回答ICMP协议是一个网络层协议。一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。因此我们需要ICMP协议来完成这样的功能。ICMP协议的功能ICMP协议的功能主要有:确认IP包是否成功到达目标地址通知在发送过程中IP包被丢弃的原因如原创 2021-12-21 19:39:14 · 32958 阅读 · 3 评论 -
ARP协议(地址解析协议)详解
ARP协议ARP协议的作用映射方式静态映射动态映射ARP原理及流程ARP请求ARP响应ARP协议报文首部ARP协议的作用ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。其作用是在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标M原创 2021-12-20 21:17:20 · 7066 阅读 · 0 评论 -
IP协议详解
这里写目录标题IP协议的特点IP首部(IPv4)IP分片IP分片的概念IP分片的原因IP分片的具体实现IP路由IP模块工作流程路由机制IP转发IPv6头部结构IPv6固定头部结构IPv6扩展头部IP协议是TCP/IP协议族的核心协议,其主要包含两个方面:IP头部信息。IP头部信息出现在每个IP数据报中,用于指定IP通信的源端IP地址、目的端IP地址,指导IP分片和重组,以及指定部分通信行为。IP数据报的路由和转发。IP数据报的路由和转发发生在除目标机器之外的所有主机和路由器上。它们决定数据报是否应该原创 2021-12-20 20:51:09 · 1788 阅读 · 0 评论 -
网络层协议总览
这里写目录标题IPARP(地址解析协议)RARPICMP(网际控制报文协议)IGMP(组管理协议)DHCP(动态主机配置协议)网络层的主要协议包括IP、ARP、RARP、ICMP、IGMP、DHCP等。IPIP协议是TCP/IP协议簇中的核心协议,也是TCP/IP的载体。所有的TCP,UDP,ICMP及IGMP数据都以IP数据报格式传输。IP提供不可靠的,无连接的数据传送服务。不可靠指它不能保证IP数据报能成功到达目的地。IP仅提供最好的传输服务。当发生某种错误时,如某个路由器暂时用完了缓冲区原创 2021-12-20 20:02:15 · 9223 阅读 · 0 评论 -
UDP丢包问题详解
UDP丢包问题详解UDP包过大,缓存太小,不能及时接收数据。UDP发包速率过快,突发大数据流量超过了缓冲区上限recvfrom()接收到数据之后处理速度太慢最复杂的方式UDP包过大,缓存太小,不能及时接收数据。解决方法:增加系统发送或接收缓冲区大小int nBuf=32*1024;//设置为32K setsockopt(s,SOL_SOCKET,SO_RCVBUF,(const char*)&nBuf,sizeof(int));setsockopt(s,SOL_SOCKET,SO_SND原创 2022-04-18 21:48:35 · 5630 阅读 · 0 评论 -
udp包为什么最好不要大于1472字节
以太网(Ethernet)数据帧的长度必须在46-1500字节之间,这是由以太网的物理特性决定的。这个1500字节被称为链路层的MTU(最大传输单元)。但这并不是指链路层的长度被限制在1500字节,其实这个MTU指的是链路层的数据区.并不包括链路层的首部和尾部的18个字节。所以,事实上,这个1500字节就是网络层IP数据报的长度限制。因为IP数据报的首部为20字节,所以IP数据报的数据区长度最大为1480字节。而这个1480字节就是用来放TCP传来的TCP报文段或UDP传来的UDP数据报的。又因为UDP数据原创 2022-03-03 20:13:21 · 4188 阅读 · 0 评论 -
TCP 半连接队列和全连接队列
这里写目录标题SYN队列SYN队列控制参数SYN队列溢出SYN队列满了会怎样增大SYN队列accept队列accept队列控制参数accept队列溢出accept队列满了会怎样增大accept队列半连接队列,也称 SYN 队列,全连接队列,也称 accepet 队列。服务端收到客户端发起的 SYN 请求后,内核会把该连接存储到半连接队列,并向客户端响应 SYN+ACK,接着客户端会返回 ACK,服务端收到第三次握手的 ACK 后,内核会把连接从半连接队列移除,然后创建新的完全的连接,并将其添加到 acc原创 2022-02-23 21:49:34 · 955 阅读 · 0 评论 -
DoS攻击
这里写目录标题SYN洪泛攻击具体过程解决方法(SYN cookie)DoS攻击(拒绝服务攻击)SYN洪泛攻击SYN洪泛攻击发生在三次握手建立TCP连接的过程中。具体过程攻击者发送TCP的SYN,服务器返回ACK后,该攻击者就不对其进行确认,那么这个TCP连接处于挂起状态,所谓的半连接状态。服务器收不到再确认的话,还会重复发送ACK给攻击者,这样就更加浪费服务器资源。攻击者如果发送非常大量的这种TCP连接,由于每一个都无法完成三次握手,所以服务器上这些TCP连接会因为挂起状态而消耗CPU和内存,原创 2022-04-02 20:14:25 · 1312 阅读 · 0 评论 -
TCP KeepAlive与HTTP Keep-Alive
这里写目录标题TCP KeepAliveHTTP Keep-AliveTCP KeepAliveTCP连接建立之后,如果应用程序或者上层协议一直不发送数据,或者隔很长时间才发送一次数据,那么TCP需要判断是应用程序掉线了还是确实没有数据传输。TCP协议通过一种巧妙的方式去解决这个问题,当超过一段时间之后,TCP自动发送一个数据为空的报文给对方,如果对方回应了这个报文,说明对方还在线,连接可以继续保持,如果对方没有报文返回,并且重试了多次之后则认为连接丢失,没有必要保持连接。KeepAlive并不是默原创 2022-02-12 10:58:43 · 1357 阅读 · 0 评论 -
TCP连接过程中如果拔掉网线会发生什么?
由于拔掉网线并不会改变客户端的 TCP 连接状态,并且还是处于 ESTABLISHED 状态,所以这时客户端是可以正常接收服务端发来的数据报文的,然后客户端就会回 ACK 响应报文。服务端超时重传报文的次数达到一定阈值后,内核就会判定出该 TCP 有问题,然后通过 Socket 接口告诉应用程序该 TCP 连接出问题了,于是服务端的 TCP 连接就会断开。此时,客户端和服务端的 TCP 连接都已经断开了。在客户端拔掉网线后,服务端向客户端发送的数据报文会得不到任何的响应,在等待一定时长后,......原创 2022-08-10 18:09:50 · 2300 阅读 · 0 评论 -
TCP粘包问题
这里写目录标题TCP粘包问题造成TCP粘包的原因发送方原因接收方原因如何处理TCP粘包发送方接收方应用层为什么UDP没有粘包问题TCP粘包问题TCP粘包就是指发送方发送的若干包数据到达接收方时粘成了一包,从接收缓冲区来看,后一包数据的头紧接着前一包数据的尾,出现粘包的原因是多方面的,可能是来自发送方,也可能是来自接收方。造成TCP粘包的原因发送方原因发送端为了将多个发往接收端的包,更加高效的的发给接收端,于是采用了优化算法(Nagle算法),将多次间隔较小、数据量较小的数据,合并成一个数据量大的数原创 2022-02-10 15:06:03 · 128 阅读 · 0 评论 -
TCP/IP的分包粘包
这里写目录标题分包粘包介绍导致分包粘包的原因导致TCP粘包的原因:导致TCP分包的原因:避免分包粘包的措施分包粘包介绍因为TCP为了减少额外开销,采取的是流式传输,所以接收端在一次接收的时候有可能一次接收多个包。而TCP粘包就是发送方的若干个数据包到达接收方的时候粘成了一个包。多个包首尾相接,无法区分。当然还有可能是分包情况,同一个包,两次才能接收到。导致分包粘包的原因导致TCP粘包的原因:发送端等待缓冲区满才进行发送,造成粘包接收方来不及接收缓冲区内的数据,造成粘包由于TCP协议在发送较小原创 2021-12-19 21:50:30 · 1949 阅读 · 0 评论 -
TCP如何保证服务的可靠性
这里写目录标题超时重传滑动窗口滑动窗口机制概述发送窗口和接收窗口的工作原理滑动窗口的工作过程几种滑动窗口协议1比特滑动窗口协议(停等协议)后退n协议选择重传协议滑动窗口机制的优势采用滑动窗口的问题(死锁可能,糊涂窗口综合征)死锁如何解决死锁问题糊涂窗口综合症如何解决糊涂窗口综合征?拥塞控制为什么需要拥塞控制拥塞窗口拥塞控制算法慢启动与拥塞避免(TCP Tahoe版本)快速重传和快速恢复(TCP Reno版本)拥塞控制和流量控制的区别TCP保证可靠性一般有以下几种方法:(1)面向字节流:以流的方式传输,缓原创 2021-12-19 21:41:54 · 5402 阅读 · 0 评论 -
TCP三次握手/四次挥手
这里写目录标题三次握手三次握手过程三次握手期间调用的系统调用为什么建立连接使用三次握手而不是两次握手双方同时打开TCP连接四次挥手四次挥手过程为什么建立连接协议是三次握手,而关闭连接却是四次握手为什么关闭连接是四次挥手而不是三次挥手TIME_WAIT的意义(关闭TCP连接为什么要等于2MSL)双方同时关闭TCP连接TCP三次握手和四次挥手的11种状态三次握手三次握手过程TCP服务器进程先创建传输控制块TCB,时刻准备接受客户进程的连接请求,此时服务器就进入了LISTEN(监听)状态;TCP客户进原创 2021-12-19 16:09:31 · 1142 阅读 · 0 评论 -
TCP/UDP的首部
这里写目录标题TCP首部第一个4字节第二个4字节与第三个4字节第四个4字节第五个4字节选项最大报文段长度(MSS)选项窗口扩大选项时间戳选项UDP首部TCP首部TCP 首部长度为20字节,加上选项部分最大可达60字节。第一个4字节源端口,16位;发送数据的源进程端口。目的端口,16位;接收数据的进程端口。第二个4字节与第三个4字节序号,32位;代表当前TCP数据段第一个字节占整个字节流的相对位置。确认号,32位;代表接收端希望接收的数据序号,为上次接收到数据报的序号+1,当ACK标志位原创 2021-12-16 21:07:23 · 5941 阅读 · 0 评论 -
TCP和UDP的区别
这里写目录标题TCP和UDP的区别TCP的优缺点UDP的优缺点TCP和UDP的选用TCP和UDP的区别TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的,其没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时原创 2021-12-16 20:40:21 · 532 阅读 · 0 评论 -
TCP长连接和短连接
tcp长连接和短连接1. TCP短连接2. TCP长连接3. TCP长/短连接操作过程3.1 短连接的操作步骤3.1 长连接的操作步骤4. TCP长/短连接的优点和缺点5. TCP长/短连接的应用场景TCP在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立通过三次握手,释放则需要四次握手,所以说每个连接的建立都是需要资源消耗和时间消耗的。1. TCP短连接模拟一种TCP短连接的情况:client 向 serv原创 2021-05-31 21:17:42 · 1627 阅读 · 2 评论 -
建立TCP连接的各个系统调用
这里写目录标题服务器socket()bind()listen()accept()read()、write()等close()客户端socket()connect()read()、write()等close()函数建立TCP连接时各个系统调用的返回时机服务器socket()socket()返回的sockfd是一个描述符。socket()对应于普通文件的打开操作。普通文件的打开操作返回一个文件描述字,而socket()用于创建一个socket描述符(socket descriptor),它唯一标识一个s原创 2021-12-16 20:15:17 · 2268 阅读 · 1 评论 -
传输层协议总览
传输层协议TCPUDPTLSTCPTCP是面向连接的传输控制协议,其主要特点如下:TCP是面向连接的运输层协议,应用程序在使用TCP之前必须先建立连接,数据传输之后必须释放连接。TCP提供可靠的交付服务,通过TCP连接传送的数据无差错、不丢失、不重复、并且按序到达。TCP的可靠传输是由应答确认,超时重传机制保证,通过滑动窗口进行流量控制。每一条TCP连接只能有两个端点,也就是说TCP连接是一对一的。TCP连接的端点叫做套接字。TCP提供全双工通信,它允许通信双方的应用进程在任何时候都能发送数据原创 2021-12-20 19:34:05 · 414 阅读 · 0 评论 -
DNS协议详解
递归查询递归查询就是:如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其它根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询返回的查询结果或者是所要查询的IP地址,或者是报错,表示无法查询到所需的IP地址。迭代查询迭代查询就是:当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地服务器下一步应当向哪一个域名服务器进行查询,然后让本地服务器进行后续的查询原创 2022-03-19 15:24:47 · 10023 阅读 · 0 评论 -
HTTP1、 HTTP2、HTTP3 区别
这里写目录标题HTTP1的缺陷HTTP2SPDY协议HTTP/2 新特性HTTP/2 的缺点虽然HTTP3QUIC协议HTTP/3 新特性HTTP1的缺陷HTTP1主要有以下几个缺陷:(1)高延迟–带来页面加载速度的降低虽然近几年来网络带宽增长非常快,然而我们却并没有看到网络延迟有对应程度的降低。网络延迟问题主要由于队头阻塞(Head-Of-Line Blocking),导致带宽无法被充分利用。队头阻塞是指当顺序发送的请求序列中的一个请求因为某种原因被阻塞时,在后面排队的所有请求也一并被阻塞,会导致原创 2022-02-24 19:29:13 · 3253 阅读 · 0 评论 -
HTTPS连接过程中的中间人攻击
这里写目录标题HTTPS连接过程中间人劫持攻击HTTPS连接过程https协议就是http+ssl协议,如下图所示为其连接过程:HTTPS连接的整个工程如下:https请求:客户端向服务端发送https请求;生成公钥和私钥:服务端收到请求之后,生成公钥和私钥。公钥相当于是锁,私钥相当于是钥匙,只有私钥才能够打开公钥锁住的内容;返回公钥:服务端将公钥(证书)返回给客户端,公钥里面包含有很多信息,比如证书的颁发机构、过期时间等等;客户端验证公钥:客户端收到公钥之后,首先会验证其是否有效,如颁发原创 2022-02-08 21:11:37 · 1936 阅读 · 0 评论 -
HTTPS安全套接字层超文本传输协议
HTTPSHTTPS简介HTTPS和HTTP的主要区别客户端在使用HTTPS方式与Web服务器通信时的步骤HTTPS 的优点HTTPS 的缺点HTTPS简介HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议原创 2021-12-15 21:14:23 · 2613 阅读 · 0 评论 -
HTTP超本文传输协议
HTTP超本文传输协议HTTP简介HTTP请求与响应HTTP请求请求行请求头空行请求体HTTP响应响应行响应头响应体HTTP请求方法GET和POST之间的区别HTTP/1.0和HTTP/1.1的区别HTTP/2.0和HTTP/1.x的区别HTTP简介HTTP(HyperText Transfer Protocol)即超文本传输协议,是一种详细规定了浏览器和万维网服务器之间互相通信的规则,它是万维网交换信息的基础,它允许将HTML(超文本标记语言)文档从Web服务器传送到Web浏览器。HTTP基于TCP原创 2021-12-15 20:27:13 · 1712 阅读 · 0 评论 -
ip、子网掩码、网关、默认网关
这里写目录标题ip网络地址主机地址子网掩码子网掩码的表示方法为什么要使用子网掩码?子网掩码的分类网关默认网关ipip地址 = 网络地址 + 主机地址(又称:网络号和主机号),我们把网络号相同的主机称之为本地网络中的主机,网络号不相同的主机称之为远程网络中的主机。本地网络中的主机可以直接相互通信,远程网络中的主机要相互通信必须通过本地网关(Gateway)来传递转发数据。ip地址主要有A、B、C、D、E五类地址:A类:由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”(网络地址全为原创 2022-02-11 12:25:59 · 54982 阅读 · 9 评论 -
计算机网络总览
这里写目录标题网络模型TCP/IP五层网络模型中各层对应的网络协议TCP/IP五层网络模型中各层对应的信息分组封装与分用网络模型OSA七层网络模型物理层、数据链路层、网络层、运输层、会话层、表示层、应用层TCP/IP四层网络模型数据链路层、网络层、运输层、应用层TCP/IP五层网络模型物理层、数据链路层、网络层、运输层、应用层TCP/IP五层网络模型中各层对应的网络协议五层协议体系结构中各层包含的协议如下:(1)应用层①DHCP(Dynamic Host Configuration原创 2021-12-14 19:09:52 · 1524 阅读 · 0 评论