第一章概念部分
网络协议
为进行网络中数据交换而制定的规则标准
网络协议主要由以下三个要素组成:
- 语法,即数据与控制信息的结构或格式:
- 语义,即需要发出何种控制信息,完成何种动作以及做出何种响应
- 同步,即事件实现顺序的详细说明
表示层的作用:对数据进行翻译、加密和压缩(表示协议数据单元PPDU);
网络层的作用:负责数据包从源到宿的传递和网际互联(包);
传输层的作用:提供端到端的可靠报文传递和错误恢复(段);
会话层的作用:建立、管理和终止会话(会话协议数据单元);
所以由上的各层作用就可以得道答案是表示层;
以太网
以太网的最小帧长是通过争用期计算出来的。
一个站点开始发送数据后,最多经过时间 2τ(两倍的端-端时延)就可知道是否发生了碰撞
即一端发送一个帧,在无限接近另一端的位置发生了碰撞,然后碰撞信息再从碰撞位置传递回来,刚好就是一个往返
以太网的端到端往返时延2τ称为争用期,或碰撞窗口 ,如果经过争用期还没有检测到碰撞,就可以肯定这次发送不会发生碰撞
为什么最短帧的大小取决于争用期时长?因为如果最短帧的传输时间小于争用期(比如30μs),那么就会导致发送完这个帧之后,在不知道帧有没有传送成功的情况下(至少需要51.2μs来确定)又发送了下一个帧。反之,如果最短帧的传输时间大于争用期,由于碰撞信息一定可以在帧发送完之前传到,就可以保证只有在上一个帧没有发生碰撞,正确传输的情况下才会发送下一个帧。
对于最大长度为2500米的10Mbps 网络和四个中继器(来自802.3规范),在最坏的情况下,往返时间(包括通过四个中继器的传播时间)被确定为接近50微秒。因此,允许的最短帧必须至少花费这么长的时间来传输。在10Mbps时,一个比特需要100纳秒,所以500比特是保证工作的最小帧。为了增加一些安全边际,这个数字被四舍五入到512比特即64字节,相应的,以太网的争用期长度也被确定为51.2 μs
:::danger
据此规定以太网帧长≥ 64 字节,长度小于64字节的帧为无效帧
:::
若一个长度为30字节的IP分组,需要封装在10Mbps以太网帧中进行传送。为了满足最短帧长要求,则以太网帧的填充字段需要的字节数是( 16 byte )。 解答:IP 数据报20字节,帧首部18字节,最小帧长是64字节,还剩64-48 = 16 字节需要填充;
A.以太网采用带冲突检测的载波帧听多路访问(CSMA/CD)机制.以太网中节点都可以看到在网络中发送的所有信息,所以说以太网是一种广播网络.
B.在半双工下工作的,在同一时间只能传输单一方向的数据.当两个方向的数据同时传输时,就会产生冲突
C.以太网是用CSMA/CD检测机制,两点通讯时,帧听信道上收否有信号在传输.如果有的话,表明信道处于忙状态,就继续帧听,直到信道空闲为止
以太网的工作过程如下:
当以太网中的一台主机要传输数据时,它将按如下步骤进行:
1、监听信道上是否有信号在传输。如果有的话,表明信道处于忙状态,就继续监听,直到信道空闲为止。
2、若没有监听到任何信号,就传输数据
3、传输的时候继续监听,如发现冲突则执行退避算法,随机等待一段时间后,重新执行步骤1(当冲突发生时,涉及冲突的计算机会发送会返回到监听信道状态。
注意:每台计算机一次只允许发送一个包,一个拥塞序列,以警告所有的节点)
4、若未发现冲突则发送成功,所有计算机在试图再一次发送数据之前,必须在最近一次发送后等待9.6微秒(以10Mbps运行)
提高以太网数据传输速率的方法是降低争用期时间,而争用期时间的长短取决于以太网端到端的最远距离。最小帧长又取决于争用期时长**最小帧长=总线传播时延 x 数据传输率 x 2**
由上述公式看出若数据传输率变高,保持最小帧长不变,总线传播时延必然减小,而 总线传播时延=信道长度/电磁波在信道上传播速率,电磁波传播速率必然改变不了,所以只能减小信道长度即介质的长度 再补充一下以太网端到端的往返时间2r称为争用期也就是上述公式的总线传播时延x2
网桥
网桥(Bridge)像一个聪明的中继器。中继器从一个网络电缆里接收信号, 放大它们,将其送入下一个电缆。
相比较而言,网桥对从关卡上传下来的信息更敏锐一些。网桥是一种对帧进行转发的技术,根据MAC分区块,可隔离碰撞。网桥将网络的同一网段在数据链路层连接起来,只能连接同构网络(同一网段),不能连接异构网络(不同网段)。
网桥也叫桥接器,是连接两个局域网的一种存储/转发设备,它能将一个大的LAN分割为多个网段,或将两个以上的LAN互联为一个逻辑LAN,使LAN上的所有用户都可访问服务器。
扩展局域网最常见的方法是使用网桥。最简单的网桥有两个端口,复杂些的网桥可以有更多的端口。网桥的每个端口与一个网段相连。
原理
网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,不但能扩展网络的距离或范围,而且可提高网络的性能、可靠性和安全性。网络1 和网络2 通过网桥连接后,网桥接收网络1发送的数据包,检查数据包中的地址,如果地址属于网络1 ,它就将其放弃,相反,如果是网络2 的地址,它就继续发送给网络2。这样可利用网桥隔离信息,将同一个网络号划分成多个网段(属于同一个网络号),隔离出安全网段,防止其他网段内的用户非法访问。由于网络的分段,各网段相对独立(属于同一个网络号),一个网段的故障不会影响到另一个网段的运行。
网桥可以是专门硬件设备,也可以由计算机加装的网桥软件来实现,这时计算机上会安装多个网络适配器(网卡)。
网桥的功能在延长网络跨度上类似于中继器,然而它能提供智能化连接服务,即根据帧的终点地址处于哪一网段来进行转发和滤除。网桥对站点所处网段的了解是靠“自学习”实现的,有透明网桥、转换网桥、封装网桥、源路由选择网桥。网桥示意如图1所示。
当使用网桥连接两段LAN时,网桥对来自网段1的MAC 帧,首先要检查其终点地址。如果该帧是发往网段1 上某一站的,网桥则不将帧转发到网段2 ,而将其滤除;如果该帧是发往网段2 上某一站的,网桥则将它转发到网段2,这表明,如果LAN1和LAN2上各有一对用户在本网段上同时进行通信,显然是可以实现的。 因为网桥起到了隔离作用。可以看出,网桥在一定条件下具有增加网络带宽的作用。
网桥的存储和转发功能与中继器相比有优点也有缺点,其优点是:
使用网桥进行互连克服了物理限制,这意味着构成LAN 的数据站总数和网段数很容易扩充。
网桥纳入存储和转发功能可使其适应于连接使用不同MAC 协议的两个LAN,因而构成一个不同LAN 混连在一起的混合网络环境。
网桥的中继功能仅仅依赖于MAC 帧的地址,因而对高层协议完全透明。
网桥将一个较大的LAN 分成段,有利于改善可靠性、可用性和安全性。
网桥的主要缺点是:由于网桥在执行转发前先接收帧并进行缓冲,与中继器相比会引入更多时延。由于网桥不提供流控功能,因此在流量较大时有可能使其过载,从而造成帧的丢失。
网桥的优点多于缺点正是其广泛使用的原因。
网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个“低层的路由器”(路由器工作在网络层,根据网络地址如IP地址进行转发)。
远程网桥通过一个通常较慢的链路(如电话线)连接两个远程LAN,对本地网桥而言,性能比较重要,而对远程网桥而言,在长距离上可正常运行是更重要的。
:::danger
网桥的基本特征
1.网桥在数据链路层上实现局域网互连;
2.网桥能够互连两个采用不同传输介质与不同传输速率的网络
3.网桥以接收、存储、地址过滤与转发的方式实现互连的网络之间的通信;
4.网桥需要互连的网络在数据链路层以上采用相同的协议
5.网桥可以分隔两个网络之间的通信量,有利于改善互连网络的性能与安全性。
:::
CSMA/CD
CSMA/CD即载波侦听多路访问/冲突检测,是广播型信道中采用一种随机访问技术的竞争型访问方法,具有多目标地址的特点。
它处于一种总线型局域网结构,其物理拓扑结构正逐步向星型发展。
CSMA/CD采用分布式控制方法,所有结点之间不存在控制与被控制的关系。
工作原理
实际上CSMA/CD的工作流程与人际间通话非常相似,可以用以下7步来说明。
第一步:载波监听,想发送信息包的节点要确保没有其他节点在使用共享介质,所以该节点首先要监听信道上的动静(即先听后说)。
第二步:如果信道在一定时段内寂静无声(称为帧间缝隙IFG),则该节点就开始传输(无声则讲)。
第三步:如果信道一直很忙碌,就一直监视信道,直到出现最小的IFG时段时,该节点才开始发送它的数据(有空就说)。
第四步:冲突检测,如果两个节点或更多的节点都在监听和等待发送,然后在信道空时同时决定立即(几乎同时)开始发送数据,此时就发生碰撞。这一事件会导致冲突,并使双方信息包都受到损坏。以太网在传输过程中不断地监听信道,以检测碰撞冲突(边听边说)。
第五步:如果一个节点在传输期间检测出碰撞冲突,则立即停止该次传输,并向信道发出一个“拥挤”信号,以确保其他所有节点也发现该冲突,从而摒弃可能一直在接收的受损的信息包(冲突停止,即一次只能一人讲)。
第六步:多路存取,在等待一段时间(称为后退)后,想发送的节点试图进行新的发送。
这时采用一种叫二进制指数退避策略(Binary Exponential Back off Policy)的算法来决定不同的节点在试图再次发送数据前要等待一段时间(随机延迟)。
第七步:返回到第一步。
实际上,冲突是以太网电缆传输距离限制的一个因素。例如,如果两个连接到同一总线的节点间距离超过2500米,数据传播将发生延迟,这种延迟将阻止CSMA/CD的冲突检测例程正确进行 [2] 。
IP
无分类地址
分片与重组
广播
牛客上的题目
静态路由
route add命令的主要作用是添加静态路由,通常的格式是:
route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2
route ADD 目的网络 MASK 子网掩码 网关地址 METRIC 跳数 IF 端口号 (跳数和端口号可以省略)
无连接 & 面向连接
http是应用层,udp是传输层,ip是网络层的,都是无连接协议
面向连接和无连接指的都是协议。也就是说,这些术语指的并不是物理介质本身,而是用来说明如何在物理介质上传输数据的。
面向连接和无连接协议可以,而且通常也确实会共享同一条物理介质。
如果两者的区别与承载数据的物理介质无关,又和什么有关呢?它们的本质区别在于,对无连接协议来说,每个分组的处理都独立于所有其他分组,而对面向连接的协议来说,协议实现则维护了与后继分组有关的状态信息。
无连接协议中的分组被称为数据报(datagram),每个分组都是独立寻址,并由应用程序发送的。从协议的角度来看,每个数据报都是一个独立的实体,与在两个相同的对等实体之间传送的任何其他数据报都没有关系,这就意味着协议很可能是不可靠的。也就是说,网络会尽最大努力传送每一个数据报,但并不保证数据报不丢失、不延迟或者不错序传输。
另一方面,面向连接的协议则维护了分组之间的状态,使用这种协议的应用程序通常都会进行长期的对话。记住这些状态,协议就可以提供可靠的传输。比如,发送端可以记住哪些数据已经发送出去了但还未被确认,以及数据是什么时候发送的。如果在某段时间间隔内没有收到确认,发送端可以重传数据。接收端可以记住已经收到了哪些数据,并将重复的数据丢弃。如果分组不是按序到达的,接收端可以将其保存下来,直到逻辑上先于它的分组到达为止。
典型的面向连接协议有三个阶段。第一阶段,在对等实体间建立连接。接下来是数据传输阶段,在这个阶段中,数据在对等实体间传输。最后,当对等实体完成数据传输时,连接被拆除。
一种标准的类比是:使用无连接协议就像寄信,而使用面向连接的协议就像打电话。
停止等待协议
连续ARQ
连续发送ARQ协议,采用积累确认,都是从缺失位之前开始确认。 第三个tcp段seq为900, 可以推算第二个tcp段seq为500, 第一个tcp段seq为200。 所以ack回复第一个tcp段, ack=200+消息长300=500。
TCP首部的序号字段是指本报文段数据部分的第一个字节的序号,而确认号是期待收到对方下一个报文段的第一个字节的序号。第三个段的序号为900,则第二个段的序号为900-400=500,现在主机乙期待收到第二个段,故发给甲的确认号是500。
星型拓扑结构‘
交换机路由器和集线器都可以连接!看是怎么要求,要是服务器和工作站不处于同一个网段,那么就是路由器,如果处在同一个网段就是集线器和交换机。调制解调器是连接广域网的设备
星型拓扑结构网络由中心节点和其它从节点组成,中心节点可直接与从节点通信,而从节点间必须通过中心节点才能通信。
在星型网络中中心节点通常由一种称为集线器或交换机的设备充当,因此网络上的计算机之间是通过集线器或交换机来相互通信的,是局域网最常见的方式。
ARP表
因为缓冲区是动态分配的,当ARP表访问一次Mac地址就会产生,将IP地址与Mac的映射存储起来。并不是人工产生的,它是随Mac的访问自动产生的
双绞线&同轴电缆
双绞线不仅可以传输数字信号,而且也可以传输模拟信号
基带同轴电缆传输数字信号,宽带同轴电缆传输模拟信号,所以同轴电缆也可以传输两种信号
速度:
五类以下不足100M
五类双绞线100M
超五类1000M
六类1000M
距离:
但是传输距离最大均为100米,要增大距离必须加装中继器。
要-2。。。。
并行数据传输: 是在传输中有多个数据位同时在设备之间进行的传输.一个编了码的字符通常是由若干位二进制数表示,如用ASCII码编码的符号是由8位二进制数表示的,则并行传输ASCII编码符号就需要8个传输信道,使表示一个符号的所有数据位能同时沿着各自的信道并排的传输.
串行数据传输:是在传输中只有1个数据位在设备之间进行的传输.对任何一个由若干位二进制表示的字符,串行传输都是用一个传输信道,按位有序的对字符进行传输.
区别: 串行传输的速度比并行传输的速度要慢得多,但费用低.并行传输适用距离短,而串行传输适用远距离传输.
TTL
TTL(生存时间(Time To Live))是IP协议包中的一个值,它告诉网络路由器包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。例如,不正确的路由表可能导致包的无限循环。一个解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。
TTL的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。
由于不同的操作系统的默认TTL值不同,因此有文章说可以通过返回的TTL值判断目标系统的类型,这是正确的,但不是TTL的功能,只是对TTL理解的一个应用。
TTL的值可以修改。有些特殊的、系统(如NIDS)会定义特殊的TTL值,以拒绝非法访问数据进入。我们在执行PING命令时可以用-i参数指定TTL值,大家可以将TTL设置为0,则该包将被立即丢弃。有时我们执行了一个PING 命令,在缓发时却缓发了另一个地址,并带有一个英语的提示(大致意思是TTL无效),则表示该包在到达目标之前(也就是到返回IP位置时),包所带的TTL已经为0了或小于下一网段许可通过的TTL值了,该包已经被路由丢弃了。
P6报头格式如下图,跳数限制域:该字段类似于IPv4中的TTL,每次转发跳数减一,该字段达到0时包将会被丢弃
网络操作系统
Windows类
NetWare类
Unix系统
Linux
都是网络操作系统
DOS是磁盘操作系统
网络操作系统的基本任务:
1. 屏蔽 本地资源与网络资源之间的差异
2.为用户提供基本的网络服务功能
3.管理网络系统的共享资源
4.提供网络系统的安全服务
三次握手 四次挥手
tcp三次握手客户端connect,会发送SYN,服务器端确认并发送SYN,客户端确认,进入ESTABLISHED状态,客户端调用close,发送FIN,进入FIN_WAIT1状态,服务器端确认,进入CLOSE_WAIT状态,客户端进入FIN_WAIT2状态,服务器端调用close,客户端进入TIME_WAIT状态
TCP和UDP程序在同一机器上可以使用相同的端口(许多协议已经这样做,例如DNS在udp / 53 和 tcp / 53上工作。)
VLAN
VLAN(Virtual Local Area Network)的中文名为”虚拟局域网“。
虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。
VLAN是一种比较新的技术,工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。
与传统的局域网技术相比较,VLAN技术更加灵活,它具有以下优点: 网络设备的移动、添加和修改的管理开销减少;可以控制广播活动;可提高网络的安全性。
VLAN只是局域网给用户提供的一种服务,而不是新型局域网
在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。VLAN通过限制广播帧的转发范围,从而分割广播域,不同的广播域之间想要通信,需要通过一个或多个路由器。这样的一个广播域就称为VLAN。
传播时延
传输时延是路由器将分组推出所需要的时间,它是分组长度和链路传输速率的函数,与两台路由器之间的距离无关。
传播时延是一个比特从一台路由器向另一台路由器传播所需要的时间,它是两台路由器之间的距离函数。而与分组长度和链路传输速率无关。
传输时延
主机或路由器传输数据帧所需要的时间。
其中 l 表示数据帧的长度,v 表示传输速率。
传播时延
电磁波在信道中传播所需要花费的时间,电磁波传播的速度接近光速。
其中 l 表示信道长度,v 表示电磁波在信道上的传播速度。
电路交换延时=接入延时+传输延时+转发延时
分组交换延时=传输延时+转发延时
传输延时是指在传输链路上传输所消耗的时间
转发延时是指在每段链路上的延时,每经过一个结点都会出现延时,就像国道上的检查站一样。
调制解调
每个码元包含4bit信息,所以4800bps=4800/4=1200波特
波特和比特的关系,波特是对码元来说的,比特是对信息量来说的。
16相相移键控,就是每个波特的信息量是4比特。(这个理解为,给定一个码元,需要多少位二进制来表示。16相,4位二进制就可以表示了,所以,相当于一个接受一个码元带来了4比特的信息量,也定义为概率倒数的对数,道理一样,跟理解无关)
实际上比特的定义也是这样,二进制码元空间就是0和1,这需要1位二进制。所以,接受一个码元,信息量为1比特(bit)。每秒接受4800(个)信息量,而没接受一个码元就接受4(个)信息量,所以每秒传1200个码元呗。
STMP
SMTP协议只能传送ASCLL码文本数据,不能传送可执行文件或其他的二进制对象
SMTP不能满足传送多媒体邮件(例如文件,音频,或者视频数据)
为了解决SMTP传送非ASCILL码的文本问题,提出了多用途因特网邮件扩展MIME
MIME可以用BASE64来处理二进制信息
Internet
DNS:域名解析
FTP:文件传输
www:信息查询
ADSL:非对称数字用户线路,数据传输
WWW 是一种建立在 Internet 上的全球性的、交互的、动态的、多平台的、分布式的,超文本超媒体信息查询系统,也是建立在 Internet 上的一种网络服务。
运输层复用 分用
运输层的复用:应用层的所有应用进程都可以通过运输层再传送到IP层(网络层)
运输层的分用:运输层从IP层收到数据后必须交付指明的应用进程。这就需要给应用层的每个应用进程赋予一个非常明确的标志
端口的作用:为了使运行不同操作系统的计算机的应用程序能够互相通信,就必须用同一的方法对TCP/IP体系的应用进行进行标志,这个方法就是在运输层使用协议端口号,简称端口
注意:在协议栈层间的抽象的协议端口是软件端口,软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址, 路由器或交换机上用的是硬件端口,硬件接口时不同硬件设备进行交互的物理接口。
有连接的socket客户端通过调用Connect函数在socket数据结构中保存本地和远端信息,无须调用bind(),因为这种情况下只需知道目的机器的IP地址,而客户通过哪个端口与服务器建立连接并不需要关心,socket执行体为你的程序自动选择一个未被占用的端口,并通知你的程序数据什么时候打开端口。(当然也有特殊情况,linux系统中rlogin命令应当调用bind函数绑定一个未用的保留端口号,还有当客户端需要用指定的网络设备接口和端口号进行通信等等)
总之:
1.需要在建连前就知道端口的话,需要 bind
2.需要通过指定的端口来通讯的话,需要 bind
.x25
X.25只是一个以虚拟电路服务为基础对公用分组交换网接口的规格说明。
它动态地对用户传输的信息流配分带宽,能够有效地解决突发性、大信息流的传输问题,分组交换网络同时可以对传输的信息进行加密和有效的差错控制。虽然各种错误检测和相互之间的确认应答浪费了一些带宽,增加了报文传输延迟,当对早期可靠性较差的物理传输线路来说是一种提高报文传输可靠性的有效手段。
ICMP
翻译过来就是:来自218.30.66.101的回复:字节=32 时间=138ms 最大生存时间=247
曼彻斯特编码
曼彻斯特编码(Manchester Encoding),也叫做相位编码( Phase Encode,简写PE),是一个同步时钟编码技术,被物理层使用来编码一个同步位流的时钟和数据。
它在以太网媒介系统中的应用属于数据通信中的两种位同步方法里的自同步法(另一种是外同步法),即接收方利用包含有同步信号的特殊编码从信号自身提取同步信号来锁定自己的时钟脉冲频率,达到同步目的。
曼彻斯特编码,常用于局域网传输。曼彻斯特编码将时钟和数据包含在数据流中,在传输代码信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一跳变,不存在直流分量,因此具有自同步能力和良好的抗干扰性能。但每一个码元都被调成两个电平,所以数据传输速率只有调制速率的1/2。
分组交换
在通信过程中,通信双方以分组为单位、使用存储-转发机制实现数据交互的通信方式,被称为分组交换(PS:packet switching)。
分组交换也称为包交换,它将用户通信的数据划分成多个更小的等长数据段,在每个数据段的前面加上必要的控制信息作为数据段的首部,每个带有首部的数据段就构成了一个分组。首部指明了该分组发送的地址,当交换机收到分组之后,将根据首部中的地址信息将分组转发到目的地,这个过程就是分组交换。能够进行分组交换的通信网被称为分组交换网。
分组交换的本质就是存储转发,它将所接受的分组暂时存储下来,在目的方向路由上排队,当它可以发送信息时,再将信息发送到相应的路由上,完成转发。其存储转发的过程就是分组交换的过程。
分组交换的思想来源于报文交换,报文交换也称为存储转发交换,它们交换过程的本质都是存储转发,所不同的是分组交换的最小信息单位是分组,而报文交换则是一个个报文。由于以较小的分组为单位进行传输和交换,所以分组交换比报文交换快。报文交换主要应用于公用电报网中。
分组交换网络中采用存储转发方式工作,数据以短的分组形式传送,在路由器确定了转发接口后,还要在输出对列中排队等待转发
分组交换不必在传输前建立双方的物理链路,因为是存储转发。比如QQ好友不在线,也能发信息,此时双方没有固定的物理链路。
分组交换具有以下优缺点。
优点:
(1)分组交换不需要为通信双方预先建立一条专用的通信线路,不存在连接建立时延,用户可随时发送分组。
(2)由于采用存储转发方式,加之交换节点具有路径选择,当某条传输线路故障时可选择其他传输线路,提高了传输的可靠性。
(3)通信双方不是固定的占用一条通信线路,而是在不同的时间一段一段地部分占有这条物理通路,因而大大提高了通信线路的利用率。
(4)加速了数据在网络中的传输。因而分组是逐个传输,可以使后一个分组的存储操作与前一个分组的转发操作并行,这种流水线式传输方式减少了传输时间。
(5)分组长度固定,相应的缓冲区的大小也固定,所以简化了交换节点中存储器的管理。
(6)分组较短,出错几率减少,每次重发的数据量也减少,不仅提高了可靠性,也减少了时延。
电路交换
电路交换具有以下优缺点:
优点:
(1)由于通信线路为通信双方用户专用,数据直达,所以传输数据的时延非常小。
(2)通信双方之间的屋里通路一旦建立,双方可以随时通信,实时性强。
(3)双方通信时按发送顺序传送数据,不存在失序问题。
(4)电路交换既适用于传输模拟信号,也适用于传输数字信号。
(5)电路交换的交换设备及控制均比较简单。
应用的应用层协议以及运输层协议
应用 | 应用层协议 | 运输层协议 |
---|---|---|
名字转换 | DNS | UDP |
文件传送 | TFTP | UDP |
路由选择协议 | RIP | UDP |
IP地址配置 | DHCP | UDP |
网络管理 | SNMP | UDP |
远程文件服务器 | NFS | UDP |
IP电话 | 专用协议 | UDP |
流式多媒体通信 | 专用协议 | UDP |
多播 | IGMP | UDP |
电子邮件 | SMTP | TCP |
远程终端接入 | TELNET | TCP |
万维网 | HTTP | TCP |
文件传送 | FTP | TCP |
网络协议
表示层的作用:对数据进行翻译、加密和压缩(表示协议数据单元PPDU);
网络层的作用:负责数据包从源到宿的传递和网际互联(包);
传输层的作用:提供端到端的可靠报文传递和错误恢复(段);
会话层的作用:建立、管理和终止会话(会话协议数据单元);
所以由上的各层作用就可以得道答案是表示层;
第一层:物理层
第二层:数据链路层 802.2、802.3ATM、HDLC、FRAME RELAY
第三层:网络层 IP、IPX、APPLETALK、ICMP
第四层:传输层 TCP、UDP、SPX
第五层:会话层 RPC、SQL、NFS 、X WINDOWS、ASP
第六层:表示层 ASCLL、PICT、TIFF、JPEG、 MIDI、MPEG
第七层:应用层 HTTP,FTP,SNMP等
网络层解决的是由「点-点」链路组成的传输路径的路由选择与分组交付问题
传输层在源主机的应用进程与目的主机的应用进程之间建立「端-端」连接
设计传输层的目的是弥补通信子网服务的不足,提高传输服务的可靠性和保证服务质量(QOS)
数据链路层
主要功能(前五个为重点):用于两个设备(同一种数据链路节点)之间进行信息传递。
1.成帧(帧同步):为了避免接收到的位数量以及数值发生异常。
2. 差错控制:为了确保数据通信的准确,降低错误发生的几率。
3. 流量控制:为了确保数据通信的有序进行,避免通信过程中不会出现接收方来不及接收而造成数据丢失。
流量控制涉及对链路上的帧的发送速率的控制,以使接收方有足够的缓冲空间来接收每一个帧。
基本方法是由接收方控制发送方发送数据的速率,常见的方式有两种:停止-等待协议和滑动窗口协议。
4. 链路控制:包括数据链路的建立、链路的维持和释放,
5. MAC寻址:寻找地址是计算机网卡的MAC地址,与寻址ip地址不同
6. 区分数据和控制信息:在许多情况下,数据和控制信息处于同一帧中
7. 透明传输:可以让无论是哪种比特组合的数据,都可以在数据链路上进行有效传输。
三个基本问题:
1、封装成帧(在一段数据的前后分别添加首部和尾部,这样就构成了一个帧)
2、透明传输(发送端的数据链路层在数据中出现控制字符”SOH”和”EOT”的前面插入一个转义字符”ESC”(其十六进制编码是1B)。而在接收端的数据链路层在将数据送往网络层之前删除这个插入的转义字符。这种方法称为字节填充或字符填充。)
3、差错检测(循环冗余检验CRC)
时延抖动
集线器&交换器
集线器不管有多少个端口,所有端口都共享一条带宽,在同一时刻只能有两个端口传送数据,其他端口只能等待;只能工作在半双工模式下。
集线器(hub)属于纯硬件网络底层设备,基本上不具有类似于交换机的”智能记忆”能力和”学习”能力。它也不具备交换机所具有的MAC地址表,所以它发送数据时都是没有针对性的,而是采用广播方式发送。也就是说当它要向某节点发送数据时,不是直接把数据发送到目的节点,而是把数据包发送到与集线器相连的所有节点。
集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。
它工作于OSI(开放系统互联参考模型)参考模型第一层,即“物理层”。
集线器与网卡、网线等传输介质一样,属于局域网中的基础设备,采用CSMA/CD(即带冲突检测的载波监听多路访问技术)介质访问控制机制。
集线器每个接口简单的收发比特,收到1就转发1,收到0就转发0,不进行碰撞检测。
交换机每个端口都有一条独占的带宽,当两个端口工作时并不影响其他端口的工作,交换机可以工作在半双工模式下也可以工作在全双工模式下。
- 物理层使用的中间设备叫转发器(repeater)
- 数据链路层使用的中间设备叫网桥或桥接器(bridge)
- 网络层使用的中间设备叫做路由器(router)
- 在网络层以上使用的中间设备叫做 网 关 (gateway)。用 网 关 连接两个不兼容的系统需要在高层进行协议的转换。
交换机本身就是一种二层设备,所有的接口组成一个广播域。但是在VLAN配置后,每一个VLAN组成一个广播域。因此VLAN是划分广播域的一种技术
ALOH协议
ALOHA协议分为纯ALOHA和时隙ALOHA两种。
纯ALOHA协议的思想很简单,只要用户有数据要发送,就尽管让他们发送。当然,这样会产生冲突从而造成帧的破坏。但是,由于广播信道具有反馈性,因此发送方可以在发送数据的过程中进行冲突检测,将接收到的数据与缓冲区的数据进行比较,就可以知道数据帧是否遭到破坏。同样的道理,其他用户也是按照此过程工作。如果发送方知道数据帧遭到破坏(即检测到冲突),那么它可以等待一段随机长的时间后重发该帧。
时隙ALOHA协议。思想是用时钟来统一用户的数据发送。办法是将时间分为离散的时间片,用户每次必须等到下一个时间片才能开始发送数据,从而避免了用户发送数据的随意性,减少了数据产生冲突的可能性,提高了信道的利用率。
海明码
信息位是4位,假设冗余位是x位。那么每一个海明码的长度就是4+x位了。
既然能纠正一位错,那么海明码的4+x位里的任意一位出错了,系统都能自动纠正,而不是跳变成别的海明码,所以说,每一个(正确的)海明码对应的码的数量有:正确的自身(1个)+ 任意一位出错的海明码(4+x个)。
所以要满足这条公式:(1+4+x)* 2^4 ≤ 2^(4+x)。
数学推导得:5+x ≤ 2^x ,能满足该公式的最小的 x 的正整数值为 3 。
DHCP
DHCP 有 8 种消息类型,分别是 Discover、Request、Release、Inform、Decline、Offer、ACK、NAK。
其中前 5 种可由主机发起,后 3 种只能是 DHCP 服务端向主机发送
分片
分片后的数据报在目的地址网络层合并,依据的就是,标识,标志,和片偏移:
- 每个分片都具有相同的标识
- 标志有mf,与df两位,mf表示是否是最后一片,df,数据报能否分片
- 通过片偏移来确定在报文中的原始位置,片偏移是以8为单位
标识 (Identification):占 16位。
IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加 1,并将此值赋给标识字段。但这个“标识”并不是序号,因为 IP是无连接的服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的 MTU 而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。
标志 (Flag):占3 位,但目前只有2位有意义。
标志字段中的最低位记为 MF (More Fragment)。
MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。
标志字段中间的一位记为 DF(Don’t Fragment),意思是“不能分片”。只有当 DF=0时才允许分片。
片偏移:占 13位。
较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对用户数据字段的起点,该片从何处开始。片偏移以 8个字节为偏移单位。这就是说,每个分片的长度一定是 8字节 (64位)的整数倍。
拥塞控制
拥塞控制主要用于保证网络通畅发送数据,是一种全局性的控制措施
拥塞控制涉及网络中所有与之相关的主机和路由器的发送和转发行为
闭环算法的作用:拥塞控制算法中,开环控制是通过反馈机制来调整当前网络流量,使网络流量与网络可用资源和协调
开环的作用:是通过良好的网络系统设计来避免网络拥塞,都是事先规划好的
地址
- 端口号16位
- IP 32位
- 域名不定长
- MAC 48位
kK
GET POST
HTTP 定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST(Ajax开发,关心的只有GET请求和POST请求 )。
GET与POST方法有以下区别:
(1) 在客户端, Get 方式在通过 URL 提交数据,数据 在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。
(2) 首先是”GET方式提交的数据最多只能是1024字节”,因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了。而实际上, URL不存在参数上限的问题 , HTTP协议规范没有对URL长度进行限制 。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。注意这是限制是整个URL长度,而不仅仅是你的参数值数据长度。理论上讲, POST是没有大小限制的 , HTTP协议规范也没有进行大小限制 ,说“POST数据量存在80K/100K的大小限制”是不准确的,POST数据是没有限制的,起限制作用的是服务器的处理程序的处理能力。
(3) 安全性问题。正如在( 1 )中提到,使用 Get 的时候,参数会显示在地址栏上,而 Post 不会。所以,如果这些数据是中文数据而且是非敏感数据,那么使用 get ;如果用户输入的数据不是中文字符而且包含敏感数据,那么还是使用 post 为好。
(4) 安全的和幂等的。所谓安全的意味着该操作用于获取信息而非修改信息。幂等的意味着对同一 URL 的多个请求应该返回同样的结果。完整的定义并不像看起来那样严格。换句话说, GET 请求一般不应产生副作用。从根本上讲,其目标是当用户打开一个链接时,她可以确信从自身的角度来看没有改变资源。比如,新闻站点的头版不断更新。虽然第二次请求会返回不同的一批新闻,该操作仍然被认为是安全的和幂等的,因为它总是返回当前的新闻。反之亦然。 POST 请求就不那么轻松了。 POST 表示可能改变服务器上的资源的请求。仍然以新闻站点为例,读者对文章的注解应该通过 POST 请求实现,因为在注解提交之后站点已经不同了(比方说文章下面出现一条注解)。
子网划分
1.首先根据IP地址 的划分确定其为c类IP地址;
2.c类IP地址的主机为最后一个字节 所有选D
255.255.255.192=>11111111.11111111.11111111.11000000 共26个1,那么
中心存储服务器IP地址是用CIDR表示为10.0.1.129/26
所以IP可以是10.0.1.10{000000}~ 10.0.1.10{111111}=>10.0.1.128~10.0.1.191。
0.0.0.0/32可以作为本主机在本网络上的源地址。
127.0.0.1是回送地址,以它为目的IP地址的数据将被立即返回到本机。
200.10.10.3是C类IP地址。
255.255.255.255是广播地址。
最短帧长
最短有效帧长
如果发生冲突,就一定是在发送的前 64 字节之内。
由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。
以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。**64-IP报文长度-帧首部长度(18)**
期末题的简答题
网络安全
DNS攻击:攻击者攻击了域名解析服务器,修改了其中IP和域名的对应关系,使得用户输入域名时候,会进入到错误的网站上去,攻击者可以截获信息,等等
DOS攻击:DOS攻击是指攻击者发送大量请求使得正常用户的请求无法到达,或者是攻击者在某一个时间发送大量数据给服务器,造成服务器瘫痪两种方式
DDOS攻击:攻击者发送大量请求,使得正常用户的请求无法到达
MAC地址欺骗:使局域网内主机无妨访问局域网,通过修改交换机端口和MAC地址的映射关系