计算机网络
书旅LY
这个作者很懒,什么都没留下…
展开
-
计算机网络基础(十八)---传输层-TCP的流量控制
文章内容概览TCP协议的流量控制流量控制是TCP协议特有的功能,对于UDP或者其它的一些协议,是没有流量控制流量控制,简单的来说就是,接收方希望发送方将数据发送的慢一些。一般来说,我们是希望越快越好,但是,还是需要考虑一些实际的情况。比如接收方不能那么快的去接收很大的流量,所以希望发送方的流量慢一些。这就是流量控制流量控制指让发送方发送速率不要太快流量控制是使用滑动窗口来实现的在TCP首部中有窗口这个字段,它占16个比特位,用来指明允许对方发送的数据量。在可靠传输的基本原理这篇文章中有结合原创 2020-08-13 10:06:41 · 755 阅读 · 0 评论 -
计算机网络基础(十七)---传输层-TCP的可靠传输
文章内容概览建议结合我的上一篇文章来看本篇内容:可靠传输的基本原理TCP协议的可靠传输TCP的可靠传输是基于连续ARQ协议的(关于ARQ协议,可以看我的上一篇文章)ARQ协议中有两个重要的概念:滑动窗口和累计确认。这两个概念在TCP的可靠传输中同样适用TCP的滑动窗口以字节为单位假设有一段的字节流需要传输,滑动窗口的大小为7,这里是为了方便理解,所以窗口设的很小,实际情况下的窗口是很大的。窗口中的7个字节表示都是可以传输的,窗口左边的是已经确认的字节序号,窗口右边的是不允许发送的字节序号。原创 2020-08-11 10:24:39 · 259 阅读 · 0 评论 -
计算机网络基础(十六)---传输层-可靠传输的基本原理
文章内容概览停止等待协议假设现在将计算机分为发送方和接收方,之前的文章中有说到TCP是全双工通道的协议,也就是同一时刻计算机可以当做发送方,也可以当做接收方。下边是发送方计算机和接收方计算机的时间轴,停止等待协议的工作原理如下:发送方生成TCP数据(消息1),然后将其发送出去,经过一段时间之后,到达接收方接收方在接收到之后,再发送一个确认的消息,表示发送方发送的消息,它收到了接收方将确认消息发送给发送方,一段时间后,发送方接收到确认消息。这样发送方就知道接收方接收到了它的消息发送方生成消息2原创 2020-08-10 08:48:38 · 534 阅读 · 0 评论 -
计算机网络基础(十五)---传输层-TCP协议详解
文章内容概览TCP协议简介TCP(Transmission Control Protocol:传输控制协议)TCP协议是计算机网络中非常复杂的一个协议TCP数据报所处的位置TCP协议的特点TCP是面向连接的协议在上一篇UDP协议详解中有对面向连接进行了介绍,也就是在通信之前会先建立连接TCP的一个连接有两端(点对点通信)A和B要进行电话通信,那么A和B就是两个端点TCP提供可靠的传输服务后边会对TCP实现可靠的传输做详细的介绍TCP协议提供全双工的通信全双工在网络概览中有提原创 2020-08-07 11:02:46 · 504 阅读 · 3 评论 -
计算机网络基础(十四)---传输层-UDP协议详解
文章内容概览UDP协议简介UDP(User Datagram Protocol:用户数据报协议)UDP相对于TCP来说,是一个非常简单的协议数据报:指的就是应用层所传输过来的一个完整的数据,UDP不会对这个完整的数据进行处理,不会进行拆分,也不会进行合并了再传输从数据报的定义可以看出,UDP协议的数据长度,主要由应用层传输的数据长度所决定的,应用层传的数据越长,UDP数据报文就越长UDP数据报的数据所处的位置UDP首部端口号:端口号在之前的文章中有提到,它标记的是使用网络的进程(原创 2020-08-05 07:42:04 · 522 阅读 · 0 评论 -
计算机网络基础(十二)---网络层-外部网关路由协议
文章内容概览BGP协议BGP(Border Gateway Protocol:边际网关协议)BGP协议是运行在自治系统(AS)之间的一种协议(在一个网络管理机构下边的网络,都可以看做是一个AS。比如:公司网络、学校网络)为什么在AS之间需要使用BGP协议?1、互联网的规模很大使得在AS之间路由的选择困难。如果在AS之间使用链路状态协议,每个路由器都要存储很多的链路状态的数据,并且,如果使用迪杰斯特拉算法计算最短路径,也会运行很慢。因此,需要BGP协议解决此问题2、AS内部使用不同的路由协原创 2020-08-04 08:38:00 · 771 阅读 · 0 评论 -
计算机网络基础(十一)---网络层-OSPF协议
文章内容概览链路状态(LS)协议链路状态协议特点特点一:向所有的路由器发送消息(一传十,十传百,最终把消息传递到整个网络中去。在前边的文章中有说到rip协议,rip协议只和相邻的路由器交换信息)特点二:这个消息描述该路由器与相邻路由器的链路状态(链路状态就包括与相邻路由器的距离、时延、带宽等,这些可以描述链路状态的一些指标,这些指标可以更加客观的描述该路由器和相邻路由器的链路状态)特点三:只有链路状态发生变化时,才发送更新消息(这个也是和RIP协议是不一样的,RIP协议是每隔30s原创 2020-08-03 10:08:59 · 525 阅读 · 0 评论 -
计算机网络基础(十)---网络层-迪杰斯特拉算法
文章内容概览迪杰斯特拉算法Dijkstra(迪杰斯特拉)算法是著名的图论算法Dijkstra算法解决有权图从一个节点到其它节点的最短路径问题特点:“以起点为中心,向外层层扩展”最短路径问题假设有下图这样的一个网络,该网络有A、B、C、D、E、F这几个节点和若干条边,每条边都有相应的距离。假设此时要求A到E的最短路径下边列出由A到E的所有可能的路径以及路径长度A->B->C->E = 13A->C->E = 11A->D->C->E原创 2020-07-28 12:48:53 · 928 阅读 · 0 评论 -
计算机网络基础(九)---网络层-内部网关路由协议
文章内容概览内部网关路由协议之RIP协议距离矢量(DV)算法在介绍RIP协议之前,先了解一下DV算法,因为该协议是通过DV算法进行实现的该算法是运行在图中的每一个节点使用两个向量Di和SiDi描述的是当前节点到别的节点的距离Si描述的是当前节点到别的节点的下一个节点对于该算法,它是如何运行的?每一个节点和相邻的节点交换向量Di和Si的信息每一个节点根据交换的信息,更新自己的节点信息Di1表示从节点i到节点1的距离Si1表示从节点i到节点1的下一个节点n表示节点的数量原创 2020-07-22 15:51:26 · 380 阅读 · 0 评论 -
计算机网络基础(八)---网络层-路由概述
文章内容概览在之前的文章中有了解到跨设备传输时,需要借助路由表来知道数据报下一跳的IP在路由表中有两列重要的信息,分别是:目的IP地址和下一跳IP地址,这两个IP形成映射的关系。在前边了解数据报转发时,都是直接使用的路由表,这样就会存在几个疑问路由表中的下一跳地址是怎么来的?下一跳地址是唯一的吗?下一跳的地址是最佳的吗?路由器这么多,他们之间是怎么协调工作的?这些问题就是网络层路由需要解决的问题,其实也就是需要一个好的算法去解决这些问题。所以,了解网络层的路由就是了解里边的一些算法在前原创 2020-07-21 11:52:05 · 281 阅读 · 0 评论 -
计算机网络基础(七)---网络层-ICMP协议
文章内容概览ICMP协议详解网际控制报文协议(Internet Control Message Protocol)该协议主要是用于辅助IP协议进行数据传输的ICMP协议可以报告错误信息或者异常情况ICMP的报文数据是通过封装在IP数据报中进行数据传输的。ICMP的报文分为两个部分:ICMP报文首部和ICMP报文数据ICMP报文首部类型:主要指的是ICMP报文的种类(主要有两大类,后边会进行说明)代码:主要是指,不同的ICMP报文种类具体有哪些错误校验和:主要是校验报文在整个传输原创 2020-07-20 10:42:18 · 517 阅读 · 0 评论 -
计算机网络基础(六)---网络层-网络地址转换NAT技术
文章内容概览因为IP地址不够用了,所以才使用到了网络地址转换NAT技术IPv4最多有40+亿个IP地址(如果合理使用,一般是不会不够用的)早期IP地址的不合理规划导致IP号浪费在之前的文章中介绍到,网络的边缘部分有家庭网络,有终端设备、路由器、网关、地区ISP在实际情况下,其实很多的家庭只有一个外网的IP地址。那么,很多的内网设备是如何进行通信的?因为我们知道网络层在进行通信的时候,需要有一个唯一的IP地址,这个时候,一个家庭如果只有一个IP地址,是如何使那么多的终端设备都连接到互联网的?原创 2020-07-19 17:23:40 · 825 阅读 · 0 评论 -
计算机网络基础(五)---网络层-IP地址的子网划分
文章内容概览前边的文章中介绍到IP地址长度为32位,常分成4个8位IP地址常用点分十进制来表示(0255.0255.0255.0255)32位的IP地址一共可以表示42亿个IP,如果没有一个合理的分配IP的方式,整个分配是非常麻烦的。因此需要对IP地址进行一个合理的规划和分配分类的IP地址将一个IP地址分为两个部分,分别是网络号和主机号。这两部分加起来是32位。根据网络号和主机号长度的不同,又可以将IP地址分为以下几类:分为A、B、C这三类之后,就可以更好的去分配这42亿的IP地址了原创 2020-07-17 12:51:07 · 1525 阅读 · 0 评论 -
计算机网络基础(四)---网络层-ARP协议与RARP协议
文章内容概览还是看在上一篇文章中提到的这张图,计算机A将数据跨设备传输给C。A发出目的地为C的IP数据报,查询路由表发现下一跳为E,A将IP数据报交给数据链路层,并告知目的MAC地址是E。那么A是如何知道E的MAC地址的?这个是本文要介绍的ARP协议ARP(Address Resolution Protocol)地址解析协议作用:把网络层32位的IP转换成数据链路层48位的MAC地址,在这个过程中有一个很重要的表,ARP缓存表该表的形式如下,也是一个映射:对于ARP缓存表的使用,有两种情况原创 2020-07-16 13:47:11 · 654 阅读 · 0 评论 -
计算机网络基础(三)---网络层-IP协议的转发流程
文章内容概览在上一篇文章中提到,计算机A在给计算机B发送数据的时候,数据的路径,可能是通过中型网络、大型网络、中型网络、小型网络,然后到达计算机B现在把这条路径抽取出来并且将其压平,可以看到计算机A通过中间的3个网络和路由器,将数据报文传输给了B关于数据的转发过程,有一个概念叫:逐跳(hop-by-hop)。意思就是计算机A发送的报文是一跳一跳的来到计算机B的,网络1==》路由器1==》网络2==》路由器2==》网络3==》计算机B路由表简介在前边介绍数据链路层的时候,有提到过一个MAC原创 2020-07-15 10:44:10 · 1646 阅读 · 1 评论 -
计算机网络基础(二)---网络层-IP协议详解
文章内容概览虚拟互联网络从上一篇文章最后提到的一个问题来引出虚拟互联网络对这个网络拓扑,上篇文章中提出了一个非常重要的问题:计算机A如何跨设备传输数据到计算机C?其实可以把这个小的网络拓扑放大在这个大型网络拓扑中,计算机A如何将数据传输给计算机B,这个的性质和上边那个简单的网络拓扑的性质是一样的。这个网络其实有很多的路径可以把计算机A的数据传输给计算机B,比如:计算机A的数据先经过中型网络、大型网络、中型网络、小型网络,然后到达计算机B。除了上图的这条路径以外,还可以画出别的很多路径。通原创 2020-07-14 14:01:55 · 616 阅读 · 0 评论 -
计算机网络基础(一)---计算机网络概览篇
文章内容概览了解计算机网络及其分类什么是计算机网络计算机网络主要由一些通用的、可编程的硬件互联而成,通过这些硬件,可以传送不同类型的数据,并且可以支持广泛和日益增长的应用计算机网络不仅仅是软件的概念,它还包含硬件设备(网卡、网线、路由器)计算机网络不仅仅是信息通信,还可以支持广泛的应用计算机网络的分类1、按照网络作用的范围,可以将计算机网络分为广域网(WAN)城域网(MAN)局域网(LAN)2、按照网络作用的使用者,可以将计算机网络分为公用网络(所有愿意付费、或者愿意加原创 2020-07-13 16:37:14 · 2144 阅读 · 0 评论