TCP/IP笔记

网络基础知识

OSI通信协议分为哪七层?各层都有什么作用?

  • 从下到上分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
  • 1.物理层:
  • 以“0”,“1”代表电压的高低,灯光的闪灭。界定链接器和网页的规则。
  • 2.数据链路层:
  • 互联设备之间传送和识别数据帧。
  • 3.网络层:
  • 地址管理和路由的选择
  • 4.传输层:
  • 管理两个节点之间的数据传输。负责可靠传输,确保数据被可靠地传送到目标地址。
  • 5.会话层
  • 通信管理。负责建立和断开通信链接。管理传输层以下的分层。
  • 6.表示层
  • 设备固有数据格式和网络标准数据格式的转换。比如:接收不同表现形式的信息,如文字流,图像,声音等。
  • 7.应用层
  • 针对特定应用的协议.比如电子邮件有电子邮件协议;文件传输有文件传输协议;远程登录有远程登录协议。

协议

  • 分组交换协议
  • 概念:将大数据分割成为一个个以包为单位进行传输的方法传递给对方。

传输的分类

按照面向有无连接型分:

  • 1.面向无连接型有:
  • 以太网、IP、UDP
  • 2.面向有连接型有:
  • ATM、帧中继、TCP

按照网络通信方式分:

  • 1.电路交换:
  • 以前的电话网。
  • 概念:
  • 在电路交换中,交换机主要负责数据的中转处理。计算机之间通信需要通过交换机连接。建立好连接后,用户就可以一直使用这条电路,直到该连接被断开为止。
  • 优点:计算机之间的传输速度不变。
  • 缺点:
  • 1.如果一条线路上连接多台计算机,因为一台计算机在收发信息时会独占整个电路,而其他计算机只能等待这台计算机处理完才有机会使用这条电路收发数据。
  • 2.无法预测某台计算机数据传输何时开始和结束。
  • 3.如果并发超过交换机之间通信路数,就意味着通信根本无法进行。
  • 2.分组交换
  • 概念:
  • 分组交换也叫储蓄交换,他将连接到通信电路的计算机将所要发送的数据分成多个数据包,按照一定顺序排列之后分别发送。这就是分组交换。
  • 原理:
  • 发送端将数据分组发送给路由器,路由器接收到这些分组数据后,缓存到自己缓冲区,然后再转发给目标计算机。
  • 优点:
  • 数据被细分后,所有计算机就可以一齐收发数据,提高了通信线路的利用率。
  • 由于在分组过程中,已经为每个分组的首部写入了发送端和接收端的地址,即使一条线路上有多个用户,也可以明确区分每个分组数据发往的目的地,以及它与哪台计算机进行通信。
  • 路由器接收数据以后按照顺序缓存相应的队列中,再以先进先出的顺序将他们逐一发送出去。
  • 缺点:
  • 在网路拥堵情况下,数据到达目的地址时间又长有短。
  • 当路由器的缓存饱和或溢出时,可能发生数据丢失,无法发送到对面的情况。

按目标地址个数及后续的行为分:

  • 1.单播
  • 2.广播
  • 广播域
  • 3.多播
  • 需要限定某一组主机作为接收端。例如:电视会议
  • 3.任播
  • 从目标主机群中选择一台最符合网络条件的主机作为目标主机发送消息。通常,被选中那台主机将返回一个单播信号,随后发送端主机会跟这台主机进行通信。例如:DNS根域名解析服务器

地址

  • TCP/IP通信中使用MAC地址、IP地址、端口号等信息作为地址标识。
  • 地址的特性:
  • 1.唯一性
  • IP地址具有层次性,而MAC地址不具有。
  • IP地址由网络号和主机号两部分组成。若网络号相同,即使主机号不同,也是处于同一个网段。
  • 2.层次性
  • MAC寻址参考表叫地址转发表,IP寻址参考表叫路由控制表。

网络的组成元素

  • 网络组成要素分为:网卡、中继器、网桥、路由器、4-7层交换器、网关
  • 传输速率和比特数
  • 概念:
  • 传输速率:也称为带宽,表示数据传输过程中,两个设备之间单位时间内传输的数据量(bps)称为传输速率。
  • 吞吐量,表示主机之间实际的传输速率(bps)
  • 吞吐量不仅衡量带宽,同时也衡量主机的CPU处理能力,网络的拥堵程度、报文中数据字段的占有份额(不包含报文首部,只计算数据字段本身)

网络:

  • 数据中心:
  • 概念:
  • 数据中心是由大型服务器、存储及计算机网络构成。数据中心一般都会连接到边缘网络,甚至直接连接主干网。
  • 虚拟化和云
  • 概念:
  • 虚拟化技术指当一个网站需要调整运营所使用的资源时,并不增减服务器、存储设备、网络等实际的物理设备,而是利用软件将这些物理设备虚拟化,在有必要增减资源的时候,通过软件按量增减的一种机制。
  • 指利用虚拟化技术,根据使用者的情况动态调整必要资源的机制被称作云。
  • 智能协调层是指将虚拟化的系统根据需要进行动态管理的部分被称作智能协调层。
  • 虚拟化的优点:
  • 通过此机制实现按需分配、按比例分配,对外提供可靠的服务。

数据链路

数据链路含义

  • 数据链路指OSI参考模型中数据链路层,有也指以太网、无线局域网等通信手段。

网络拓扑

  • 概念:
  • 网路的链接和构成的形态称为网络拓扑。
  • 网络拓扑的形式?
  • 总线型,环形,星型,混合型。



  • MAC地址
  • MAC地址用于识别数据链路中互联的节点。
  • 总线型和唤醒,数据传送的特点?
  • 在总线型与环路型的网络中,先暂时获取所有目标站的帧,然后再通过MAC寻址。如果是发给自己的就接收,如果不是就丢弃。

