在网络边缘的端系统之间的通信方式通常可以划分为两大类:
客户-服务器方式(C/S方式)和对等方式(P2P方式)。
C/S: 客户是服务请求方,服务器是服务提供方。客户程序被用户调用后主动地向远地服务器发起通信(因此必须知道服务器程序地址),客户程序不需要特殊的硬件和很复杂的操作系统。服务器程序是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。启动后一直不断的运行,被动地等待并接受来自各地的客户的通信请求(因此不需要知道客户的地址)。一般需要强大的硬件和高级的操作系统。
P2P: 对等连接(peer-to-peer),指两台主机通信时,并不区分哪一个是服务请求方和服务提供方。只要两台主机都运行了对等连接软件(p2p软件),他们就可以进行平等的通信。
由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和变换)。
网络核心部分是互联网中最复杂的部分,因为网络中的核心部分要向网络边缘部分中的大量主机提供连通性,使边缘部分中的任何一台主机都能与其他主机通信。在网络核心部分其特殊作用的是路由器(router),它是一种专用计算机(不是主机)。路由器是实现分组交换(packet switching) 的关键构建,其任务是转发收到的分组。
报文交换 特点:整个报文先传送到相邻节点,全部存储下来再查找分发表,转发到下一个节点。缺点:时延长。 优点:报文交换和分组交换不需要预先分配传输带宽,在传输突发数据时可以提高整个网络的信道利用率。——整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点。
电路交换 必须经过“建立连接(占用通信资源)——通话(一直占用通信资源)——释放连接(归还通信资源)”三个步骤的交换方式称之为电路交换。电路交换的一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。缺点是传送计算机数据时,线路的传输效率往往很低。——整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。
分组交换 特点:单个分组(这只是报文的一部分)传送到相邻节点,存储下来后查找转发表,转发到下一个节点。优点:高效、灵活、迅速和可靠。缺点:具有一定的时延、无法确保通信时端到端所需的带宽。——单个分组(这只是整个报文的一部分)传送到相邻节点,存储下来后查找转发表,转发到下一个节点。image-20230129110951190分组(包)
总时延=发送时延+传播时延+处理时延+排队时延
信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。网络利用率则是全网络的信道利用率的加权平均值。
如果令D0表示网络空闲时的时延,D表示网络当前的时延(设现在的网络利用率为U),那么在适当的假定条件下,可以用下面的简单公式来表示D与D0以及利用率U之间的关系:D=D0/(1-U),一般控制利用率不超过1/2。
主要由三个要素组成:
语法,即数据与控制信息的结构或格式;
语义,即需要发出何种控制信息,完成何种动作以及做出何种响应;
同步,即事件实现顺序的详细说明。
应用层 通过应用进程间的交互来完成特定网络应用;
运输层 负责向两台主机中进程之间的通信提供通用的数据传输服务;
网络层 为分组交换网上的不同主机提供通信服务;
数据链路层 封装成帧、透明传输、差错控制、流量控制、可靠传输…
为了阐述原理方便,通常 采用五层协议的体系结构。
image-20230129121014826码元 在使用时域的波形表示数字信号时,代表不同离散数值的基本波形就称为码元。使用二进制编码时,只有两种不同的码元,一种代表0状态而另一种代表1状态。
单工 只能有一个方向的通信而没有反方向的交互。无线电广播或有线电广播以及电视广播就属于这种类型。
半双工 通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。这种通信方式是一方发送另一方接收,过一段时间后可以再反过来。
全双工 通信的双方可以同时发送和接收信息。
基带(频带)信号 来自信源的信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。
带通信号 使用载波进行调制,把基带信号的频率范围搬移到较高的频段,并转换为模拟信号,这样就能够更好地在模拟信道中传输。经过载波调制后的信号称为带通信号(即仅在一段频率范围内能够通过信道),而使用载波的调制称为带通调制。
调制 调制是将能量低的消息信号与能量高的载波信号进行混合,产生一个新的高能量信号的过程,该信号可以将信息传输到很远的距离。或者说,调制是根据消息信号的幅度去改变载波信号的特性(幅度、频率或者相位)的过程。
信噪比
信号的平均功率和噪声的平均功率之比,常记为S/N,但通常使用分贝(dB)作为度量单位。即:
信噪比的定义信道复用 将本来需要多条信道通信的几个节点通过一条共享信道连接起来。
比特率 比特率是指每秒传送的比特(bit)数。单位为bps(bit per second)也可表示为b/s,比特率越高,单位时间传送的数据量(位数)越大。比特率:C=Blog2N (C:比特率,B:波特率,N:传输系统中码元的种类数,或者离散组合)
波特率 波特率表示每秒钟传送的码元符号的个数,它是对符号传输速率的一种度量,它用单位时间内载波调制状态改变的次数来表示,1波特即指每秒传输1个符号。
ADSL非对称数字用户线(Asymmetric Digital Subscriber Line) 非对称数字用户线ADSL技术是用数字技术对现有模拟电话的用户线进行改造,使它能够承载宽带数字业务。
我国目前采用的方案是离散多音调 DMT (Discrete Multi-Tone)调制技术。这里的“多音调”就是“多载波”或“多子信道”的意思。
不归零制 正电平代表1,负电平代表0。归零制 正脉冲代表1,负脉冲代表0。 曼切斯特编码 下降沿为1,上升沿为0。位周期中心的向上跳变代表0,位周期中心的向下跳变代表1。但也可反过来定义。
差分曼切斯特编码 在每一位的中心处始终都有跳变。位开始边界有跳变代表0,而位开始边界没有跳变代表1。
串扰使得本来分得很清楚的一串码元变得模糊而无法识别。早在 1924 年,奈奎斯特(Nyquist就推导出了著名的奈氏准则。他给出了在假定的理想条件下,为了避免码间串扰,码元的传输速率的上限值。奈氏准则的推导已超出本书的范围,这可在通信原理教科书中查阅到。这里我们只需要知道奈氏准则的结论,这就是:在带宽为W(Hz)的低通信道中,若不考虑噪声影响,则码元传输的最高速率是2W(码元/秒)。传输速率超过此上限,就会出现严重的码间串扰的问题,使接收端对码元的判决(即识别)成为不可能。例如,信道的带宽为4000Hz,那么最高码元传输速率就是每秒8000个码元。
在1948年,信息论的创始人香农(Shannon)推导出了著名的香农公式。香农公式指出:信道的极限信息传输速率C是
C = W log2(1+S/N)(bit/s) (2-2)
式中,W为信道的带宽(以Hz为单位),S为信道内所传信号的平均功率,N为信道内部的高斯噪声功率。香农公式的推导可在通信原理教科书中找到。这里只给出其结果。
香农公式表明,信道的带宽或信道中的信噪比越大,信息的极限传输速率就越高。香农公式指出了信息传输速率的上限。香农公式的意义在于:只要信息传输速率低于信道的极限信息传输速率,就一定存在某种办法来实现无差错的传输。不过,香农没有告诉我们具体的实现方法。这要由研究通信的专家去寻找。
从以上所讲的不难看出,对于频带宽度已确定的信道,如果信噪比也不能再提高了,并且码元传输速率也达到了上限值,那么还有什么办法提高信息的传输速率呢?这就是用编码的方法让每一个码元携带更多比特的信息量。
双绞线(分为屏蔽双绞线STP(Shielded Twisted Pair)和无屏蔽双绞线UTP(Unshielded Twisted Pair))、同轴电缆、光缆
1双绞线: 就是把两根互相绝缘的铜导线并排放在一起,然后用规则的方法绞合在一起,绞合可以减少对相邻导线的电磁干扰。模拟传输和数字传输都可以使用双绞线,其通信距离一般为几到十几公里。距离太长就要加放大器(对于模拟传输),或者加上中继器(数字传输)。导线越粗,传递距离越远。。 2同轴电缆: 由于外导体屏蔽层的作用,具有很好的抗干扰性。目前同轴电缆用于有线电视网的居民区中。 3光纤: 分为单模光纤和多模光纤。当光线从高折射率的媒体射向低折射率的媒体时,其折射角将大于入射角。因此,当入射角足够大,就会出现全反射。特点:1.传输损耗小,中继距离长,对远距离传输特别经济;2.抗雷电和电磁干扰性好;3.无串音干扰,保密性好;4.体积小,重量轻。
多模光纤、单模光纤
频分复用 同一时刻、不同用户使用不同频率带宽进行多路通讯。各路信号在同样的时间占用不同的带宽资源。
(同步)时分复用 所有用户在不同的时间占用同样的频带宽度。
统计(异步)时分复用 时隙是非周期性地出现
波分复用 光的频分复用
码分复用 每一个用户可以在同样的时间使用同样的频带进行通信。由于各用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰。
实现原理见书P60-61,浅谈一下我的理解,就是码分复用约等于用带宽换用户量,使得同一个信道能被多个用户使用。每个用户都有他们对应的码片序列,且不同的码片序列之间一定正交(保证了特异性)。每个站都用自己的码片序列代表信号1,码片序列的反码代表信号。这样即使站S和站T同时发送110,站X收到的也不会混淆。假设x收到的是SS~S(~S代表0,也就是110的意思;这三个序列肯定>3bit)和TT~T,用Sx+Tx表示。然后他若是想要提取S站的信息,只需要乘上S,即S*(Sx+Tx) = SSx + STx,由于正交性,STx一定为0,SSx=Sx,就得到了原始的数据。至于”乘上“这种抽象词汇,估计要用到信号那本书的傅里叶变换信号处理等的知识。
链路 从一个节点到相邻节点的一段物理线路(有线或无线),而中间没有任何其他的交换节点。
数据链路 数据链路除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路
帧 点对点信道的数据链路层的协议数据单元。从网络层下来的IP数据报加上帧首部和帧尾部,这个过程叫做封装成帧。帧的数据部分长度上限——最大传送单元MTU。同样的,接收端在收到物理层的上交的比特流之后,就能根据首部和尾部的标记,从收到的比特流之中识别帧的开始和结束。
MTU 帧的数据部分长度上限——最大传送单元MTU
误码率 在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(bit error rate)
PPP(Point-to-Point Protocol) 点对点协议,用户计算机和ISP进行通信时所使用的数据链路层协议
CSMA/CD Carrier Sense Multiple Access with Collision Detection 载波监听多点接入/碰撞检测
(1)准备发送
(2)检测信道
(3)①发送成功 ②发送失败
帧检验序列FCS 为了进行检错而添加的冗余码,是经过特殊计算的余数。
曼彻斯特编码 传统以太网使用的编码方式
争用期 也称碰撞窗口,以太网的端到端往返时间2τ。 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
集线器(HUB) 这种以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫作集线器。
MAC(物理地址) 硬件地址
网桥 网桥对收到的帧根据其MAC帧的目的地址进行转发和过滤。(工作在数据链路层)
交换机 交换式集线器(工作在数据链路层)
实质上是多端口的网桥
单播 收到的帧的MAC地址与本站的MAC地址相同
组播 发送给本局域网上一部分站点的帧
广播 发送给本局域网上所有站点的帧
VLAN(virtual local area network) 虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的计算机属于哪一个VALN。(只是局域网给用户提供的一种服务,而并不是一种新型逻辑网)
数据链路层的两个子层 为了使数据链路层能更好地适应多种局域网标准,802 委员会就将局域网的数据链路层拆成两个子层:
逻辑链路控制 LLC (Logical Link Control)子层
媒体接入控制 MAC (Medium Access Control)子层。mac层直接对接物理层。
点对点信道。这种信道使用一对一的点对点通信方式。使用PPP协议。
广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。使用CSMA/CD协议。
封装成帧:在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。(网络层传下来的数据包,网卡就要将其封装一下,加上头和尾部,从网络层给到数据链路层的ip数据报大小是有限制的,叫做最大传输单元,以太网是1500个字节,如果超过了这个大小,那么网络层的IP数据包就要分片,就要用到封装)
透明传输:将数据中的定界符转为其它符号的任务。比如:数据中如果出现控制字符SOH或者EOT则在他们前面增加ESC。
差错控制:为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。比如循环冗余控制CRC。
数据分组后,假设每组k个比特。假设待发送数据M = 101001 (k = 6) 。CRC运算就是在数据M后面添加供差错检验的用的n位冗余码,然后构成一个帧发送出去,一共发送k+n位。n位冗余码的得到方法:用二进制的模2运算进行2^n*M的运算,也就是在M后面添加n个0。得到的k+n除以收发双方事先约定的n+1位除数,得出商(没用)和余数R(n位,比p少一位)。这个R就叫做FCS,所以加上FCS的帧就是101001001(即2^nM + FCS)。接收端让数据除约定的除数P,如果余数是0那么说明该帧没有差错,否则即是出错。
十六字总结:先听后发,边发边听。冲突停止,延时重发。
多点接入表示许多计算机以多点接入的方式连接在一根总线上。 载波监听是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,发送中检测到有别的发送,则立即中断发送,以免发生碰撞。 碰撞检测就是计算机边发送数据边检测信道上的信号电压大小。
优点是原理简单,易实现,工作站平等;缺点是无优先级,不能满足确定延时要求,负载时效率下降
曼彻斯特编码;信道上零电平即是空闲;当适配器检测到总线上信号电压变化幅度超过一定的门限值,认为至少有两个站在同时发送数据,表明有“碰撞”。等待一段随机事件后再发送。
总线型以太网 星型以太网(利用集线器)
集线器仅转发比特,不进行碰撞检测。各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线。
48位,分为平面地址和层次地址两种。
目的地址 源地址 类型 数据(IP数据报) FCS
分别为:6 6 2 46-1500 4 字节
有效的 MAC 帧长度为 64 ~ 1518 字节之间。减去首部和FCS,数据部分为46-1500字节,不够46字节需要填充。image-20230208143225318存储转发方式把整个数据帧先缓存后再进行处理。
直通 (cut-through) 方式接收数据帧的同时就立即按数据帧的目的 MAC 地址决定该帧的转发接口,因而提高了帧的转发速度。缺点是它不检查差错就直接将帧转发出去,因此有可能也将一些无效帧转发给其他的站。自学习算法很简单,起初交换器中为一个空表,当A通过它的端口(假设为1)发送一个帧给B,那么就在交换表中写下(A,1),包含A的mac地址和端口。然后向除了A的端口外的所有端口广播该帧,当B回信,就接着记录B的(B,3)……而且写入某个项目时会记录他写入的时间,超过一定时间就会删除掉,以保证交换表中的信息是最新的。
总线式以太网使用CSMA/CD协议,以半双工形式工作。但以太网交换机不使用共享总线,没有碰撞问题,不需要使用这个协议。
高速以太网包括快速以太网、吉比特以太网、10吉比特以太网。此部分可见参考资料第二篇文章的第五点,里面详细的介绍了些,我觉得这个不是重点。
利用以太网交换机可以很方便地实现虚拟局域网 VLAN (Virtual LAN)。
虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个 VLAN。
虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。
由于虚拟局域网是用户和网络资源的逻辑组合,因此可按照需要将有关设备和资源非常方便地重新组合,使用户从不同的服务器或数据库中存取所需的资源。
IP 网际协议IP IP地址是连续的32位二进制代码,为了提高可读性,每八位转化为10进制,并采取点间隔,即点分十进制记法
IP地址的前n位是网络号,网络号在整个互联网是唯一的,后32-n位是主机号,主机号在该网络是唯一的。
ARP(Address Resolution Protoco,地址解析协议):IP->MAC
ICMP(Internet Control Message Protocol,网际控制报文协议)允许主机或路由器报告差错情况和提供有关异常情况的报告。
子网掩码 地址掩码,CIDR记法表示网络前缀位数的,例如/20 即 11111111 11111111 1111 0000 00000000,20个连续的1和12个0,用地址掩码和IP地址进行AND运算可以得到网络地址。
CIDR 指定任意长度的前缀的可变长子网掩码技术。
默认路由 是对IP数据包中的目的地址找不到存在的其他路由时,路由器所选择的路由。
路由选择算法 常见的有RIP、OSPF、EGP等
自治系统(AS)在单一的技术管理下的许多网络、IP地址、路由器 ,这些路由器使用一种自洽系统内部的路由选择协议和共同的度量。
RIP 一种分布式的基于距离向量的路由选择协议。
OSPF 分布式链路协议
VPN(虚拟专用网络):在公用网络上建立专用网络,进行加密通讯。
NAT(Network Adress Translation ,网络地址转换):所有使用本地地址的主机在和外界通信时都要在 NAT 路由器上将其本地地址转换成 IP地址才能和因特网连接。
IPv6:新一代的ip协议,拥有更多的地址。
网络层负责将网络协议数据单元或分组从源计算机经过适当的路径发送到目的地计算机。
设计IP的目的是提高网络的可扩展性;不提供。
1.分类的IP地址。分为A,B,C,D,E五类。IP地址 ::={<网络号>,<主机号>}
A类8位网络号,0开头。
B类16位网络号,10开头。
C类24位网络号,110开头。
D类1110开头,多播地址
E类1111保留今后使用
第二种课本上没有:
2.子网的划分:{网络号,子网号,主机号}3.无分类编址CIDR。IP地址 ::={<网络前缀>,<主机号>},采用斜线记法,或称CIDR记法,即在IP地址后面加斜线,斜线后面是网络前缀所占的位数。如128.14.35.7/20,表示二进制IP地址的前20为是网络前缀,后面的12位是主机号。该编址方式下,不能仅用128.14.35.7指明一个网络地址,因为不知道网络前缀是多少。
开始地址 = 网络地址+1,即192.168.8.1
结束地址 = 广播地址-1,即192.168.9.254
1.分类的IP地址:
A类:2(8-1) 1. B类:2(16-2) 128.1 C类:2(24-3) 192.0.1 另外两种:2n-2
2.无分类编址CIDR CIDR把网络前缀相同的所有连续的IP地址组成一个CIDR地址块。一个地址块的IP地址数目取决于网络前缀的位数。举例:128.14.35.7/20 = 10000000 00001110 00100011 00000111 ,这个IP地址块的IP地址共有2^12个,扣除主机号全0或全1的,可指派的有2^12-2个。最小地址是10000000 00001110 00100000 00000000,128.14.32.0;最大地址是10000000 00001110 00101111 11111111,128.14.47.255。
根据目的网络地址就能确定下一跳路由器:
IP 数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。只有到达最后一个路由器时,才试图向目的主机进行直接交付。(1) 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。
(2) 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行(3)。
(3) 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
(4) 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。
(5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
(6) 报告转发分组出错。
下图为,路由表工作图:
image-20230208154010073工作原理:
当主机A要向主机B发送P数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址
如有,就在ARP高速缓冲中查出对应的硬件地址,再把硬件地址写入 MAC帧,然后再通过局域网把MAC帧发往此硬件地址。
如无,就在网络上用广播方式发送ARP请求分组,B主机在收到请求分组时便向主机A发送响应分组,并把A的地址映射写进自己的ARP高速缓存中。其余主机不理睬这个ARP请求分组。主机A 收到主机B的ARP响应分组后,就在其ARP高速缓存中写入主机B的硬件地址的映射。
ARP请求分组:包含发送方硬件地址 / 发送方 IP 地址 / 目标方硬件地址(未知时填 0) / 目标方 IP 地址。
本地广播 ARP 请求(路由器不转发ARP请求)。
ARP 响应分组:包含发送方硬件地址 / 发送方 IP地址 / 目标方硬件地址 / 目标方 IP 地址。
ARP请求分组是广播,但是ARP响应分组单播,就从源地址发送到一个目的地址。
过程:详细见书P131-132,已经说得很清楚,我写下自己的理解。网络层使用的IP地址,而数据链路层是MAC地址,而各地使用五花八门的MAC地址格式,所以直接采用MAC地址作为源地址和目的地址来传输信息就不太方便。而ARP协议就是建立了IP到MAC的映射,就使得我们只需要处理IP地址的工作就行了。主机H1(IP1)发送给主机H2(IP2)一个IP数据报,那么IP数据报首部中的源地址和目的地址一定是IP1和IP2,但是在数据链路层封装的MAC帧中,IP数据报是不可见的,MAC帧的首部和尾部每经过一次路由器的转发就发生变化。举例:MAC帧首部的源地址MAC1和目的地址MAC3,表示主机H1在链路层发送给路由器,路由器查询转发表后重新封装成MAC4到主机H2的MAC2,路由器拥有多个IP地址和MAC地址。
例题:P137 例4-1 和P204 4-20。MF = 1表示后面还有分片,0表示没有;DF一般都置0,表示可以分片。
分片一定是8的整数倍。
IP分片发生在发送主机及中间路由器,重组只发生在接受主机
也称为“跳数”(hop count),因为每经过一个路由器,跳数就加 1。(直接连接的网络定义为1,不直接的每经过一个路由器这个数加1)需要注意的是,距离的最大值是16,也就是RIP协议只适用于小型互联网。
“链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量” 两个相邻的路由器通过发报文的形式成为邻居关系,邻居再相互发送链路状态信息形成邻接关系,之后各自根据最短路径算法算出路由,放在OSPF路由表,OSPF路由与其他路由比较后优的加入全局路由表。
路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。也就是说,将路由器某个输入端口收到的分组,按照分组要去的目的地(即目的网络),把该分组从路由器的某个合适的输出端口转发给下一跳路由器。
在单一的技术管理下的许多网络、IP地址、路由器 ,这些路由器使用一种自洽系统内部的路由选择协议和共同的度量。 前者在自治系统内,后者在自治系统之间。
内部网关协议 IGP (Interior Gateway Protocol)在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,如 RIP 和 OSPF 协议。
外部网关协议 EGP (External Gateway Protocol)若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议 EGP。在外部网关协议中目前使用最多的是 BGP-4“转发”(forwarding)就是路由器根据转发表将用户的 IP 数据报从合适的端口转发出去。“路由选择”(routing)则是按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由。
路由表是根据路由选择算法得出的。而转发表是从路由表得出的。
在讨论路由选择的原理时,往往不去区分转发表和路由表的区别。本地地址——仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向因特网的管理机构申请。 全球地址——全球唯一的IP地址,必须向因特网的管理机构申请。 VPN:路由器R1收到内部数据报后,把整个的内部数据报进行加密,然后重新加上数据报首部,封装成为在互联网上发送的外部数据报,其源地址是路由器R1的全球地址,其目的地址是路由器R2的全球地址。 NAT:NAT路由器把发出去的IP数据报的源IP地址(本地地址)转换为新的源IP地址(全球地址)。收到的反之。
IPv6地址128位,用十六进制表示,分为8段,中间用“:”隔开 {前缀+接口标识}; 单播地址、组播地址、任播地址; 自动配置技术:赋予主机自己的地址参数、赋予主机其他的相关参数;
提供应用进程间的逻辑通信。网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。
因为真正进行通信的主体是在主机中的进程,是这个主机中的一个进程和另一个主机中的一个进程在交换数据。
TCP和UDP;当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工通信的可靠信道。当运输层采用无连接的UDP协议时,这种逻辑通信信道仍然是一条不可靠信道
运行在计算机中的进程是用进程标识符来标志的。 为了统一,TCP/IP运输层采用协议端口号,简称端口来标识进程。
用一个16位端口号来标志一个端口。
端口号只具有本地意义,它只是为了标志本计算机应用层中的各个进程在和运输层交互时的层间接口。当出现差错时让发送方重传出现差错的数据,同时在接收方来不及处理收到的数据时,及时告诉发送方适当降低发送数据的速度。
“停止等待协议”就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。 1、无差错
2、出现差错超时重传
3、确认丢失和确认迟到 确认丢失:A没收到确认,重发M1给B,B丢弃重复的M1,重发确认 确认迟到:A重发M1给B,B丢弃重复的M1,重发确认,迟到的确认也到达,A不收下后丢弃。
这部分比较复杂,第九、第十两个问题建议是看推文里的解释。
要实现超时重传,就要在每发送完一个分组时设置一个超时计时器。如果在超时计时器到期之前收到了对方的确认,就撤销已设置的超时计时器。
连续ARQ协议(automatic repeat request)
TCP 滑动窗口技术:A向B发送一定窗口数量的数据,当数据按序到达并收到B的确认后窗口向前滑动。若数据没按序到达,则先将收到的数据暂存在接收窗口中,则等待A继续发送后面的数据,但是此时可用窗口不变。如果超时还没收到确认,则重发此部分数据,直到收到B的确认为止,那么A就可以使发送窗口继续向前滑动,并发送新的数据。
需注意,接收方一般采用累积确认模式,表示到这个分组为止的所有分组都已经收到了。不过也有缺点,就是如果前面某个分组没有收到,则即使受到了后面的也要重发一遍。
最小20个字节。
源端口和目的端口(各2B),序号(4B,TCP每一个传送的字节流都按顺序编号,该字段是本报文段发送的第一个字节的序号),确认号(4B,是期望收到对方下一个报文段的第一个数据字节的序号 ),数据偏移(4B,指出报文段起始处距离tcp报文起始处有多远),保留(6bit),紧急URG,确认ACK(TCP规定,建立连接后所有传送的报文段都要把ACK置1),推送PSH,复位RST,同步SYN(置1表明连接请求或连接接受),终止FIN(用来释放连接),窗口,检验和,紧急指针,选项
rwnd receiver window,接收窗口
利用滑动窗口实现流量控制,发送方的发送窗口不能超过接收方给出的接收窗口的数值。在A发送时,B会根据情况调整rwnd的值并传回给A,当rwnd=0,则不允许再发送。
所谓拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器和链路不至于过载。拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络负荷。拥塞控制是一个全局性的过程,涉及到所有的主机,所有的路由器,以及与降低网络传输有关的所有因素。相反流量控制往往指的是点对点通信量的控制,是个端对端的间题。流量控制所要的就是抑制发送端的发送数据速率,以便使接收端来得及接收。 发送方的发送窗口=min(拥塞窗口,接收方窗口)
慢开始、拥塞避免、快重传、快恢复 慢开始:拥塞窗口(发送窗口)cwnd加倍由小到大增大 拥塞避免:拥塞窗口cwnd 加1缓慢增加 快重传:接收方每接收到一个失序的报文段后就立即发出重复确认 快恢复:调整门限值ssthresh=cwnd/2,同时设置拥塞窗口cwnd=ssthresh 当cwndssthresh时,改用拥塞避免算法。 当cwnd=ssthresh时,慢开始与拥塞避免算法任意 ①当发送方连续收到三个重复确认时,就执行“乘法减小”算法,把ssthresh门限减半。但是接下去并不执行慢开始算法。 ②考虑到如果网络出现拥塞的话就不会收到好几个重复的确认,所以发送方现在认为网络可能没有出现拥塞。所以此时不执行慢开始算法,而是将cwnd设置为ssthresh的大小,然后执行拥塞避免算法
实现RED时需要使路由器维持两个参数,即队列长度最小门限和最大门限。每当一个分组到达时,RED就按照规定的算法先计算当前的平均队列长度。 若平均队列长度小于最小门限,则把新到达的分组放入队列进行排队。 若平均队列长度超过最大门限,则把新到达的分组丢弃。 若平均队列长度在最小门限和最大门限之间,则按照某一丢弃概率p把新到达的分组丢弃。 让拥塞控制只在个别的TCP连接上进行,因而避免发生全局性的拥塞控制
TCP连接建立:双方创建传输控制块TCB,B处于监听状态,等待连接请求,A发送连接请求SYN=1,seq=x,A处于同步已发送状态,B收到请求发送确认信号,SYN=1,ACK=1,ack=x+1,seq=y。B进入同步收到状态,A收到B确认后,还要向B给出确认,(第三次无SYN)ACK=1,seq=x+1,ack=y+1,这样连接建立。三次握手。 TCP释放:A向B发出释放连接请求,FIN=1,seq=u,A 进入等待状态,B收到请求后确认,ACK=1,seq=v,ack=u+1,这时A到B的数据传输关闭,但B到A 的传输还没关闭,B发送数据,A还是要接收。接下来等待B发出释放连接报文,FIN=1,ACK=1,seq=w,ack=u+1,A 接收后发出确认报文,ACK=1,seq=u+1,ack=w+1,然后进入时间等待状态,等待2MSL分钟后(MSL为报文在网络中的最大生存时间,服务端为了防止客户端没收到fin请求,2个msl后会再发一次fin,所以当客户端等待两个msl没收到多一次的fin请求,说明服务端已经收到了确认报文,可以关闭连接),A才进入CLOSED状态。
图片来自网络,侵权请告知,会及时删除图片来自网络,侵权请告知,会及时删除 为什么TCP建立连接时候,要进行3次握手,2次不行吗? 一句话的答案:主要目的:防止server端一直等待,浪费资源,
如果建立连接只需要2次握手,可能会出现的情况 假设client发出的第一个连接请求报文段,因为网络延迟,在连接释放以后(或者已经不需要连接的时候)才到达server 。 本来这是一个早已失效的连接请求,但server收到此失效的请求后,误认为是client再次发出的一个新的连接请求 。 于是server就向client发出确认报文段,同意建立连接。 如果不采用“3次握手”,那么只要server发出确认,新的连接就建立了 。 由于现在client并没有真正想连接服务器的意愿,因此不会理睬server的确认,也不会向server发送数据 。 但server却以为新的连接已经建立,并一直等待client发来数据,这样,server的很多资源就白白浪费掉了 采用“三次握手”的办法可以防止上述现象发生 ,例如上述情况,client没有向server的确认发出确认,server由于收不到确认,就知道client并没有要求建立连接。
DNS 域名系统,用来把便于人们使用的机器名字转换为IP地址。是一个联机分布式系统,DNS使大多数域名都在本地解析。
DHCP 动态主机配置协议,允许一台计算机加入新的网络和获取IP地址而不用手工参与
提供了一种机制,被称之为即插即用连网。需要IP地址的主机启动时会向DHCP服务器发送发现报文(目的地址全1 ,源地址全0),DHCP服务器的回答报文叫做提供报文,表示提供了IP地址等信息。 这个提供的IP地址只是暂时的,或者称租用的,每隔一段时间客户都要向DHCP服务器发消息“续租”。
SMTP 简单邮件传送协议,邮件发送协议,SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息
POP3 邮局协议的版本3,邮件读取协议
HTTP 超文本传输协议,定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。从层次上看,http是面向事务的应用层协议。HTTP需要TCP三次握手,HTTP把请求报文作为第三个握手报文中的数据。
代理服务器:代理服务器将最近的一些请求和响应暂存在本地的磁盘中,当请求到达时,若代理服务器发现这个请求和暂时存放的请求相同时,就返回暂存的响应吗,而不需要按URL地址再去向互联网请求,减轻了链路的压力。
WWW 万维网是一个大规模的、联机式的信息储藏所。万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。
HTML 超文本标记语言,一种制作万维网页面的标准语言,它消除了不同计算机之间信息交流的障碍
HTTPS HTTPS协议可以理解为HTTP协议的升级,就是在HTTP的基础上增加了数据加密。在数据进行传输之前,对数据进行加密,然后再发送到服务器。这样,就算数据被第三者所截获,但是由于数据是加密的,所以你的个人信息仍然是安全的。这就是HTTP和HTTPS的最大区别。
URL(网址) 统一资源定位符,用来表示从互联网上得到的资源位置和访问这些资源的方法
URL的一般形式:协议://主机名:端口(一般省略)/路径
使用http协议的url最常用的形式把“:端口”省略:http://主机名/路径,把路径省略掉去往的就是互联网上的某个主页
进程 是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础
线程 是操作系统能够进行运算调度的最小单位
FTP 文件传输协议
操作系统中,通常会为应用程序提供一组应用程序接口(API),称为套接字接口(socket API)。 应用程序通过传输协议进行交互时所用的接口称为应用程序接口(套接字API)。
具有一个以上控制线程的程序称为并发程序。 并发程序通过为一个服务建立多个服务器副本来实现。 并发执行是服务器的基础,因为并发允许多个客户获得同一种服务而不必等待服务器完成对上一个请求的处理。在并发服务器的设计中,主服务器线程为每个客户创建一个新的服务线程。
DNS用途:主要是方便人们记忆。 解析流程: 1.主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的IP 地址,那么本地域名服务器就以DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。 2.本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。
作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP 地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统再会将网址提交DNS域名解析服务器进行IP地址的解析。
DHCP服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的IP地址池中取一个地址分配给该计算机。这个提供的IP地址只是暂时的,或者称租用的,每隔一段时间客户都要向DHCP服务器发消息“续租”。由路由器充当DHCP服务器中继代理。
主要是两大类:被动攻击和主动攻击。
被动攻击一般是截获窃听他人的通信内容。主动攻击则包括纂改(故意纂改网络上的报文,包括彻底中断报文的传送、恶意修改)、恶意程序(典型的是病毒、木马)、拒绝服务(Dos ,Denial of Service,指攻击者向互联网某个服务器不断发送大量分组,导致服务器无法正常工作,若从互联网上成千上百万的网站同时攻击一个网站,则称之为DDoS, Distributed Denial of Service)
(1) 截获——从网络上窃听他人的通信内容。 (2) 中断——有意中断他人在网络上的通信。 (3) 篡改——故意篡改网络上传送的报文。 (4) 伪造——伪造信息在网络上传送。 ARP、TCP/IP(泪滴攻击)
(1)加密解密秘钥相同,非公开 (2)不同的加密密钥和解密密钥, 加密密钥是公开的,解密密钥是保密的, 知道加密密钥也无法推导出解密秘钥
(1) 报文鉴别——接收者能够核实发送者对报文的签名; (2) 报文的完整性——确保未经他人篡改; (3) 不可否认——发送者事后不法不承认这是他所发的报文。 报文鉴别使得通信的接收方能够验证所收到的报文(发送者和报文内容、发送时间、序列等)的真伪。
MD5和SHA-1 报文鉴别主要用于接收方可对数据的来源及报文的完整性进行核实,一般可通过对报文(或报文摘要)进行数字签名(用发送者的私钥)来实现,报文鉴别需要实施在发送者与接收者之间交换的所有报文中,通俗讲每份报文都要鉴定一次。实体鉴别主要用于接收方对一个接入者的身份进行验证,一般常用于应用系统的登录认证环节,一般只要鉴别一次即可。
见上;
为了对付重放攻击,可以使用不重数(nonce)。不重数就是一个不重复使用的大随机数,即“一次一数”
是针对以太网地址解析协议(ARP)的一种攻击技术; 中断; 通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通,此种攻击甚至可让攻击者获取局域网上的数据包甚至可篡改数据包;
参考资料:
6.三次握手四次挥手
01/30 更新前三章和第四章大纲,希望能在2月前复习完。越想越气,这破书考前七章,360多页,差不多60万字,都这样了还是闭卷考!!!怎么复习?怎么记忆??最强大脑吗我佛了?还不给往年试题,都卷死得了。
03/03 总算考完了,整理下笔记来更新下。发挥的还可以,虽然空了一道题(tcp洪泛攻击),网络安全那里我以为不是重点,复习得比较少。总之一切都结束了,这学期一定好好学习上课不摸鱼了。
相关标签: