缩写 | 中文 |
---|---|
TCP | transport control protocol 传输控制协议 |
UDP | user datagram protocol 用户数据报协议 |
DHCP | dynamic host configuration protocol 动态主机配置协议 |
WWW | World Wide Web 万维网 |
PDU | protocol data unit 协议数据单元 |
MAC | medium access control 介质访问控制子层 |
CDMA | code division multiple access 码分复用 |
TDM | time division multiplexing 时分复用 |
ARP | address resolution protocol 地址解析协议 |
DNS 协议 | (应用层)Domain Name System |
TCP/UDP 协议 | (传输层)Transport Control Protocol User Datagram Protocol |
IP/ARP/OSPF/BGP 协议 | (网络层) Internet Protocol、 Address Resolution Protocol 、Open Shortest Path First、 Border Gateway Protocol |
MAC 子层协议 | (数据链路层)Medium Access Control |
AP | Access Point 接入点 |
LLC | (Logical Link Control)逻辑链路控制 包装从网络层取下来的数据 |
命令 | 含义 |
---|---|
Ifconfig | 查看网卡的 IP 地址、掩码、广播地址、网关等。 |
ip | 用于显示或设置网络设备,比 ifconfig 命令更加强大 |
ip link | 显示网络设备的运行状态,只显示链路层的信息 |
ip route | 显示系统路由。 |
route | 管理路由表 |
ping | 用于检测主机。执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。 |
tcpdump | 用于倾倒网络传输数据,可列出经过指定网络界面的数据包文件头 |
traceroute | 用来侦测主机到目的主机之间所经路由情况 |
netstat | 用于显示各种网络相关信息,如网络连接、路由表和网络接口信息。不带参数显示 TCP 连接 |
iptables | 对网络数据包进行处理的一个功能组件,相当于防火墙,可以对经过的数据包进行处理 |
理解:
原因:
OSI(7 层):物理(比特)——数据链路( 帧)——网络(分组 )——传输( TPDU)——会话(SPDU )——表示( PPDU)——应用(APDU)
TCP/IP(3 层):互联网(邮政系统)————传输(IP)————应用(TCP/UDP)
①面向连接的服务:按照电话系统建模进行服务。为了使用面向连接的网络服务,服务 用户首先必须建立一个连接,然后使用该连接传输数据,最后释放该连接。这种连接 最本质的方面在于它像一个管道:发送方把对象(数据位)压入管道的一端,接收方 在管道的另一端将它们取出来。在绝大多数情况下,数据位保持原来的顺序,所以数 据位都会按照发送的顺序到达。
②无连接服务:按照邮政系统建模进行服务。每个(数据)包都携带了完整的目标地址, 每个包都由系统中的中间节点路由,而且路由独立于后续包。
③区别:面向连接服务往往数据传递更可靠,传递时难以发生数据位丢失,但是这种方 式需要双方建立单独的链接,数据传输后还要撤销连接。无连接服务不需要建立连接 就能通信,只要知道对方的地址就行,但是在传输过程中数据包可能会出现丢失,乱 码等现象,需要用户重新传递数据。
传输介质:
同轴电缆比非屏蔽双绞线有更好的屏蔽特性和更大的贷款,所以他能以很高的速率传输相当长的距离。
光纤与铜线比较:光纤有更高的带宽,更低的信号衰弱,不易受干扰,安全性高等特点
学会区别无线通信和移动通信:
调制(modulation):通信系统中发送端的原始电信号通常具有频率很低的频谱分量,一般不适宜直接在信道中进行传输。因此,通常需要将原始信号变换成频带适合信道传输的高频信号,这一过程被称为调制。
其方法包括:
(1) 基带传输
1)不归零 (NRZ)
2)不归零逆转 (NRZI)
3)曼彻斯特 (Manchester) 编码
4)交替标记逆转 (AMI)
(2) 通带传输
1)幅移键控(ASK)/调幅
2)频移键控(FSK)/调频
3)相移键控(PSK)/调相
4)正交调幅(QAM):调幅+调相
复用(multiplexing): 指一条信道被多个信号共享。毕竟,用单根线缆传送几个信号比为每个信号铺设一根线缆要便利得多。
其方法包括:
(1) 频分复用(FDM):按频率划分不同的信道
(2) 时分复用(TDM):按时间划分,固定分配时间片
(3) 波分复用(WDM):按波长划分
(4) 码分复用(CDM):按地址划分
(5) 码分多址(CDMA)允许每个站利用整个频段发送信号,而且没有任何时间限制。它的关键在于:能够提取出期望的信号,同时拒绝所有其他的信号,并把这些信号当做噪声。
是一种纠错码
海明距离:两个码字的不相同位的个数为海明距离
要检测n位错误,则需要海明距离为n+1的编码方案
要纠正n位错误,则需要海明距离位2n+1的编码方案
海明码校验位长r,数据位长m,需满足
m + r + 1 ≤ 2 r m+r+1\leq 2^r m+r+1≤2r
数据链路层一个帧由一个内嵌的数据包,一些控制信息(头中)和一个校验和(在尾部)组成
帧头字段 | 意义 |
---|---|
kind | 指出帧中工是否有数据 |
seq | 序号 |
ack | 确认 |
info | 包含数据包 |
确保所有帧都被传递到网络层,并且保持正确顺序(网络传输,有时是分段传输)
在数据链路层中引入计时器。当发送方发出一帧时,启动一个计时器。计时器的超时值应该设置得足够长以保证在正常情况下该帧能够到达接收方,并在接收方进行处理后再将确认返回到发送方。一般情况下,在计时器超时前,该帧应该被正确地接收,并且确认帧也被传了回来,此时计时器被取消。当帧确认被丢失,则计时器被触发,从而警告发送方存在一个潜在的问题。解决方案是重新发送该帧,为避免接收方多次将同一帧传递给网络层,需要给发送出去的帧分配序号,这样接收方可以根据帧的序号来有效区分原始帧和重传帧。管理好计时器和序号,以便保证每一帧最终都恰好一次地被传递给目标机器的网络层,这是数据链路层(以及上层)工作的重要组成部分。
(使用seq字段和计时器解决分段传输时,部分错误)
流量控制的途径有两种:
全双工数据传输时利用kind字段判断是数据帧还是确认帧
停-等式办法:发送方收到上一帧的确认帧后才继续发送下一帧
滑动窗口协义:
在滑动窗口协议中,发送方只要收到了确认帧,就会刷新计时器,其等待的确认帧序号也会刷新,那么退回n和选择重传是如何让发送方重传的呢?
回退n:接受方直接将出错的帧及之后所有帧全部丢弃,发送方计时器超时直接从第一个出错的帧开始重发。
选择重传:由于接收方发现了错误帧,则不会回复确认帧(或者回复一个否定确认NAK),接受缓存管道中正确的帧,而发送方察觉到出现错误后,也只会重发一个帧(即错误的帧),接收方接受后返回确认帧并捎带返回之前接受的全部确认帧。因此发送方便不会再重传已被接受的帧。
发送窗口和接收窗口
参考连接:http://blog.csdn.net/xcl119xcl/article/details/6732960
MAC地址(物理地址)长度位6字节,48bit
APR=Address Resolution Protocol 地址解析协议 负责将IP地址映射到MAC地址上
在广播网络中,关键问题是当多方竞争信道的使用权时如何确定谁可以使用信道,而MAC子层就是用来确定多路访问信道的下一个使用者的协议。
区别:
MAC 地址采用十六进制数表示,共 6 个字节(48 位),长度为 48bit。整个地址可以分为前 24 位和后 24 位,代表不同的含义。
前 24 位称为组织唯一标识符(Organizationally Unique Identifier,OUI),是由 IEEE 的注册管理机构给不同厂家分配的代码,区分了不同的厂家。
后 24 位是由厂家自己分配的,称为扩展标识符。同一个厂家生产的网卡中 MAC 地址后 24 位是不同的。
其主要标准是802.11
802.11网络其使用两种模式:
所有802协议共有的特点是将数据链路层分为了多个小层:
考虑如下 4 个无线站的情形。无线电的覆盖范围是这样的:A 和 B 都在对方的范围内,
可能潜在地相互之间有干扰;C 也可能潜在地干扰到 B 和 D,但不会干扰 A。
解决问题的方法:RTS/CTS协议(鸡肋)
CSMA/CD:当一个站有数据要发送时,它先侦听信道,如果信道空闲就发送数据。
传输时站的硬件继续侦听信道,如果它读回的信号不同于它放到信道上的信号,则知道
发生了碰撞,要重新发送数据。
CSMA/CA:需要发送帧的站以随机后退开始,而且他不等待冲突的发生。通过侦听确定在一个很短的时间内没有信号(等待空闲),然后倒计时空闲时间槽,当有帧在发送时则暂停计时器,当计时器到达0时,该站就发送帧,如果发送成功,接受站就立即发送一个短确认。如果没有收到确认,则可断定传输出现了错误,无论是冲突还是其他错误,此时,发送方都要加倍后退选择的时间槽数,在重新试图发送,如此反复,连续像以太网那样以指数后退,直到成功发送帧或到达重传的最大次数。
网桥转发帧的工作原理:
接受隶属于每个端口的站发送的帧。对于一个入境帧,它在网桥中的路由过程取决于它的源端口和目标端口。整个转发过程如下:
交换机转发帧的工作原理:
交换机有三种转发数据帧的方式:
学习型网桥:
网桥所用的算法是后向学习法。对于每个发向未知目的地址的入境帧,网桥会把这个数据包广播到除了源端口以外的所有端口,目标主机收到广播后,就会把自己的 MAC地址送回给网桥,网桥就知道了这个设备在这个端口上,并且把这个信息记录到转发表。随着时间的推移网桥会学习到每个目标地址对应的端口,之后每接受到一个数据帧,就通过对应的端口发送,而不是广播发送。
可以。以太网帧中 IP 数据报的长度限制为:46-1500,只要 IPv6 分组的长度在该范围内就可以被以太网帧携带。
TCP/IP分析参考:https://www.cnblogs.com/sunev/archive/2012/06/23/2559389.html
无连接服务的实现:数据报——分组datagram
面向连接的服务:虚电报——基电路virtual circuit
①如果提供的是无连接的服务,那么,所有的数据包都被独立地注入到网络中,并且每个数据包独立路由,不需要提前建立任何设置。在这样的上下文中,数据包通常称为数据报,对应的网络称为数据报网络。所传送的分组可能出错、丢失、重复和失序(即不按顺序到达终点),属于不可靠交付。
②如果使用了面向连接的服务,那么,在发送数据包之前,必须首先建立起一条从源路由器到目标路由器之间的路径。这个连接称为虚电路, 它类似于电话系统中建立的物理电路,对应的网络称为虚电路网络。数据分组都将沿着这条线路有序可靠地传输,属于可靠交付。
③数据报网络 vs. 虚电路网络
答:
路由算法分为两类:
最优化原则:如果路由器了在从路由器I到路由器K的最优路径上,那么从了到K 的最优路径也必定遵循同样的路由。
汇集树(sink tree):最优化原则的一个直接结果,从所有的源到一个指定目标的最优路径的集合构成了一棵以目标节点为根的树。
注意: 汇集树不是唯一的,有可能存在具有相同路径长度的其他汇集树。如果我们允许选择所有可能路径,则树就变成了一般的结构,有向无环图DAG( Directed acyclic graph)。
测量路径长度的方法有: 跳数 (hop),距离 (km) ,一个标准测试包的平均延迟,带宽,平均流量,通信成本等其他因素。
Dijkstria算法:每一个节点都标出了(在圆括号内)从源节点沿着已知的最佳路径到达本节点的距离;随着算法的不断进行,陆续有一些路径被找到,于是节点的标记可能发生变化,以便反映出更好的路径;当发现一个标记代
表了从源节点到该节点的最短可能路径,该标记就变成永久,以后不再改变。
把每一个入境数据包发送到除了该数据包到达的那条线路以外的每条出境线路。
泛洪的优点:
3. 确保数据包被传送到网络中的各个节点——有效的广播手段
4. 鲁棒性好 (如战争区域)
5. 安装很少
6. 最短的延迟
动态算法如下
每个路由器维护一张路由表,表中列出了当前已知的到每个目标的最佳距离,以及所使用的链路,这些表通过邻居之间的相互交换信息而不断被更新,最终每个路由器都了解到达每个目的地的最佳链路。
每个路由器维护一张路由表,它以网络每个路由器为索引,每个路由器对应一个表项,表项包含两部分:到达该目标路由器的首选出境线路,以及到达该目标路由器的距离估计值。
无穷计算问题:整个网络最佳路径的寻找过程称为收敛,虽然该算法总能收敛到正确答案,但速度非常缓慢。对于好消息的反应非常迅速,而对于坏消息的反应异常迟缓。
当网络拓扑结构分发生变化后,距离矢量算法需要太长的时间才能收敛到稳定的状态。
发现它的邻居节点,并了解其网络地址
设置到每个邻居节点的距离或者成本度量
构造一个包含所有刚刚获知的链路信息包:
构造数据包的时机:
将这个包发给所有其他的路由器,并接受来自所有其他路由器的信息包
问题1:泛洪:为了控制泛洪的规模,每个数据包都包含一个序号,序号随着每一个新数据包发出而逐一递增,路由器记录下它所看到的所有(源路由器,序号)对,当一个新的链路状态数据包到达时,路由器检查这个新来的数据包是否已经出现在上述观察到的列表中,如果是一个新的数据包,则把它转发到除入境线路之外的所有其他线路上。如果这是一个重复的数据包则丢弃;如果数据包的序号小于当前所看到的来自该源路由器的最大序列号,则它将被当做过时数据包而拒绝接受。
问题2:
解决方案:在每个数据包的序号之后包含一个年龄字段,并且每秒钟年龄减1,值为0时丢弃.
健壮性改进:当一个数据包被泛洪到一个路由器,首先放在保留区中等待一段时间,若此时同一源地址的数据包来了,比较他们的序号,丢弃重复包或老包。
计算出到每个路由器的最短路径(新路由)(在本地使用Dijstra算法)
随着网络规模的增长,每个路由器不太可能为其他路由器维护一个表项,所以路由器不得不层次进行,就像电话网络中那样。路由器被划分为区域,对其他区域内部的结构毫不知情。
分多少层:对于一个包含N个路由器的网络,最优的层数是ln(n),每个路由所需要的路由表项是eln(n)项。
拥塞 (congestion): 数据包延迟或丢失,传输性能降低,由网络层和传输层处理
拥塞崩溃 (congestion collapse) : 传输层注入的负载超出网络层的容量,性能骤减。
流量控制指在发送端和接收端之间的点对点通信量的控制,就是抑制发送端发送数据的速率,以便接收端来得及接收;
拥塞控制必须确保通信子网能够传达待传达的数据,涉及网络中所有主机路由器以及导致网络传输性能下降的所有因素,是一个全局性的问题。
流 (flow):从一个源端发到一个接收方的数据包流
每个流的需求可由四个主要参数来表示:带宽、延迟、抖动和丢失。
抖动 (jitter):延迟的变化(即标准方差)或者数据包到达时间的变化称
流量整形 (trafic shaping)是指调节进入网络的数据流的平均速率和突发性所采用的技术。它的目标是允许应用程序发送适合它们需求的各种各样流量。
客户与服务提供者之间的约定叫做服务登记约定SLA
超出约定模式之外的数据包可能会被丢弃,或者被打上低优先级标记。对一个流进行监测称为流量监管
这一节可能不是重点
即讨论不同的网络之间如何互联,如以太网,WLAN,PAN等。
网络互联的两种方式:
现在使用第二种方式,将这种公共层融入到了TCP/IP协议中。
数据包受硬件,OS,协议标准,期望的影响,会被限制最大长度
为了确保一个大数据包在网络互联中传输是不会超过网络的最大数据包尺寸的问题,有两种解决方案:
透明分段:由“小数据包“网络引起的分段过程对于沿途后续的网络都是透明的(沿途中的网络都会将分段重组再分段)。
问题: 出口路由器必须知道什么时候它已经接收到了全部的段,所以每个分段中必须提供一个计数字段或者一个“数据包结束”标志位,其次由于所有的数据包必须经过同一个出口路由器才能进行重组,因此路由受到了限制,不允许“兵分两路”,损失了性能
非透明分段(如IP): 避免在任何一个中间路由器上重新组合分段,只在目标主机上重组
问题: 开销高,任何一个段的丢失都导致整个包的丢失。
优点:路由器所做的工作少。
每个 IP 数据包发出时在它的头设置一个比特,指示不允许对该数据包实施分段操作。如果一个路由器接收的数据包太大,它就生成一个报错数据包并发送给源端,然后丢弃该数据包。当源端收到报错数据包 它就使用报错数据包携带的信息重新将出错数据包分段,每个段足够小到报错路由器能处理。如果沿着路径前进又遇到一个 MTU 更小的路由器,那么重复上述过程。
优点:源端知道该发送多长的数据包
缺点:增加了发送数据包的启动延迟
①HDLC:高级数据链路控制
HDLC协议是一种面向比特的高效链路层协议。一般情况下,HDLC通信协议IP核分 为三个部分,即外部接口模块、数据发送部分和数据接收部分。在这类面向比特的数 据链路协议中,帧头和帧尾都是特定的二进制序列,通过控制字段来实现对链路的监 控,可以采用多种编码方式实现高效的、可靠的透明传输。故其最大特点是不需要数 据必须是规定字符集,对任何一种比特流,均可以实现透明的传输。
②DHCP:动态主机配置协议
DHCP是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登 录服务器时就可以自动获得服务器分配的IP地址和子网掩码。
③ARP:地址解析协议
ARP是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP 地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的 物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定 时间,下次请求时直接查询ARP缓存以节约资源。
④STP(Spanning Tree Bridges):生成树网桥
STP的作用是通过阻断冗余链路,使一个有回路的桥接网络修剪成一个无回路的树形 拓扑结构。逻辑上断开环路,防止二层网络的广播风暴的产生。
⑤IEEE 802.1Q标准
标准化VLAN实现方案,目的是使得一组逻辑上的设备和用户并不受物理位置的限 制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们 在同一个网段中。
在早期的以太网中,以太网内通过MAC地址通信。但是随着以太网发展变为互联网时, MAC地址本身的缺陷就暴露了出来——MAC地址虽然唯一但是不能表明用户在整个互 联网中的位置。除非维护一个超级大MAC地址对应表,那寻址效率非常低下,而且会 占用极大的存储空间,另外获取MAC地址是通过ARP协议来完成的,如果用MAC地 址通信,那么广播风暴是个难题。
因此IP地址被发明了出来并解决了这个问题。IP地址前几位用于锁定目的主机所在网 络,后几位用于确定目的主机是网络中具体的哪一台设备。但由于IPv4地址的个数有 限,于是有了私网地址的概念以及NAT技术,因此不同网络的不同主机可以使用相同 的私网IP地址。此时IP地址无法唯一标识某一台设备,必须使用MAC地址。
①如果提供的是无连接的服务,那么,所有的数据包都被独立地注入到网络中,并且每 个数据包独立路由,不需要提前建立任何设置。在这样的上下文中,数据包通常称为 数据报,对应的网络称为数据报网络。所传送的分组可能出错、丢失、重复和失序(即 不按顺序到达终点),属于不可靠交付。
②如果使用了面向连接的服务,那么,在发送数据包之前,必须首先建立起一条从源路 由器到目标路由器之间的路径。这个连接称为虚电路, 它类似于电话系统中建立的 物理电路,对应的网络称为虚电路网络。数据分组都将沿着这条线路有序可靠地传输, 属于可靠交付。
③数据报网络 vs. 虚电路网络
路由器的基本功能就是路径的选择与数据包的转发。路由就是路径的选择,转发就是将 数据包从选定的路径发送出去。
可以把路由器想象成内部有两个进程:其中一个进程在每个数据包到达的时候对它进行 处理,它在路由表中查找该数据包所对应的出境线路,这个进程即为转发进程;另一个 进程负责生成和更新路由表,这正是路由算法发挥作用的地方。
①距离矢量路由(distance vector routing)
距离矢量路由算法是这样工作的:每个路由器维护一张表(即一个矢量),表中列出了当前已知的到每个目标的最佳距离,以及所使用的链路。这些表通过邻居之间相互交换信息而不断被更新,最终每个路由器都了解到达每个目的地的最佳链路。
②链路状态路由(link state routing)
链路状态路由算法的设计思想非常简单,可以用五个部分加以描述。每一个路由器必 须完成以下的事情,算法才能正常工作:
(l) 发现它的邻居节点,并了解其网络地址。
(2) 设置到每个邻居节点的距离或者成本度量值。
(3) 构造一个包含所有刚刚获知的链路信息包。
(4) 将这个包发送给所有其他的路由器,并接收来自所有其他路由器的信息包。
(5) 计算出到每个其他路由器的最短路径。
实际上,算法将完整的拓扑结构分发给了每一个路由器。然后每个路由器运行Dijkstra 算法就可以找出从本地到每一个其他路由器的最短路径。
③区别:
①Version:版本号,记录了数据报属于协议哪个版本。
②IHL:包头长度,指明了头到底有多长(以32位字长度为单位)。
③Total Length:总长,含包头和数据。
④Identification:分段标识,让目标主机确定一个新到达的分段属于哪一个数据报。同 一个数据报的所有段包含同样的标识值。
⑤DF:不分段标识,不允许路由器分割该数据报。
⑥MF:分段标识。
⑦TTL:分组生存时间。是一个用于限制数据包生存期的计数器,计数单位为秒。在每 一跳上该计数器必须被递减,当它递减到0时,数据包就被丢弃,并且路由器给数 据包的源主机发回一个报警包。
⑧Protocol:协议类型,指明了该将它交给哪个传输进程(TCP/UDP)。
⑨Source address:发送端的IP地址。
⑩Destination address:接收端的IP地址。
请分别写出这四个IP地址前缀的网络掩码(netmask)。
若将这四个IP地址前缀进行聚合(aggregation),聚合后得到的IP地址前缀(IP Prefix)是多少?请写出计算过程。
1)(pdf P354 网络掩码)
①192.168.0.0/23的网络掩码是:1111 1111 1111 1111 1111 1110 0000 0000, 即255.255.254.0。
②192.168.2.0/23的网络掩码是:1111 1111 1111 1111 1111 1110 0000 0000, 即255.255.254.0。
③192.168.4.0/22的网络掩码是:1111 1111 1111 1111 1111 1100 0000 0000, 即255.255.252.0。
④192.168.8.0/21的网络掩码是:1111 1111 1111 1111 1111 1000 0000 0000, 即255.255.248.0。
2)(pdf P357 CIDR)
192.168.0.0/23对应的CIDR地址范围:192.168.0.0~192.168.1.255
192.168.2.0/23对应的CIDR地址范围:192.168.2.0~192.168.3.255
192.168.4.0/22对应的CIDR地址范围:192.168.4.0~192.168.7.255
192.168.8.0/21对应的CIDR地址范围:192.168.8.0~192.168.15.255
将CIDP地址范围聚合后的范围:192.168.0.0~192.168.15.255
因此聚合后的IP地址前缀是:192.168.0.0/20。
(重点看后两部分:
范围为0.0~15.255,即0000 0000 0000 0000~0000 1111 1111 1111
故前缀有8+8+4=20位。)
(注:截图中的“ens 38 proto kernel scope link src 192.168.21.128”中的这个IP地址为此路由器的网络接口(iface)ens38的IP地址)
请说明当此路由器接收到的IP分组中的目的IP地址分别为下列IP地址时,此路由器将分别会怎样处理这些IP分组。如果路由器转发这些分组的话,请写出用于将分组转发出去的网络接口的名字、下一跳设备的IP地址。
答:
1)192.168.21.153 AND 255.255.255.0=192.168.21.0(取前24位)。查询路由表可知该 表项Flags取值为U,即该路由可用。又因为其网关为0.0.0.0,所以本机与IP地址 前缀为192.168.21.0的子网中的计算机是直连的,不需要通过路由器转发,因此下 一跳IP地址就是目的主机地址。
所以:通过网络接口ens38转发,下一跳设备的IP地址为192.168.21.153。
2)192.155.105.5 AND 255.255.248.0=192.155.104.0(取前21位)。查询路由表可知该 表项Flags取值为UG,即该路由可用,对应网关为192.168.106.129。
所以:通过网络接口ens33转发,下一跳设备的IP地址为192.168.106.129。
3)192.155.111.8 AND 255.255.254.0=192.155.110.0(取前23位)。查询路由表可知该 表项Flags取值为UG,即该路由可用,对应网关为192.168.21.129。
所以:通过网络接口ens38转发,下一跳设备的IP地址为192.168.21.129。
4)192.59.68.69无法通过与表中任一网络掩码进行AND操作提取出已有IP地址的网络部分,即无法在路由表中找到对应表项。因此进入默认网关。
所以:通过网络接口ens39转发,下一跳设备的IP地址为192.168.238.129。
5)192.59.114.9 AND 255.255.240.0=192.59.112.0(取前20位)。查询路由表可知该表项Flags取值为UG,即该路由可用,对应网关为192.168.119.129。
所以:通过网络接口ens40转发,下一跳设备的IP地址为192.168.119.129。
①Internet由大量的独立网络或自治系统(AS, Autonomous System)构成,并由不同 的组织运营,这些组织通常是公司、大学或ISP。
AS内部的信息交换路由,称为域内路由(intra-domain routing),通过AS内部 的路由器进行域内设备的信息交换。目前比较流行的域内路由协议为RIP协议和 OSPF协议,或者在一个较小的AS内可以人工分配路由。
跨越AS的信息交换路由,称为域间路由(inter-domain routing),通过域间路由协 议每个自治系统的边界路由器交换路由信息。Internet采用的域间路由协议是BGP 协议。
②不同之处:
域内路由协议/内部网关协议:RIP,OSPF(开放最短路径优先)。
域间路由协议/外部网关协议:BGP(边界网关协议)。
服务质量 | 在线视频会议 | 文件传输 |
---|---|---|
时延 | 要求低时延,消息从发出到送达所有在线端的延时在毫秒级。 | 要求中等时延,数据传输实时性不高。 |
抖动 | 要求网络稳定,发生抖动概率低,保证视频不卡顿。 | 对网络稳定性要求不高,可以接纳一定的网络抖动。 |
可靠性 | 可靠性要求中等,视频的几帧丢失不会对会议效果有影响。 | 要求可靠传输,文件的一个数据报丢失可等导致整个文件不可用。 |
带宽 | 带宽要求高,需要传输大量语音、图片、等信息。 | 带宽要求中等,只要能够在用户预期的时间内完成传输即可。 |
传输层的最终目标: 充分利用网络层提供的服务,向应用层进程提供efficient,reliable, and cost-efectiveservice
传输实体 (transport entity) : 完成上述工作的硬件或软件
传输层上,发送的每个数据包 (最终) 都要被确认。
中断连接有两种方式:
原语 | 含义 |
---|---|
SOCKET | 创建一个新通信端点 |
BIND | 将套接字与一个本地地址关联 |
LISTEN | 声明愿意接受连接:给出队列长度 |
ACCEPT | 被动创建一个入境连接 |
CONNECT | 主动创建一个连接 |
SEND | 通过连接发送一些数据 |
RECEIVE | 从连接上接收一些数据 |
CLOSE | 释放连接 |
环境不同——数据链路层中两个路由器通过物理信道 (physical communication channel) 进行通信;传输协议中通过整个网络。
传输服务访问点(TASP,Transport Service Access Point) /网络服务访问点(NSAP)——即端口port
IP地址是NSAP的一个实例;
应用进程把自己关联到一个本地TSAP上,以便与一个远程TSAP建立连接,这些连接运行在每台主机的NSAP上。每台计算机只有一个NSAP,但被多个TSAP共享。
主机1上的用户如何知道服务器1关联到了TSAP 1522?
拒绝重复的数据包:
数据包的生存期限定
基于数据包生存期限定的方法: 源端用序号作为段的标签,使得该段在T秒内不被重用。 (TCP是这个方法的变种)
一台机器崩溃后丢失所有内存——日时钟 (time-of-day clock) ,解决了无法区分重复段的问题
连接建立过程中依然存在问题——三次握手协议 (three-way handshake) :
(a). 正常操作:
1. 主机1选择一个序号x,发送一个CR连接请求;
2. 主机2回应一个ACK段作为确认,并宣告它的序号y;
3. 最后主机1在它发送的第一个数据段中,对主机2的初始序号y进行确认。
(b). 出现老的重复CR
(c). 重复CR和重复ACK
传输实体将有关该连接的信息从它的内部表中删除,并通知该连接的所
有者
动态滑动窗口可以同时实现:
TCP连接承载的流量类型: 接收端有专用的满窗口的缓冲区,允许数据流以最大速率发送
组织缓冲池:(a)段的长度都差不多(b)内存利用率高,管理复杂©只有连接重载时效果才好
缓冲与确认机制分离:。动态的缓冲区管理实际上意味着一个可变大小
的窗口。初始时,发送端根据它期望的需求,请求一定数量的缓冲区。然后,接收端根据它的能力分配尽可能多的缓冲区。每次发送端传输一段,它必须减小分配给它的缓冲区数,当分配给它的缓冲区数达到0时,完全停止发送。然后,接收端在逆向流量中捎带上单独的确认和缓冲区数。
这种机制在数据报网络中,控制段丢失会导致潜在的死锁——发送端缓冲区用完不再发送数据,等待确认帧携带的新分配的缓冲区。接收端未收到数据因此不会发送确认帧。持续死锁,知道发送端的计时器超时,重发丢失的数据帧,死锁解除。
一个网络地址被很多个连接使用
逆向多路复用 (inverse multiplexing) : 以轮询的方式把一个连接上的流量分摊到多条网络路径,如流控制传输协议 (SCTP)也可用在链路层,把几条并发的低速率链路当一条高速率链路使用。
为了在不可靠的互联网上提供(按序递交的)可靠的 端到端 字节流 而设计的传输协议
TCP传输实体: 可以是一个库过程,一个用户进程,或者是内核的一部分
TCP传输实体A接收本地进程的用户数据流,将他们分割成不超过64KB的段 (segment) ,并以IP数据报形式发送到另一机器的传输实体B.B重构原始字节流。
邮件业务是运行在传输层TCP传输协议之上的
ASCII字符
多钟类型文件
以服务器为核心的邮件管理协议,所有邮件都是存储在服务器中,以此能够在公共管理邮件,从而能够在多个终端读取邮件。
一个分布式的超媒体系统