网络
晨哥是个好演员
nothing is impossible
展开
-
浅析fork系统调用
转载前注明出处,欢迎转载分享fork函数Linux下创建新进程的系统调用是fork,其定义如下:#include < sys/types.h>#include < unistd.h>pid_t fork ( void );该函数每次调用返回两次,其中:在父进程中返回的是子进程的 PID在子进程中返回值是0fork函数调用失败则返回-1于是我们可以用pid = fork(原创 2017-04-18 10:05:51 · 532 阅读 · 0 评论 -
计算机网络读书笔记——网络层(1)
网络层负责在不同网络之间尽力转发数据包,基于数据包的IP地址转发,如果丢包不负责丢失重传,也不负责传输顺序。网络设备及数据转发过程路由器是三层设备,因为它能看到网络层的地址,根据网络层地址去选择路由;交换机是二层设备,也就是说它能够将比特流存储,然后看懂数据链路层上数据帧的控制信息中的MAC地址,根据数据帧上的MAC地址从而进行数据转发;集线器是工作在物理层的一层设备,只能进行比特流的转发,作用是能原创 2017-09-12 21:00:30 · 598 阅读 · 0 评论 -
计算机网络读书笔记——数据链路层(4)
以太网的两个标准DIX Ethernet V2是世界上第一个局域网产品(以太网)的规约。IEEE的802.3标准。DIX Ethernet V2标准与IEEE的802.3标准只有很小的差别,因此可以将802.3局域网简称为“以太网”,但严格来说,“以太网”应当是指符合DIX Ethernet V2标准的局域网。以太网与数据链路层的两个子层 为了使数据链路层更好适应多种局域网标准原创 2017-07-24 11:54:46 · 1139 阅读 · 0 评论 -
C/S架构的简单文件传输系统的实现
转载前注明出处欢迎转载分享实现代码github仓库地址:戳这里(https://github.com/chensguo8099/network_programming/tree/master/Serv_sendfiles_to_Client)课程要求:相关函数:(一)C/S即客户端(client)与服务器(server),简单文件传输系统的实现运用了网络编程中socket套接字等原创 2017-04-18 10:06:30 · 8200 阅读 · 3 评论 -
标志寄存器及其标志位
标志寄存器:CPU内部的寄存器,(对于不同的处理机,个数和结构都可能不同)具有三种作用:用来存储相关指令的某些执行结果;用来为CPU执行相关指令提供行为依据;用来控制CPU的相关工作方式。8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字PSW(标志位),简称flag。flag和其他寄存器不一样,其他寄存器是用来存放数据的,都是原创 2017-04-18 10:06:37 · 19124 阅读 · 2 评论 -
计算机网络读书笔记——数据链路层(3)
广域网是使用点到点信道的数据链路层,使用的是PPP协议 局域网是使用广播信道的数据链路层局域网的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限。局域网具有如下的一些主要优点: 具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。便于系统的扩展和逐渐地演变,各设备的位置可灵活地调整和改变。提高了系统的可靠性、可用性和生存性原创 2017-07-22 23:28:25 · 1103 阅读 · 0 评论 -
计算机网络读书笔记——数据链路层(5)
扩展的以太网在物理层扩展以太网以太网主机的距离不能太远,否则主机发送的信号经过铜线的传输就会衰减到使CSMA/CD协议无法正常工作。在过去广泛使用粗缆或细缆以太网时,常使用工作在物理层的转发器来扩展以太网的地理覆盖范围。那时两个网段可用一个转发器连接起来(单个网段被限制为不超过500米长),IEEE 802.3标准还规定,任意两个站之间最多可以经过三个电缆网段。但随着双绞线以太网成为以太网的主流类型原创 2017-07-31 15:28:41 · 905 阅读 · 0 评论 -
计算机网络读书笔记——物理层(2)
物理层下的传输媒体 上图中最下方即为物理层的传输媒体,传输媒体也称传输介质或传输媒介,传输媒体可分为两大类,即导向传输媒体和非导向传输媒体。导向传输媒体双绞线同轴电缆光缆 上图为双绞线(无屏蔽双绞线UTP和屏蔽双绞线STP)和同轴电缆结构图双绞线它是最古老的但又最常用的传输媒体,把两根互相绝缘的铜导线并排放在一起,然后用规则的方法绞合,绞合可减少对相邻导线的电磁干扰,绞合度越高,获得的带原创 2017-07-09 21:32:34 · 799 阅读 · 0 评论 -
计算机网络读书笔记——物理层(1)
物理层的基本概念物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。 用于物理层的协议也常称为规程(procedure),其实物理层规程就是物理层协议。只是在“协议”这个名词出现之前人们就先使用了“规程”这一名词。数据在计算机中多采用并行传输的方式,但数据在通信线路上的传输方式一般都是串行传输(出于经济上的考虑),即逐个比特按照时间顺序传输,因此物理层要完成传原创 2017-07-08 22:22:33 · 917 阅读 · 0 评论 -
计算机网络读书笔记——数据链路层(2)
点对点协议PPP早期通信线路质量较差,在数据链路层使用可靠传输协议曾经是种好方法,于是早期主要流行的是能实现可靠传输的高级数据链路控制HDLC(High-level Data Link Control),但随着通信线路质量的提升,对于点对点链路,现在多采用点对点协议PPP(Point-to-Point Protocol)。 PPP协议应满足的要求:简单封装成帧透明传输支持多种网络层协议支原创 2017-07-11 12:45:39 · 1438 阅读 · 0 评论 -
计算机网络读书笔记——数据链路层(1)
数据链路层的基本概念 当主机H1H_1向主机H2H_2发送数据时,我们可以想象数据就是在数据链路层从左向右沿水平方向传送,物理层中我们通过频分复用、时分复用等解决了传输速率的问题,所以在链路层主要判断数据帧的开头和结尾,从而来识别发送过程中是否出现某些错误,如果出现错误就丢弃数据包,如果未出现错误就发送给网络层。图中的路由器就是网络层设备,根据发送的数据的网络地址来选择合适路径,然后重新封装到数据原创 2017-07-10 13:33:24 · 654 阅读 · 0 评论 -
TCP(1)---三次握手及四次挥手
TCP(Transmission Control Protocol)主要特点:面向连接的运输层协议,也就是说程序使用TCP前需建立TCP连接,传输完毕后需释放连接,也就是说应用程序类似 “接电话”,但也要 “挂电话”。每个TCP连接仅两个端点,每条TCP连接只能点对点传输。TCP提供全双工通信。TCP允许通信双方应用进程任何时候都可发数据。TCP连接的两端都设有发送缓存和接收缓存,用来临时存放原创 2017-04-18 17:19:37 · 708 阅读 · 0 评论 -
socket基础之c/s通信过程
socket可以看成是用户进程与内核网络协议栈的编程接口,socket不仅可以用于本机的进程间通信,还可以用于网络上不同主机的进程通信。 这里所说的不同主机例如手机与PC的通信,为什么说手机与PC为不同主机?只是因为其外观不同吗?不是的,首先手机与PC的软件不同,其次是两者的硬件架构不同,手机采用的是ARM架构而PC大多是x86的架构(至于这两者架构有什么区别,博主现在还不了解,待后续补充,先自行原创 2017-04-23 13:16:59 · 4137 阅读 · 0 评论 -
进程及进程状态
进程概念:执行中的程序,可执行的,从磁盘加载到主存,获得CPU一个静态的程序(头文件、代码段、数据段组成)通过操作系统,在内存中让CPU执行起来形成一个动态的执行过程,这个执行过程我们称之为进程进程与程序的区别进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行,进程有内核态和用户态。进程是暂时的,程序是永久的:进程是一个状态变化的过程,程序可长久保存进程与程序的组成不原创 2017-04-18 10:06:40 · 1577 阅读 · 0 评论 -
I/O多路复用之poll函数分析
转载前注明出处 欢迎转载分享poll函数poll的机制与select类似,也是指定时间内轮询一定数量的文件描述符,以测试其中是否有就绪者,poll原型如下:12#include poll.h >int poll(struct pollfd *fds, nfds_t nfds, int timeout);参数:1)fds参数是一个pollfd结构类原创 2017-04-18 10:06:35 · 580 阅读 · 0 评论 -
I/O多路复用之select函数分析
转载前注明出处,欢迎转载分享如果一堆的client.c与server.c进行连接的话一定会产生很多的进程,也就是说每当来一个客户端请求,就会产生一个进程来服务,然而进程不可能无限制的产生,所以为了解决一对一占用资源的连接方式,引入了IO复用。即:一个进程可以同时对多个客户请求进行服务。I/O复用的适用如下:当客户处理多个文件句柄时必须使用。当一个客户同时处理多个套接口时,而这种情况原创 2017-04-18 10:06:33 · 811 阅读 · 0 评论 -
wait及waitpid函数
转载前注明出处欢迎转载分享一个进程调用了exit之后,该进程并非马上就消失掉,而是留下一个称为僵尸进程(Zombie)的数据结构。在Linux进程的5种状态中,僵尸进程是非常特殊的一种,它已经放弃了几乎所有内存空间,没有任何可执行代码,也不能被调度,仅仅在进程列表中保留一个位置,记载该进程的退出状态等信息供其他进程收集,除此之外,僵尸进程不再占有任何内存空间。从这点来看,僵尸进程对系统毫无作用原创 2017-04-18 10:06:46 · 485 阅读 · 0 评论 -
计算机网络读书笔记——网络层(2)
ICMP协议ICMP经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层(TCP/UDP)使用。一些ICMP报文把差错报文返回给用户进程。ICMP协议可以被认为用于排除网络故障的协议。ICMP报文是在IP数据报内部被传输的: ICMP所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同。ICMP报文的格式如下: 使用ICMP协议的pin原创 2017-11-05 22:18:25 · 315 阅读 · 0 评论