
网络协议
文章平均质量分 77
PersonFly_小逗
这个作者很懒,什么都没留下…
展开
-
网络协议引子 OSI
OSI /RM分层(Open System Interconnection Reference Model)All People Seem To Need Data ProcessingA(Application) 应用层: 网络服务与使用者应用程序间的一个接口P(Presentation) 表示层 : 数据表示、数据安全、数据压缩S(Session) 会话层原创 2015-11-12 22:52:43 · 301 阅读 · 0 评论 -
linux中的两个很重要的信号:SIGALRM信号和SIGCHID信号
原文地址在进行堵塞式系统调用时。为避免进程陷入无限期的等待,能够为这些堵塞式系统调用设置定时器。Linux提供了alarm系统调用和SIGALRM信号实现这个功能。 要使用定时器。首先要安装SIGALRM信号。假设不安装SIGALRM信号,则进程收到SIGALRM信号后。缺省的动作就是终止当前进程。SIGALRM信号成功安装后,在什么情况下进程会收到该信号呢?这就要依赖于Linux提...转载 2018-03-18 13:21:33 · 479 阅读 · 0 评论 -
sockaddr和sockaddr_in的区别
原文地址struct sockaddr和struct sockaddr_in这两个结构体用来处理网络通信的地址。在各种系统调用或者函数中,只要和网络地址打交道,就得用到这两个结构体。网络中的地址包含3个方面的属性:1 地址类型: ipv4还是ipv62 ip地址3 端口相应的,头文件有如下定义: 1 include i转载 2018-01-20 18:52:18 · 276 阅读 · 0 评论 -
ntohs, ntohl, htons,htonl的比较和详解
原文地址ntohs =net to host short int 16位htons=host to net short int 16位ntohl =net to host long int 32位htonl=host to net long int 32位网络字节顺序NBO(Network Byte Order)按从高到低的顺序存储,在网络上使用转载 2018-01-03 22:54:08 · 502 阅读 · 0 评论 -
长连接和心跳包
第一种设置:通过设置socket的keepalive属性#include "/usr/include/Linux/tcp.h"#include "/usr/include/linux/socket.h"////KeepAlive实现,单位秒//下面代码要求有ACE,如果没有包含ACE,则请把用到的ACE函数改成linux相应的接口int keepAlive = 1;//设转载 2016-12-15 05:21:08 · 456 阅读 · 0 评论 -
循环冗余检验 (CRC) 算法原理
点击打开链接Cyclic Redundancy Check循环冗余检验,是基于数据计算一组效验码,用于核对数据传输过程中是否被更改或传输错误。算法原理假设数据传输过程中需要发送15位的二进制信息g=101001110100001,这串二进制码可表示为代数多项式g(x) = x^14 + x^12 + x^9 + x^8 + x^7 + x^5 + 1,其中g中第k位的值,对转载 2016-12-14 03:12:39 · 742 阅读 · 0 评论 -
Socket层实现系列 — send()类发送函数的实现
点击打开链接主要内容:socket发送函数的系统调用、Socket层实现。内核版本:3.15.2 我的博客:http://blog.youkuaiyun.com/zhangskd 发送流程图 以下是send()、sendto()、sendmsg()和sendmmsg()的发送流程图,这四个函数除了在系统调用层面上有些差别,在Socket层转载 2016-12-13 15:07:55 · 3623 阅读 · 3 评论 -
网上一篇非常好的讲socket的send和recv的
网上一篇非常好的讲socket的send和recv的 2011年03月18日星期五15231.send函数int send(SOCKET s,const char FAR*buf,int len,int flags) 不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求而服务器则通常用send函数转载 2016-12-13 04:29:43 · 2313 阅读 · 0 评论 -
socket函数send和recv函数
原文地址在发送端,一次发送4092个字节,在接收端,一次接收4092个字节,但是在接收端,偶尔会出现 socket.receive 接收不全的情况 ,ret = sock.recv(bBuffer,iBufferLen,0); //也有可能无法收到全部数据!必须要考虑0 ret iBufferLen的情况:继续接收iBufferLen - ret字节,然后合并转载 2016-12-13 03:09:45 · 1386 阅读 · 0 评论 -
TCP/IP模型各个层次的功能和协议
层次名称功 能协 议应用层(Application Layer)负责实现一切与应用程序相关的功能,对应OSI参考模型的上三层FTP(文件传输协议)HTTP(超文本传输协议)DNS(域名服务器协议)SMTP(简单邮件传输协议)NFS(网络文件系统协议)传输层(Transport转载 2015-12-03 10:34:51 · 1406 阅读 · 0 评论 -
网络协议学习笔记-数据链路层-MTU、路径MTU和串行线路吞吐量计算
原文 http://www.cnblogs.com/Marineking/articles/2626394.html最大传输单元 (Maximum Transmission Unit,MTU):是指一种通信协议的某一层上面所能通过的最大数据报大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。以太网和802.3对数据帧的长度都有一个限制转载 2015-12-02 20:27:16 · 1932 阅读 · 0 评论 -
TCP/IP详解学习笔记(2)-- 数据链路层
原文:http://www.cnblogs.com/newwy/archive/2013/07/26/3216457.html1.概述 数据链路层属于计算机网络的底层,使用的信道主要有点对点信道和广播信道两种类型。 在TCP/IP协议族中,数据链路层主要有三个目的: 1)为IP模块发送和接收数据 2)转载 2015-12-02 19:53:50 · 457 阅读 · 0 评论 -
简单理解Socket
原文:http://www.cnblogs.com/dolphinX/p/3460545.html题外话前几天和朋友聊天,朋友问我怎么最近不写博客了,一个是因为最近在忙着公司使用的一些控件的开发,浏览器兼容性搞死人;但主要是因为这段时间一直在看html5的东西,看到web socket时觉得很有意思,动手写几个demo,但web socket需要特定的服务器支持,由转载 2015-12-12 13:13:57 · 239 阅读 · 0 评论 -
TCP、UDP、IP 协议分析
原文地址:http://blog.chinaunix.net/uid-26833883-id-3627644.html互连网早期的时候,主机间的互连使用的是NCP协议。这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能。为了改善这种缺点,大牛弄出了TCP/IP协议。现在几乎所有的操作系统都实现了TCP/IP协议栈。TCP/I翻译 2015-12-12 12:34:21 · 270 阅读 · 0 评论 -
TCP(传输控制协议)
传输控制协议(英语:Transmission Control Protocol, TCP)一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。在因特网协议族(Internet protocolsuite)中,TCP层是位于IP层之上,应用层之原创 2015-12-11 17:14:25 · 750 阅读 · 0 评论 -
ARP 协议
ARP协议位置:数据链路层(data link layer)OSI Layer 2全名:地址解析协议(Address Resolution Protocol)其基本功能为通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。它是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。基本功能在以太网协议原创 2015-12-10 11:55:23 · 328 阅读 · 0 评论 -
网络协议引子 TCP/IP
TCP/IP参考模型是首先由ARPANET所使用的网络体系结构。这个体系结构在它的两个主要协议出现以后被称为TCP/IP参考模型(TCP/IP Reference Model)。这一网络协议共分为四层:网络访问层、互联网层、传输层和应用层,如图2所示。图2 TCP/IP参考模型网络访问层(Network Access Layer)在TCP/IP参考模型中并没有详细描述,只是原创 2015-11-12 23:02:31 · 333 阅读 · 0 评论 -
IO模式和IO多路复用
原文地址阅读目录1 基础知识回顾2 I/O模式3 事件驱动编程模型4 select/poll/epoll的区别及其Python示例 网络编程里常听到阻塞IO、非阻塞IO、同步IO、异步IO等概念,总听别人装13不如自己下来钻研一下。不过,搞清楚这些概念之前,还得先回顾一些基础的概念。回到顶部1 基础知识回顾注意:咱们下面说的都是Linux环境下,跟Windows不一样哈~~~1.1 用户空间和内...转载 2018-03-25 22:40:49 · 231 阅读 · 0 评论