- 博客(7)
- 资源 (10)
- 收藏
- 关注
原创 Linux网络总结之七-IO复用模型之select模型
前面提到的迭代式服务器与并发服务器都不能从根本上解决大量客户端连接通信的问题,因此为了实现海量客户端连接通信,Linux内核引入了I/O复用模型。分别是select、poll、epoll。在前面我们分析了通常的I/O模型中,往往限制网络通信效率的就是消息的通知机制和消息的等待过程。所以内核开发者们根据异步的思想引入了消息通知机制来处理网络读、写、异常事件的请求。一 函数介绍selec
2018-03-10 17:11:33 258
原创 Linux网络总结之六-服务器机制与网络编程
一 迭代服务器在客户端-服务器模式中,通常我们采用迭代式服务器,即一个进程处理一个客户端,又因为send与recv函数都是阻塞的,所以当有新的客户连接进来时,传统的迭代式服务器是无法及时作出响应的。如图: 当端口57267的client连接到服务器上之后,服务器进程阻塞与57266端口的client。缓存区有了4个字节的数据。二 并发服务器因为recv函数是阻塞的,所以在服
2018-03-10 15:30:02 291
原创 Linux网络总结之五-TCP连接中的系列函数
这部分我们研究TCP连接建立与关闭过程中各个API函数的作用与特性。首先我们看TCP过程的图示如下: TCP通信时socket之间的通信,所以首先要在内核空间创建socket描述符,其函数如下 :int socket(int domain, int type, int protocol),其中domain指协议族,type指流服务,protocol指具体的协议。返回值为int型整数,代
2018-03-09 22:03:26 488
原创 Linux网络总结之四-TCP超时重传与拥塞控制
一 超时重传前面我们探讨了TCP连接超时的问题,这是在TCP连接建立之前的可靠性机制,那么TCP是如何在连接建立之后维护可靠性传输的呢?这里我们就要探讨一下超时重传机制。超时重传往往发生在网络异常的情况下,TCP协议为TCP报文制定了一个定时器,它用于在给定的时间内接收到对端传回来的确认报文,加入超过给定时间确认报文段还没有传回到发送端,这时发送端就会重新发送上次发送的TCP数据包,并且延
2018-03-09 16:48:49 2958
原创 Linux网络总结三-TCP的可靠机制
TCP协议是一款基于连接的传输层协议,它最大的特点就是提供面向连接且提供可靠传输。这部分我们重点探究TCP的可靠性传输。一 超时重连机制我们知道在TCP建立连接的过程中,很多时候TCP连接并非是一次就可以建立完成的。有时候服务器由于网络繁忙无法对客户端的请求做出及时响应,那么此时客户端应该如何处理呢?我们进行如下实验:设置两台主机分别为:slave(192.168.188.130)与mas
2018-03-07 20:31:46 407
原创 Linux网络总结之二-TCP协议概述
TCP协议是一款传输层协议,也是网络中最重要的一款协议。这部分我们重点探究网络传输层协议TCP协议的头部。一 TCP固定头部结构 TCP固定头部如图所示:16位源/目的端口号,报文来自哪个端口,要与哪个端口通信。在进行TCP通信时,客服端往往选用系统空闲的端口,而服务器往往选用处于监听状态的端口。32位序号,在一次TCP通信中,一个传输方向上的每个字节的编号。通常系统给一个随机
2018-03-07 10:56:40 230
原创 Linux网络总结之一-应用层协议
通常情况下网络体系结构包括:应用层,传输层,网络层,数据链路层四层结构。应用层传输层网络层数据链路层这部分我们重点学习应用层相关协议,应用层直接和网络应用程序交互,是网络体系中最顶层的结构,由用户空间控制。常用的应用层协议包括:http,dns,https,dhcp。一 超文本传输协议HttpHttp规定了浏览器怎样向服务器请求万维网文档,以及怎样将文档传回给浏览器。通
2018-03-05 08:37:09 667
TCP/IP卷1协议
2017-11-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人