
计算机网络
发如雪-ty
一个工作多年的程序员,一直从事C++开发方面的工作,曾有幸在安防行业深耕4年,并有幸在工业检测行业工作至今已有4年,主要负责系统软件的设计与开发,个人编程的信仰:不要盲目学习酷炫的东西,最重要的依然是内功。
展开
-
c++获取本地所有IP地址,以及域名解析
获取本机ip地址原创 2024-02-24 16:17:41 · 1106 阅读 · 0 评论 -
计算机网络-33-HTTPS
什么是HTTPSHTTPS是在HTTP上建立SSL加密层,并对传输数据进行加密,是HTTP协议的安全版。HTTPS主要作用是:(1)对数据进行加密,并建立一个信息安全通道,来保证传输过程中的数据安全;(2)对网站服务器进行真实身份认证。什么是HTTPHTTP是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议。HTTP是采用明文形式进行数据传输,极易被不法份子窃取和篡改。httsp工作流程:原创 2020-07-16 23:17:17 · 724 阅读 · 0 评论 -
计算机网络-32-HTTP工作的结构
Web缓存游走于服务器和客户端之间。这个服务器可能是源服务器(资源所驻留的服务器Add),数量可能是1个或多个;这个客户端也可能是1个或多个。Web缓存就在服务器-客户端之间搞监控,监控请求,并且把请求输出的内容(例如html页面、 图片和文件)(统称为副本)另存一份;然后,如果下一个请求是相同的URL,则直接请求保存的副本,而不是再次麻烦源服务器。使用缓存的2个主要原因:• 降低延迟:缓存离客户端更近,因此,从缓存请求内容比从源服务器所用时间更少,呈现速度更快,网站就显得更灵敏。• 降低网络传输:.原创 2020-07-15 22:39:22 · 427 阅读 · 2 评论 -
计算机网络-31-HTTP协议详解
HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图:HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。HTTP默认的端口号为80,HTTPS的端口号为443。地址指定TTP特点:1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快2、灵活:HTTP允许传输任意类型的.原创 2020-07-13 22:46:06 · 618 阅读 · 0 评论 -
计算机网络-30-DHCP
因为DHCP协议所以即插即用动获取就代表使用DHCP协议。新加入设备自动获取IP的流程:详解:DHCP Client发现阶段DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送 DHCP discover发现信息来寻找DHCP服务器,源地址为0.0.0.0目的地址为255.255.255.255。网络上每一台安装了TCP/IP协议的主机 都会接收到这种广播信息,但只有DHCP服务器才会做出响应。DHCP Ser.原创 2020-07-13 21:43:20 · 209 阅读 · 0 评论 -
计算机网络-29-DNS
例如,www.wikipedia.org是一个域名,和IP地址208.80.152.2相对应。DNS就像是一个自动的电话号码簿,我们可以直接拨打wikipedia的名字来代替电话号码(IP地址)。我们直接调用网站的名字以后,DNS就会将便于人类使用的名字(如www.wikipedia.org)转化成便于机器识别的IP地址(如208.80.152.2)。IP地址是Internet主机的作为路由寻址用的数字体标识,人不容易记忆。因而产生了域名这一种字符型标识。域:网络段名:某一个IP对应的名字记这么原创 2020-07-12 15:27:17 · 224 阅读 · 0 评论 -
计算机网络-28-套接字与套接字编程
套接字:(IP和端口)组合的抽象,网络套接字流程:域套接字:下面是vc++编写的聊天工具:链接: 下载源码.原创 2020-07-11 22:19:42 · 212 阅读 · 0 评论 -
计算机网络-27-TCP的四次挥手
第一次挥手:告诉接收方,我数据发送完了,需要释放连接,于是自己进入了等待状态1。第二次挥手:接收方告诉发送方,我接收到你的请求了。于是进入了等待状态2.这个等待主要为了,让接收方成功接收完发送发发出的数据,如果接收方接收完所有数据,就会进行第三次挥手。第三次挥手:告诉接收方,你的数据我接收完成,并告诉它我也可以结束连接了。第四次挥手,当发送方接收到第三次挥手之后,就会给发送者发送消息告诉它我收到你的消息了,现在我们来把这个连接一起关了吧。为什么要使用等待计时器呢????这个定时器是我们学...原创 2020-07-10 23:05:20 · 222 阅读 · 0 评论 -
计算机网络-26-TCP三次握手
三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力是否正常、指定自己的初始化序列号为后面的可靠性传送做准备。实质上其实就是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号,交换TCP窗口大小信息。刚开始客户端处于 Closed 的状态,服务端处于 Listen 状态。进行三次握手:第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 I..原创 2020-07-09 23:47:27 · 266 阅读 · 0 评论 -
计算机网络-25-TCP协议的拥赛控制
两个内容:流量控制只针对TCP协议的,别的协议没有。判断拥赛的方法简单粗暴,那就是:报文超时则认为是拥赛拥赛控制的算法:慢启动算法:它不会一直增长,它有一个阈值,到达之后就不增长了,就会启动第二个算法:拥赛避免算法:例子:慢启动到达阈值,1,2,4,8,16(阈值),然后启动拥赛避免算法,然后发送17,如果没有拥赛就试探着调到18,同理19一直试探着调大,直到拥赛。以下是慢启动算法和拥赛启动算法的图:发送方控制拥塞窗口的原则是:只要网络没有出现拥塞,拥塞窗口就再增大一些,以便原创 2020-07-07 21:57:53 · 237 阅读 · 0 评论 -
计算机网络-24-TCP协议的流量控制
两个内容:TCP通过让接收方指明希望从发送方接收的数据字节数(即窗口大小)来进行流量控制。如果窗口大小为0会发生什么情况呢?这将有效阻止发送方传送数据,直到窗口变为非0为止。接受数据的流程:假设窗口为0之后,马上对这些数据进行处理,处理之后把它交给应用层,一段时间之后接收方又可以接收新的消息,这时接收方就会给发送方发送一个消息,告诉发送方,假设为:我的窗口可以接收1000个数据,也就是说接收方调整了窗口的大小,并告诉了发送方,发送发接收到这个消息后,它知道接收方可以接收1000个字节的数据了,原创 2020-07-03 23:27:01 · 344 阅读 · 0 评论 -
计算机网络-23-TCP协议的可靠传输
23左边是已经确认的字节序号,29右边的是不允许发送的字节序号,23是对方期待收到的下一个字节。也就是TCP中的确认号(期望收到数据的首字节号)。23,24没有收到确认消息,所以不能往前推动,假设超时时间到了,23,24还没有收到确认消息,即使25,27收到确认消息,也需要从23开始重传。现在存在一个问题:25,27已经传输了,如果从23重新传,就造成了25,27重传的现象,导致重传率低。现在有一种方法解决这种问题:选择重传TCP首部回顾:需要重传的边界(序号的低位、高位)存储在TC.原创 2020-07-02 23:35:15 · 470 阅读 · 0 评论 -
计算机网络-22-可靠传输的基本原理
第一部分:停止等待协议情况1:这种情况下,发送方发送的消息,由于某些原因没有送达接收方,所以没有收到确认消息,等待一段时间后,会重新发送。情况2:接收方发送确认消息时出问题,导致超时,此时也会重发。情况3:很久之后收到了,也会重新发送总结:以下这三种情况都是需要处理的,停止等待协议就是通过超时重连来保证可靠传输的。TCP中共有四个定时器超时定时器第二部分:连续ARQ协议累计确认,收到2的确认如下:收到5的确认:...原创 2020-07-01 22:59:16 · 302 阅读 · 0 评论 -
计算机网络-21-传输层之TCP协议
特点:TCP头部:原创 2020-06-29 22:23:25 · 287 阅读 · 0 评论 -
计算机网络-20-传输层之UDP协议详解
**数据报:**应用层传输过来完整的数据。对于这个数据UDP不会对它进行任何处理。会把它直接封装到协议中传输出去。UDP协议的长度主要由应用层传输的数据决定的,传输的数据越大,则UDP的数据报文长度越长。请看下图:UDP首部构造:16位源端口号、16位目的端口号、16位UDP长度、16位UDP校验和UDP首部有8个字节,由4个字段构成,每个字段都是两个字节,1.源端口: 源端口号,需要对方回信时选用,不需要时全部置0.2.目的端口:目的端口号,在终点交付报文的时候需要用到。3.长度:UDP.原创 2020-06-26 22:35:20 · 480 阅读 · 0 评论 -
计算机网络-19-外部网关路由协议之BGP协议
这是一个非常复杂的协议,这里我们简单认识一下:为什么在AS之间要使用BGP协议呢?总结与补充:BGP采用了路径向量路由选择协议,而不是距离向量路由选择协议或者是链路状态路由选择协议。每一个自制系统AS的管理员都会选择一个至少一个路由器作为本AS的发言人,称为“BGP发言人”,一般把边界路由器选为“BGP发言人”,当然也可以不选边界路由器。当BGP发言人需要其他AS的BGP发言人进行路由交换时,需要先建立TCP连接(端口号位179),然后通过此连接交换BGP报文以进行BGP会话,如新增原创 2020-06-23 23:41:32 · 483 阅读 · 0 评论 -
计算机网络-18-内部网关路由协议之OSPF协议
两个目标:一、 链路状态协议网络的管理员可以决定链路的状态,RIP协议交换信息使用跳数。1.链路状态(LS)协议,只有链路状态发生变化时、才发送更新信息2.RIP每隔30秒更新路由信息汇总:RIP和LS协议对比:二、 OSPF协议的过程第一点:第二点:链路状态包含:距离、时延、带宽等第三点:五种消息类型:问候消息(HELLO):消息长度比较短,主要用来维护相邻路由器之间的可达性。在实际中每个路由器都会给隔壁路由器发送一个消息,以此确认该路由器和隔壁路由器是不是原创 2020-06-18 23:42:34 · 251 阅读 · 0 评论 -
计算机网络-17-网络层之迪杰斯特拉算法
首先将A拉入S集合然后通过A到各个点的距离然后如下图:(1) 然后发现U不为空,对U里面的距离进行排序,发现A到B的距离最小,接着把A到B拉入S集合。(2) 然后计算A通过B到达各个节点的距离因为原来是A->C是9,11比9大,所以不更新,接下来得到一个新的表因为:A、B属于S集合。(3) 然后再进行排序,发现A->F的距离最短。然后将A->F拉入S集合然后计算,(A到F)到各个节点的距离(4) 然后将A->D拉入S集合然后计算,(A到D)..原创 2020-06-14 18:56:34 · 981 阅读 · 0 评论 -
计算机网络-16-网络层之rip协议
RIP(Routing Information Protocol,路由信息协议)是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递。RIP协议基于距离矢量算法(DistanceVectorAlgorithms),使用“跳数”(即metric)来衡量到达目标地址的路由距离。这种协议的路由器只关心自己周围的世界,只与自己相邻的路由器交换信息,范围限制在15跳(15度)之内,再远,它就不关心了。RIP应用于OSI网络七层模型的应用层。各厂家定义的管理距离(AD,即优先级)原创 2020-06-14 00:14:10 · 1065 阅读 · 1 评论 -
计算机网络-15-网络层之路由
E、F是路由器所以需要一个好的算法去解决这些事情请看拓扑:一般转化为图:对互联网进行划分:回忆网络层次:主干ISP可以理解为主干的AS,地区的ISP就可以理解为地区的AS路由器在收到一个数据报之后用其目的地址查找路由表(routing tables)得到下一跳,再把该数据报转发给下一跳。路由表可以由管理员手工建立,也可以由路由协议(routing protocols)自动建立。所建立的路由分别称为静态路由和动态路由。默认路由和直连路由都是静态路由。自治系统:整个因特.原创 2020-06-12 23:57:14 · 360 阅读 · 0 评论 -
计算机网络-14-网络层之ICMP协议的应用
1.ping的应用在ping的时候会组装一个IP数据报文,在数据报文中会组装ICMP报文,通过数据链路层发出。IP首部固定大小为20个字节,后一部分是可选的,ping的时候是32位,后面的12字节IP数据报的数据,也就是ICMP的长度。第一种情况,如果不通:一般要重装系统第二种情况,如果不通:检查电脑和路由器是否通,比如网线第三种情况、如果不通:联系ISP.2、Traceroute应用主要作用:先回顾下前面的内容:如果丢弃报文,将会发出一个:ICMP终点不可达差错报文。看例子原创 2020-06-07 22:54:43 · 446 阅读 · 0 评论 -
计算机网络-13-网络层之ICMP协议
主要用来配合IP工作。ICMP首部结构:分两种原创 2020-06-05 21:55:23 · 196 阅读 · 0 评论 -
计算机网络-12-网络层之网络地址转换NAT技术
目的:解决IP地址不够用的问题。先看看我们使用的网络拓扑结构:问题:内网多个设备使用同一个外网IP请求外网的服务,外部怎么知道具体哪个设备在请求?使用NAT技术解决。总结:...原创 2020-06-03 23:07:06 · 227 阅读 · 0 评论 -
计算机网络-11-网络层之子网划分
一、分类的IP地址:A,首位是0B类首位是10C类首位是110现在得除去特殊的地址,现在更新下表:判断地址是哪类地址:分别是A,B,CD类,E类都是特殊用途的,作为一个补充。二、划分子网三、 无分类编址CIDR...原创 2020-06-01 23:45:36 · 411 阅读 · 0 评论 -
计算机网络-10-网络层之arp协议与rarp协议
先回忆下上节的内容:存在两种情况:如果有缓存,将是下面的情况:直接告诉MAC地址如果没有有缓存,将是下面的情况:在这里会收到一个返回C(也就是目标IP地址)的MAC地址缓存表:大概5-10分钟会刷新一次查看ARP缓存表:arp –a因为使用到了IP,所以arp属于网络层RARP协议:第一步:第二步:第三步:...原创 2020-05-23 23:33:10 · 639 阅读 · 0 评论 -
计算机网络-09-网络层之IP协议转发流程
1.路由表简介:MAC地址占48位,6个字节2.IP协议转发流程:继续理解:此时会填充源MAC地址和目的MAC地址,源MAC地址为E,目的MAC地址为F.注意:原创 2020-05-17 20:11:00 · 272 阅读 · 0 评论 -
计算机网络-08-网络层之IP协议
主要有两个内容:1.虚拟互连网络:从A到B的方式有很多,使用者无需关心。也就是说把上面那一堆东西,看做成一个网络。2.IP协议物理层传输比特流:数据链路层:IPv4只能和IPv4通信。标志:占3位(两位有效),标记IP报文是否可以分片片偏移:如果IP报文的数据长度比MTU长(最大1500字节),将IP报文分割为多个数据帧,将使用片偏移记录位置。主要作用:解决了当IP报文找不到终点的时候,避免IP数据在网络中无限传输,以消耗带宽。主要用来校验头部是否原创 2020-05-17 17:18:37 · 332 阅读 · 0 评论 -
计算机网络-07-以太网01
使用 Ipconfig /all 查看计算机MAC地址MAC 是48位,8位一个字节,那么就6个字节,类型占2个字节,其中帧数据和类型相关如果路由器不知道MAC地址就以广播的方式:需要继续学习才能解决,请看下面的文章。...原创 2020-05-16 21:43:11 · 348 阅读 · 0 评论 -
计算机网络-06-MTU
原创 2020-05-16 20:37:12 · 231 阅读 · 0 评论 -
计算机网络-05-数据链路层的差错监测
请看奇偶校验码的局限性:第一步:第二步:第三步骤;如果余数为0则表示为正确:原创 2020-05-11 23:24:52 · 186 阅读 · 0 评论 -
计算机网络-04-数据链路层概述
先回顾下网络四层和七层这一层主要解决的问题是:透明传输就是为了解决黄圈的问题的差错检测:原创 2020-05-11 22:53:08 · 198 阅读 · 0 评论 -
计算机网络-03-物理层概述
一、物理层的作用:有线介质:无线介质:比特流:二、信道的基本概念:信道的分类:单工通信信道:半双工通道(用的很少)全双工通道(比如网线。):三、信道的分用-复用技术...原创 2020-05-09 23:22:38 · 142 阅读 · 0 评论 -
计算机网络-02-网络的性能指标
100Mbit = 10010241024bit = 100*1024kbit = 100Mbit/s100/8 = 12.5MB/s原创 2020-05-09 23:16:10 · 685 阅读 · 0 评论 -
计算机网络-01-层次结构
OSI失败的原因:我们使用的是TCP/IP四层模型原创 2020-05-09 23:11:54 · 164 阅读 · 0 评论