JoeChenzzz

导航

随笔分类 -  网络编程

linux五种I/O模型
摘要:1.基本概念 1.1同步和异步 同步和异步关注的是消息通信机制 1.1.1同步 所谓同步,就是在发出一个调用时,在没有得到结果之前,调用就不返回,一直在等,但是一旦调用返回,就能得到返回值。 1.1.2异步 异步与同步相反,调用在发出之后,这个调用就直接返回了,调用者不能立刻得到结果,而是在调用彻底 阅读全文

posted @ 2019-03-22 13:34 JoeChenzzz 阅读(228) 评论(0) 推荐(0)

select、poll、epoll
摘要:1.概念 select、poll、epoll都是事件触发机制,当等待的事件发生就触发进行处理,用于I/O复用 2.简单例子理解 3.select函数 3.1函数详解 1)第一个参数maxfdp1指定待测试的描述符个数,它的值是待测试的最大描述符加1(因此把该参数命名为maxfdp1),描述字0、1、 阅读全文

posted @ 2019-03-22 08:36 JoeChenzzz 阅读(340) 评论(0) 推荐(0)

负载均衡
摘要:1.概念 1)负载均衡LB(Load Balance)是一种服务器或网络设备的集群技术,负载均衡将特定的业务(网络服务、网络流量等)分担给多个服务器或网络设备,从而提高了业务处理能力,保证了业务的高可用性 2)负载均衡的常用应用场景主要是服务器负载均衡,链路负载均衡 2.负载均衡算法 1)随机算法和 阅读全文

posted @ 2019-03-14 11:36 JoeChenzzz 阅读(370) 评论(0) 推荐(0)

三大路由协议
摘要:1.自治系统 1)为了采用分层次的路由选择协议,因特网将整个互联网划分成许多自治系统,简称为AS 2)为什么要采取分层次的路由协议: 因特网规模很大,如果要让所有路由器知道所有的网络应该怎么到达,则这种路由表将非常大,处理起来很花时间 许多单位不愿意外界了解自己单位所采取额路由选择协议 3)内部网关 阅读全文

posted @ 2019-03-12 19:47 JoeChenzzz 阅读(11878) 评论(0) 推荐(1)

http
摘要:1.URL 1.1概念 1)URL,Uniform Resource Locator,统一资源定位符,是互联网上标准资源的地址 2)URL的一般形式: 协议:常见为http、FTP、https 主机:指服务器的域名或ip地址 端口:如果没有指明端口号,则http默认是80,https默认是443 路 阅读全文

posted @ 2019-02-28 22:06 JoeChenzzz 阅读(399) 评论(0) 推荐(0)

IP
摘要:1.IP首部 IP首部大小范围:固定20字节 + 可选字段0~40字节 2.网络层的传输可靠性 IP协议不保证传输的可靠性,没有重传机制、流量控制,数据包在传输过程中可能出错、丢失、重复、失序,可靠性可以在上层协议或应用程序中提供支持 阅读全文

posted @ 2019-02-28 10:36 JoeChenzzz 阅读(448) 评论(0) 推荐(0)

数据链路层
摘要:1.封装成帧的原因 1)帧定界:定位数据部分和控制信息部分 2)数据包成帧了,CRC算法才能进行差错检测 2.关于数据链路层的传输可靠性 1)数据链路层的差错检测可以实现无比特差错的传输,但这还不是可靠传输,可靠传输还得包括对帧丢失、重复、失序的处理 2)对于通信质量良好的有线链路,数据链路层不使用 阅读全文

posted @ 2019-02-28 09:56 JoeChenzzz 阅读(234) 评论(0) 推荐(0)

TCP
摘要:1.TCP首部 2.三次握手 建立一个TCP连接时会发生下列步骤: 1)服务器被动打开:服务器做好接受外来的连接的准备,通过调用socket、bind和listen函数来完成,从CLOSED态转为LISTEN态 2)客户端主动打开:客户端通过调用connect发起主动打开,向服务器发送一个SYN(即 阅读全文

posted @ 2019-02-27 17:19 JoeChenzzz 阅读(361) 评论(0) 推荐(0)

UDP
摘要:1.UDP首部 2.UDP网络编程步骤 服务端:socket -> bind -> recvfrom/sendto -> close 客户端:socket -> sendto/recvfrom -> close 服务端:socket -> bind -> recvfrom/sendto -> clo 阅读全文

posted @ 2019-02-24 20:20 JoeChenzzz 阅读(161) 评论(0) 推荐(0)

ICMP协议、DNS、ARP协议、ping、DHCP协议
摘要:1.ICMP协议 1)ICMP协议,即:网络控制消息协议(Internet Control Message Protocol) 2)ICMP是网络层协议,因为ICMP报文是装在IP数据报中,作为它的数据部分发出去的,如图 3)ICMP协议用于报告网路差错和异常,如:网络通不通、主机是否可达、路由是否 阅读全文

posted @ 2019-02-24 16:52 JoeChenzzz 阅读(2424) 评论(0) 推荐(0)

OSI七层模型和TCP/IP四层模型
摘要:1)网络层负责点到点的传输(这里的“点”指主机或路由器),而传输层负责端到端的传输(这里的“端”指应用进程) 2)ARP协议介于数据链路层和网络层之间(IPv4专有,IPv6的地址映射功能在ICMPv6协议中) 3)三层交换机:具有部分路由器功能的交换机,工作在的第三层:网络层;能够做到一次路由,多 阅读全文

posted @ 2019-02-21 11:55 JoeChenzzz 阅读(166) 评论(0) 推荐(0)

struct sk_buff和struct net_device
摘要:1.struct sk_buff 1.1概念 sk_buff是是linux内核中描述数据包的结构体,可在各个协议层之间传递,如数据链路层、网络层、运输层 1.2成员组成 1)布局 sk_buff是一个双向链表 2)通用 3)功能相关 4)管理函数 1.3mark标记 mark是sk_buff的标记, 阅读全文

posted @ 2018-12-27 09:28 JoeChenzzz 阅读(283) 评论(0) 推荐(0)

套接字网络编程函数
摘要:socket函数 1)调用socket函数创建套接字 2)domain:即协议域,又称为协议族(family)。常用的协议族有,AF_INET(IPv4)、AF_INET6(IPv6)等 3)type:指定socket类型。常用的socket类型有,SOCK_STREAM(流式套接字)、SOCK_R 阅读全文

posted @ 2018-12-17 16:32 JoeChenzzz 阅读(245) 评论(0) 推荐(0)