从通信介质看网络

  • 共享介质型网络:
  • 概念:
  • 共享介质型网络值有多个设备共享一个通信介质的一种网络。
  • 共享介质的访问方式
  • 1.争用方式式:
  • 概念:争用方式指争夺获取数据传输的权利。
  • 缺点:
  • 这种方式常令网络中的各站采用先到先得的方式占用信道发送数据,如果多个站同时发送帧,则会产生冲突现象。会导致网络拥堵与性能下降。
  • 2.争用方式(改良型):
  • 改进了哪些?
  • 每个站提前检查冲突,如果没有数据流动,任何站都可以发送数据。如果一旦发生冲突,则尽早释放信道。放弃发送以后,随机延时一段时间,在重新争用介质,重新发送帧。
  • 3.令牌传递方式:
  • 概念:令牌传递方式是闫令牌环发送一种叫做“令牌”的特殊报文,是控制传输的一种方式。只有获得令牌的站才能发送数据。
  • 优点:因为每个站都有平等获得令牌的机会,即使网络拥堵也不会导致性能下降。
  • 缺点:一个站没有收到令牌前不能发送数据帧,在不太拥堵的情况下数据链路利用率不能100%。
  • 非共享介质型网络:(主流
  • 概念:
  • 非共享介质网络是指不共享介质,网络中的每个站直连交换机,由交换机负责转发数据帧。
  • 特点:
  • 此方式下,发送端和接收端不共享通信介质,在很多情况下采用全双工通信方式。
  • 优点:
  • 不会发生冲突,可以实现更高效的通信。
  • 可以根据交换机的高级特性构件虚拟局域网、进行流量控制。
  • 缺点:
  • 一旦交换机发生故障,与之相连的所有计算机之间都无法通信。

半双工与全双工通信

  • 概念:
  • 半双工:是指只发送或接受的通信方式。好比,打电话,两端同时说话,却听不见对面说话。
  • 全双工:是指可以同时间既刻意发送数据也可以接受数据。好比,打点好,接打双发否可以同时说话。
  • 全双工通信如何实现?
    * 通过以太网交换机构件网络,从而使计算机与交换机端口之间形成一对一的链接,即可实现全双工通信。

以太网交换机

  • 概念:
  • 转发表:
  • 概念:
  • 以太网交换机持有多个端口的网桥。他们根据数据链路层中每个真的目标的MAC地址,决定从哪个网络接口发送数据。这时所参考的、用以记录发送接口的表叫做转发表。
  • 特点:
  • 将源MAC地址和曾经接收该地址发送的数据包的接口作为对应关系记录到转发表中。该MAC地址作为目标地址的包,经由该接口送出即可。这个过程也叫自学过程。
  • 缺点:
  • 由于MAC地址没有层次性,转发表中的入口个数与整个数据链路中所有的网络设备数据有关。当设备数量增加,检索转发表时间也越来越长。
  • 改进措施:
  • 采用类似于网络层的IP地址一样对地址进行分层管理。
  • 交换机转发的方式
  • 1.存储转发:
  • 概念:存储转发方式检查以太网数据帧后再进行转发。
  • 优点:
  • 可以避免被破坏的或噪声所导致的错误帧。
  • 缺点:
  • 需要将整个帧全部接受下来以后再进行转发,延时较长
  • 2.直通转发:
  • 优点:直通转发只需要得知目标地址即可以转发,延时较短。
  • 缺点:因为不检查数据帧,不可避免有发送错误帧的可能。

环路检测技术

  • 需要解决的问题?
  • 通过网桥链接网络时,出现环路,数据帧在环路中被持续转发,最后导致网络瘫痪。
  • 解决方式:
  • 1.生成树
  • 概念:
  • 每个网桥在一定时间内交换协议数据单元包(BPDU),判断没写端口使用那些端口不适用。一旦发生故障,自动切换通信线路,利用没有被使用端口继续进行传输。
  • 优点:
  • 有效消除环路。当该端口发生问题时可绕过该端口,使用违背使用的端口继续进行传输。
  • 缺点:
  • 发生故障时,切换线路时间用时过长。
  • 2.源路由
  • 概念:
  • 解决令环牌网络问题,该港式判断发送数据的源地址是通过哪个网桥实现传输的,将帧打包,由网桥发送给目标地址。
  • 优点:
  • 即使网桥中出现环路,数据帧也不会被反复转发,保证成功发送到目标地址。
  • 缺点:
  • 发送端必须具备源路由功能。

VLAN

  • 概念:
  • 带有VLAN技术的网桥,就不用实际修改网路不限,只需要修改网络,就可以实现网络管理。
  • 优点:
  • 1.VLAN技术附加到网桥/2层交换机上,就可以切断所有VLAN之间的所有通信。
  • 2.VLAN可以过滤多余的包,提高网络的承载效率。
  • 3.可以区分广播数据传播的范围,并提高网络安全性。
  • 缺点:
  • 1.异构的两个网段之间,需要利用具有路由功能的交换机(如三层交换机)或在隔断中间通过路由器的链接才能实现通信。
  • 改良版 TAG VLAN
  • 工作过程:
  • TAG VLAN中对每隔网段都用一个VLAN ID的标签进行唯一标识。在交换机中传输帧时,在以太网首部加入这个VID,根据这个值决定将数据帧发送给哪一个网段。

以太网

无线通信

IP协议

网络层和数据链路层的关系

  • 数据链路层负责提供直连两个设备之间的功能。
  • IP负责在没有直连的两个网络之间进行通信传输。

IP地址

  • IP的三大模块:IP寻址、路由和IP分包和组包。
  • MAC地址用来标识同一个链路中不同计算机的一种识别码。
  • IP地址用于连接到网络中所有主机识别出进行通信的目标地址。
  • IP地址的形式是保持不变的。
  • 在网桥或交换集线器等物理层或数据链路层数据包转发设备中,不需要设置IP地址。因为这些设备只负责将IP包转化为0、1比特流转发或对数据链路帧的数据部分进行转发,而不需要对应的IP协议。

路由控制

  • 概念:
  • 路由控制是指将分组数据发送到最终目标地址的功能。
  • 特点:
  • 即使网络非常复杂,也可以通过路由控制确定到达目的地的通路。但如果这个路由控制运行出现异常,分组数据肯呢个无法达到目标地址。
  • 发送数据至做种目标地址
  • HOP称为跳,它指网络中的一个区间。IP包是从一个IP路由跳到另一个IP路由,直到包到最终的目标地址。每个区间决定着包下一跳被转发的路径。
  • 路由控制表:
  • 为了将数据包发送给目标主机,所有主机都维护着一张路由控制表。该表记录IP数据在下一步应该发给哪个路由器。IP包将根据这个路由表的各个数据链路上传输。

数据链路的抽象化

  • IP实现了多个数据链路之间通信的协议。对这些不同数据链路的相异特性进行抽象化是IP的重要重要之一。
  • 不同的数据链路的最大区别,就是它们各自的最大传输单位不同。
  • 从IP的上层看,它只需要按照源地址发送的长度接收数据包。IP就是以将大的IP包分成多个较小的IP包。分片的包到对端目标地址在被组合起来传给上一层的方式抽象化数据链路层。
  • IP的分片处理:
  • 概念:
  • IP分片处理是指将较大的IP包分成多个较小的IP包。分片的包到对端目标地址后再被组合起来传给上一层。

IP的面向无连接型

  • 概念:
  • IP面向无连接。在发包之前,不需要建立与对端目标之间的链接。上层如果遇到需要发送给IP的数据,该数据会立即被压缩成IP包发送出去。
  • 优点:
  • 不需要建立连接,就可以发送数据。
  • 简化和提速
  • 缺点:
  • 即使对端知己关机或不存在,数据包还是会被发送出去。若没有做好准备很可能会错误一些该接受的包。
  • TCP负责保证对端主机确实能接受数据,IP负责将数据发送给目标主机。

IP地址

  • 概念:
  • IP4地址由32二进制数来表示。IP地址在计算机内部以二进制方式呗处理。但是为了人们识别,将32位的IP地址以每8位为一组,分成4组,每组以“.”隔开,再讲每组书转化为十进制数。
  • IP4最大允许43亿台计算机连接到网络。
  • IP地址是由网络标识和主机标识两部分组成。

IP地址分类

  • 分为四类:A、B、C、D
  • A类地址
  • 0.0.0.0~127.0.0.0,1-8位是A类的网络地址,后24位为缀标识。这个网段可容纳的主机地址上线为1670万个。
  • B类地址:
  • 128.0.0.1-191.255.0.0,前两位为“10”地址,从1位到16位是它的网络标识。后16位为主机标识。这个网段可以容纳的主机地址上限为6万5千个
  • C类地址:(实际不存在
  • 224.0.0.0~239.255.255.255,前两个为“110”地址,从1位到32位是它的网络标识,后八位为知己地址。这个网段可以容纳的主机上限为254个
  • D类地址:
  • 224.0.0.0~239.255.255.255,前四位为"1110" 地址。没有主机标识,常用于多播。前4位是多播地址,后28位是多播的组编号。

IP多播

  • 多播既可以穿透路由器,又可以实现只给那些必要的组发送数据包。
  • 在224.0.0.0~224.0.0.255不需要路由控制,在同一个链路内也能实现多播。而在这个范围之外设置多播地址会给全网所有的组内成员发送多播的包。
  • 在多播中,所有的主机必须是224.0.0.1的组,所有的路由器必须属于224.0.0.2的组。
  • 利用多播实现通信,除了地址外需要IGMP等协议的支持。
  • IP多播中有一组固定的IP地址被占用。

子网与子网掩码

  • 概念:
  • 子网掩码的识别码通过子网网络地址细分出比A,B,C类更细粒度网络。子网是由32位二进制对应的IP网络标识全部为“1”,对应IP主机标识全部为“0”。
  • 优点:
  • 一个IP地址不在受限于自己的类别,而是可以用这样的子网掩码自由定位自己的网络标识长度。
  • IP地址

    172.30.100.52

    子网掩码

    255.255.255.192
  • IP地址

    172.30.100.52 /26
  • IP地址的两种识别码:
  • 1.IP地址本身
  • 2.网络部的子网掩码。

CIDR(等长的子网掩码)

  • 概念:
  • 采用任意长度分割IP地址的网络标识和主机标识叫做CIDR
  • BGP(边界网关协议)对应CIDR,所以不受IP地址分类的限制,自由分配。
  • 优点:
  • 根据CIDR,连续多个C类地址就可以划分一个较大的网络内。CIDR更有效的利用当前IP4地址,同时通过路由集中降低了路由器的负担。
  • 缺点:
  • CIDR内部采用了固定长度的子网掩码机制,当子网掩码的长度被设置为/25以后,域内所有的子网掩码都得用同样的长度。长度不可变,能以架构一个高效的网络结构。

VLSM(可变长子网掩码)

  • 概念:
  • 一种可以随机修改组织内的各部门的子网掩码长度的机制。
  • 优点:
  • 子网掩码长度可变,提高了IP地址的利用率。可以构建一个高效的网络结构。

私有IP+NAT(主流方案)

  • 私有IP范围地址
  • A类: 10.0.0.0~10.255.255.255 (10/8)
  • B类: 172.16.0.0~172.31.255.255.255 (172.16/12)
  • C类: 192.168.0.0~192.168.255.255 (192.168/16)
  • 公有IP范围地址:除了私有IP地址以外的地址。
  • 私有IP需要通过全局IP的NAT才能与外界联网通信。
  • 在每个终端设置私有IP,而在路由器或必有的服务器上设置全局IP。如果配有私有IP的地址主机联网时,则通过NAT进行通信。
  • 私有IP特点:
  • 私有IP只需要在同一个域内保持唯一,不同的域出现相同的私有IP不会影响使用。
  • 私有IP的缺点:
  • 在应用的首部或数据部分传递IP地址和端口号的应用程序来说,直接使用私有地址会导致无法通信。

谁来管理全局地址?

  • 是由IP的管理组织ICANN管理
  • 网络服务提供商(ISP)代用户向ICANN申请全局IP地址。当连接某网络时,用户只需要联系该区域的网络运营商。对于非对称数据用户线路(ADSL)和光纤到户(FTTH)的服务,网路提供商分配全局IP地址,并且用户每次重连IP地址都可能发生变化。
  • 一般情况在需要固定IP才会申请全局IP地址。

路由控制

路由控制表

  • 概念:
    * 路由控制表中记录着网络地址与下一步应该发送至路由器的地址。
    * 还回地址:在同一台计算机上的程序之间进行网络通信时所使用的一个默认的地址。IP地址127.0.0.1或者叫localhost的主机名。使用这个IP或主机名时,数据表不会流向网络。
    * 主机路由:"IP地址/32"也被称为主机路由,例如192.168.15/32等于IP地址192.168.15 子网掩码255.255.255.255。它不通过网络地址路由,而是基于主机上网卡上配置的IP地址本身。
  • 路由控制表的形式
  • 1.管理员手动设置(静态路由控制
  • 2.路由器和其他路由器交换信息时自动刷新。(动态路由控制
  • 为了让动态路由及时刷新路由表,在网路上互联的路由器之间必须设置好路由协议,保证正常读取路由控
    制信息。
  • IP的网络地址用于路由控制

路由控制表的聚合

  • 概念:
  • 对内即使有多个子网掩码,对外曾先出的也是同一个网络地址。
  • 优点:
  • 可以有效地减少路由表的条目。
  • 可以将已知的路由信息传送给周围的其他路由器,已达到控制路由信息的目的。

IP分割处理与在构成处理

IP报文分片与重组

  • 分片往往在遇到比较大的报文无法一下子发送出去时才会进行处理。
  • 分片由路由进行,而而分片后的重组只能有目标主机进行。
  • 缺点:
  • 路由器的处理负荷加重。如果允许,是不希望路由器进行IP数据报的分片处理的。
  • 在分片处理中,一旦某一个分片丢失,则会造成整个IP数据报报废。如果使用更小的分片传输,网络利用率明显下降。
  • 改进措施:
  • 路径MTU发现
  • 概念:路径MTU是指从发送端知己到接收端主机之间不需要分片时最大MTU的大小。


    路径MTU发现从是从发送主机按照路径MTU的大小将数据包分片后进行发送。
  • 优点:
  • 进行路径MTU发现,就可以避免在中途的路由器上进行分片处理,也可以在TCP中发送更大的包。
  • 路径MTU发现工作过程:
  • 1.发送主机发送IP数据时,将IP首部分分片标志位置设置为部分片。路由器接收后,丢包。
  • 2.由路由器通知发送主机下一次MTU的大小。
  • 3.发送主机根据TCP的重发处理,数据报备重新发送。TCP负责将数据分成IP层不会再被分片的粒度以后再传给IP层。IP层不再做分片处理。
  • 4.路由器不需要讲分片重组。数据被原样发送给接收端主机的TCP层。

IPv4 首部结构

IPV4的组成部分 = IP首部 + IP载荷

  • IPv4的首部有哪几部分组成
  • 版本、首部长度、区分服务、总长度、标识、标志、片偏移、生存时间、协议、首部校验、源地址、可选字段、填充
  • IPV4组成图如下:


IPv6的组成部分 = IPv6首部 + IPv6扩展首部 + IP载荷

  • IPv6为了减轻路由器负担,省略了首部校验和字段,提高路由转发包的效率。识别码称为可选项。
  • IPv6的首部有哪几部分组成:
  • 版本、通信量类、流标号、有效载荷长度、下一个首部、跳数限制、源地址、目标地址
  • IPv6组成图如下:


IP协议相关技术

DNS

  • 可以有效管理主机名和IP地址之间对应关系的系统就是DNS系统。它可以维护一个表示组织内部主机名和IP地址之间对应关系的数据库。
  • 优点:
  • 1.如果主机名和IP地址需要进行变更时,只需要在组织内部进行处理即可,而没必要再想其他机构进行申请或报告。
  • 2.无论网络规模有多大,都可以在较小的范围内通过DNS进行管理。

域名

  • 概念:
  • 域名是指为了识别主机名称和组织机构名称的一种具有分层的名称。
  • 域名服务器是指管理域名的主机或相应的软件,他可以管理所分层的域的相关信息。每层都设一个域名服务器。
  • 根域名服务器:DNS分层结构叫做树形结构,分层结构的顶点就是根。域名服务器是指根部所设置的DNS叫做域名服务器。
  • 解析器:进项DNS查询的主机或软件叫做DNS解析器。我们所使用的电脑属于解析器。
  • 域名服务器注册了哪些管理的域名服务器的IP地址。
  • DNS根据IP地址进行检索时,需要从根域名服务器开始顺序执行。
  • 解析器的作用:
  • 为了调查IP地址,向域名服务器进行查询处理。

DNS查询

  • DNS查询的流程:
  • 域名服务器接收解析器发过来的查询请求,首先会在自己数据库查找。如果有域名对应的IP地址就返回。如果没有,则该域名服务器向上一层域名服务器进行查询请求,直到找到指定的域名服务器并由这个域名服务器返回想要的数据。
  • 解析器和域名服务器将最新域名和IP的信息保存在缓存例,这样可以减少每次查询的性能消耗。

ARP

  • 概念:
  • ARP是一种解决地址问题的协议。以目标IP地址为线索,用来定义下一个应该接收数据分包的网络设备对应的MAC地址。
  • APR只适用于IPv4;IPv6可以用ICMPv6
  • ARP的工作机制:
  • ARP是通过ARP请求和ARP响应来确定MAC地址。
  • A电脑如何知道B电脑的MAC地址呢?
  • 假设A电脑和B电脑在同一个链路内。A电脑通过广播发送一个ARP请求包,这个包含了目标地址的IP。由于广播的包可以被同一个链路上所有的主机或路由进行解析。如果ARP请求包的目标IP地址与自己的IP地址一致,那么电脑B将自己的MAC地址塞入到ARP响应包返回给电脑A。
  • 优点:
  • 根据ARP可以动态地进行地址解析,在TCP/IP中无需知道对方的MAC地址,就可以实现链路内通信。
  • 缺点:
  • 没法送一个IP数据报都要进行一次ARP请求以确定MAC地址,这将造成不必要的网络流量。
  • ARP包在网络上有被大量传播的可能性。
  • 改善措施:
  • 1.把获取的MAC地址缓存一段时间,下次再向这个IP地址发送数据就不需要重新发送ARP请求。这样可可以防止ARP包在网络上被大量广播的可能性。
  • 2.在接收主机端缓存发送端的MAC地址

ARP的组成

  • ARP的组成分为:硬件类型、上层协议类型、HLEN、PLEN、操作码、发送端的MAC地址、发送端的IP地址、接收端的MAC地址、接收端的IP地址。
  • ARP的组成图如下


RARP

  • 概念:
  • RARP是从MAC地址定位IP地址的一种协议。例如打印机连接到网络中就需要用到RARP。
  • RARP的工作机制:
  • RARP是通过RARP请求和RARP响应来确定IP地址。

代理ARP

  • ARP的缺点:
  • ARP的节点之间只能在同一条链路通信,而不能在两个网段之间通信。因为通常ARP包会被路由器隔离。
  • 代理ARP(Proxy ARP)的优点:
  • 可以将ARP请求转发给临近的网段。由此,两个网段以上的节点之间就可以通信。

ICMP

辅助IP的ICMP

  • 概念:
  • ICMP提供了验证网络设置和错误问题诊断等这类功能的协议。
  • ICMP消息的分类
  • 1.通知出错原因的错误消息
  • 2.用于诊断的查询信息

主要的ICMP消息

  • 1.目标不可达消息
  • 2.重定向消息
  • 包含了最合适的路由信息和元数据
  • 3.超时消息
  • 概念:
  • TTL(生存周期):IP包中的一个字段,它的值没经过路由器就会减值,直至减到0时该IP包会被丢弃。路由器会发送一个ICMP超时消息给发送端主机,并通知该包已被丢弃。
  • 设置IP包生存周期的目的:
  • 1.防止路由控制遇到问题发生循环状况时,避免IP包无休止地在网络上被转发。
  • 2.可以用TTL控制报的到达范围,例如设置一个较小TTL值。
  • 4.回送消息
  • 用以进行通信的主机或路由器之间,判断所发送的数据包是否已经成功到达对端的一种消息。网络上用PING命令就是利用这个消息实现。
  • ** +++++++++不怎么重要的ICMP信息有如下+++++++++++++++ **
  • 5.路由器探索消息
  • 用于发现与自己相连网络中的路由器。
  • 略过

IPV6中的IMCP

  • 重要性:
  • 在IPV6中,没有ICMPV6,IPV6就无法进行通信。
  • IMCPV6的分类:
  • 1.错误消息(1~127)
  • 2.信息消息(128~225)

DHCP

DHCP实现即插即用

  • 为什么要用DHCP?
  • 如果为每台主机设置IP地址会非常繁琐,特别是例如笔记本电脑、手机等移动设备,每移动一个地方都要重新设置IP地址。有了DHCP,计算机只要连接网络,就可以进行TCP/IP通信。DHCP让计算机即插即用成为可能。
  • DHCP的作用:
  • 为了实现自动设置IP地址、统一管理IP地址分配。
  • DHCP的优点:
  • 1.减轻了管理员的负担。
  • 2.用户不用与管理员进行交涉就可以接入到网络。
  • DHCP的缺点:
  • 1.如果DHCP服务器遇到故障,将导致无法自动分配IP地址,也导致网段内所有主机之间无法进行TCP/IP通信。
  • 改进措施:
  • 架设两台以上的DHCP服务器。
  • 如何架设DHCP服务器?
  • 1.首先需要架设一台DHCP服务器。
  • 2.进行相应的服务器配置,比如:将DHCP所要分配的IP地址设置到服务器上,还需要将相应的子网掩码、路由控制信息以及DNS服务器的地址等设置到服务器上。
  • 如何从DHCP中获取IP地址?
  • 1.客户端向DHCP服务器端发送DHCP发现包,要求设置IP地址和子网掩码。
  • 2.服务器收到后向DHCP客户端返回DHCP提供包,通知客户端可以使用的网络配置。
  • 3.客户端通过广播发出DHCP请求包,想要使用客户端返回来DHCP提供包中的网络配置。
  • 4.服务器通知客户端有可以使用的IP地址,客户端就可以进行TCP/IP通信。
  • 5.DHCP设置了一个限制时间,时间如果客户端还想继续使用,向服务器发出请求包延长这个时限。
  • 6.当客户端停止使用TCP/IP通信,向服务器发送DHCP解除包。
  • 工作过程如下图:


DHCP中继代理

  • 在家庭网络中,大多只有一个以太网(无线LAN)的网段,与其连接的主机台数也不会太多。通常宽带路由就可以充当DHCP的角色。
  • 当在较大规模的组织机构(比如公司、学校)的网络环境中,一般会有多个以太网(无线LAN)。使用DHCP中级代理可以很好的解决将DHCP服务器分设到各个路由器上而导致的配置复杂和难以管理的问题。
  • 概念:
  • 中继代理:对不同网段的IP地址分配有一个DHCP服务器统一进行管理和运维。在每个网段架设,只需要设置一个中继代理。它可以设置DHCP服务器的IP地址,从而可以在DHCP服务器上为每一个网段注册IP地址的分配范围。
  • 中继代理实现通常使用的是路由器,有些是通过软件方式实现。
  • DHCP中继代理的工作过程:
  • DHCP客户端向DHCP中继代理发送DHCP请求包,而DHCP中继代理在收到这个广播包以后再以单播的形式发给DHCP服务器。服务器端收到该包以后再向DHCP中继代理返回应答,并由DHCP中继代理将此包转发给DHCP客户端。
  • 工作过程如下图:


  • DHCP中继代理的优点:
  • 即使不在同一条链路上也可以实现统一分配和管理IP地址。

NAT

  • 概念:
  • NAT是用于在本地网络中使用私有地址,链接互联网时转而使用全局IP地址的技术。
  • NAPT(Network Address Ports Translator):是一种包含IP地址和端口号一起转换的技术。它不仅可以转换IP地址,还以转换TCP、UDP端口号。
  • 优点:
  • 可以实现一个全局IP地址与多个主机的通信。
  • NAT(NAPT)使用的目的:
  • 解决IPV4中IP地址不够用而开发技术,IPv6中是为了提高网络安全
  • IPV4和IPV6之间通信使用的是NAT-PT.
  • 概念:
  • NAT-PY是将IPv6的首部及转换为IPv4的首部的一种技术。

NAT的工作机制

  • 在NAT(NAPT)路由器内部,有一张自动生成的用来转换地址的表。当局域网内机器要与互联网中的机器通信,发送的第一个包时生成这张表,并按照表中的映射关系进行处理。

在UTP或TCP通信中,只有什么样才会被认为是同一个通信连接?

  • 只有目标地址、源地址、目标端口、源端口以及协议类型(TCP/UDP)五项内容一致时才会被认为是使用同一个通信连接。此时所使用的是NAPT。
  • 在TCP情况下,建立连接生成表,关闭连接从转换地址表中删除。

NAT所存在的问题

  • NAT(NAPT)都是依赖自己的转换表,有以下几点限制:
  • 1.无法与NAT的外部向内部服务器建立连接。(只能有内向外建立连接)
  • 2.转换表生成与转换表开销斗殴会产生一定的开销。
  • 3.通信过程中一旦NAT遇到异常需重新启动,所有的TCP连接都将被重置。
  • 4.即使备置两台NAT做容灾备份,TCP连接还是被断开。

NAT存在问题的解决措施

  • 方法一:改用IPV6
  • IPV6的IP地址得到极大扩展,也没有必要使用NAT。
  • 方法二:内网穿透(NAT穿透)
  • 内网的主机上的应用生成NAT转换表,先发送一个虚拟的网络包给NAT的外侧,NAT读取包的首部并生成一个转换表,这样就可以实现内网和外网主机之间的相互通信。
  • 还可以让内网的主机上的应用与NAT路由器进行通信生成NAT表,可以将NAT路由器上附属的全局IP地址传给应用,这样也可以实现内网主机和外网主机之间的相互通信。

IP隧道

  • A、B两个网络使用IPV6,如果中间网络是IPV4,A、B网络之间无法进行通信。为了正常通信,采用IP隧道。
  • 概念:
  • IP隧道可以将那些网络A发过来的IPV6的包打包成一个数据,再追加一个IPV4首部再转给网络C。
  • 一般情况下添加的首部是TCP和UDP的首部。
  • 这种在网络层的首部后继续追加网络层首部的通信方法就叫做IP隧道。
  • 带来的问题:
  • 既支持IPV4,又支持IPV6是一个庞大的工程,在这种网络环境中,路由表的量急剧增加,给网络管理添加了负担,而路由同时支持IPV6和IPV4是一个麻烦事情。
  • 解决办法:
  • 主干网络使用IPV6或IPV4进行传输,那些不支持的路由器就可以采用IP隧道技术进行转发。

其他IP的相关技术

LGMP(MLD):互联网组织管理协议(多播探听)

  • 遇到的问题:
  • 多播通信中,如果没有接收端,发送多播消息会造成网络流量的浪费。
  • 解决办法
  • 在多播通信中,确认接收端存在很有必要。而确认是否有接收daunting,要通过MLD实现。
  • IGMP(MLD)的作用
  • 1.向路由器表明想要接收多播消息(并通知想接收多播的地址)
  • 2.向交换集线器通知想要接收的多播地址。
  • 多播帧会不经过滤就会全部拷贝到交换集线器上,这样会导致网络负荷加重。支持IGMP(MLD)探听的交换集线器对通过的IGMP(MLD)包进行监控,获知多播发送的地址和端口,向指定的端口发送多播帧。这样可以过滤多播帧,从而降低网络负荷。

IP任播

  • 用途:
  • 日常生活中报警电话和消防电话。DNS根域名服务器。
  • 概念:
  • IP任播是指安歇提供同一种服务的服务器配置同一个IP地址,并与最近的服务器进行通信的一种方法。它同时适用于IPV4和IPV6。
  • IP任播的优点:
  • IP任播多个服务器设在同一个IP地址。当客户端发出请求时,可以有一个离客户端最近的服务器进行处理。
  • IP任播的缺点:
  • 在面向连接的TCP通信或UDP中要求通过连续的多个进行通信的,就显得力不从心。

通信质量的控制

  • 概念:
  • 收敛:通信线路上的拥塞叫做收敛。
  • 收敛的表现形式。
  • 网络发生拥塞时,路由器和集线器的队列溢出,会出现大量的丢包现象,影响通信的性能。
  • 例如:如果正访问WEB页面,会出现点击链接迟迟没有反应、或声音视频卡顿。

控制通信质量的机制

  • 对需要保证通信质量的包,路由器进行特殊处理,并且尽力对其进行优先处理。
  • IntServ
  • 概念:
  • IntServ是针对特定应用(指源IP地址、目标IP地址、源端口、目标端口以及协议号完全一致)之间的通信进行质量控制的机制。
  • 流量设置:IntServ只有在必要的时候才要求路由器上进行设置。实现这种流量控制的协议时RSVP。
  • 工作机制
  • IntServ所涉及的通信并非一直执行,只是在必要的时候进行。RSVP中接收端针对发送端传送的包,并在他们之间所有的路由器上进行有质量控制的设定。路由器随后就根据这些设置对包进行有针对性的处理。
  • RSVP的缺点。
  • 1.REVP的机制复杂,在大规模的网络中实现和应用比较困难。
  • 2.设置流量过高,会带来一系列的问题。
  • 解决措施:
  • Diffserv
  • DisffServ
  • 概念:
  • DIsffServ是对某些特定的供应商进行权重排名,从而进行数据包的有限处理的质量控制机制。
  • DisffServ域:进行DiffServ质量控制的网络叫做DiffServ域。
  • 工作机制:
  • 进行D
  • IntServ和Diffserv的不同?

IntServ

Diffserv

不用点:

IntServ针对应用的连接进行详细的通信质量控制。

Diffserv针对特定网络进行较粗粒度的质量控制

INServ中没进行一次通信都要设置一次流量设置。路由器必须针对不同的流量进行质量控制,机制复杂,影响实用性。

Diffserv机制简单,实用性好。

通信质量包括哪几方面?

  • 带宽、延迟、延时波动等。

显示拥塞通知

  • TCP控制的网络拥塞方式,是通过数据包的实际损坏情况来判断是否发生拥塞。这种方法,并能在数据包损坏之前减少数据包的发送量。
  • 显示拥塞通知方式(ECN):将IP首部的TOS字段置换为ENC字段,并在TCP首部的保留位增加CWR标志和ECE标志。通知拥塞的时候,要将当前的拥塞情况传达给哪些发送包的源地址主机。

遇到的问题:

  • 1.能不能发送出去。
  • 2.即使发送出去,如果遇到一个不支持拥塞控制的协议,也没有意义。

ECN的机制

  • 在发送包的IP首部中记录路由器是否遇到拥塞,并在返回包的TCP首部中通知是否发生过拥塞。
  • 拥塞检查在网络层进行,而拥塞通知则在传输层进行,这两层相互协助实现了拥塞通知功能。

Mobile IP

遇到的问题:

  • IP地址由网络地址和主句地址两部分组成。其中 网络地址表示全网中子网的位置,因此对于不同的地域的它的值也不同。这些设备连接到不同子网,都会由DHCP或手动的方式分配到不同的IP地址。
  • TCP是面向连接的协议,连接生命周期内都需要发送端和接收端主句的IP地址不发生变化。UDP情况下是无法进行通信的。所连接的设备一旦子网发生变化,则无法通过TCP继续进行通信,使用UDP也很难处理。

工作机制:

  • 工作机制如下图所示:


概念:

  • 移动主机(MH:Mobile Host):是指安歇移动了位置,IP地址却不变的设备。
  • 归属网络:移动主机在没移动的时候,所连接的网络,IP地址叫做归属地址。归属地址不会改变地址。
  • 移动地址(CoA:Care-of address):当移动主机处于归属地址,移动主机移动只会改变所处子网中的IP地址,称为移动地址。
  • 归属代理(MA:Home Agent):处于归属网络下,可监控移动设备的位置,并转发数据包给移动主机。
  • 外部代理(FA:foreighn Agent):所有需要接入网络的移动主机都需要它,用于支持移动主机的移动设备。
  • 1.移动主机移动之前按照以往的模式进行通信。

特点:

  • Mobile IP中的移动主机,在移动之前按照以往的模式进行通信,而移动之后则通过外部代理发送转发数据包向归属代理通知自己的地址。从应用层面看移动主机,会发现他永远使用归属地址进行通信。然而,实际上MMobile IP是使用转交地址转发数据包。

优点:

  • Mobile IP这种技术所连接的子网IP发生变化时,主机IP地址人保存 不变。应用不需要做任何改动,即使在IP地址发生变化的环境下,通信也能够继续。

缺点:

  • 没有不外代理的网络不能通信。
  • IP包三角形路径被转发因此效率不高。
  • 为了提高,如果自己的域向外部发送包的源地址不是本域在用的IP地址,则丢弃该包。而这种情况已经越来越多。

Mobile IPv6

  • Mobile IPv6解决了Mobile问题:
  • 1.外部代理的功能由市县Mobile IPv6的移动主机自己承担。
  • 2.考虑路径最优化,可以不用经过归属代理进行直接通信。
  • 3.IPv6首部的源地址中赋与移动地址,不让防火墙丢弃。
  • 进行Mobile IPv6之间通信的条件
  • 移动主机和通信对端的主机都需要支持Mobile IPv6

TCP与UDP

TCP

  • tcp是面向连接的、可靠地的流协议。
  • TCP 提供可靠传输,实行“顺序控制”或“重发机制”,还具备“流量控制”、“拥塞控制”、提高网络利用率等众多功能。

TCP优点

  • 1.当丢包时可以进行重发控制
  • 2.当包到达次序错乱时进行,可以进行次序控制。
  • 3.当在确认通信段存在时才会发送数据,可以进行连接流量控制。

TCP缺点

  • 报的往返时间越长通信性能越低。

TCP通过什么方式实现可靠性传输

  • TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。

TCP中的序列号和确认应答

  • 概念:
  • 确认应答(ACK):当发送端的数据到达接收主机时,接收端主机会返回一个已收到的消息的通知。这个消息叫做确认应答。
  • 否定确认应答(NACK)
  • 使用序列号的原因?
  • 当源主机没有收到目标主机发来的确认应答,原主机会按照机制重发数据。对于目标主机会反复收到相同的数据,是一场灾难。而为了对上层应用提供可靠的传输,并需要放弃重复的数据包。上面这些确认应答、重发控制以及重复控制等功能都可以通过序列号实现。
  • 序列号:序列号是按顺序给发送数据的每个字节都标上号码的编号。接收端查询接收数据TCP首部中的序列号和数据的长度,将自己下一步应该接收的序列号作为应答送回去。就这样,通过序列号和却热应答,TCP可以实现可靠传输。

重发超时如何确定

  • 概念:
  • 重发超时:是指在重发数据之前,等待确认应答到来的那个特定时间间隔。如果超过这个时间仍未收到确认应答,发送端将进行数据重发。
  • 重发时间如何确定?
  • 重发超时 ≈ 计算每次发包( 往返时间 + 偏差 )
  • 重发超时的处理措施
  • 1.在UNIX和windows系统,起始超时时间一般设置在6S左右,超时都以0.5秒为单位进行控制。
  • 2.数据重发后,若没有说到确认应答,则进行再次发送。等待确认时间以2倍、4倍的指数函数延迟。
  • 3.当达到一定的重发次数,如果没有任何应答返回,认为网络或对端主机发生异常,强制关闭连接,并且通知应用通信异常强行终止。

TCP中的最大消息长度

  • 概念:
  • 最大消息长度(MSS):在建立TCP连接时,确认发送数据包的单位,称为最大消息长度。理想情况下,最大消息长度正好是IP中不会被分片处理的最大数据长度。
  • 最大消息长度是怎么计算出来的?
  • MSS实在三次握手的时候,在两端主机之间被计算得出。两端的主机在发出建立连接的请求是,会在TCP首部中写入MSS选项,告诉对方自己的接口能够适应的MSS的大小。然后会在两者之间选择一个较小的值投入使用。

TCP中窗口控制提高速度

  • 确认应答不再是以每个分段,而是以更大的单位进行确认,转发时间将会被大幅度的缩短。发送端在发送一个段以后不要一直等待确认应答,而是继续发送。
  • 运行的机制,如下图


  • 概念:
  • 窗口大小:就是指无需等待确认应答而可以继续发送数据的最大值。
  • 窗口大小的这个气质使用了大量的缓冲区。发送端主机在等到确认应答返回之前,必须在缓冲区中保留这部分数据。当数据发出后若如期收到确认应答就可以不用再进行重发,此时数据就可以从缓存区清除。

滑动窗口的控制

  • 滑动窗口在接收端。滑动窗口以外的部分包括尚未发送的数据预计以及已经确认段收到的数据。当发出端收到确认应答时,将窗口向后滑动到确认应答中的序列号的位置。这样可以顺序地将多个端同时发送提高通信性能。这种机制被称为滑动窗口控制。
  • 滑动窗口控制的示意图,如下:


窗口控制中出现段的丢失该怎么办?

  • 高速重发控制:当某段报文段丢失后,发送端主机A会一直收到接收端主机B的确认应答,这个确认应答应答提箱发送端“我想接收的是从某某开始的数据”。如果发送端主机如果连续三次收到同一个确认应答,将会对其所对应的数据进行重发。这种机制比之前的超时管理更加高效,被称为高速重发机制。

流控制

  • 概念:
  • TCP提供一种机制可以让发送端根据接收端的实际接收能力控制发送的数据量。
  • 运行的机制:
  • 接收端主机向发送端主机通知自己可以接受数据的大小,于是发送端就会发送不超过这个限度的数据。该大小限度被称作窗口大小。
  • 窗口的大小值由接收端主机决定的。TCP首部中有通知窗口大小的字段,接收主机将自己可以接收的缓冲区大小放入到这个字段中通知给发送端。这个字段值越大,说明网络的吞吐量越高。
  • 当接收端的这个缓冲区一旦面临数据溢出,窗口大小的值也会随之被设置成一个更小的值通知发送端,从而控制数据发送量。这形成了一个完整的TCP流量控制。
  • 一旦窗口更新通知在传送途中丢失,会导致无法继续通信,因此发送端主机会时不时发送窗口探测包。
  • 流量控制的优点:
  • 1.发送端主机根据接收端主机的窗口大小通知进行流量控制。
  • 2.防止发送端主机第一发送过大数据导致接收端主机无法处理的情况发生。

拥塞控制

  • 面临的问题:
  • 在网络出现拥堵时,如果突然发送一个较大量的数据,极有可能导致整个网络的瘫痪。
  • 解决措施:
  • TCP为了防止该问题的出现,在通信一开始时就会通过一个叫做慢启动的算法得出的值,对发送数据量进行控制。
  • 概念:
  • 拥塞窗口:拥塞窗口在发送端,拥塞窗口没有缓冲区,拥塞窗口指某一源端数据流在一个RTT内可以最多发送的数据包数
  • 拥塞控制运行机制:
  • 1.在慢启动时,将这个拥塞窗口的大小设置为1个数据段(卫星通信设为1MSS)(以太网设为3MSS)
  • 2.发送端每收到一次确认应答(ACK),拥塞窗口值就加1.
  • 3.发送端当发送数据包时,将拥塞窗口的大小与接收端主机通知的大小做比较,从中取较小值。
  • 拥塞控制的优点:
  • 1.可以有效地减少通信开始时连续发包导致的网络拥堵
  • 2.可以避免网络拥塞情况的发生。
  • 拥塞控制的缺点:
  • 随着每次往返,拥塞窗口就会呈指数增长,拥堵状况的激增甚至导致网络拥塞的发生。
  • 解决措施:
  • TCP的通信开始时,没有设置慢启动阀值。而在超时重发时,才会设置为当时拥塞窗口一半的大小。只要拥塞窗口的值超过这个阀值,每收到一次确认应答时,按比例放大拥塞。计算公式如下图所示:


  • TCP吞吐量的特点
  • 窗口大小直接影响数据被转发时的吞吐量,一般情况下,窗口越大,越会形成高吞吐量的通信。当TCP通信开始后,网络吞吐量会逐渐上升,但是随着网络拥堵的发生吞吐量也会急剧下降。于是再次进入吞吐量缓慢上升过程。

UDP数据

  • UDP是面向无连接的通信协议,因此不检查对端是否可以通信,直接将UDP包发送出去。UDP是不具有可靠性的数据报协议,细微的处理它会交给上层应用去完成。
  • UDP,可以确保发送消息的大小,却不能保证消息一定会到达。有时候应用需要进行重发处理。

用途:

  • 用于对高速传输和实时性有较高要求的通信或广播通信。
  • 用于多播和广播通信
  • RIP、DHCP等基于广播的协议也要依赖于UDP。
  • 包总量较小的通信(DNS、SNMP等)
  • 限定于LAN等特定网络中的应用通信
  • 视频、音频等多媒体通信

UDP的缺点:

  • 1.在网络拥堵情况下,UDP不能够进行流量控制等避免网络拥塞的行为。
  • 2.传输途中即使出现丢包,UDP也不负责重发。
  • 3.包到达的次序错乱时,不能进行次序控制。
  • 4.如果需要这些细节控制,需要有UDP的应用程序去处理。

SCOKET

  • 应用程序使用Scoket,可以设置对端的IP地址、端口号,并实现数据的发送与接收。
  • 应用程序使用Scoket的过程如下图:


端口号

  • 概念:
  • 端口号尤其适用的传输层协议决定的。端口号是用来识别同一台计算机中进行通信的不同的应用程序。因此也被称为程序地址。
  • 计算机根据端口号识别应用,并准确将数据传输。

端口号如何确定:

  • 标志既定的端口号(静态分配法)
  • 范围0-1023 1-24-49151数据之间
  • 时序分配法(动态分配法)
  • 客户端应用程序端口号交给操作系统分配,操作系统为每个应用程序分配互不冲突的端口号。即使一个客户端程序发起多个TCP连接,操作系统就会分配5个互不冲突的端口号。

端口号与协议

  • 端口号是由其使用的传输层协议决定。不同的传输协议可以使用相同的端口号。
  • 知名端口号和传输层协议没有关系。例如53端口在TCP与UDP中都用于DNS服务,而80端口用于HTTP通信(HTTP目前只能使用TCP)
  • 原因:
  • 数据到达IP层后,会先检查IP首部中的协议号,在传给相应的模块去做处理,因此相互之间不会受到影响。

提高网络利用率的规范

Nagle算法

  • 概念:
  • 为了提高网络利用率,经常使用一个叫Nagle算法。该算法是指发送端即使还有应该发送的数据,但如果这部分数据很少的话,则进行延迟发送的一种处理机制。
  • Nagle的处理机制:
  • 仅在下列任意一条件下才能发送数据,如果不满足,则暂停等待一段时间再发送。
  • 1.已发送的数据都已经收到确认应答时
  • 2.可以发送最大段长度(MSS)的数据时
  • 优点:
  • 提高网络利用率
  • 缺点

优点:

缺点:

提高网络利用率。

可能造成某种程度的延迟。在窗口系统以及机械控制等领域使用TCP,往往关闭对该算法的启用

延迟确认应答

  • 概念:
  • 引入一个方法,在收到数据以后并不立即返回确认应答,而是延迟一段时间的一种机制。
  • 事实上,大可不必为每一个数据段都进行一次确认应答。TCP文件传输中,绝大多数是没两个数据段返回一次确认应答。

捎带应答

  • 概念:
  • 根据应用层协议,发送出去的消息到达对端,对端进行处理以后,会返回一个回执。例如,电子邮件协议的SMTP或POP、文件传输协议FTP中连接控制部分等。在此类通信中,TCP的确认应答和回执数据可以通过一个包发送。这种方式叫做捎带应答。接收端接收数据后,不是立刻返回确认应答,而是将接收的数据传给应用处理生成返回数据再进行发送。
  • 捎带应答是指同一个TCP包既发送数据也发送确认应答的一种机制。
  • 捎带应答的优点:
  • 可以使收发的数据量减少。
  • 提高网络利用率从而降低计算机负荷。
  • 捎带应答的缺点:
  • 捎带应答中的,确认应答必须得等到应用处理完数据并将作为回执数据返回为止,才能进行捎带应答。

其他传输层协议

  • UDP-Lite:(轻量级用户数据报协议)
  • 是UDP的扩展。
  • SCTP:(流控制传输协议)
  • 和TCP类似,都是一种提供数据到达与否相关可靠性检查的传输层协议。
  • DCCP:(数据包拥塞控制协议)
  • 和UDP的扩展,相当于在UDP上加上拥塞控制。

UDP首部格式

UDP首部的组成:

  • UDP首部由源端口号、目标端口号、包长和校验和 组成。
  • 如下图所示:

  • 源端口号(可选项):表示发送端端口号,字段长度16位。
  • 没有源端口号时候时候设为0.可用于不需要返回的通信中。
  • 目标端口号:
  • 表示接受端口号,字段长度16位。
  • 包长度
  • 该字段保存了UDP首部的长度跟数据的长度之和。
  • 校验和(可选项
  • 校验和是为了提供可靠的UDP首部和数据而设计。
  • 不进行校验时,校验和字段设为0。由于不进行校验和计算,协议处理的开销就会降低,从而可以提高数据转发速度。
  • 推荐使用)在互联网中推荐使用校验和检查。

需要在校验和计算中计算UDP伪首部的理由

  • TCP或UDP通过伪首部,得以对5大要素(源IP地址目标IP地址源端口目标端口协议号)进行校验,从而实现了即使在IP首部并不可靠的情况下仍够提供可靠地通信传输。

TCP首部格式

  • TCP没有表示包长度和数据长度的字段。可由IP层得到TCP的包长,从而得到数据的长度。
  • TCP首部由源端口号、目标端口号、序列号、确认应答号、数据偏移、保留、控制位、窗口大小、校验和、紧急指针、选项(长度可变)、填充 组成。
  • 如下图所示

  • TCP校验和与UDP类似,但是TCP校验和无法关闭

使用校验和的目的

  • TCP或UDP校验和检查和判断协议首部和数据是否被破坏。
  • 区别:FCS和检验和之间不同
  • 数据链路的FCS是检查噪声干扰所导致的错误
  • TCP(或UDP)的检验和是对路由器内存故障或路由器的程序漏洞导致的数据是否被破坏的检查。

路由协议

路由控制范围

  • 人们根据路由控制的范围常使用IGP(域内路由协议/内部网关协议)和EGP(域间路由协议/外部网关协议)两种类型的路由协议。
  • 自治系统内部动态路由采用的协议时域内路由协议,即IGP。而自治系统之间的路由控制采用的是域间路由协议即EGP。
  • IGP包括RIP(路由信息协议)、RIP2、OSPF(开发式最短路径优先)等众多协议
  • EGP包括BGP(便捷网关协议)等协议。

概念:

  • 路由选择域(自治系统):自定自己的路由策略,并以此为准在一个或多个网络群体中采用的小型单位叫做路由选择域。

路由算法

  • 路由控制最具代表性的算法:
  • 1.距离向量算法(DV)
  • 2.链路状态算法

概念:

  • 距离向量算法(DV):是指根据距离和方向决定目标网络或目标主机位置的一种方法。
  • 链路状态算法:是路由器在了解网络整体链接状态的基础上生成路由控制表的一种方法。该方法中,每个路由器必须保持同样的信息才能进行正确的路由选择

距离向量算法的优缺点:

  • 优点:
  • 路由器之间可以互换目标网络的方向及其距离的相关信息,并以这些信息为基础制作路由控制表。这种方法在处理上比较简单。
  • 缺点:
  • 当网络构造复杂时,在获得稳定的路由信息之前需要消耗一定时间,也容易发生路由循环等问题。

链路状态算法的优缺点:

  • 优点:
  • 链路状态算法中所有路由器持有相同的信息。对于任何一台路由器,网络拓扑完全一样。只要每个路由器尽快地域其他路由器同步路由信息,就可以使路由信息达到一个稳定的状态。
  • 当网络构造复杂时,每个路由器也能够保持正确的路由信息、进行稳定的路由选择。
  • 缺点:
  • 距离向量算法中每个路由器掌握的信息都不相同。通往每个网络所耗的激励也根据路由气的不同而不同。有个缺点是不太容易判断每个路由器上的信息是否正确。
  • 当处在一个复杂庞大的网络结构中,管理和处理代理信息需要高性能的电脑支持。

主要的路由协议

  • 主要的路由协议如下图所示:

RIP

  • 概念:
  • RIP是距离向量的一种路由协议,广泛应用于LAN。

广播路由控制信息

  • RIP将路由控制信息定期(30s/pcs)向全网广播。没有收到路由控制信息,连接就会被断开。不过,这可能由于丢包导致的,因此RIP规定等待5次。如果等6次认为收到路由信息,才会真正关闭连接。

根据距离向量确定路由

  • RIP基于距离向量算法决定路径。距离的单位为“跳数”。跳数是指所经过的路由器的个数。RIP希望尽可能少通过路由器将数据包转发到目标的IP地址。根据距离向量生成距离向量表,再抽出较小的路由生成最终的路由控制表。
  • 特点:
  • 针对同一个网络中如果有两条路径,那么选择距离较短的一个。

使用子网掩码时的RIP处理

  • 1.从接口中得到的IP地址 --->得到网络地址
  • 2.流经路由器的包中IP地址 --->得到网络地址
  • 如果两者的网络地址相同,以接口的网络地址长度为准。
  • 如果两者的网络地址不同,IP地址的分类所确定的网络地址长度为准。

RIP中路由变更时的处理

  • RIP的基本行为
  • 1.将自己所知道的路由信息定期进行广播。
  • 2.一定认为网络被断开,其他路由器也就可以得知网络已经断开。
  • 概念:
  • 无线计数:路由器A将网络A的连接信息发送给路由器B,路由器B将自己路由器信息在原来的基础上加1跳后发送给路由器A和路由器C。假定路由器A与网络A发生故障。路由器A会接收路由器B的消息,这使得路由器A误认为自己信息还可以通过路由器B到达网络A。像这个问题被称为无限计数。
  • 示意图如下:
  • 解决无限计数的办法:
  • 1.最长距离不超过16。这个信息指挥被保留120秒。一旦超过这个时间,由垃圾收集计时器将信息删除。
  • 2.规定路由器不在吧所受到的路由消息原路返还给发送端。这也被称做水平分割。
  • 当遇到网络本身有环路的情况下,上述方法不奏效;如何解决?
  • 问题:
  • 在有环路情况下,反向的回路被称为迂回的通道,路由信息会不断地被循环往复地转发。当环路内部某一处发生通信故障时,通常可以设置一个正确的迂回通道。当网络A的通信发生故障时,将无法传送正确的路由信息。尤其是在环路有多余的情况下,需要很长时间才能产生正确的路由信息。
  • 解决措施。
  • 1.毒性逆转
  • 概念:
  • 毒性逆转是指当网络中发生链路被断开的时候,将这个无法通信的消息传播出去。即发送一个距离为16的消息。
  • 2.触发更新
  • 概念:
  • 触发更新是指当路由信息发生变化时,不等待30秒而是立刻发送出去的一种方法。
  • 优点:
  • 在链路不通时,可以迅速传送消息以使路由器信息尽快收敛。避免错误路由信息被不断发送。
  • 终极解决方案:
  • 为了解决在众多环路的复杂的网络环境中,路由器信息想要叨叨一个稳定的状态是需要花一段时间,采用OSPF。

RIP2

RIP2相比RIP的不同

  • 使用多播
  • 减少网络的流量,缩小了对无关主机的影响。
  • 支持子网掩码
  • 支持在其交换的路由信息中加入子网掩码信息。
  • 路由选择域
  • 在同一个网络中可以使用逻辑上独立的多个RIP。
  • 外部路由标志
  • 通常用于把BGP(便捷网关协议)等获得的路由控制信息通过RIP传递给AS(自治系统)内。
  • 身份验证密钥
  • RIP包中携带密码。只有在自己能够是被这个密码时才接收数据,否则忽略这个RIP包。

OSPF

  • 概念:
  • OSPF是根据OSI的IS-IS(中间系统间的路由选择协议)而提出的一种链路状态型路由协议。
  • 特点:
  • 1.由于采用链路状态类型,即使网络中有环路,也能够进行稳定的路由控制。
  • 2.OSPF支持子网掩码。RIP中无法实现的可变长度子网构造的网络路由控制成为现实。
  • 3.为了减少网络流量,OSPF引入区域。区域是将一个自治网络划分为若干个更小的范围。由此,可以剑豪路由协议之间不必要的交换。
  • 4.OSPF可以针对IP首部中的区分服务(TOS)字段,生成多个路由控制表。(部分实现ISPF的路由器支持

RIP和OSPF路由器选择的不同:

  • RIP是选择路由器个数最少的路径。
  • OSPF是根据每条链路路由器权重,选择权重最小的路径。权重可以手动设置,应用起来灵活。

基础知识

  • 在简单网络结构中,每个路由仅跟一个路由器相互连接时,相邻路由器之间可以交换路由信息。
  • 在比较复杂网络结构中,当同一个链路中加入了以太网或FDDI等路由器时,就不需要在所有相邻的路由器之间都进行控制信息交换,而是确定一个指定路由器,并以它为中心交换路由信息。

RIP和OSPF的优缺点

  • RIP缺点:
  • RIP中包的类型只有一种。它利用路由控制信息,一边确认是否连接了网络,一边传送网络信息。当网络的个数约到,每次所要交换的路由控制信息就越大。
  • 当网络处于比较稳定的时,还要定期交换相同的路由控制信息,在一定程度上浪费了网络带宽。、
  • OSPF优点:
  • OSPF中包的类型有5种。如下图所示;OSPF可以大大减少网络流量,还可以达到迅速更新路由信息的目的。
  • OSPF生成的路由控制表更加清晰,还可以有效的降低无线循环发生的问题。
  • OSPF缺点:
  • 当网络规模最贱扩大时,最短路径优先算法的处理时间就会变长,对CPU和内存的消耗也就越大。

OSPF的工作机制:

  • 1.发送问候包确认是否连接。
  • 2.每个路由器为了同步路由控制信息,利用数据库描述包相互发送路由摘要信息和版本信息。
  • 3.如果版本比较老
  • 3.1 首先发出一个链路状态请求包请求路由控制信息
  • 3.2 然后由链路状态更新包接收路由状态信息
  • 3.3 最后在通过链路状态包通知其他路由器网络状态的变化。

链路状态更新包

  • 链路状态更新包的信息主要分为两类:
  • 网络LSA(网络链路状态通告):表示这个网络与哪些路由器相连
  • 路由器LSA(路由器链路状态通告):表示这个路由器与哪些网络相连
  • 如果这两种信息主要采用OSPF发送,每个路由器都可以生成一个表示网络结构的链路状态数据库。可以根据这个数据库,采用Dijkstra算法(最短路径优先算法)生成相应的路由控制表。

将区域分层化进行细分管理

  • OSPF引入区域的概念
  • 区域是指连接在一起的网络和主机划分为小组,使一个自治系统(AS)内有多个区域,其中有一个主干区域,其余区域与这个主干区域相连。
  • OSPF中的路由器:
  • 边界路由器:连接区域与主干区域的路由器称为边界路由器。
  • 内部路由器:区域内部的路由器称为内部路由器
  • 主干路由器:只与主干区域内连接的路由器叫做主干路由器。
  • AS边界路由器:与外部相连接的路由器就是AS边界路由器
  • 模型图如下图所示:

BGP

  • 概念:
  • BGP(便捷网关协议):是连接不同组织结构(连接不同自治系统)的一种协议。它属于外部网关协议(EGP),它是路径向量协议。主要作用于ISP之间连接的部分。
  • BGP扬声器:根据BGP交换路由控制信息的路由器叫做BGP扬声器。
  • AS路径信息访问列表:BGP中数据包送达目标网络时,会生成一个中途经过所有AS标号列表。这种表格叫做AS路径信息访问列表
  • 在BGP、RIP和OSPF共同作用下,才能进行整个互联网的路由控制。
  • 路由表:
  • BGP的最终路由控制表由网络地址和下一站的路由器组来表示,需要经过AS个数进行路由控制。
  • 不同地区的AS通过签约的相互连接。例如:为了使AS1与AS3之间能够实现通信,需要有AS2(或者AS4与AS5组合起来的)进行数据中转才能实现。如果中线AS不愿意中转,AS1与AS3之间需要建立专线才能实现通信。
  • BGP原理如下图所示:

BGP是路径向量协议

  • BGP一般选择AS数最少的路径,还需要遵循各个AS之间签约的细节进行更细粒度的路由选择。
  • 概念:
  • AS路径访问列表包含转发方向、距离还包括途径AS的标号。像BGP这种根据所要经过的AS路径访问列表进行路由控制的协议属于路径向量型协议。
  • 路径向量型BGP相比距离向量型RIP的优点:
  • 距离向量型RIP,因为无法检出环路,所以可能发生无限计数的问题。而路径向量型,因为能够检出环路,避免无限计数问题。BGP还具有策略路由的优势。

MPLS

  • 概念:
  • MPLS(多协议标记交换技术):标记交换对每隔IP包都设定一个叫做"标记"的值,然后根据这个“标记”进行转发。MPLS正式在LSR上对数据包进行追加标记和删除标记操作。
  • 标记边缘路由器(LER):MPLS网络中实现MPLS功能的路由器叫做标记交换路由器。特别是与外部链接的那部分LSR叫做标记边缘路由器。
  • 交换路径(LSP):MPLS中目标地址和数据包童谣通过由标记决定的同一个路径,这个路径叫做交换路径。LSP分两种:单点LSP和合并LSP。扩展的LSP有两种:一是:通过各个LSP向相邻的LSR分配MPLS标记;二是:由路由协议载着标记信息进行交互。
  • 路由技术:是基于IP地址中最长匹配原则进行转发。

MPLS特点

  • MPLS的标记不像MAC地址直接对应到硬件设备。因此,MPLS不需要具备一台网或ATM等数据链路层协议的作用,而只需要关注它与下一层IP层只爱你的功能和协议即可。
  • MPLS无法被整个互联网采用。转发方式也与IP网不同。

MPLS和IP转发的不同:

  • 如下图所示

交换路径的特点:

*   LSP属于单向通路,如果需要双向通信需要两个LSP。

MPLS的优点

  • 转发速度快

转发IP:

转发MPLS:

路由器转发IP数据包时,首先对目标地址和路由控制表中可变长的网络地址进行比较,然后从中选出最长匹配的路径才能进行转发。

MPLS使用固定长度标记信息,使得处理信息更加简单,可以通过高速硬件实现转发。

互联网中主干路由器需要保存大量路由表才能进行处理

MPLS配置少,所要处理的数据量大幅减少。

MPLS通用性,不仅可以对IPV4、IPV6实现高速转发,针对其他协议也可以实现高速转发。

  • 利用标记生成虚拟的路径,并它在上面实现IP等数据包的通信。
  • 可以使得IP网也可以提供基于MPLS的通信质量控制、带宽保证和VPN等功能。

应用协议

  • 应用协议包含哪些?


DNS、URI、HTML、HTTP、TLS/SSL、


SMTP、POP、IMAP、MIME、TELNET、


SSH、FTP、SNMP、MIB、SIP、RTP、LDAP


  • 概念:
  • 应用协议主要是指OSI参考模型中第5层~第7层的协议。应用协议是为了实现某种应用而设计的应用协议,只适用某一类应用。

文件传输

  • 概念:
  • FTP(文件传输协议)是两个相连的计算机之间进行传输时所用的协议。
  • FTP的工作机制:
  • 它使用两条TCP连接:一条用来控制,另一条用于文件传输。
  • 通过ASCII码字符串进行的交互处理。

MIME

  • 可以发送静态图像、动画、声音、程序等各种形式的数据。
  • MIME由首部和正文两部分组成。首部不能空行,否则后面的部分被视为正文。
  • 多个MIME消息可以组成为一个MIME消息。每个部分都是由MIME首部和正文组成。

WWW

安全协议

VPN

  • 概念:
  • VPN(虚拟专用网):李永乐加密和认证技术打造的网络,具有“即使读取到数据也无法读懂”,“检查是否被篡改”等功能。
  • 构件VPN时,使用最广泛的是:IPsec。
  • 概念:
  • IPsec:它是指IP首部后面追加“封装安全有效载荷”和认证首部,从而对此后的数据进行加密。

TLS/SSL与HTTPS