网络编程
文章平均质量分 75
月已满西楼
某不知名学校毕业学生,某不知名名企软件工程师,擅长C++
python,Mysql
展开
-
计网学习笔记day1
1.Internet :互联网 internet: 因特网 2.ISP因特网服务提供商(internet service provider) 用户通过ISP实现上网 根据提供服务的覆盖面积大小以及所拥有的IP 地址数目的不同,ISP 也分成为不同的层次。 从因特网的工作方式上看,可以划分为以下的两大块: (1) 边缘部分 由所有连接在因特网上的主机组成。这部分是用原创 2017-05-10 21:23:27 · 524 阅读 · 0 评论 -
day8 socket编程CS模型完善错误处理
client.c/************************************************************************* > File Name: client.c > Author: sunxingying > Mail: 1159015605@qq.com > Created Time: 2017年05月24日 星期三原创 2017-05-26 21:04:28 · 448 阅读 · 0 评论 -
crc校验详解
一、crc校验是什么? CRC即循环冗余校验码(Cyclic Redundancy Check[1] ):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。二、crc的原理是什么? 循环冗余校验码(CRC)原创 2017-06-15 16:01:48 · 7762 阅读 · 1 评论 -
NAT映射和代理服务器
一、NAT什么是NAT NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。 这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效原创 2017-06-15 17:33:32 · 7184 阅读 · 0 评论 -
http服务器小项目
1. http项目整体框架1.1http协议格式http请求由三部分组成,分别是:起始行、消息报头、请求正文Request Line<CRLF>Header-Name: header-value<CRLF>Header-Name: header-value<CRLF>//一个或多个,均以<CRLF>结尾<CRLF>body//请求正文起始行以一个方法符号开头,以空格分开,后面跟着请求的URI和协原创 2017-07-17 11:40:15 · 874 阅读 · 1 评论 -
HTTP详解
一、tcp/Ip四层模型 1. 应用层:http、ftp(文件传输协议)、smtp(邮件传输协议)、telnet(tcp)|ping->ICMP 、DNS(UDP) 2. 传输层:TCP UDP 3. 网络层:IP、ICMP、IGMP、ARP、RARP。 4. 网络接口层:二、http协议详解: 1. http(超文本传输协议) >2. 请求报原创 2017-08-18 22:01:04 · 427 阅读 · 1 评论 -
定时器&&三次握手&&滑动窗口&&DNS
1. TCP/IP四层模型中常见的定时器保活定时器 保活计时器用来防止两个TCP之间的连续出现长时间的空闲。 假定客户已主动与服务器建立了TCP链接。然后这个客户端出现故障。在这种情况下,这个链接就会永远的处于打开状态。而服务器维护一个链接,也是要耗费一定的资源的,所以必须采取措施,使服务器不能白白等下去。 要解决这种问题,就要对服务器设置保活计时器。每当服务器收到客户的信息,原创 2017-08-25 18:14:08 · 714 阅读 · 0 评论 -
TCP格式&&可靠性保证&&URG PSH区别
1. 电路交换和分组交换的区别,优劣对比2. TCP/IP协议有哪几层,各层的作用是什么?列举各层主要的协议名称 应用层:提供应用层面沟通的层 主要协议:ftp http smtp telnet(tcp) dns(udp) ping(icmp) 传输层:提供节点间的数据传输服务 主要协议:tcp(基于字节流面向链接,所以长连接时容易出现粘包问题)、udp(基于数据报,无连接原创 2017-08-25 16:27:31 · 522 阅读 · 0 评论 -
MAC&&ARP&&透明传输
一、MAC地址的概念及作用MAC地址就是网卡的物理地址(硬件地址)48位,作用:唯一标示一台网络设备,在数据链路层中交换机通过识别MAC地址进行数据报的传递源主机向自己所在的网络 广播一个ARP请求,该请求包含目标机器的网络地址,此网络的所有机器都将受到这个请求,但是只有被请求的目标机器会回应一个ARP应答,其中包含了自己的MAC地址。IP地址在网络间寻址起作用,在同一个网络内,IP地址被转原创 2017-08-26 09:04:22 · 1426 阅读 · 0 评论 -
CRC冗余校验算法&&MTU
一、CRC冗余校验算法CRC原理: 先选择一个用于在接收端进行校验时,对接收的贞进行除法运算的除数看所选定的除数的二进制位数(假定为K位),然后要在要求发送的数据帧后面加上K-1位0,然后这个加了K-1位0的新帧中,以模2除法的方式,除以上面这个除数,所得到的系数就是该帧的CRC校验码。把这个校验码附在源数据帧的后面(不是加0以后的),构建一个新帧发送到接收端,在接收端以“模2除法”方式除以原创 2017-08-26 09:51:14 · 626 阅读 · 1 评论 -
ICMP&&IP&&ARP
一、ICMP的主要功能ICMP的分类: ICMP差错报文 2. ICMP询问报文ICMP差错报文有5种 终点不可达:当路由器或者主机不能交付报文时原点抑制:当路由器或者主机由于拥塞二丢弃数据报时,发送此报文这时原点会把发送报文的速度减缓。时间超时:收到生存时间为0的报文时发送参数问题:有数据报首部有字段值不正确时发送改变路由(重定向): 路由器把改变路由报文发送给主机,让主机知道下原创 2017-08-26 17:43:17 · 392 阅读 · 0 评论 -
网络
TCP格式&&可靠性保证&&URG PSH区别1. 电路交换和分组交换的区别,优劣对比2. TCP/IP协议有哪几层,各层的作用是什么?列举各层主要的协议名称 应用层:提供应用层面沟通的层 主要协议:ftp http smtp telnet(tcp) dns(udp) ping(icmp) 传输层:提供节点间的数据传输服务 主要协议:tcp(基于字节流面向链接,所以长连接时原创 2017-08-31 08:08:28 · 646 阅读 · 0 评论 -
合法IP&窗口最大值数组&打印素数&递归逆序一个栈&栈排序另一个栈&MyString&寻找数组中出现的重复字符&数组中的重复数字&逆序打印链表&空格替换成%20
1. 判断字符串是否是IP地址#include<stdio.h>#include<string.h>int main(void){ char str[31], temp[31]; int a, b, c, d; while(gets(str) != NULL) { if (sscanf(str, "%d.%d.%d.%d", &a, &b, &c原创 2017-07-04 12:39:01 · 419 阅读 · 0 评论 -
SOAP服务端&客户端开发示例-C++
一、soap简介SOAP 是一种简单的基于 XML 的协议,它使应用程序通过 HTTP 来交换信息。SOAP 指简易对象访问协议SOAP 是一种通信协议SOAP 用于应用程序之间的通信SOAP 是一种用于发送消息的格式SOAP 被设计用来通过因特网进行通信SOAP 独立于平台SOAP 独立于语言SOAP 基于 XMLSOAP 很简单并可扩展SOAP 允许您绕过防火墙S...原创 2019-01-08 10:01:08 · 2040 阅读 · 0 评论 -
计算机网络谢希仁第八版 课后答案第七版课后答案
谢希仁计算机网络第七版课后答案第一章 概述1-01 计算机网络向用户可以提供那些服务?答: 连通性和共享1-02 简述分组交换的要点。答:(1)报文分组,加首部(2)经路由器储存转发(3)在目的地合并1-03 试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。答: (1)电路交换:端对端通信质量因约定了通信资源获得可靠保障,对连续传送大量数据效率高。(2)报文交换:无须预约传输带...原创 2019-10-14 11:04:39 · 219419 阅读 · 69 评论 -
计算机网络谢希仁第七版 第二章 课后答案
计算机网络谢希仁第七版 第二章 课后答案2-01 物理层要解决哪些问题?物理层的主要特点是什么?计算机网络谢希仁答案:物理层要解决的主要问题:(1)物理层要尽可能地屏蔽掉物理设备和传输媒体,通信手段的不同,使数据链路层感觉不到这些差异,只考虑完成本层的协议和服务。(2)给其服务用户(数据链路层)在一条物理的传输媒体上传送和接收比特流(一般为串行按顺序传输的比特流)的能力,为此,物理层应该解决...原创 2019-07-03 23:04:12 · 20669 阅读 · 4 评论 -
day9TCP三次握手四次握手
为什么会有TCP三次握手 IP:网络层不稳定,硬件联系紧密,一旦路由器出现问题数据不能到达, 传输层 对不稳定的网络层完全不弥补–>UDP—无连接不可靠报文传输;对不稳定的网络层完全弥补–>TCP—面向连接的可靠数据包传递。 在发数据之前先建立通路。—建立连接的过程就是三次握手TCP通信时序下图是一次TCP通讯的时序图。TCP连接建立断开。包含大家熟知的三次握手和四次握手。SYN标志位原创 2017-05-28 20:17:36 · 506 阅读 · 0 评论 -
TCP半关闭状态
当TCP链接中A发送FIN请求关闭,B端回应ACK后(A端进入FIN_WAIT_2状态),B没有立即发送FIN给A时,A方处在半链接状态,此时A可以接收B发送的数据,但是A已不能再向B发送数据。 从程序的角度,可以使用API来控制实现半连接状态。#include <sys/socket.h>int shutdown(int sockfd, int how);sockfd: 需要关闭的soc原创 2017-06-26 15:19:38 · 2779 阅读 · 1 评论 -
TCP定时器详解
TCP使用四种定时器(Timer,也称为“计时器”): 重传计时器:Retransmission Timer 坚持计时器:Persistent Timer 保活计时器:Keeplive Timer 时间等待计时器:Time_Wait Timer。重传计时器: 重传定时器:为了控制丢失的报文段或丢弃的报文段,也就是对报文段确认的等待时间。当TCP发送报文段时,就创建这个特定报文段的重传原创 2017-06-26 15:03:03 · 338 阅读 · 0 评论 -
计算机网络学习笔记day2
吞吐量:吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的数据量。吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。吞吐量受网络的带宽或网络的额定速率的限制。传输时延:传输时延(发送时延 ) 发送数据时,数据块从结点进入到传输媒体所需要的时间。 也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间原创 2017-05-13 11:21:40 · 542 阅读 · 0 评论 -
day6-socket编程C/S模型
C/S模型-TCP下图是基于TCP协议的客户端/服务器程序的一般流程: server.c socket() 建立套接字 bind() 绑定IP 端口号 (struct sockaddr_in addr 初始化) listen() 指定最大同时发起连接数 accept() 阻塞等待客户端发起连接 read() 小–大 write 给 客户端 clo原创 2017-05-22 21:55:16 · 869 阅读 · 0 评论 -
计算机网络学习笔记day3
计算机网络的体系结构: 法律上的(de jure)国际标准 OSI 并没有得到市场的认可。 是非国际标准 TCP/IP 现在获得了最广泛的应用。 TCP/IP 常被称为事实上的(de facto) 国际标准。 计算机网络中的数据交换必须遵守事先约定好的规则。 这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。网络协议(network pr原创 2017-05-17 21:18:26 · 518 阅读 · 0 评论 -
day9协议上限分析
day9协议上限分析原创 2017-05-28 20:40:02 · 586 阅读 · 0 评论 -
day10 socket编程高并发服务器
高并发服务器多线程并发服务器使用多进程并发服务器时要考虑以下几点:父进程最大文件描述个数(父进程中需要close关闭accept返回的新文件描述符)系统内创建进程个数(与内存大小相关)进程创建过多是否降低整体服务性能(进程调度)server.c/* server.c */#include <stdio.h>#include <string.h>#include <netinet/in.原创 2017-05-29 19:43:10 · 422 阅读 · 0 评论 -
计算机网络学习笔记day4
协议的概念什么是协议 从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。 假设,A、B双方欲传输文件。规定: 第一次,传输文件名,接收方接收到文件名,应答OK给传输方; 第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK; 第三次,传输文件内容。同样,接收方接收数据完成后应答OK表示文件内容接收成功。 由此,无论A、B原创 2017-05-18 20:57:45 · 384 阅读 · 0 评论 -
端口号的分类
一、什么是端口 计算机“端口”[1] 是英文port的义译,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。二、什么是端口号:1、什么是端口号 在一台主机上运行了多个服务,主机为了区分这些服务,所以给每个服务原创 2017-06-15 20:25:00 · 484 阅读 · 0 评论 -
day12 多路IO转接服务器
多路IO转接服务器也叫做多任务IO服务器。该类服务器实现的主旨思想是,不再由应用程序自己监视客户端连接,取而代之由内核替应用程序监视文件。 主要使用的方法有三种:selectselect能监听的文件描述符个数受限于FD_SETSIZE,一般为1024,单纯改变进程打开的文件描述符个数并不能改变select监听文件个数解决1024以下客户端时使用select是很合适的,但如果链接客户端过多,原创 2017-06-05 20:32:10 · 569 阅读 · 0 评论 -
day11 soket编程之半关闭
当TCP链接中A发送FIN请求关闭,B端回应ACK后(A端进入FIN_WAIT_2状态),B没有立即发送FIN给A时,A方处在半链接状态,此时A可以接收B发送的数据,但是A已不能再向B发送数据。 从程序的角度,可以使用API来控制实现半连接状态。 #include <sys/socket.h>int shutdown(int sockfd, int how);sockfd: 需要关闭原创 2017-06-01 19:19:37 · 555 阅读 · 0 评论 -
day10 tcp状态转换
tcp状态转换图如下: 主动端是实线。被动端是虚线 主动关闭链接: 被动关闭链接 CLOSED:表示初始状态。 LISTEN:该状态表示服务器端的某个SOCKET处于监听状态,可以接受连接。 SYN_SENT:这个状态与SYN_RCVD遥相呼应,当客户端SOCKET执行CONNECT连接时,它首先发送SYN报文,随即进入到了SYN_SENT状态,并等待服务端的发送三次握手原创 2017-05-31 20:37:03 · 363 阅读 · 0 评论 -
计算机网络学习day5
UDP数据报格式 下面分析一帧基于UDP的TFTP协议帧。以太网首部0000: 00 05 5d 67 d0 b1 00 05 5d 61 58 a8 08 00IP首部0000: 45 000010: 00 53 93 25 00 00 80 11 25 ec c0 a8 00 37 c0 a80020: 00 01UDP首部0020: 05 d4 00 45 00 3f ac 4原创 2017-05-19 18:14:27 · 270 阅读 · 0 评论 -
计网笔记之打洞机制和socket编程
打洞机制图解: 套接字概念 Socket本身有“插座”的意思,在Linux环境下,用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。 既然是文件,那么理所当然的,我们可以使用文件描述符引用套接字。与管道类似的,Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写文件的操作一致。区别是管道主要应用于本地进程间通信,而套接字多应用于网络进程间数据的传递。原创 2017-05-21 21:19:47 · 1022 阅读 · 0 评论 -
day6-socket编程-函数
sockaddr数据结构 strcut sockaddr 很多网络编程函数诞生早于IPv4协议,那时候都使用的是sockaddr结构体,为了向前兼容,现在sockaddr退化成了(void *)的作用,传递一个地址给函数,至于这个函数是sockaddr_in还是sockaddr_in6,由地址族确定,然后函数内部再强制类型转化为所需的地址类型。 struct sockaddr_in addr原创 2017-05-22 11:25:28 · 432 阅读 · 0 评论 -
epoll服务器小结
epoll简介: epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,因为它会复用文件描述符集合来传递结果而不用迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合,另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描述符集合原创 2017-06-30 09:28:10 · 304 阅读 · 0 评论 -
TCP: SYN ACK FIN RST PSH URG 详解
TPC数据报格式 与UDP协议一样也有源端口号和目的端口号,通讯的双方由IP地址和端口号标识。4位首部长度和IP协议头类似,表示TCP协议头的长度,以4字节为单位,因此TCP协议头最长可以是4x15=60字节,如果没有选项字段,TCP协议头最短20字节。URG、ACK、PSH、RST、SYN、FIN是六个控制位SYN:同步标志 同步序列编号(Synchronize Sequence Num原创 2017-06-23 17:35:42 · 1305 阅读 · 0 评论