计算机网络
文章平均质量分 77
Wzning0421
I'm always learning.
展开
-
https 非对称加密
https相当于在http和tcp之间加上了一层ssl加密,但是要注意的是,https协议在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。这是为什么呢?因为非对称加密的加解密效率是非常低的,而 https的应用场景中通常端与端之间存在大量的交互,非对称加密的效率是无法接受的。首先我们需要对对称加密和非对称加密有所了解。对于对称加密,比如说常见的移位替换等方法,只要知道了加密过程,就一定知道解密过程,因为加密算法比较简单,那么根据加密算法就能反推出解密算法,也就是双方的秘钥是一样的,这原创 2020-08-01 23:30:39 · 2699 阅读 · 0 评论 -
Internet流量监管机制之漏桶算法和令牌桶算法
漏桶算法和令牌桶算法都是为了限制应用无限制的向网络注入流量而设定的算法。两者看似区别不大,但是如果仔细来看,是有区别的:漏桶算法只能把应用的输出速率限定在一个固定的速度,但是令牌桶除了在把总的输出速率限制在一定范围内,还能容忍一定时间的高速率突发流量。 上图为漏桶算法的示意图。漏桶算法的原理是:将主机用户进程输出的不规则包流转换为输入网络的均速包流,主机和网络原创 2018-01-17 12:22:00 · 2640 阅读 · 0 评论 -
计算机网络的定义和分类
这学期上了计算机网络这门课,上完之后感慨颇多,因为这门课非常有用,对于以后接触的网络各层次都有了更深入的理解。总结是一个很好的习惯,所以在这里总结一下所学的比较重要的东西吧,方便以后查阅。博客里面图片来自《计算机网络(第五版)》 清华大学出版社,以及老师上课的课件,在此声明并且表示感谢。 首先什么是计算机网络?计算机网络是若干个在地理位置上不同的,具有独立计算能力的计算机和其他电原创 2018-01-08 16:55:39 · 19756 阅读 · 2 评论 -
计算机网络中的交换技术
计算机网络中的交换技术实际上就是计算机网络的两端的主机如何通过网络来传输数据包。比如在电话系统,主要用到了两种交换技术:电路交换技术和数据包交换技术。传统的数据传输一般会用到电路交换技术,但是随着IP数据包的广泛应用,数据包交换起到了越来越重要的作用,在这里详细的解释一下: 基于电路的交换技术: 交换机之间需要在数据传输之前首先建立一条 专属于 两个通话端的线路。两原创 2018-01-08 22:30:28 · 8100 阅读 · 0 评论 -
OSI七层协议模型和各自的功能
都知道OSI有七层协议,那么为什么有七层协议,这七层协议都是干什么的呢?我觉得应该在此做一个总结,来系统和易懂地来讲解各个部分。 首先,什么是协议?就像早晚班的交接,晚班的人A下班之后对接替他的人B说: “早上好!” B回应了A "早上好!" 这样两个人就知道我们要进行对话了。 之后A对B说,我的用户文档还没写完,代码的BUG我觉得错在哪里... B回答: “知道了,我接着写,写原创 2018-01-08 23:06:04 · 1205 阅读 · 1 评论 -
TCP协议的流量控制
我们知道TCP有流量控制和拥塞控制的功能。首先两者是有区别的:流量控制只与发送者和接收者之间的端-端通信有关,也就是它是一个局部的控制;但是拥塞控制是一个全局的问题,涉及所有主机、路由器及路由器的存储-转发能力。通俗来说,一个城市,为了缓解拥堵,那么对应应该采取的办法是拥塞控制;但是如果仅仅对于市中心的某一条路避免堵车,那么就是流量控制。 这篇文章先介绍TCP的流量控制,拥塞控制在下原创 2018-01-16 11:27:36 · 10598 阅读 · 1 评论 -
数据链路层的成帧方法
之前说过,数据链路层一个很重要的功能就是成帧和拆帧,因为帧是数据链路层的一个单元,数据链路层是对于帧进行处理的。那么这里就具体讲一讲数据链路层是怎么成帧的。 首先我们应该想想成帧所涉及的问题。第一就是网络层的数据包交给链路层之后,按照怎样的格式封装成帧?第二就是,用什么来区分帧头和帧尾?也就是什么时候帧开始,什么时候结束的问题。以及,怎么看传送的帧是对的?能不能看出来帧的某个比特错原创 2018-01-09 13:15:54 · 22138 阅读 · 1 评论 -
交换机和集线器的区别
集线器(HUB)可以理解为将一些机器通过传输线连接在一个集中设备上进行信息交换,这个集中设备就是集线器。交换机和它的功能差不多,都是把设备连接到自己上面,实现信息交换,但是两者有显著的区别。集线器采用的是共享带宽的方式进行工作,但是交换机采用的是独享带宽。 想要理解这一概念我们首先要了解一下冲突域的概念:冲突域表示的是两个或者以上站点同时发送将产生冲突的区域。原创 2018-01-09 17:08:33 · 14768 阅读 · 6 评论 -
数据链路层的差错控制ARQ
本文重点介绍了差错控制以及自动重发检错ARQ。 差错控制时链路层一个非常重要的功能,链路层需要在不太可靠的物理层来尽量实现可靠的链路层传输,靠的就是差错控制。所谓差错控制,就是对传输的数据信息进行错误检测,并加以恰当的处理。这其中就包含了多个方面,比如说正确接收数据,检错能力和纠错能力等等。检错能力是指接收方通过各种方法能发现数据中的错误并且通知发送方进行重传该信息,纠错是指当发原创 2018-01-09 15:27:13 · 9395 阅读 · 0 评论 -
数据链路层的流量控制
数据链路层的协议一个很重要的功能就是进行流量控制,那么链路层是怎么进行流量控制的呢? 首先什么是流量控制?为什么要进行流量控制? 我们看下面链路的一跳。发送发给接受方发送数据,如果发送方每1秒发送100包,接收方只能1秒处理50包,会出现什么现象呢?接收方会在缓存中大量缓存接受的包,直到缓存区满了。满了之后会怎么样?接着就会出现最不能容忍的情况,原创 2018-01-09 13:52:54 · 15965 阅读 · 1 评论 -
802.11的隐藏节点和RTS,CTS机制
802.11协议适用于无线局域网,这一点和802.3有着本质性的不同。首先先了解一下无线传输相关的范围: 无线传输有三个非常重要的范围:传输范围,侦听范围和干扰范围。 1.传输范围:传输范围(TX_range)指成功接收帧的通信范围,取决于发送能量和无线电波传输特性。 2.侦听范围:侦听范围(PCS_range)可检测到传输的范围,取决原创 2018-01-10 13:46:10 · 29511 阅读 · 5 评论 -
802.11的CSMA/CA机制
所谓CSMA/CA机制,是在无线局域网802.11中避免截止访问冲突的一个非常重要的机制。CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)机制主要分成两个部分:载波监听(CSMA)以及冲突避免(CA). 载波监听指的是:在发送之前首先进行监听,如果介质为空,则节点传输帧;如果为忙,则等待到当前传输结束之原创 2018-01-10 15:09:10 · 17203 阅读 · 1 评论 -
介质访问控制MAC以及ALOHA协议
在数据链路层种分两个子层:介质访问控制层(MAC)和逻辑链路控制层(LLC). LLC 层是给高层提供接口并执行流量控制和差错控制的,MAC层主要负责寻址,差错检测以及介质访问控制。LLC层在上,MAC在下。流量控制,差错控制在我之前的博客中都已经讲过了,有兴趣的可以查看一下,那么什么是介质访问控制呢?介质访问控制是指将传输介质带宽有效分配给网上各站点用户的方法。 如上图,我们知原创 2018-01-09 21:36:30 · 6321 阅读 · 3 评论 -
载波监听多路访问CSMA以及CSMA/CD详解
上一篇文章具体解释了ALOHA协定,那么这篇文章解释一下CSMA和CSMA/CD协议吧。它们都是为了控制在一个传输介质上面复用的主机访问信道时避免冲突所指定的协议。一.CSMA CSMA(载波监听多路访问)是在ALOHA协议上面做了更多改进并且应用于现实中MAC层截止访问控制(MAC)的协议。所谓载波监听,就是“讲前先听”。网络站点监听载波(别的用户的数据)是否存在并随之原创 2018-01-09 22:44:29 · 20209 阅读 · 5 评论 -
QT 实现采集即时音频信号并发送至另一台电脑播放
QT有一个音频信号处理的库,非常强大,可以实现音频采集,设定采集的参数等。本文的程序是在一台电脑中实现采集即时音频信号(电脑连接耳机并且说话),将这个音频信号采集后发送至另一台电脑上,在这一台电脑中连接耳机就可以清晰地听清这个即时语音信号。全程实现的是类似音频通话的功能。 话不多说,上代码。 在.pro文件中首先加入下面两个库,否则会造成编译错误:...原创 2018-04-30 22:02:11 · 15416 阅读 · 29 评论 -
LTE中 IMEI, GUTI, IMSI,S-TMSI等符号的含义
IMSI国 际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。其总长度不超过15位,同样使用0~9的数字。其中MCC是移动 用户所属国家代号,占3位数字,中国的MCC规定为460;MNC是移动网号码,由两位或者三位数字组成,中国移动的移动网络编...转载 2019-08-04 20:32:54 · 24850 阅读 · 2 评论 -
TCP的三次握手四次挥手
1、TCP通信TCP是面向连接的协议。运输连接是用来传送TCP报文的,而运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。可以类比传统的电话网,拨通号码,开始通话,挂断电话。用户进程和服务器进程需要完成一次通信都需要完成三个阶段:连接建立 数据传送 连接释放TCP协议中,主动发起请求的一端称为客户端,被动连接的一端称为服务端。由于全双工,不管是客户端还是服务端,TCP连接建...原创 2019-09-18 13:08:54 · 347 阅读 · 0 评论 -
RTSP/RTP/RTCP协议的区别
1. RTSP(Real-Time Streaming Protocol):实时流协议,它的出现是由于流媒体服务器的引入而出现的。 如上图所示,上图反映出的是常用地观看视频的过程。在浏览器中输入视频的url,那么会有一个http请求,网络web服务器会返回一个文件相应,这个文件相原创 2018-01-17 11:09:55 · 1188 阅读 · 0 评论 -
TCP协议的拥塞控制
之前说过,拥塞控制是全局的问题,是由网络中所有主机,路由器共同完成的,而流量控制只涉及到端端之间的传输,是局部问题。TCP的拥塞控制是通过调节拥塞窗口的大小来进行的,拥塞窗口(CongWin)体现出来了网络的承受能力。发送端的有效窗口必须兼顾网络和接收能力:SendWin = min(接收窗口,拥塞窗口),发送端必须凭借此公式调整发送速率以避免网络拥塞造成的丢包。如下图的示意图,网络中限制传输速率原创 2018-01-16 13:04:04 · 6492 阅读 · 0 评论 -
TCP和UDP协议的特点和区别详解
TCP和UDP都是传输层的协议,它们起到的最基本功能都是将IP提供的主机-主机传递服务扩展到端-端的进程级,通俗来说,就是把数据段从一个电脑上面的一个应用传递到另一个电脑上面的一个应用上面。除此之外,它们还都有的功能是差错检测功能,注意,只是检测功能,即都能发现错误,但是对于错误的处理就不相同了。 UDP协议:User Datagram Protocol,即用户原创 2018-01-16 10:42:15 · 16027 阅读 · 1 评论 -
通信网中的数据报子网和虚电路子网
数据报子网和虚电路子网其实反映出的是两种不同的对于网络的看待方式:数据报子网实际上是面向无连接的网络设计的,而虚电路子网面向的是有连接的网络。 数据报子网的特点是:对于同一个对端系统的数据包可能走不同的路径。 如上图所示,左边是发送端,右边是接收端。数据流被分成了多个包,每个包都可能沿着不同的路径达到目的地。比如说前面一些包通过上面的路径到达了接收端,但原创 2018-01-11 10:29:16 · 2337 阅读 · 0 评论 -
网络中的分段与重组
我们知道网络中数据都是按照数据包来发送的,那么包的大小显然不能是无限大的,总是需要一个限度。所以当数据包长度过长的时候,就需要将其分段,变成比较小的几个部分,再进行重组,恢复为原来包的大小。这个过程就是数据包的分段和重组。 首先包的长度受到哪些条件的限制呢?第一是硬件条件,也就是路由器缓冲区的大小不能无限大。第二是协议规定的,因为包越长,包里面数据的错误率就越高,当包长到一定长度原创 2018-01-11 11:02:04 · 4359 阅读 · 0 评论 -
网络层的作用
我们知道网络层处于数据链路层和传输层之间,它在数据报文包的传递中起到了重要作用。 我们来看上面这张图。左边的主机想和右边的主机通话,那么这个数据包一定会经过网络。中间灰色的圆圈是路由器,他们组成了一个网络,数据链路层只是把这个信息传递了“一跳”,也就是从介质的一端传递到另一端,在图里面比如说从路由器1传递到2.但是网络层做的事情是,规划好所有跳的路线,比如说数据包要依次经原创 2018-01-11 09:58:43 · 20460 阅读 · 4 评论 -
路由算法之距离矢量算法和链路状态算法
我们之前说了,路由器需要对于每一对端端节点都要寻找出一个最佳的路径,比如说最小链路成本的路径。路由算法就是通过自己到相邻节点之间的信息来计算出自己到目的地址的最佳出境线路是哪一条,进而进行转发的一类算法。具有代表性的就是距离矢量算法和链路状态算法。 距离矢量算法的特点是: 1.分布的 每个节点接收来自与其直接邻接节点的路由信息,并执行路由计算,将计算结果回传给原创 2018-01-11 11:37:05 · 44610 阅读 · 5 评论 -
互联网Internet体系结构以及网关协议OSPF
路由器构成了Internet的基本体系结构,即使一个路由器没有对所有的目的地址建立路由表,那么它在路由表中一定有一个缺省路由方向,一旦这个数据包的目标地址不在路由表中,那么久按照这个缺省的方向进行发送。所以即使有着部分的路由信息,只要有缺省路由方向,数据包一样可以达到任何目的地址。但是作为互联网的一个整体,所有信息一定是完备的,这是因为总应该有至少一个路由表存储着到达某个地址的信息,否则的话这个主原创 2018-01-11 13:16:22 · 1493 阅读 · 0 评论 -
IP头以及头的各部分含义
我们来看一下IP的头的结构: IP的头每行有32位,分为版本,头长度,区分服务等十多项内容。 第一个版本,记录IP头为IPv4的头还是IPv6的头。如果是IPv4的头往往为4,如果是IPv6的头则是6. 第二个IHL为IP Head Length’ 也就是头长度,以字节计数。区分服务指的是对于不同的类型的数据包,采用不同的服务方式。举个例子,对于语音数据原创 2018-01-14 22:24:30 · 22102 阅读 · 1 评论 -
IP子网编址和无类域路由CIDR
前面说过,IP地址分类具有层次性。一个C类地址可能会有至多255个主机连接,但是B类和A类的主机数可能就会达到2^14和2^21个主机连接。于是就会有这种问题:人们不愿意申请C类地址,因为主机数量比较少,但是B类和A类的地址主机数量太多,容易造成浪费。所以在这种IP层次性的条件下,子网编址的方法就应用而生,来解决此类问题。 子网编址:在IP地址分类体系中再加一级子...原创 2018-01-15 11:21:24 · 1173 阅读 · 2 评论 -
IP地址的分类和层次
IP地址是按照层次来分类的,用点分十进制表示的。共分为A,B,C,D,E类IP地址,不同类地址所能容纳的主机数和网络数是不同的。IP地址的格式为:网络号+(子网号)+主机号。子网号是可能有可能没有的,但是网络号和主机号都是必须要有的。 我们知道,一个主机在加入网络的时候不能给它任意指定一个地址,而应该和它所在的网络有着关联,这也是设计层次性IP地址的原因。IP地址分类有五种:原创 2018-01-15 09:59:24 · 5820 阅读 · 0 评论 -
Internet控制报文协议ICMP
我们知道,互联网的网络层提供的是“best effort”尽力而为的服务,IP协议本身并没有任何可以帮助发方测试连接性能或者了解线路故障的机制。但是对于故障和错误的处理,是必不可少的,所以网络层通过采用Internet控制报文协议来完成这件事情,这就是ICMP协议的由来。 路由器严密监视Internet数据包,当路由器在处理某一个数据包的时候发生了意外或者错误,那么就通过ICMP原创 2018-01-15 12:58:15 · 2328 阅读 · 0 评论 -
网络层地址解析协议ARP
想了解地址解析协议ARP,首先要知道网络层IP地址和链路层MAC地址的区别。 IP地址的特点是:IP地址往往固定在某一个区域(和路由器相关),且IP地址具有层次特点,取决于节点所连的那个子网;但是MAC地址可以不受限制的自由移动(和网卡相关),MAC地址是平面结构,网卡可从一个LAN移动到另一个LAN。IP地址并不是一个特定的地址,它仅仅表示这一个特定的网络连接。原创 2018-01-15 13:36:43 · 570 阅读 · 0 评论 -
动态主机配置协议DHCP
动态主机配置协议----DHCP协议(Dynamic Host Configure Protocol)允许新加入网络的计算机快速、动态地获取IP地址。 DHCP的工作过程如下: ①只要有新计算机连到网络,新计算机就与服务器联系并申请一个地址。 ②DHCP服务器从管理员指定的地址中选择一个未分配的地址,并将它分配给该计算机。 ③原创 2018-01-15 14:00:27 · 798 阅读 · 0 评论 -
网络地址转换协议NAT详解
NAT(Network Address Translation)协议:在私有地址和全局地址之间转换的协议。 首先什么是私有地址?私有地址是不能用在Internet上(路由器将丢弃寻址这种地址的包)的内部地址。这些地址是不能够在公网上面用的,只能用在局域网的内部。私有地址有三种:①10.0.0.0~10.255.255.255/8 ②172.16.0.0~172.31.255.25原创 2018-01-15 14:16:16 · 26285 阅读 · 6 评论 -
IP组播之组播路由算法
上一篇文章说的是组管理协议IGMP,它是用来给组播路由器确定自己局域网下面有哪些主机加入了哪些组播的。那么这篇文章就说说IP组播另一个重要协议,组播路由协议。组播路由协议用于在路由器之间共享组信息,为组播数据报的分发提供路由,确保每一个组播路由器都能收到数据包。它的目标是找出一棵树,它连接所有附接主机属于组播组的路由器;根据这棵树路由组播包从发送者到达属于这棵组播树的所有主机。原创 2018-01-15 15:40:24 · 5280 阅读 · 0 评论 -
IP组播之组管理协议IGMP
网络层的组播用于向某些特定的主机群发消息,而不必给每一个主机都单独发送消息。与单播路由相比,相同点是路由算法在网络层仍发挥着重要作用,但是不同点是处理组播包的路由器必须建立和维护组播连接的状态信息。 组播通常采用间接的方式进行组播:每一组接收者有一个统一的“标识符”,将包传送到与该“标识符”相连的所有接收者,而不是把所有接受者的目的地址都放在IP组播包里面的直接法。这是显而易见的原创 2018-01-15 15:18:35 · 11198 阅读 · 0 评论 -
DNS域名系统
域名系统(domain name system)是一种将主机名、电子邮件地址、Web服务器名映射成IP地址的分布式数据库系统,通俗来说,DNS系统提供的是名字和地址的映射关系。 举个例子,比如顶级域名root(根服务器)下面有.cn域名。我假设我的邮件想访问12345678@abc.edu.cn,这是一个在中国的教育网下面的邮箱地址。我发送了这封邮件,那么这个邮件怎么根据这个地址原创 2018-01-15 23:00:12 · 273 阅读 · 0 评论 -
传输层作用概述
我们知道传输层位于网络层之上,网络层提供了主机之间的逻辑通道。那既然已经把一个数据包从一个主机发到另一个主机上面了,为什么还需要传输层呢?这是因为传输层提供了应用进程之间的端-端连接。我们知道一个电脑可能有多个进程同时在使用网络连接,那么网络包达到主机之后,怎么区分自己属于那个进程?这就需要靠传输层的作用了。 传输层协议能提供应用的多路复用/分用服务、可靠数据传送、带宽保证及延迟原创 2018-01-16 10:15:46 · 31306 阅读 · 2 评论 -
网桥的功能介绍
网桥工作在数据链路层,起到的作用是把多个局域网连接起来,组成更大的局域网。它的功能主要有两点:过滤和转发。 通常来看,网桥起到了把不同局域网连接在一起的作用,即使这些局域网使用不同的协议比如802.11和802.3。加入一个网桥连接一个802.3和一个802.11,那么网桥转发的时候首先需要把802.3的帧头拆掉,换成802.11的头,再转发给802.11使之适应无线局域网的帧格原创 2018-01-10 16:39:02 · 13598 阅读 · 2 评论