计算机网络原理
文章平均质量分 50
主要复习大学网络课以及平时对于相关知识的积累
KingOfMyHeart
会好起来的.
展开
-
Linux网络发送和接收内核缓冲区大小的设置
网络发送缓冲区和接收缓冲区原创 2022-08-24 21:27:26 · 3311 阅读 · 0 评论 -
linux网络编程之socket,bind,listen,connect,accept
网络编程常用API原创 2022-08-24 21:05:10 · 402 阅读 · 0 评论 -
网络中的交换机和路由器
网络中交换机和路由器简单介绍原创 2022-08-01 15:30:18 · 470 阅读 · 0 评论 -
CPU计算和磁盘IO重叠运行提升系统性能(磁盘,网络IO基本过程)
应用程序从磁盘中读取数据的过程:调用read()系列函数,产生系统调用,陷入内核态;CPU设置DMA,包括数据源地址,数据目的地址,数据长度;向磁盘设备控制器发送指令,要求磁盘控制器将目标数据搬运到内存中;磁盘控制器将数据存放到指定的自己的缓冲区,达到一定条件后,将控制器中的数据拷贝到内存中(此时是内核态的内存空间,该过程是DMA的过程,是两个高速存储介质之间的数据搬运);向DMA确认成功,DMA控制器产生一个中断给CPU,中断服务程序返回用户态,继续执行中断时的下一条指令;将内核空间内存中数原创 2022-04-04 20:32:11 · 924 阅读 · 0 评论 -
TCP中四个计时器
超时重传计时器(Retransmission TimeoutTimer)(与超时重传相关)A向B发送一个数据报文段,为了保证可靠传输,A**会为这个数据报文段设置一个超时重传计时器(RetransmissionTimeout Timer)**如果在超时重传时间内,A**收到了B的确认报文段,则撤销这个数据报文段的超时重传计时器**如果超时重传时间到期时,A还没...原创 2018-05-30 15:05:43 · 378 阅读 · 0 评论 -
TCP可靠传输的实现
TCP基于以字节为单位的滑动窗口来实现可靠传输原创 2021-05-03 22:08:14 · 90 阅读 · 0 评论 -
TCP连接的建立与释放过程
TCP连接需要解决的问题需要让通信双方能感知到对方的存在过程中需要协商一下一些参数,如最大窗口值,时间戳选项,服务质量等双方能够对运输实体资源(如数据缓存大小,连接表中的项目等)进行分配三次握手的具体过程:能否使用2次握手:不行这里假设2次握手后,双方就处于连接建立状态:ESTABLISHED客户端向服务端发送连接建立请求报文A,但是A报文由于某些原因在网络中滞留超时客户端超时重传请求报文B,此时报文B到达服务端,服务端返回报文B的确认报文此时双方建立连接,然后进行数据传输,数据传原创 2021-05-03 22:07:41 · 694 阅读 · 0 评论 -
TCP超时重传时间的选择
RTT:假设A向B发送数据,我们将A的数据发送出去到A收到B的确认报文的这段时间就成为RTT时间。超时重传时间(RTO)的选择:1.假设选择RTO小于RTT时间:假设A向B发送数据,此时网络正常,没有发生异常,还没等一个RTT时间到,也就是B给A的确认报文还在网络上正常传输呢,超时重传定时器就到期了,造成分组的重传,不必要的分组在网络越来越多,影响网络整体的性能。2.假设选择RTO比RTT大的比较多呢:假设A向B发送数据,此时网络有点波动,导致报文B向A确认的报文丢了,然后A等了很久,超时定时器原创 2021-05-03 20:59:33 · 752 阅读 · 0 评论 -
TCP的拥塞控制
网络拥塞:网络中的输入,超出了某一网络资源(交换节点缓存,处理机,带宽等等都是)所能提供的服务的能力,网络性能就会变差,大量数据分组被丢弃,直观感受是变卡。如果不对网络拥塞进行控制,整个网络吞吐量会不断的随数据输入而下降。四种拥塞控制算法:拥塞窗口是多少,就能发送几个报文段。慢开始即一开始向网络注入的报文少一些,假定这里的ssthresh = 16.即刚开始将cwnd值置为1:此时只能发送一个报文,收到B的确认报文后cwnd = cwnd +1此时cwnd = 2,给B继续发送2个报文,原创 2021-05-03 20:34:45 · 227 阅读 · 1 评论 -
TCP的流量控制---滑动窗口
流量需要控制的原因:发送方发送太快,接收方来不及接收,导致数据的丢失,引起性能下降。流量控制:让发送方发送效率不要太快,要让接收方来得及接收,整个过程是接收方(接收窗口)和发送方(发送窗口)一个动态协商的过程。滑动窗口机制A对B发送数据,B需要对A进行流量控制,B主机告诉A最多能接收几个窗口的数据,主机A会调整相应发送窗口大小。整个过程中,经过B确认收到后的数据,A可以直接将自己缓存的部分进行删除,移出滑动窗口,,如果没有收到B的确认,否则不能删除,万一出现差错,数据还需要重新发送给B。持续原创 2021-05-03 16:59:54 · 345 阅读 · 0 评论 -
运输层TCP与UDP的区别
运输层端口号:标识通信进程端口号屏蔽了不同操作系统上的进程不同实现的差异,取值范围0-65535熟知端口号:0-1023,FTP:21/20 HTTP:80 DNS:53登记端口号:1024-49151短暂端口号:49152-65535,留给客户进程选择暂时使用,标识了主机上进行通信的一个进程面向连接的TCP:TCP报文段必须先进行三次握手逻辑连接,结束通信需要四次挥手释放逻辑连接;TCP仅支持单播,即一对一通信;面向字节流的,无规则无边界;不会出现传输差错,误码,丢失,乱原创 2021-05-03 16:33:26 · 190 阅读 · 0 评论 -
ARP 地址解析协议
全世界存在着各式各样的网络,它们使用不同的硬件地址。要使这些异构网络能够互相通信就必须进行非常复杂的硬件地址转换工作,因此几乎是不可能的事。但统一的IP地址把这个复杂问题解决了。连接到因特网的主机都拥有统一的IP地址,它们之间的通信就像连接在同一个网络上那样简单方便,因为调用ARP来寻找某个路由器或主机的硬件地址都是由计算机软件自动进行的,对用户来说是看不见这种调用过程的。ARP地...原创 2018-05-24 09:12:20 · 172 阅读 · 0 评论 -
路由选择协议
静态路由配置人工的通过一些指令设置网络所需的路由表,适用于一些比较小的网络结构中。动态路由配置通过一些算法,自动调整更新路由表,能较好的适应网络状态的变化。因特尔分层路由选择协议常见的路由选择协议...原创 2021-05-02 22:20:32 · 143 阅读 · 0 评论 -
IP数据报的发送和转发过程
源主机如何判断目标地址在不在同一个网络中:假设主机C要给F发送数据,主机C用自己的ip地址和子网掩码进行相与得出主机C所在网络的网络地址主机C再用主机F的ip地址与当前的子网掩码相与得出得出主机F所在网络的网络地址如果这两个值相同,可以证明在一个网络中,直接交付即可。如果值不同,则说明没有在同一网络,需要间接交付,通过路由器的转发。直接交付间接交付:需要通过路由器进行转发期间,如果报文出错,会向源主机发送ICMP差错报文主机C如何知道向哪个路由器发送数据呢?默认网关,这里指的是接口0原创 2021-05-02 22:06:30 · 1389 阅读 · 0 评论 -
Linux下对TCP缓冲区参数调整
查看TCP读缓冲区king@ubuntu:~$ cat /proc/sys/net/ipv4/tcp_rmem4096 87380 6291456第一个值:4096 最小值min第二个值:87380 默认值deafult第三个值:6291456 最大值max当我们修改TCP缓冲区大小时,最小不能小于4096,最大不能大于6291456修改的值需要在这个范围内...原创 2019-08-04 18:01:04 · 6189 阅读 · 0 评论 -
网络传输中的buffer以及DMA传输
从磁盘拷贝数据到用户的buffer:首先要经过一个系统调用,将磁盘的数据加载到内核空间的缓冲区里面,最后将内核缓冲区上的数据拷贝一份到用户的空间;为何不直接将数据从磁盘拷贝进用户的buffer呢?实际上也是可以的,但是这样做是不安全的,也是为了系统的稳定性。对于网络上的传输过程:TCP/IP栈维护着俩个缓冲区:send buffer 和 recv buffer 合起来称为s...原创 2019-08-01 21:07:41 · 2849 阅读 · 0 评论 -
计算机网络原理基础------物理层
上一篇:协议分层概述1. 物理层的基本概念1.1 理解物理层指的是在物理介质上传输数据的协议,而不是物理介质的工作原理物理层考虑的是如何才能在各种计算机的传输媒体上传输比特流,而不是指具体的传输媒体,想好**如何传输(以什么样的协议进行传输,才能保证数据收发尽可能无误)**比特流以后,直接将比特流放在传输媒体上运输即可;物理层的作用是尽可能屏蔽掉不同传输媒体和通信手段的差异;用于物理层的协议也称为物理层规程。所以,讲到物理层,我们一般人想到的是物理介质或者具体的传输媒体,但是,在这里物理层指原创 2020-07-26 19:47:43 · 394 阅读 · 0 评论 -
计算机网络基础------协议体系结构概述
OSI七层协议体系结构特点:实现起来复杂,繁琐,成本高,不使用,仅做参考。TCP/IP四层协议体系结构特点:将数据链路层和物理层合并为一层,网络接口层。五层协议体系结构特点:从功能上抽象出来的五层结构协议栈数据结构中,栈的特点是先进后出,实际上,端对端的用户在进行数据传输时,对应的数据流动像是一个入栈和出栈的过程:分层、协议与服务的关系分层:将一个复杂的问题进行划分,划分为若干的子问题,在这里就是划分为不同层次,像是算法中的"分治"思想;协议是水平的,端到端同层次协议是一样的,因.原创 2020-07-25 22:00:05 · 479 阅读 · 0 评论 -
计算机网络基础------计算机网络分类以及网络性能指标、非性能特征
1. 计算机网络分类:1.1 根据网络覆盖范围:广域网:WAN(Wide Area Network),作用范围几十到几千公里;城域网:MAN(Metropolitan Area Network),作用距离约5-50公里;局域网:LAN(Local Area Network),局限在较小的范围,如1公里左右;个人区域网:PAN(Personal Area Network),范围小,大约在10米作用。1.2 根据网络的使用者进行分类公用网:public network,按规定缴纳费用的人都可原创 2020-07-25 20:56:06 · 863 阅读 · 0 评论 -
计算机网络基础------路由器的分组交换存储转发方式,为什么不采用电路交换,他们有什么区别,这样设计引出的思考
上一篇:互联网的组成以及边缘部分数据交换方式1. 对比电路交换,理解电路交换的应用场景及特点电路交换应用场景:打电话,当我们和某个人建立电话连接时,实际上在传输线路上产生了一条专用的物理通路,而这些资源无法被其他用户抢占,除非双方将电话挂掉,这条通路上的资源才会被释放,整个过程分为三个步骤:建立连接,一旦建立连接,此链路就不能为其他用户所占用;通话,这个过程资源将一直被占用,不管通信双方有多少数据,什么时候有数据;释放连接,归还这条物理通路,这样其他用户就可以用这条线路了。其实,也不太难理原创 2020-07-25 18:20:21 · 3847 阅读 · 1 评论 -
计算机网络基础-----互联网的组成以及数据的交换方式
边缘部分这里的边缘部分指的是互联网上的所有的用户连接进来的主机(PC、移动端等),用来相互之间进行通信与资源共享。这里的边缘并不是物理上所指的我们在网络的边缘,这里是从逻辑上讲的,因为网络的核心部分用户不需要关心,所以看起来像是上图。在物理上,我们实际上是处于错综复杂的互联网的某个部位。核心部分由大量的网络与连接这些网络的路由器组成。为边缘部分提供服务(连通性和数据交换等)用户之间想要交换数据、进行通信一定是需要得到核心部分提供的数据转发功能,主要依靠路由器。处于网络边缘用户的数据交换方式.原创 2020-07-25 16:36:54 · 498 阅读 · 0 评论