网络通信
文章平均质量分 78
wwena8
现为研一在读学生
展开
-
HTTP协议常见知识点
1 Http与Https的区别:http与https都是应用层协议,通常http默认端口是80,https默认端口是443。https有加密证书。2 URI和URL的区别:URL是协议的统一资源定位符,通常的格式是:协议+主机ip+目录文件名URI统一资源标识符,用来唯一的标识一个资源。访问资源的命名机制,存放资源的主机名,资源自身的名称,由路径表示,着重强调于资源。3 http通用方法包括:GETPOSTPUT 传输文件,保存到对应UTI位置HEAD 只获取首部,不返回主体DEL原创 2020-05-25 08:37:30 · 212 阅读 · 0 评论 -
Linux网络总结之七-IO复用模型之select模型
前面提到的迭代式服务器与并发服务器都不能从根本上解决大量客户端连接通信的问题,因此为了实现海量客户端连接通信,Linux内核引入了I/O复用模型。分别是select、poll、epoll。在前面我们分析了通常的I/O模型中,往往限制网络通信效率的就是消息的通知机制和消息的等待过程。所以内核开发者们根据异步的思想引入了消息通知机制来处理网络读、写、异常事件的请求。一 函数介绍selec原创 2018-03-10 17:11:33 · 258 阅读 · 0 评论 -
Linux网络总结之一-应用层协议
通常情况下网络体系结构包括:应用层,传输层,网络层,数据链路层四层结构。应用层传输层网络层数据链路层这部分我们重点学习应用层相关协议,应用层直接和网络应用程序交互,是网络体系中最顶层的结构,由用户空间控制。常用的应用层协议包括:http,dns,https,dhcp。一 超文本传输协议HttpHttp规定了浏览器怎样向服务器请求万维网文档,以及怎样将文档传回给浏览器。通原创 2018-03-05 08:37:09 · 667 阅读 · 0 评论 -
Linux网络总结之六-服务器机制与网络编程
一 迭代服务器在客户端-服务器模式中,通常我们采用迭代式服务器,即一个进程处理一个客户端,又因为send与recv函数都是阻塞的,所以当有新的客户连接进来时,传统的迭代式服务器是无法及时作出响应的。如图: 当端口57267的client连接到服务器上之后,服务器进程阻塞与57266端口的client。缓存区有了4个字节的数据。二 并发服务器因为recv函数是阻塞的,所以在服原创 2018-03-10 15:30:02 · 291 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Linux网络总结之四-TCP超时重传与拥塞控制
一 超时重传前面我们探讨了TCP连接超时的问题,这是在TCP连接建立之前的可靠性机制,那么TCP是如何在连接建立之后维护可靠性传输的呢?这里我们就要探讨一下超时重传机制。超时重传往往发生在网络异常的情况下,TCP协议为TCP报文制定了一个定时器,它用于在给定的时间内接收到对端传回来的确认报文,加入超过给定时间确认报文段还没有传回到发送端,这时发送端就会重新发送上次发送的TCP数据包,并且延原创 2018-03-09 16:48:49 · 2957 阅读 · 0 评论 -
Linux网络总结三-TCP的可靠机制
TCP协议是一款基于连接的传输层协议,它最大的特点就是提供面向连接且提供可靠传输。这部分我们重点探究TCP的可靠性传输。一 超时重连机制我们知道在TCP建立连接的过程中,很多时候TCP连接并非是一次就可以建立完成的。有时候服务器由于网络繁忙无法对客户端的请求做出及时响应,那么此时客户端应该如何处理呢?我们进行如下实验:设置两台主机分别为:slave(192.168.188.130)与mas原创 2018-03-07 20:31:46 · 407 阅读 · 0 评论 -
Linux网络总结之二-TCP协议概述
TCP协议是一款传输层协议,也是网络中最重要的一款协议。这部分我们重点探究网络传输层协议TCP协议的头部。一 TCP固定头部结构 TCP固定头部如图所示:16位源/目的端口号,报文来自哪个端口,要与哪个端口通信。在进行TCP通信时,客服端往往选用系统空闲的端口,而服务器往往选用处于监听状态的端口。32位序号,在一次TCP通信中,一个传输方向上的每个字节的编号。通常系统给一个随机原创 2018-03-07 10:56:40 · 229 阅读 · 0 评论 -
聊聊IO多路复用之select、poll、epoll详解
在做网络编程时,服务器能够高效地处理众多客户端的请求十分关键。而这一关键的实现依靠IO复用技术。IO复用技术转载 2018-01-13 10:17:40 · 314 阅读 · 0 评论 -
I/O模型:从阻塞到非阻塞再到select
经过对网络模型的一段时间的学习,现在对I/O模型做出下列总结;一般情况下,I/O操作一般包括两个阶段:(1)等待数据进入内核缓冲区; (2)从内核的缓冲区往进程中拷贝数据。1:阻塞模型:故名思意,就是当资源未到达时,进程被cpu切出处于阻塞状态。这是大多数函数所使用的模型,在TCP套接字工作的过程中,几乎所有的函数都用该模型。该模型的最大缺点是服务端无法提供多个客户端链路的同原创 2017-12-02 18:11:35 · 554 阅读 · 0 评论 -
基本TCP套接字编程
经过最近一段时间的系统学习,对于传输协议中TCP协议的套接字编程以及11中状态转化有了一定的认识,现在做出以下总结:上图是几乎所有教科书上关于TCP客户端/服务器通信过程中API函数的汇总。首先看服务器端1:服务端以被动连接的方式参与通信,因此首先调用socket(int family,int type,int protocol)函数,其目的是在服务端创建一个socket文件描述符原创 2017-11-18 22:55:44 · 320 阅读 · 0 评论