11 2022 档案
计算机网络 应用层
摘要:应用层概述 应用层是计算机网络体系结构得最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分 经典网络应用 1.万维网WWW 2.域名系统DNS 3.动态主机配置协议DHCP 4.电子邮件 5.文件传送协议FTP 6.P2P文件共享 7.多媒体网络应用 客户/服务器方式(C/S方
阅读全文
计算机网络 传输层
摘要:传输层基本介绍 基本职能 传输层位于计算机网络体系五层结构中的第四层,它的职能是:为运行在不同主机上的进程提供直接的通信服务。 和网络层提供服务的范围差异如下图所示: 即网络层提供了主机到主机间的通信(如果是IP协议的话还是不可靠的通信),而传输层提供的是主机中的进程与进程之间的通信(TCP协议提供
阅读全文
计算机网络 网络层
摘要:网络层概述 网络层的主要任务是实现网络互连,进而实现数据报在各网络之间的传输。 将多个网络连接起来的设备称为路由器。 网络层提供的服务 网络层提供了两种服务分别是:面向连接的虚电路服务和无连接的数据报服务。 面向连接的虚电路服务 这种服务的特点: (1)可靠通信由网络来保证;(2)必须建立网络层的连
阅读全文
计算机网络 数据链路层
摘要:数据链路层的基本概念 (1) 链路:就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他交换结点。(2)数据链路:是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。 例如从一台主机传输到另一台主机过程为: 而具体的需要经过: 我们在学习数据链路层的时候,可以把消息传递看作是数据链路层
阅读全文
计算机网络 物理层
摘要:1、物理层四大规程 物理层规程:用于物理层的协议。 物理层的主要任务:确定与传输媒体的接口有关的一些特性,即: 机械特性 电气特性 功能特性 过程特性 数据在计算机内部多采用并行传输方式。但数据在通信线路(传输媒体)上的传输方式一般是串行传输(处于经济考虑),即逐个比特按照时间顺序传输。因此物理层还
阅读全文
Linux 高并发Web服务器
摘要:1. Linux / Unix 上的五种 IO 模型 在Linux下进行网络编程时,服务器端编程经常需要构造高性能的IO模型,常见的IO模型有五种: 1、同步阻塞式 I/O(BIO, Blocking IO): 在调用该类I/O函数读取数据时,直到读取数据完毕才会返回,否则进程/线程就阻塞到当前函数
阅读全文
Linux网络编程 I/O多路复用—epoll
摘要:1. 关于epoll epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,因为它会复用文件描述符集合来传递结果而不用迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一点原因就是获取事件的
阅读全文
Linux网络编程 I/O多路复用——select和poll
摘要:0. I/O多路复用 所谓I/O就是对socket提供的内存缓冲区的写入和读出。多路复用就是指程序能同时监听多个文件描述符。 之前的学习中写了多进程和多线程版的简单服务器模型,但是有个问题:每次新来一个客户端TCP连接请求,就需要新建一个进程或线程来与之进行信息传输,但是如果连接的客户端太多,就会出
阅读全文
Linux网络编程 使用socket实现简单服务器——多进程&多线程版本
摘要:1.多进程版 服务端 #include<stdio.h> #include<arpa/inet.h> #include<unistd.h> #include<string.h> #include<stdlib.h> #include<signal.h> #include<wait.h> #inclu
阅读全文
Linux网络编程 Socket
摘要:预备知识 1. 网络字节序 我们已经知道,内存中的多字节数据相对于内存地址有大端和小端之分。 磁盘文件中的多字节数据相对于文件中的偏移地址也有大端小端之分。网络数据流同样有大端小端之分,那么如何定义网络数据流的地址呢?发送主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出,接收主机把从网络上接
阅读全文
Linux多线程开发
摘要:1.线程 线程概述 与进程(process)类似,线程(thread)是允许应用程序并发执行多个任务的一种机制。一个进程可以包含多个线程。同一个程序中的所有线程均会独立执行相同程序,且共享同一份全局内存区域,其中包括初始化数据段、未初始化数据段,以及堆内存段。(传统意义上的 UNIX 进程只是多线程
阅读全文
Linux多进程开发
摘要:1.进程概述 程序是包含一系列信息的文件,这些信息描述了如何在运行时创建一个进程: 二进制格式标识:每个程序文件都包含用于描述可执行文件格式的元信息。内核利用此信息来解释文件中的其他信息。(ELF可执行连接格式) 机器语言指令:对程序算法进行编码。 程序入口地址:标识程序开始执行时的起始指令位置。
阅读全文