计算机网络
计算机网络
jump_into_zehe
这个作者很懒,什么都没留下…
展开
-
下载CentOs6.8内核源码
准备工作查询你的CentOS的版本以及Linux内核版本[root@centoshzh 桌面]# cat /etc/issueCentOS release 6.8 (Final)Kernel \r on an \m[root@centoshzh 桌面]# uname -r2.6.32-642.el6.x86_64[root@centoshzh 桌面]#下载经过上面的准备工作,我知道我的 CentOS的发布版本是 6.8,内核版本是2.6.32-642.el6。源码官网进入官网后原创 2020-10-15 13:47:50 · 288 阅读 · 0 评论 -
TCP中的拥塞控制
TCP中的拥塞控制我们知道,TCP必须要自己提供拥塞控制,因为IP并不提供拥塞反馈,那么TCP要如何提供拥塞控制,TCP会提供什么样的拥塞控制呢?首先,提供拥塞控制肯定跟发送速率有关,因此我们可以提出下面三个问题TCP发送方如何限制它向其连接的发送速率TCP如何知道感知沿着该路径由拥塞TCP发送方应该采用何种算法来改变发送速率第一个问题,TCP发送方会维护一个叫做拥塞窗口(cwnd)的值,则TCP的发送方中已发送但未被确认的数据应满足LastByteSent - LastByteAcked原创 2020-07-14 19:44:12 · 349 阅读 · 0 评论 -
拥塞控制原理
拥塞控制原理讲拥塞控制原理之前,我们需要知道,拥塞是由什么引起的?拥塞主要是因为网络层的丢包过程引起,丢包出现的原因就是因为路由器的缓存有限,但发送方的发送速率又太高,导致分组在路由器上被丢弃现在我们假设路由器有无限制的缓存,两个主机仅通过一个单跳路由器,两主机之间的链路的容量为R,两个主机的发送速率都为v,因此我们知道,该连接的吞吐量就是:R/2 当v>R/2时,吞吐量随着v的增长而增长,当v<=R/2时当实际的情况是如何的呢?当两个主机的发送速率逼近于R/2时,连接的时延趋原创 2020-07-14 17:48:32 · 3328 阅读 · 0 评论 -
TCP中的可靠数据传输
TCP的可靠数据传输前面我们讲到了可靠数据传输的实现,而TCP就是一种可靠数据传输,因此我们有必要了解一下TCP中的可靠数据传输跟前面的回退N步和选择重传有什么区别首先,我们明确一个概念,累积确认累计确认跟前面的ACK不太一样,在TCP报文段中有一个确认号字段,该字段表示接收方希望接收到的下一个报文段的序号,而TCP报文段是按字节数来编序号的,如初始序号为70,然后发送方发送一个42字节的报文段,则接收方发送回来的报文段中确认号字段为70+42+1表示希望接下来收到的报文段序号为113,也就是后面的数原创 2020-07-12 20:01:49 · 277 阅读 · 0 评论 -
可靠数据传输的实现
可靠数据传输协议我们知道,TCP和UDP都是基于IP网际协议来传输数据的,但是IP网际协议是一种不可靠数据传输协议,它不负责数据丢失等情况,而TCP是一种可靠数据传输,因此我们需要来关注TCP是如何实现可靠数据传输的经完全可靠信道的可靠数据传输:rdt1.0rdt的假设前提是我们的数据在底层信道的传输是不会出现丢失和出错的,那么我们定义一个概念有限状态机FSM: 定义了接收方和发送方的操作可以预想到,rdt1.0的FSM肯定是很简单的,因为底层信道就实现了可靠数据传输(假设的)rdt1.0的原创 2020-07-11 21:36:25 · 575 阅读 · 0 评论 -
网络层(七)
网络层前面已经结束了单个发送方到单个接收方的路由选择算法了,现在我们要考虑的就是广播和多播路由选择我们先了解一下广播和多播广播: 一个路由器向因特网中的所有路由器发送分组多播: 多个路由器向多个路由器发送分组我们区分一下广播和多播,广播是将分组发送到因特网中的所有路由器,多播是将分组发送到因特网中的一部分路由器单个发送方发送到单个接收方叫做单播广播要实现广播,我们自然会想到通过单播来实现广播,但是这样效率太低,有以下几个方面如果通过单播来实现广播,那是不是意味着发送方需要知道所有接收原创 2020-07-10 19:47:28 · 256 阅读 · 0 评论 -
网络层(六)
网络层前面我们讲到了网络层中路由选择协议,路由选择协议就是网络层为出发地和目的地选择一条合适的路由路径,我们可以看到,在这里都是针对单个路由器来选择路径,但是这在实际中却是很难实现的,因为全球的路由器那么多,要单独为每一个路由器来选择路径,工作量太大,因此我们需要使用层次路由选择什么是层次路由选择?实际上我们可以将许多路由器集合成一个区域,叫做自治区域AS,也就说,将整个因特网中的路由器分而成各个AS的路由器,在AS里边的路由器单独运行AS内部路由选择算法,然后这样的一个自治区域,就需要 "外交官"网原创 2020-07-10 15:34:34 · 129 阅读 · 0 评论 -
网络层(五)
网络层前面介绍了ip编址,现在回到网络层的另一个重点,路由选择算法路由选择算法:我们前面一直再讲路由器转发,那这个数据报经过的路由器,也就是路由路径是怎么配置的?这个就是路由选择算法来完成的讲路由选择算法之前,我们必须先了解图,数据结构中,图就是由结点和边构成的,因此我们将每个路由器视为结点,路由器与路由器之间的链路看成边现在,我们再考虑一下,路由选择算法应该选择一条怎么样的链路不用想都知道,肯定是选择一条消耗最少的路径,这条路径上的权值一般是流量的大小,流量越大,越容易阻塞,所以我们倾向于选择一原创 2020-06-27 22:16:19 · 165 阅读 · 0 评论 -
网络层(四)
网络层我们说过,网络层主要讲的就是ip编址和路由选择算法更准确的说,应该是网际IP协议,网际IP协议主要说明了各个主机和服务器的ip编址规则了解IP编址前,我们需要知道IP数据报,IP数据报在网络层中传输,我们看一下IP数据报的结构数据报格式(1)版本 占4位,指IP协议的版本。通信双方使用的IP协议版本必须一致。广泛使用的IP协议版本号为4(即IPv4)。关于IPv6,还处于草案阶段。(2)首部长度 占4位,可表示的最大十进制数值是15。请注意,这个字段所表示数的单位是32位字长(1个32位原创 2020-06-24 16:27:01 · 253 阅读 · 0 评论 -
网络层(三)
网络层网络层基本上就是围绕着路由器展开的,因此我们很有必要学习路由器的工作原理首先,路由器由三个部分组成输入端口交换结构输出端口我们一个一个来分析输入端口输入端口需要完成的任务: 接收分组,确定分组应该转发到哪个输出端口那输入端口是如何来确定应该转发到哪个输出端口的呢?显然,应该是根据路由器转发表来查找,但是我们需要注意一点,转发表是由路由选择处理器来设置的,因此如果我们要查找输出端口,需要由路由选择处理器来处理,为了避免集中式处理,路由选择处理器会将转发表拷贝到输入端口上,这样就能原创 2020-06-21 21:39:40 · 212 阅读 · 0 评论 -
网络层(二)
网络层在ip编址和路由选择算法之前,我们需要先了解网络层的两种网络模型连接服务(虚电路网络)无连接服务(数据报网络)网络层并不同时提供这两种服务虚电路虚电路是一种面向连接的服务,也就是说,它虚拟的构造了一条电路,这条电路的两端就是我们发起连接的主机和待连接的服务器,它们可以通过这条虚电路传输数据我们看一下虚电路是怎么构建的其实很简单,只要路由器维护一个转发表入接口 入VC号 出接口 出VC号1 12 2原创 2020-06-21 20:08:59 · 128 阅读 · 0 评论 -
网络层(一)
网络层网络层概述网络层的上一层为运输层,运输层更接近于应用层,运输层主要就两个重要的地方,TCP/UDP,运输层主要是说明TCP和UDP的区别,以及TCP是如何实现可靠数据传输的,而TCP和UDP都是基于IP网际协议来传输数据的,IP的服务模式是一种尽力而为服务,它不对数据报丢失负责,这是有必要的,因为网络层主要就是关于路由器转发问题,如果还要处理丢包问题,那将加大对路由器的负担什么是路由器转发?我们的数据传输肯定是要有路由器来发送的吧,那么路由器是如何将你的数据报发送到目的地呢?这其中会遇到许多问题原创 2020-06-21 19:35:52 · 201 阅读 · 0 评论 -
多路复用与多路分解--运输层
多路复用我们知道,一个主机有多个进程,而一个主机的进程于另外一个主机的进程进行通信主要靠的就是套接字,进程将数据封装起来,发送到套接字中,(到了套接字后面的工作就是网络层的事情了),而一个主机将所有从套接字收到的数据块封装上首部信息,从而封装成报文段交给网络层来传输,这个过程就是多路复用我们大概知道多路复用的作用了,就是给进程发送到套接字的数据块进行封装,从而让另外一个主机的进程能够识别这个报文段,然后交给与其通信的进程多路分解对应于多路复用,多路分解的作用就是从网络层接收数据报,然后将其发送到对原创 2020-06-10 21:35:25 · 352 阅读 · 0 评论 -
链路层中的差错检测和纠正技术--链路层
差错检测和纠正技术我们知道,数据报在链路层中传输时,可能会出现比特损失(如0变成1,1变成0),我们当然不想要传输错误的数据报,因此我们需要对数据进行差错检测和纠正。差错检测一般和纠正同时实现,差错检测技术有以下几种奇偶校验(用来描述差错纠正以及背后的思想)检验和方法(通常更多的应用于运输层)循环冗杂检测(通常更多的应用在适配器的链路层)纠正的作用:当我们一个数据报出错时,一般会要求重发,而发送方重发的开始需要收到一个NAK或者超时,而纠正技术就能减少这段时延,这样就能显著提高数据传输的速度原创 2020-06-07 19:08:43 · 1634 阅读 · 1 评论 -
因特网中的电子邮件--应用层协议
因特网中的电子邮件因特网中的电子邮件系统主要由三部分组成用户代理(user agent)邮件服务器(mail server)简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)邮件服务器为电子邮件系统的核心,我们简要说明一下邮件服务器的使用,首先发送方用户代理在发送方邮件服务器中发送一个报文,然后发送方的邮件服务器中维护一个报文队列,讲发送方的报文发往接送方的邮件服务器,接收方就能够通过接收方的邮件服务器读取该报文SMTPSMTP: 简单邮件传输协议S原创 2020-06-05 15:55:45 · 2204 阅读 · 0 评论 -
HTTP--应用层协议
HTTPHTTP介绍我们先了解一下HTTP是什么HTTP(HyperText Transfer Protocol):超文本传输协议HTTP就是文件传输的一个协议,属于应用层协议,使用TCP作为它的支撑传输协议HTTP是web的核心,web客户端和web服务端通过交换HTTP报文进行文件传输我们看一下客户端是如何使用HTTP与服务器端建立联系的客户端发出一个小TCP报文段服务器用一个小的TCP报文段做出确认和相应这时候客户端与服务器端建立了一个TCP连接客户端向服务器端发出一个HTTP请原创 2020-06-05 14:11:57 · 701 阅读 · 0 评论