#计算机网络 网络编程
阳光丿洒脱
死亡不是终点,遗忘才是。
展开
-
HTTP清晰的学习笔记
HTTP协议—应用层请求消息(Request)—浏览器给服务器发包含四部分请求行:说明请求类型,要访问的资源,以及使用的http版本请求头:说明服务器要使用的附加信息,由键值对构成的空行:空行是必须要有的,即使没有请求数据请求数据:也叫主体,可以添加任意的其他数据例如GET /3.txt HTTP/1.1/: 资源目录的根目录 三部分内容由空格间隔Host: local...原创 2019-10-21 15:56:00 · 153 阅读 · 0 评论 -
IO多路转接模型-----epoll
epoll:Linux下性能最高的多路转接模型epoll 有3个相关的系统调用.epoll_create功能:创建epoll,在内核中创建eventpoll结构体,size决定了epoll最多监控多少个描述符,在Linux2.6.8之后被忽略,但是必须>0。返回一个文件描述符,作为epoll的操作句柄struct eventpoll{...rb_root rbr(红黑树)......原创 2019-09-30 14:33:57 · 349 阅读 · 0 评论 -
IO多路转接模型----(select的模型,select的优缺点,poll的模型,poll的优缺点)
IO多路转接模型:select/poll/epoll对大量描述符进行事件监控(可读/可写/异常)select模型用户定义描述符的事件监控集合 fd_set(这是一个位图,用于存储要监控的描述符); 用户将需要监控的描述符添加到集合中,这个描述符集合的大小取决于一个宏 _FD_SETSIZE = 1024将集合拷贝到内核中进行监控;在内核中对所有描述符进行轮询遍历判断是否有关心的事件就绪...原创 2019-09-29 18:27:52 · 554 阅读 · 0 评论 -
高级IO--1 ---(五种典型IO,阻塞IO,非阻塞IO,信号驱动IO,异步IO, IO多路转接)
高级IO:五种典型IO:阻塞IO/非阻塞IO/信号驱动IO/异步IO/IO多路转接IO多路转接模型:select/poll/epoll五种典型IO阻塞IOIO操作的流程:等待IO操作条件具备,然后进行数据拷贝为了完成IO操作发起调用,若当前不具备IO操作条件,则等待,直到条件具备,完成IO操作后调用返回钓鱼的时候,手里一直握着鱼竿,等待????上钩。非阻塞IO为了完成IO操作发起调...原创 2019-09-28 17:25:29 · 700 阅读 · 0 评论 -
网络中典型协议--(DNS,输入url后, 发生的事情. ,ICMP,NAT)
DNS(Domain Name System)DNS是一整套从域名映射到IP的系统域名服务器发展背景TCP/IP中使用IP地址和端口号来确定网络上的一台主机的一个程序. 但是IP地址不方便记忆. 于是人们发明了一种叫主机名的东西, 是一个字符串, 并且使用hosts文件来描述主机名和IP地址的关系.最初, 通过互连网信息中心(SRI-NIC)来管理这个hosts文件的.如果一个新计算...原创 2019-09-28 16:05:54 · 375 阅读 · 0 评论 -
网络基础3-1(细谈IP协议头, 网络层,子网划分,路由选择,数据链路层,以太网帧格式,MAC地址,再谈ARP协议)
网络层功能:地址管理与路由选择路由选择在复杂的网络传输中对数据的传输选择一条合适路径IP地址不能随意分配,因为随意分配就有很大概率造成IP地址冲突(数据无法发送)解决方法:将IP地址的分配规范起来每个路由器都能够组建一个局域网,这个局域网就应该具有自己的网络标识(网络号),这个路由器向自己组建的局域网中的主机分配的IP地址都应该包含这个网络标识同时为了在局域网中,能够唯一标识一个主机...原创 2019-09-27 18:10:25 · 962 阅读 · 0 评论 -
网络基础2-3(TCP协议,三次握手,四次挥手,TIME_WAIT状态的作用,TCP如何保证可靠传输,TCP连接中状态转化,滑动窗口,流量控制,快速重传,拥塞窗口,延迟应答,捎带应答,粘包问题)
TCP协议TCP协议概念TCP全称为 “传输控制协议(Transmission Control Protocol”). 人如其名, 要对数据的传输进行一个详细的控制TCP协议格式1. 源/目的端口号: 表示数据是从哪个进程来, 到哪个进程去;2. 32位序号/32位确认号: 后面详细讲;3. 4位TCP报头长度: 表示该TCP头部有多少个32位bit(有多少个4字节); 所以TCP头...原创 2019-09-22 12:40:23 · 2694 阅读 · 0 评论 -
网络基础2-2(传输层,端口,详谈UDP)
传输层负责数据能够从发送端传输接收端.端口号端口号(Port)标识了一个主机上进行通信的不同的应用程序;在TCP/IP协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信(可以通过 netstat -n查看);一个端口只能被一个进程占用,一个进程可以使用多个端口端口号范围划分0 - 1023: 知名端口号, HT...原创 2019-09-21 16:43:06 · 765 阅读 · 0 评论 -
网络基础 2-1(应用层,HTTP三点注意,HTTP协议格式, 最简单的HTTP服务器)
应用层应用层负责应用程序之间的数据沟通-----协议都是用户自己定的自定制协议:结构化数据传输序列化:将数据对象以指定的协议(数据格式)进行可用于持久化存储或者数据传输时的数据组织例如在分布式的系统中,需要把对象从网络的一端传输到另外一端;而网络中数据是以二进制流的方式来传递的 ;此时对象的序列化就是完成把对象转化成对应二进制流的方式;反序列化则是把二进制流转化为对象数据的方式。反...原创 2019-09-21 15:50:45 · 906 阅读 · 0 评论 -
套接字编程---2(TCP套接字编程的流程,TCP套接字编程中的接口函数,TCP套接字的实现,TCP套接字出现的问题,TCP套接字多进程版本,TCP套接字多线程版本)
TCP模型创建流程图TCP套接字编程中的接口socket 函数#include <sys/types.h> /* See NOTES */#include <sys/socket.h>int socket(int domain, int type, int protocol);domain:AF_INET 这是大多数用来产生socket的协议,使用TC...原创 2019-09-21 11:02:20 · 1357 阅读 · 0 评论 -
套接字编程--1(UDP协议编程,端口号,传输层协议,网络字节序)
传输层的协议:ip地址:在网络中唯一标识一台主机IPV4:uint32_t DHCP NATIPV6 : uint8_t addr[16] —向前并不兼容IPV4每一条数据都必须包含源地址和目的地址:因为每条网络中的数据都必须确定是从那个主机来到那个主机去端口号在一台主机上唯一标识一个进程在一台主机上,当网卡收到网络数据,操作系统能够通过端口分辨出,这个数据该交给拿个进程处...原创 2019-08-12 12:23:36 · 1671 阅读 · 0 评论 -
网络基础3(IP段格式,UDP数据报格式,TCP数据报格式)
IP段格式IP数据报的首部长度和数据长度都是可变长的,但总是4字节的整数倍。对于IPv4,4位版本字段是4。4位首部长度的数值是以4字节为单位的,最小值为5,也就是说首部长度最小是4x5=20字节,也就是不带任何选项的IP首部,4位能表示的最大值是15,也就是说首部长度最大是60字节。8位TOS字段有3个位用来指定IP数据报的优先级(目前已经废弃不用),还有4个位表示可选的服务类型(最小延...原创 2019-04-14 23:21:18 · 925 阅读 · 0 评论 -
网络基础2(分层模型,通信过程,以太网,ARP协议格式和具体功能详解)
分层模型OSI七层模型OSI模型1 物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。2 数据链路层:定义了如何让格式化数据以帧为单位进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检...原创 2019-04-13 19:50:38 · 970 阅读 · 0 评论 -
网络基础一(协议的概念,网络应用程序设计模式)
协议的概念什么是协议?从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。假设,A、B双方欲传输文件。规定:第一次,传输文件名,接收方接收到文件名,应答OK给传输方;第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK;第三次,传输文件内容。同样,接收方接收数据完成后应答OK表示文件内容接收成功。由此,无论A、B之间传递何种文件,都是通过三次数据传输来完成。...原创 2019-04-09 23:05:13 · 373 阅读 · 0 评论 -
网络基础4(TCP三次握手,四次握手,TCP流量控制,TCP状态转换 , TCP异常断开,设置TCP属性,端口复用)
TCP协议TCP通信时序下图是一次TCP通讯的时序图。TCP连接建立断开。包含大家熟知的三次握手和四次握手。TCP通讯时序在这个例子中,首先客户端主动发起连接、发送请求,然后服务器端响应请求,然后客户端主动关闭连接。两条竖线表示通讯的两端,从上到下表示时间的先后顺序,注意,数据从一端传到网络的另一端也需要时间,所以图中的箭头都是斜的。双方发送的段按时间顺序编号为1-10,各段中的主要...原创 2019-04-15 23:07:51 · 1035 阅读 · 0 评论