
网络
文章平均质量分 92
MLGDOU
这个作者很懒,什么都没留下…
展开
-
【网络】高级IO(select||poll||epoll)
比如listenfd,接受缓冲区 可能存放多个客户端连接请求的信息,这时候要使用水平触发(LT),因为accept每次只能处理一个,需要多次触发。fd有上限,输入输出型参数比较多,数据拷贝频率比较高,每次都要重置fd_set(不能重用),管理第三方数组的fd需要用户层多次遍历较繁杂,用户态到内核态数据拷贝的开销。来判断事件是否就绪,如果没数据就阻塞等待,当事件就绪,会将rfds置位(可能有多个位),变为输出型参数,再进行后续逻辑。1.检测就绪O(1),获取就绪O(n)设置文件描述符为非阻塞。原创 2024-05-27 17:42:37 · 1090 阅读 · 1 评论 -
【网络】网络层和数据链路层详解
TCP作为传输层控制协议,其保证的是数据传输的可靠性和传输效率,但TCP提供的仅仅是数据传输的策略,而真正负责数据在网络中传输的则传输层之下的网络层和链路层。IP协议的本质:提供一种能力,将数据跨网络从A主机送到B主机,即数据的路由。原创 2024-05-21 21:25:43 · 1399 阅读 · 2 评论 -
【网络基础】TCP协议2
能防止历史连接的建立,能减少双方不必要的资源开销,能帮助双方同步初始化序列号。奇数次握手,可以确保一般情况握手失败的连接成本嫁接在客户端上。验证全双工的最小次数。不是两次?连接失败的成本会嫁接到服务端,无法防止历史连接的建立,会造成双方资源的浪费,也无法可靠的同步双方序列号。不是四次?三次握手就已经理论上最少可靠连接建立,所以不需要使用更多的通信次数。不是一次?服务端接收到客户端的 SYN 包就认为建立连接成功的话,这样会带来 SYN 洪水攻击问题。原创 2024-05-13 21:41:40 · 898 阅读 · 0 评论 -
【网络编程】UDP协议和TCP协议1
UDP 报文分为 UDP 报头和 UDP 数据区两部分。报头由 4 个 16 位长(2字节)字段组成,分别说明该报文的源端口、目的端口、报文长度和校验值。原创 2024-05-10 21:42:16 · 1147 阅读 · 1 评论 -
【网络编程】HTTPS协议详解
HTTPS工作过程中涉及到的秘钥有三组:1.非对称加密(CA):用于检验证书是否被篡改,服务器持有(证书的)私钥(在形成CSR文件申请证书时获得),客户端持有公钥(操作系统包含了可信任的CA机构有哪些,同时持有对应的公钥)。服务器在客户端请求时返回携带签名的证书,客户端通过这个公钥进行证书验证,保证证书的合法性。2.非对称加密(协商生成对称秘钥):客户端用收到的CA证书中的公钥(是被信任的)给随机生成的对称秘钥加密,传输给服务器,服务器通过私钥解密获取到对称加密秘钥。3.对称加密(数据传输)原创 2024-05-08 18:16:41 · 913 阅读 · 1 评论 -
【网络编程】http协议
URL(Uniform Resource Locator,统一资源定位符)是用于指定互联网上的资源地址的一种表示方法。它提供了访问互联网资源的路径和定位方式,使得人们可以通过浏览器或其他工具轻松访问这些资源。URL的组成通常包括以下几个部分(用冒号分隔):只有协议和域名(ip地址)是必须的,其余都是可选的当提交或者获取的数据本身可能包含与url中特殊的字符冲突的字符,要求BS(Browser-Server)双方要进行编码和解码。将字符转为16进制,从右向左取4位,每两位做1为,前面加上%。原创 2024-05-07 20:51:44 · 1158 阅读 · 1 评论 -
【网络编程】网络基础
物理层:负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤,现在的 WIFI无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层,它通过物理层的广播方式来转发数据包。当一个计算机需要向另一个计算机发送数据时,它会将数据包发送给集线器,集线器会将这个数据包广播到所有连接到它的端口上。原创 2024-05-02 20:35:47 · 742 阅读 · 1 评论