随笔分类 -  计算机网络

DNS、长短连接.、HTTP
摘要:DNS:Domain Name System 域名系统 🔴 域名和IP地址相互映射的一个分布式数据库; 🔴 域名采用分层管理模式,分为:一级域名(顶级域名)、二级域名、三级域名等 🔴 www.baidu.com整体是一个二级域名; baidu.com是一个一级域名; .com是是顶级域(Gen 阅读全文

posted @ 2023-12-29 12:08 廿陆 阅读(45) 评论(0) 推荐(0) 编辑

linux 服务器编程基本框架和两种高效事件的处理模式
摘要:服务器编程基本框架 虽然服务器程序种类繁多,但其基本框架都一样,不同之处在于逻辑处理。 I/O 处理单元是服务器管理客户连接的模块。它通常要完成以下工作:等待并接受新的客户连接,接收客户数据,将服务器响应数据返回给客户端。但是数据的收发不一定在 I/O 处理单元中执行,也可能在逻辑单元中执行,具体在 阅读全文

posted @ 2023-11-10 17:26 廿陆 阅读(29) 评论(0) 推荐(0) 编辑

linux Web服务器以及HTTP协议
摘要:Web Server(网页服务器): 一个Web Server就是一个服务器软件(程序),或者是运行这个服务器软件的硬件(计算机)。其主要功能是通过 HTTP 协议与客户端(通常是浏览器(Browser))进行通信,来接收,存储,处理来自客户端的HTTP请求,并对其请求做出 HTTP 响应,返回给客 阅读全文

posted @ 2023-11-08 18:13 廿陆 阅读(125) 评论(0) 推荐(0) 编辑

linux 阻塞/非阻塞、 同步/异步(网络IO) Unix/Linux上的五种IO模型
摘要:典型的一次 IO 的两个阶段是什么?数据就绪 和 数据读写 网络IO阶段1: 数据就绪(数据准备):根据系统 IO 操作的就绪状态(分为阻塞和非阻塞) 阻塞:调用IO的方法的线程进入阻塞状态 非阻塞:不会改变线程的状态,通过返回值判断 网络IO阶段2: 数据读写:根据应用程序和内核的交互方式(将TC 阅读全文

posted @ 2023-11-07 11:34 廿陆 阅读(59) 评论(0) 推荐(0) 编辑

linux 组播
摘要:组播(多播): 单播地址标识单口 IP 接口,广播地址标识某个子网的所有 IP 接口,多播地址标识一组 IP 接口。单播和广播是寻址方案的两个极端(要么单个要么全部),多播则在两者之间提供一种折中方案。多播数据报只应该由对它感兴趣的接口接收,也就是说由运行相应多播会话应用系统的主机上的接口接收。另外 阅读全文

posted @ 2023-11-03 11:40 廿陆 阅读(149) 评论(0) 推荐(0) 编辑

linux 广播 UDP
摘要:UDP通信:广播 向子网中多台计算机发送消息,并且子网中所有的计算机都可以接收到发送方发送的消息,每个广播消息都包含一个特殊的 IP 地址,这个 IP中子网内主机标志部分的二进制全部为 1(255) a. 只能在局域网中使用 b. 客户端需要绑定服务器广播使用的端口,才可以接收到广播的消息 //设置 阅读全文

posted @ 2023-11-03 10:59 廿陆 阅读(71) 评论(0) 推荐(0) 编辑

linux UDP 通信
摘要:UDP: #include <sys/types.h> #include <sys/socket.h> ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_add 阅读全文

posted @ 2023-11-03 09:51 廿陆 阅读(20) 评论(0) 推荐(0) 编辑

linux TCP状态转换 半关闭 shutdown netstat 端口复用 setsockopt
摘要:TCP状态转换:发生在三次握手四次挥手的过程中 黑色为异常的信息; 红色线为客户端; 绿色虚线为服务器端; 报文段寿命: 2MSL(Maximum Segment Lifetime) 主动断开连接的一方,最后进出入一个 TIME_WAIT状态,这个状态会持续: 2msl msl:官方建议:2分钟,实 阅读全文

posted @ 2023-10-24 11:40 廿陆 阅读(59) 评论(0) 推荐(0) 编辑

linux 多进程实现并发服务器 多线程并发
摘要:TCP通信并发** 要实现TCP通信服务器处理并发任务,使用多线程或多进程来解决。 思路: 1. 一个父进程,多个子进程 2. 父进程负责等待并接受客户端的连接 3. 完成通信,接受一个客户端连接,就创建一个子进程用于通信。 客户端: 1 //TCP通信的客户端 2 3 #include <stdi 阅读全文

posted @ 2023-10-24 08:54 廿陆 阅读(87) 评论(0) 推荐(0) 编辑

linux TCP滑动窗口 四次挥手
摘要:TCP滑动窗口 滑动窗口(Sliding window)是一种流量控制技术。早期的网络通信中,通信双方不会考虑网络的拥挤情况直接发送数据。由于大家不知道网络拥塞状况,同时发送数据,导致中间节点阻塞掉包,谁也发不了数据,所以就有了滑动窗口机制来解决此问题。滑动窗口协议是用来改善吞吐量的一种技术,即容许 阅读全文

posted @ 2023-10-22 11:20 廿陆 阅读(49) 评论(0) 推荐(0) 编辑

linux TCP 三次握手
摘要:TCP三次握手: TCP 是一种面向连接的单播协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的”连接“,其实是 客户端 和 服务器的内存里保存的一份关于对方的信息,如 IP地址,端口号等。 TCP 可以看成是一种字节流,它会处理 IP 层或以下的层的 丢包、重复以及错误问题。在连接的建立 阅读全文

posted @ 2023-10-12 21:57 廿陆 阅读(23) 评论(0) 推荐(0) 编辑

linux TCP通信实现 服务器端 - 客户端
摘要:服务器端: 1 //TCP通信的服务器端 2 3 #include <stdio.h> 4 #include <arpa/inet.h> 5 #include <unistd.h> 6 #include <string.h> 7 int main() 8 { 9 //1.创建 socket(用于监听 阅读全文

posted @ 2023-10-12 21:12 廿陆 阅读(61) 评论(0) 推荐(0) 编辑

linux TCP 通信流程 套接字函数 socket() bind() listen() accept() connect()
摘要:TCP 和 UDP -> 传输层的协议 UDP: 用户数据报协议,面向无连接,可以单播,多播,广播,面向数据报(类似战争中无线电的广播),不可靠。 TCP: 传输控制协议,面向连接的,可靠的,基于字节流,仅支持单播传输(点对点)。 UDP TCP 是否创建连接 无连接 面向连接 是否可靠 不可靠 可 阅读全文

posted @ 2023-10-12 12:22 廿陆 阅读(52) 评论(0) 推荐(0) 编辑

linux 封装 分用
摘要:封装:(常用四层为例) 上层协议是如何使用下层协议提供的服务的呢? 其实这是通过封装(encapsulation)实现的。应用程序数据发送到物理网络上之前,将沿着协议栈从上往下依次传递。每层协议都将在上层数据的基础上加上自己的头部信息(有时还包括尾部信息),以实现该层的功能,这个过程就称为封装。 分 阅读全文

posted @ 2023-10-10 22:18 廿陆 阅读(22) 评论(0) 推荐(0) 编辑

linux 网络协议
摘要:协议: 简介: 协议,网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。 它的三要素是: 语法、语义、时序。为了使数据在网络上从源 到达 目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议(pro 阅读全文

posted @ 2023-10-10 17:05 廿陆 阅读(122) 评论(0) 推荐(0) 编辑

linux 网络模型 OSI模型(7层) TCP/IP协议(4层)
摘要:OSI七层参考模型: 七层模型,亦称 OSI(Open System Interconnection)参考模型,即开放式系统互联。参考模型是国际标准化组织(ISO)指定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语 阅读全文

posted @ 2023-10-10 11:45 廿陆 阅读(111) 评论(0) 推荐(0) 编辑

linux 网络结构模式 MAC地址 子网掩码 端口
摘要:C/S结构:QQ 简介: 服务器-客户机,即 Client - Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。客户机是因特网上访问别人信息的机器,服务器则是提供信息供人访问的计算机。 客户机通过局域网与服务器相连接,接受用户的请求,并通 阅读全文

posted @ 2023-10-09 12:27 廿陆 阅读(50) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示