Linux网络
文章平均质量分 88
讲解网络的专栏
CoderCzy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多路转接epoll
创建一个epoll的句柄.原创 2025-08-20 13:55:33 · 1021 阅读 · 0 评论 -
多路转接select
函数原型:参数说明:永久阻塞(NULL)定时阻塞(指定时间值)非阻塞轮询(零超时)输入:设置最大等待时间输出(Linux特有):返回时更新为剩余时间返回值:其实这个结构就是一个整数数组, 更严格的说, 是一个 “位图”. 使用位图中对应的位来表示要监视的文件描述符.提供了一组操作fd_set的接口, 来比较方便的操作位图.关于timeval结构timeval结构用于描述一段时间长度,如果在这个时间内,需要监视的描述符没有事件发生则函数返回,返回值为0。读就绪写就绪异常就绪总结:内核缓冲区是关原创 2025-08-15 17:31:05 · 1174 阅读 · 0 评论 -
NAT、代理服务、内网穿透
正向代理(Forward Proxy)是一种常见的网络代理方式,它位于客户端和目标服务器之间,代表客户端向目标服务器发送请求。正向代理服务器接收客户端的请求,然后将请求转发给目标服务器,最后将目标服务器的响应返回给客户端。通过这种方式,正向代理可以实现多种功能,如提高访问速度、隐藏客户端身份、实施访问控制等。正向代理代理的是客户端反向代理服务器是一种网络架构模式,其作为Web服务器的前置服务器,接收来自客户端的请求,并将这些请求转发给后端服务器,然后将后端服务器的响应返回给客户端。原创 2025-08-12 16:10:34 · 1159 阅读 · 0 评论 -
数据链路层
数据链路层用于两个设备(同一种数据链路节点)之间进行传递,与网络层相比网络层负责报文在网络中如何进行路由,当我们的报文经过网络层路由到达目标IP所在的局域网路由器,如何把报文在局域网中把报文交给我们的目标主机,就是我们数据链路层解决的问题。我们知道局域网通信类型有多种如:以太网、无线LAN、令牌环网。下文我们讲解以以太网为例子。原创 2025-08-08 11:51:30 · 837 阅读 · 0 评论 -
网络层协议IP
意义: 接收方据此确定数据报的结束位置。在数据报需要被分片时,该字段的值也会在分片过程中被修改(每个分片都有自己的总长度值)。如果该数据报在传输过程中因为长度超过某个链路的 MTU 而需要被分片,那么所有属于该原始数据报的分片都共享相同的标识值。每一个路由器都有一个路由表,记录自己处的网络地址以及对外所有路由器的网络地址,还有对内所有路由器的网络地址,以及各个路由器的下一条地址,就是要去哪一个路由器。作用: 指定当前分片所携带的数据在原始未分片数据报的数据部分中的起始位置(相对于数据部分开头)。原创 2025-08-01 17:21:25 · 987 阅读 · 3 评论 -
传输层协议TCP
TCP 全称为"传输控制协议(Transmission Control Protocol"). 人如其名, 要对数据的传输进行一个详细的控制;原创 2025-07-25 23:58:43 · 1207 阅读 · 0 评论 -
传输层协议UDP
其中"源IP", “源端口号”, “目的IP”, "目的端口号"四元组规定了世界上唯一的两个进程。在TCP/IP 协议中, 用"源IP", “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信(可以通过netstat -n 查看);我们注意到, UDP 协议首部中有一个16 位的最大长度. 也就是说一个UDP 能传输的数据最大长度是64K(包含UDP 首部).如果我们需要传输的数据超过64K, 就需要在应用层手动的分包, 多次发送, 并在接收端手动拼装;原创 2025-07-12 12:35:14 · 1119 阅读 · 0 评论 -
应用层协议HTTP
无论是 HTTP 301 还是 HTTP 302 重定向,都需要依赖 Location 选项来指定资源的新位置。这个 Location 选项是一个标准的 HTTP 响应头部,用于告诉浏览器应该将请求重定向到哪个新的 URL 地址。永久重定向就是会把重定向目标进行缓存下次直接去重定向的资源,临时重定向不会进行缓存每次都要去老的去看看再去重定向目标。原创 2025-07-06 22:51:41 · 885 阅读 · 0 评论 -
HTTPS 协议原理
加密就是把明文(要传输的信息)进行一系列变换, 生成密文.解密就是把密文再进行一系列变换, 还原成明文.在这个加密和解密的过程中, 往往需要一个或者多个中间的数据, 辅助进行这个过程, 这样的数据称为密钥数字指纹(数据摘要),其基本原理是利用单向散列函数(Hash 函数)对信息进行运算,生成一串固定⻓度的数字摘要。数字指纹并不是一种加密机制,但可以用来判断数据有没有被篡改。原创 2025-07-06 17:13:35 · 1079 阅读 · 0 评论 -
connect的断线重连
通过本次客户端断线重连我们要理解我们不仅仅可以对我们的服务端进行设计我们的客户端同样如此比如客户端的收发信息我们可以设计为多线程模式等等。原创 2025-07-04 17:31:57 · 241 阅读 · 0 评论 -
网络的命令
netstat+【选项】pidof [进程名]原创 2025-07-04 12:33:07 · 274 阅读 · 0 评论 -
应用层自定义协议与序列化
本文介绍了应用层自定义协议与序列化的概念,并通过网络版计算器的例子展示了如何实现客户端与服务器之间的通信。应用层协议是程序员为解决实际问题而设计的网络程序,协议是双方约定的结构化数据。在网络版计算器中,客户端发送形如"1+1"的字符串或通过序列化将结构体转换为字符串,服务器接收后进行反序列化并返回结果。序列化是将结构化数据转换为字符串,反序列化则是将字符串还原为结构化数据。文章还解释了TCP的全双工特性,即同时支持发送和接收数据,并通过代码展示了如何实现TCP套接字的创建、绑定、监听、接原创 2025-05-17 12:55:30 · 1001 阅读 · 0 评论 -
Socket 编程 TCP
【代码】Socket 编程 TCP。原创 2025-05-05 13:52:53 · 1229 阅读 · 0 评论 -
Socket 编程 UDP
其中 inet_pton 和 inet_ntop 不仅可以转换 IPv4 的 in_addr,还可以转换 IPv6 的。我们手动进行释放. 那么问题来了, 如果我们调用多次这个函数, 会有什么样的效果呢?man 手册上说, inet_ntoa 函数, 是把这个返回结果放到了静态存储区. 这个时候不需要。inet_ntoa 这个函数返回了一个 char*, 很显然是这个函数自己在内部为我们申请了一块。因为 inet_ntoa 把结果放到自己内部的一个静态存储区, 这样第二次调用时的结果会覆。原创 2025-05-03 14:56:46 · 1201 阅读 · 0 评论 -
网络基础概念
TCP/IP 协议的本质是一种解决方案TCP/IP 协议能分层,前提是因为问题们本身能分层数据链路层负责通过路由转发网络层负责找到目标主机传输层负责数据传输以及数据丢失处理用户层处理数据使用数据关于协议的朴素理解:所谓协议,就是通信双方都认识的结构化的数据类型因为协议栈是分层的,所以,每层都有双方都有协议,同层之间,互相可以认识对方的协议。原创 2025-04-27 22:38:20 · 1586 阅读 · 0 评论
分享