[关闭]
@lasdtc 2013-12-09T09:17:49.000000Z 字数 17835 阅读 2535

计算机网络

简单的说即连接两台或多台计算机进行通信的系统。

分类

按照其覆盖范围分成以下类别:

分类 简介
个人网(Personal Area Network,PAN) 个人网指个人范围(随身携带或数米之内)的计算设备(如计算机,电话,PDA,数码相机等)组成的通信网络。
局域网(Local Area Network, LAN) 又称内网。指覆盖局部区域(如办公室或楼层)的计算机网络。
城域网(Metropolitan Area Network,MAN) 城域网指大型的计算机网络,是介于LAN和WAN之间能传输语音与数据的公用网络,这些网络通常涵盖一个大学校园或一座城市。
广域网Wide Area Network, WAN) 又称外网、公网。是连接不同地区的局域网或城域网的计算机通信的远程网,通常跨接很大的物理范围。

拓扑结构

计算机网络的拓扑结构可分为:

分类 简介 图例
星型拓扑星型网(star network) 星型拓扑(star network)是指网络中的各节点设备通过一个网络集中设备(如集线器HUB或者交换机Switch)连接在一起,各节点呈星状分布的网络连接方式。 星型网
网型拓扑网型网 (Mesh network) 由于结点之间有多条线路相连,所以网络的可靠性较高。由于结构比较复杂,建设成本较高。 网型网
环型拓扑环型网 环型拓扑由各结点首尾相连形成一个闭合环型线路。环型网络中的信息传送是单向的,即沿一个方向从一个结点传到另一个结点 环型网
树状拓扑树型网 (Tree network) 树型拓扑是一种分级结构。在树型结构的网络中,任意两个结点之间不产生回路,每条通路都支持双向传输。 树型网
总线拓扑总线网 (Bus network) 总线型结构由一条高速公用主干电缆即总线连接若干个结点构成网络。网络中所有的结点通过总线进行信息的传输。 总线网
混合型拓扑 混合型拓扑可以是不规则型的网络,也可以是点-点相连结构的网络。

OSI模型

OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是ISO(国际标准化组织)提出的一个试图使各种计算机在世界范围内互连为网络的标准框架。
OSI模型

层次 协议
应用层 HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP
表示层 XDR、ASN.1、SMB、AFP、NCP
会话层 ASAP、SSH、ISO 8327 / CCITT X.225、RPC、NetBIOS、ASP、Winsock、BSD sockets
传输层 TCP、UDP、TLS、RTP、SCTP、SPX、ATP、IL
网络层 IP、ICMP、IGMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP、RARP、X.25
数据链路层 以太网、令牌环、HDLC、帧中继、ISDN、ATM、IEEE 802.11、FDDI、PPP
物理层 线路、无线电、光纤

TCP/IP 协议

  1. TCP/IP协议,包含了一系列构成互联网基础的网络协议。这些协议最早发源于美国国防部的ARPA网项目。
    • ARPA网:Advanced Research Projects Agency Network,为美国国防高等研究计划署开发的世界上第一个运营的封包交换网络,它是全球互联网的始祖。ARPA网最开始采用旧的网络控制协议(NCP,Network Control Protocol),后开发了TCP/IP。
  2. TCP/IP参考模型

    TCP/IP OSI
    应用层 应用层,表示层,会话层
    主机到主机层(TCP)(又称传输层) 传输层
    网络层(IP)(又称互联层) 网络层
    网络接口层(又称链路层) 数据链路层,物理层

    TCP/IP协议中的网络拓扑和数据流
    两个因特网主机通过两个路由器和对应的层连接。各主机上的应用通过一些数据通道相互执行读取操作。
    TCP/IP协议中不同的层应用数据的封装递减
    RFC 1122中描述的沿着不同的层应用数据的封装递减。

    RFC(Request For Comments)是一系列以编号排定的文件。文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件,由互联网协会(ISOC)赞助发布。RFC始于1969年,由斯蒂芬·克罗克用来记录有关ARPANET开发的非正式文档,最终演变为用来记录互联网规范、协议、过程等的标准文件。

  3. 术语

    • 协议栈。协议栈(Protocol Stack)是指网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议。
    • 分组/协议数据单元。大多数计算机网络都不能连续地传送任意长的数据,所以实际上网络系统把数据分割成小块,然后逐块地发送,这种小块就称作分组(packet),也称协议数据单元(PDU)。PDU是网络的对等实体传送的信息单元,包括了控制信息,地址信息,或者数据。
    OSI层次 PDU
    物理层 数据位
    数据链路层 数据帧
    网络层 数据包
    传输层 数据段
    • 分组交换(Packet switching)。分组(又称消息、或消息碎片)在节点间单独路由,不需要在传输前先建立通信路径。互联网是典型的分组交换网络。
    • 电路交换(Circuit Switching)是相对于封包交换(或称分组交换)的一个概念。电路交换要求必须首先在通信双方之间建立连接通道,信息交换依靠已建立的通路,连接(保有通信系统分配给它的资源(通道、带宽、时隙、码字等等))将维持到通信结束。
    • 网段是指一个计算机网络中使用同一物理层直接通讯的那一部分。使用同一物理层的设备之间必然通过相同的传输介质直接相互连接,或者经由工作在物理层的扩展设备如中继器和集线器等转接连接。
    • 在以太网环境中,一个网段其实也就是一个冲突域(碰撞域)。
    • ISP(Internet Service Provider),互联网服务提供商。
  4. TCP协议

    • 传输控制协议(英语:Transmission Control Protocol, TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。
    • 工作原理:应用层向TCP层(传输层)发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。
    • TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。
    • TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。
    • TCP连接包括三个状态:连接创建、数据传送和连接终止。
      • 连接创建,TCP用三路握手/三次握手(three-way/times handshake)过程创建一个连接。
        三路握手/三次握手
      • 数据传输,以下机制保证TCP的可靠性和强壮性。
        • 使用序号,对收到的TCP报文段进行排序以及检测重复的数据。
        • 使用校验和来检测报文段的错误。
        • 使用确认和计时器来检测和纠正丢包或延时。
      • 连接终止,终止一个连接要经过四次握手,这是由TCP的半关闭(half-close)造成的。
        四次握手
        (ACK,SYN,FIN是报文段中的标志位)
    • 通常在每个TCP报文段中都有一对序号,分别叫 发送/串行 号和确认号。
      • 序号是32位的无符号数,在它增大到232-1时,便会回绕到0。
      • 在TCP的连接创建状态,两个主机的TCP层间要交换初始序号(ISN:initial sequence number)。
      • 序号用于标识字节流中的数据,每一个字节传输过后,ISN号都会递增1。
      • 发送号是一个报文段数据起始时的ISN,确认号是报文段结束时的ISN。
    • 数据传输举例
      1. 发送方首先发送第一个包含串行号为1(可变化)和1460字节数据的TCP报文段(发送号=1,确认号=1460)给接收方。接收方以一个没有数据的TCP报文段来回复(只含报头,发送号=1461),用确认号1461来表示已完全收到并请求下一个报文段。
      2. 发送方然后发送第二个包含串行号为1461和1460字节数据的TCP报文段给接收方。正常情况下,接收方以一个没有数据的TCP报文段来回复,用确认号2921(1461+1460)来表示已完全收到并请求下一个报文段。发送接收这样继续下去。
      3. 然而当这些数据包都是相连的情况下,接收方没有必要每一次都回应。比如,他收到第1到5条TCP报文段,只需回应第五条就行了。但如果第3条TCP报文段被丢失了,尽管接收方收到了第4和5条,他只能回应第2条。实际上,乱序到达的第4第5条会立马单独回应。
      4. 发送方在发送了第三条以后,没能收到回应,因此当时钟(timer)过时(expire)时,他重发第三条。(每次发送者发送一条TCP报文段后,都会再次启动一次时钟:RTO(重传计时器)。
      5. 当第三条被成功接收,接收方可以直接确认第5条,如果4,5两条已收到。
    • 滑动窗口协议,是TCP使用的一种流量控制方法。该协议允许发送方在停止并等待确认前可以连续发送多个分组。
      • 由于发送方不必每发一个分组就停下来等待确认,因此该协议可以加速数据的传输。
      • 只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才能向前滑动。TCP窗口
      • 当发送窗口和接收窗口的大小都等于 1时,就是停止等待协议。
        当发送窗口大于1,接收窗口等于1时,就是回退N步协议。
        当发送窗口和接收窗口的大小均大于1时,就是选择重发协议。
      • 在实际运行中,TCP滑动窗口的大小是可以随时调整的。收发端TCP协议软件在进行分组确认通信时,还交换滑动窗口控制信息,使得双方滑动窗口大小可以根据需要动态变化,从而在提高数据传输效率的同时,防止拥塞的发生。
    • 拥塞控制

      • 上一点所说到的接收窗口(rwnd)用于流量控制,而拥塞控制主要原理依赖于拥塞窗口(cwnd)。TCP的真正的发送窗口=min(rwnd, cwnd)。

        窗口值的大小就代表能够发送出去的但还没有收到ACK的最大数据报文段,显然窗口越大那么数据发送的速度也就越快,但是也有越可能使得网络出现拥塞。

      • 慢启动。

        • 当新建连接时,cwnd初始化为1个最大报文段(MSS)大小,发送端开始按照拥塞窗口大小发送数据,每当有一个报文段被确认,cwnd就增加1个MSS大小。这样cwnd的值就随着网络往返时间(RTT,Round Trip Time)呈指数级增长。
        • 慢启动后,TCP使用了一个叫慢启动门限(ssthresh)的变量限制cwnd继续增长,当cwnd超过该值后,慢启动过程结束,进入拥塞避免阶段。对于大多数TCP实现来说,ssthresh的值是65536(以字节计算)。
      • 拥塞避免:拥塞避免的主要思想是加法增大,也就是cwnd的值不再指数级往上升,开始加法增加。此时当窗口中所有的报文段都被确认时,cwnd的大小才加1,cwnd的值就随着RTT开始线性增加,这样就可以避免增长过快导致网络拥塞,慢慢的增加调整到网络的最佳值。
      • 网络进入拥塞状态时,TCP:
        1. 把ssthresh降低为cwnd值的一半
        2. 把cwnd重新设置为1
        3. 重新进入慢启动过程。
      • 在大量包需要重传时,TCP会认为网络拥塞。一下2种状态会重传:
        • TCP对每一个报文段都有一个定时器,称为重传定时器(RTO),当RTO超时且还没有得到数据确认,那么TCP就会对该报文段进行重传。
        • 收到3个相同的ACK。TCP在收到乱序到达包时就会立即发送ACK(发送端是顺序发包的),TCP利用3个相同的ACK来判定数据包的丢失,此时进行快速重传。
      • 快速重传:
        1. 把ssthresh设置为cwnd的一半
        2. 把cwnd设置为ssthresh的值(具体实现有些为ssthresh+3)
        3. 进入快速恢复阶段。(没有快速恢复则重新进入拥塞避免阶段)
      • 快速恢复
        1. 把cwnd的值再设置为ssthresh+3,然后重传丢失的报文段,加3的原因是因为收到3个重复的ACK,表明有3个“老”的数据包离开了网络。
        2. 再收到重复的ACK时,拥塞窗口增加1。
        3. 当收到新的数据包的ACK时,把cwnd设置为第一步中的ssthresh的值。原因是因为该ACK确认了新的数据,说明从重复ACK时的数据都已收到,该恢复过程已经结束,可以回到恢复之前的状态了,也即再次进入拥塞避免状态。
      • 更多请看博客
    • 校验和(IP、ICMP、UDP、TCP 算法都相同)

      • 发送包时:
        1. 把校验和字段置为0;
        2. 对包头部中的每16bit进行二进制求和;
        3. 求和的结果以32bit表示。如果和的高16bit不为0,则将和的高16bit和低16bit反复相加,直到和的高16bit为0,从而获得一个16bit的值;
        4. 将该16bit的值取反,存入校验和字段。
      • 当接收包时,算法同上2、3步,然后判断取反的结果是否为0,是则正确,否则有错。因为这次的计算包括了头部中的校验和字段,一个二进制数和其反码相加应该所有位为1。
    • TCP数据包结构 TCP数据包结构 sequence number即序列号(发送号);acknowledgment number即确认号;'ns''cwr'等是标志位。具体包结构说明
  5. IP协议

    • 网际协议(英语:Internet Protocol,IP),或称互联网协议,是用于报文交换网络的一种面向数据的协议,任务是仅仅根据源主机和目的主机的地址传送数据。数据在IP互联网中传送时会被封装为数据包。第一个版本为IPv4,下一版本IPv6。
    • IP协议三个定义:
      1. IP定义了在TCP/IP互联网上数据传送的基本单元和数据格式。
      2. IP软件完成路由选择功能,选择数据传送的路径。
      3. IP包含了一组不可靠分组传送的规则,指明了分组处理、差错信息发生以及分组的规则。
    • IP协议中,在报文交换网络中主机在传输数据之前,无须与先前未曾通信过的目的主机预先建立好一条特定的“通路”。
    • IP协议提供了一种“不可靠的”数据包传输机制(也被称作“尽力而为”);也就是说,它不保证数据能准确的传输。数据包在到达的时候可能数据损坏,丢失数据包,重复到来,传递乱序。如果应用需要保证可靠性,一般需要采取其他的方法,例如利用IP的上层协议(TCP)控制。
    • 寻址

      IP地址(IP Adress),在Internet上,一种给主机编址的方式。常见的IP地址,分为IPv4与IPv6两大类。

      • IPv4地址。

        • 地址由32位二进制数组成,分为网络号和主机号两部分。为便于使用,常以XXX.XXX.XXX.XXX形式表现。
        • IPv4地址分为A,B,C,D,E五大类,各类可容纳的地址从A到E依次减少。 IP分类编址

          分类 用途 地址范围 私有地址 保留地址
          A 政府机构 1.0.0.1---126.255.255.254 10.0.0.1---10.255.255.254,用CIDR表示:10/8 127.X.X.X,用做循环测试用的。
          B 中等规模的公司 128.0.0.1---191.255.255.254 172.16.0.0---172.31.255.254,用CIDR表示:172.16/12 169.254.X.X,如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器。就会得到其中一个IP。
          C 任何需要的人 192.0.0.1---223.255.255.254 192.168.0.1---192.168.255.255,用CIDR表示:192.168/16
          D 组播 224.0.0.1---239.255.255.254 224.0.0.1特指所有主机, 224.0.0.2特指所有路由器。
          E 实验 240.0.0.1---247.255.255.254

          所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址。
          私有地址的IP为虚拟IP,关于虚拟IP的信息(包括数据包,路由信息,DNS等)不能对局域网外散播。

        • IPv4报头结构 IPv4报头结构 DSCP差分服务代码点(Differentiated Services Code Point),它在每个数据包IP头部的服务类别TOS标识字节中,利用已使用的6比特和未使用的2比特,通过编码值来区分优先级。每一个DSCP编码值都被映射到一个已定义的PHB(Per-Hop-Behavior)标识码。

      • 特殊IP地址。

        • 一个网络中的最后一个地址为直接广播地址,也就是HostID全为1的地址。
        • 若IP地址是255.255.255.255,则这个地址用于定义整个互联网。但网络上的所有路由器都阻止具有这种类型的分组被转发出去,使这样的广播仅限于本地网段。
        • 若IP地址是0.0.0.0,则这个IP地址在IP数据报中只能用作源IP地址,这发生在当设备启动时但又不知道自己的IP地址情况下,相应的目的地址为255.255.255.255(因为主机这时还不知道DHCP服务器的IP地址)以请求DHCP分配IP地址。
        • NetID为0的,当某个主机向同一网段上的其他主机发送报文时就可以使用这样的地址,分组也不会被路由器转发。比如12.12.12.0/24这个网络中的一台主机12.12.12.2/24在与同一网络中的另一台主机12.12.12.8/24通信时,目的地址可以是0.0.0.8。
        • 127网段的所有地址都称为环回地址,主要用来测试网络协议是否工作正常的作用。比如使用ping 127.0.0.1就可以测试本地TCP/IP协议是否已正确安装。另外一个用途是当客户进程用环回地址发送报文给位于同一台机器上的服务器进程。
      • CIDR(Classless Inter-Domain Routing,无类别域间路由)

        • IP地址如果只使用ABCDE类来划分,会造成大量的浪费:一个有500台主机的网络,无法使用C类地址。但如果使用一个B类地址,6万多个主机地址只有500个被使用,造成IP地址的大量浪费。因而有了CIDR,以进一步划分子网。
        • CIDR主要是一个按位的、基于前缀的,用于解释IP地址的标准,对子网进行层次化编址,以便最有效的利用现有的地址空间。子网网络号可以占IP地址前任意位数,而非只能是8/16/24位。
        • CIDR地址与IP地址表示方法相似,至少在IP地址的后面加上后缀以表示子网掩码的位数。 如192.168.0.0/16。
        • CIDR用可变长子网掩码 (VLSM,Variable Length Subnet Masking),根据各人需要来分配IP地址,而不是按照一个全网络约定的规则。
        • 前缀路由聚合。CIDR的另一个好处就是可以进行前缀路由聚合。例如, 16个原来的C类(/24)网络现在可以聚合在一起,对外显示了一个/20的网络了(如果这些网络的的地址前20位都相同)。两个对齐的/20网络又可进一步聚合为/19,依此类推。这有效地减少了要对外显示的网络数,防止了'路由表爆炸',也遏制了互联网进一步扩大。
        • CIDR通过BGP来支持。(本节第9项会介绍)
      • IPv6地址

        • IPv6地址有128位长。一般采用32个十六进制数,每4个数以:隔开表示。
        • IPv6地址由两个逻辑部分组成:一个64位的网络前缀和一个64位的主机地址,主机地址通常根据物理地址自动生成,叫做EUI-64(或者64-位扩展唯一标识)。
        • IPv4地址转化为IPv6地址直接往左边补0就行了。
        • IPv6报头结构 IPv6报头
    • 路由

      • 路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动。路由发生在OSI网络参考模型中的第三层即网络层。
      • 路由表(routing table)或称路由择域信息库(RIB, Routing Information Base),是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。该表中存有到达特定网络终端的路径,在某些情况下,还有一些与这些路径相关的度量。
        • 对每组网络接口(interface),路由表至少会存有下面的资讯:
      表项 内容
      网络ID(Network ID, Network number) 就是目标地址的网络ID,即IP地址。
      子网掩码(subnet mask) 用来判断 IP 所属网络
      下一跳地址/接口(Next hop / interface) 就是数据在发送到目标地址的旅途中下一站的地址。其中 interface 指向 next hop(即为下一个 route)。一个自治系统(AS, Autonomous system)中的 route 应该包含区域内所有的子网络,而默认网关(Network id: 0.0.0.0, Netmask: 0.0.0.0)指向自治系统的出口。
      • 根据应用和执行的不同,路由表可能含有如下附加信息:

        表项 内容
        花费(Cost) 就是数据发送过程中通过路径所需要的花费。
        路由的服务质量
        路由中需要过滤的出/入连接列表
        • 动态路由
      • 算法
      名称 简介 实现 优缺点
      距离向量算法(Bellman-Ford算法) 对于每一条网络上节点间的路径,算法指定一个“成本”给它们。节点会选择一条总成本(经过路径的所有成本总和)最低的路径,用来把资料从节点甲送到节点乙。 从某个节点开始,先计算其相邻节点到该节点的成本,储存信息并将信息送到每个邻居节点,再计算邻居节点的路由信息,更新路由表。以此推广至整个网络。 简单有效率,但收敛性差。
      连线状态算法(Dijkstra算法) 每个节点拥有网络的图谱(一个图)。每个节点将自己可以连接到的其他节点资讯传送到网络上所有的节点,而其他节点接着各自将这个资讯加入到图谱中。每个路由器即可根据这个图谱来决定从自己到其它节点的最佳路径。 建立另一种数据结构——树。节点产生的树将自己视为根节点,且最后这棵树将会包含了网络中所有其他的节点。一开始,此树只有根节点(节点自己)。接着在树中已有的节点的邻居节点且不存在树中的节点集合中,选取一个成本最低的节点加入此树,直到所有节点都存入树中为止。 较复杂但规模性较好。在限制的时间内,对于连线改变(例如断线)的反应较快。在网络上所传送的封包小。
    • 链路层的实现可能有自己的方法(也可能没有)把IP地址解析成相应的数据链路地址。IPv4使用地址解析协议(ARP),而IPv6采用邻居发现协议(NDP)。

      • 地址解析协议(Address Resolution Protocol),其基本功能为通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

        • 地址解析(address resolution),即主机在发送帧前将目标IP地址转换成目标MAC地址的过程。
        • ARP代理(ARP Proxy),当发送主机和目的主机不在同一个局域网中时,发送主机通过ARP协议获得的将不是目的主机的真实MAC地址,而是一台可以通往局域网外的路由器的MAC地址。于是此后发送主机发往目的主机的所有帧,都将发往该路由器,通过它向外发送。
        • ARP的表项是可以老化的,即在一段时间内如果表中的某一行没有使用,就会被删除。
        • ARP表,示例:
        主机名称 IP地址 MAC地址
        A 192.168.38.10 00-AA-00-62-D2-02
        B 192.168.38.11 00-BB-00-62-C2-02
      • 邻居发现协议(英语:Neighbor Discovery Protocol 简称:NDP或ND),负责在链路上发现其他节点和相应的地址,并确定可用路由和维护关于可用路径和其他活动节点的信息可达性。

        • ndp用来发现直接相连的邻居信息,包括邻接设备的设备名称、软/硬件版本、连接端口等,另外还可提供设备的id、端口地址、硬件平台等信息。
        • 支持ndp的设备都维护ndp邻居信息表,并定时向所有激活的端口广播带有ndp数据的报文,报文中携带有效保留时间,该时间指示接收设备必须保存该更新数据的时间。
        • DNP的表项是可以老化的。
  6. 网络控制消息协定(Internet Control Message Protocol,ICMP)

    • ICMP是网络层协议族的核心协议之一。它用于 TCP/IP 网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈,通过这些信息,令管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。
    • ICMP 1 依靠IP来完成它的任务,它是IP的主要部分。ICMP是不可靠的。
    • 很多常用的工具是基于ICMP消息的。traceroute是通过发送包含有特殊的TTL的包,然后接收ICMP超时消息和目标不可达消息来实现的。 ping则是用ICMP的"Echo request"(类别代码:8)和"Echo reply"(类别代码:0)消息来实现的。
    • ICMP协议报包装在IP协议报中一般紧接着IP报头填充在数据段。ICMP报头结构如下:
    0-7 Bit 8-15 Bit 16--31 Bit
    Type(ICMP类型) Code(子类型) 校验码(checksum)
    ID ID 序号(sequence)
  7. 用户数据报协议(User Datagram Protocol, UDP)

    • UDP是一个简单的面向数据报的传输层协议。
    • 由于缺乏可靠性且属于非连接导向协定,UDP应用一般必须允许一定量的丢包、出错和复制贴上。如果需要则必须在应用层增加根本的可靠机制。但是绝大多数UDP应用都不需要可靠机制,甚至可能因为引入可靠机制而降低性能。流媒体(串流技术)、即时多媒体游戏和IP电话(VoIP)一定就是典型的UDP应用。
    • UDP报头
    0~15 bit 16~31 bit
    来源连接端口 目的连接端口
    报长 检查码
  8. 内部网关协议(Interior Gateway Protocol , IGP)

    • IGP是指在一个自治系统(AS,autonomous System)内部所使用的一种路由协议,可分为3类。
    • 距离-矢量路由协议。
      • 这类协议使用贝尔曼-福特算法(Bellman-Ford)计算路径。(详见‘5. IP协议--路由’)
      • 这类协议具有收敛缓慢的缺点,然而,它们通常容易处理且非常适合小型网络。
      • 距离-矢量路由协议的一些例子包括:
        • 路由信息协议(RIP)
        • 内部网关路由协议(IGRP)
    • 链路状态路由协议
      • 这类协议使用Dijkstra算法计算路径。(详见‘5. IP协议--路由’)
      • 最初创建这类协议就是为了解决距离-矢量路由协议收敛缓慢的缺点,然而,为此链路状态路由协议会消耗大量的内存与处理器能力。
      • 链路状态路由协议的例子有:
        • 开放式最短路径优先协议(OSPF)
        • 中间系统到中间系统路由交换协议(IS-IS)
    • 高级距离矢量路由协议(又名混合路由协议或者平衡混合路由协议)

      • 高级距离矢量路由协议是继距离-矢量路由协议与链路状态路由协议之后的又一个内部网关协议,强调了前两者的优点,规避了它们的不足。
      • 高级距离矢量路由协议的例子有:
        • 增强型内部网关路由协议(EIGRP) (增强型内部网关路由协议 EIGRP是内部网关路由协议 IGRP的增强版,EIGRP是Cisco专用协议)
    • 与IGP相对,外部网关协议(EGP)用来在自治系统之间确定网络可达性、并通过内部网关协议来解析某个自治系统内部的路由。 已过时

  9. 边界网关协议( Border Gateway Protocol, BGP)

    • BGP是互联网上一个核心的去中心化自治路由协议。它通过维护IP路由表或‘前缀’表来实现自治系统(AS)之间的可达性,属于矢量路由协议。 BGP不使用传统的内部网关协议(IGP)的指标,而使用基于路径、网络策略或规则集来决定路由。
    • 在路由协议中,只有BGP使用TCP作为传输层协议。
    • 同一个AS自治系统中的两个或多个对等实体之间运行的BGP 被称为 IBGP(Internal/Interior BGP)。归属不同的AS的对等实体之间运行的BGP称为EBGP (External/Exterior BGP)。在AS边界上与其他AS交换信息的路由器被称作边界路由器(border/edge router)。在路由器实现中,优先级顺序是eBGP高于IGP,而IGP又高于IBGP。
    • 邻居BGP路由器之间会交换NLRI(Network Layer Reachability Information,网络层可达信息) 更新信息
  10. DHCP(Dynamic Host Configuration Protocol),动态主机设置协议。

    • DHCP是一个工作在应用层的网络协议,主要有两个用途:
      给内部网络或网络服务供应商自动分配IP地址给用户;
      给内部网络管理员作为对所有电脑作中央管理的手段。
    • DHCP使用了租约的概念,或称为计算机IP地址的有效期。租用时间是不定的,主要取决于用户在某地联接Internet需要多久。通过较短的租期,DHCP能够在一个计算机比可用IP地址多的环境中动态地重新配置网络。DHCP也支持为计算机分配静态地址,如对需要永久性IP地址的Web服务器。
    • DHCP运行分为四个基本过程,分别为请求IP租约 C (Client) -> S (Server)、提供IP租约S -> C、选择IP租约 C -> S 和确认IP租约 S -> C 。
  11. PPP(Point-to-Point Protocol),点对点协议

    • PPP工作在数据链路层。它通常用在两节点间创建直接的连接,并可以提供连接认证、传输加密(使用ECP,RFC 1968)以及压缩。
    • PPP由三部分组成:

      • 作为数据链路层的基本的成帧功能。PPP帧:
      名称 字节数 描述
      标记 1 标记出帧的头或尾
      地址 1 广播地址
      控制 1 控制字
      协议 2 数据报文中所使用的协议
      信息 不定长(0或更多) 数据报文
      冗余填充 不定长(0或更多) 可选的冗余填充
      帧校验串行 (FCS) 2(或4) 错误校验

      FCS(Frame Check Sequence)是802.3帧和Ethernet帧的最后一个字段,用于保存帧的校验值。值大小由校验方法决定。

      • 网络控制协议(Network Control Protocol)负责在PPP会话中协商使用的通讯协议和配置初始化参数。
      • 链路控制协议(Link Control Protocol)使用标示自己的特殊数字作为特征来发现回路。当使用PPP协议的时候,端点发出具有和其他端点都不相同的特殊数字标识的LCP信息,如果线路存在回路,发出这个信息的端点就会收到含有自己标识的信息而不是其他人的标识信息。
    • PPP提供钩子。它可以使每个终端(设置的IP地址和默认网关等)自动的配置网络端口和身份认证:PAP和CHAP。(对比:动态主机配置协议,DHCP)
      • 密码认证协议(PAP)是一种使用密码的认证协议。PAP在网络上传送未加密的ASCII密码,因此被认为是不安全的。
      • 挑战握手协议(Challenge-Handshake Authentication Protocol,CHAP)是一个用来验证用户或网络提供者的协议。
        • CHAP 用于使用3次握手周期性的验证对端身份。在连线建立之后,使用者 A 会发出一个“challenge”信息给使用者 B。然后A,B用hash function产生散列值作比较来验证身份。在链路建立初始化时这样做,也可以在链路建立后任何时间重复验证。
    • PPP多连接协议可以在两个系统间提供多条连接,以增加额外带宽。当进行远程资源访存时,PPP多连接协议允许将两个带宽合而为一或者将物理通信线路比如模拟调制解调器,ISDN和其他的模拟或数字链路进行合并以提高整体的吞吐量。
    • PPPoE(Point-to-Point Protocol over Ethernet),以太网上的点对点协议,是将点对点协议(PPP)封装在以太网(Ethernet)框架中的一种网络隧道协议。

局域网标准(数据链路层协议)

  1. 以太网

    • 以太网是当前应用最普遍的局域网技术。它规定了包括物理层的连线、电信号和介质访问层协议的内容。
    • 以太网的标准拓扑结构为总线型拓扑,虽然加入了交换机来进行网络连接和组织,拓扑结构成了星型,但在逻辑上,以太网仍然使用总线型拓扑和CSMA/CD(Carrier Sense Multiple Access/Collision Detection即带冲突检测的载波监听多路访问)的总线争用技术。
    • 以太网中,每个节点必须取得电缆或者信道的才能传送信息,这些信息有时也叫作以太(Ether)。 每一个节点有全球唯一的48位地址也就是制造商分配给网卡的MAC地址,以保证以太网上所有系统能互相鉴别。
    • 带冲突检测的载波侦听多路访问(CSMA/CD)技术规定了多台电脑共享一个通道的方法。它使用无线电波为载体。
      1. 开始 - 如果线路空闲,则启动传输,否则转到第4步
      2. 发送 - 如果检测到冲突,继续发送数据直到达到最小报文时间 (保证所有其他转发器和终端检测到冲突),再转到第4步.
      3. 成功传输 - 向更高层的网络协议报告发送成功,退出传输模式。
      4. 线路忙 - 等待,直到线路空闲
      5. 线路进入空闲状态 - 等待一个随机的时间,转到第1步,除非超过最大尝试次数
      6. 超过最大尝试传输次数 - 向更高层的网络协议报告发送失败,退出传输模式
    • 因为所有的通信信号都在共用线路上传输,即使信息只是发给其中的一个终端(destination),某台电脑发送的消息都将被所有其他电脑接收。这种特质是共享介质以太网在安全上的弱点,因为以太网上的一个节点可以选择是否监听线路上传输的所有信息。共享电缆也意味着共享带宽,所以在某些情况下以太网的速度可能会非常慢,比如电源故障之后,当所有的网络终端都重新启动时。
    • 最初的以太网是采用同轴电缆来连接各个设备的。电脑通过一个叫做附加单元接口(Attachment Unit Interface,AUI)的收发器连接到电缆上。后来非屏蔽双绞线(unshielded twisted-pair cables , UTP)代替了同轴电缆成为以太网的标准。这项改进之后,RJ45电话接口代替了AUI成为电脑和集线器的标准界口,非屏蔽3类双绞线/5类双绞线成为标准载体。
  2. 令牌环

    • 令牌环网络的基本原理是利用令牌(代表发信号的许可)来避免网络中的冲突。
    • 与使用冲突检测算法CSMA/CD的以太网相比,提高网络的数据传送率。但网络不可复用,导致网络利用率低下。此外网络中还需要专门结点维护令牌。
    • 传输方法:传送数据时会由掌握token的电脑先发送数据。接收数据的电脑会检查frame表头,若是送给自己的则处理之。无论是否是送给自己的,都会再传下去,传一圈后检查数据是否相同以确定数据没有传输错误。 待送完数据后可以依需要调整token的优先度(改得比自己的优先度低),再把token传递到下一台电脑。 若接收到token但优先度较自己的高,则得要把token传递到下一台电脑。
  3. ATM(Asynchronous Transfer Mode,异步传输模式),又叫信元中继。

    • ATM采用电路交换(‘电路交换’在TCP/IP章节‘3. 术语’中有解释)的方式,它以信元(cell)为单位。每个信元长53字节。其中报头占了5字节。
  4. Wi-Fi 无线保真(Wireless Fidelity)

    • 无线保真这个术语不具有实际意义。WiFi 指IEEE 802的一系列标准,其中定义了介质访问接入控制层和物理层。
    • WiFi 可分为无代。使用的电磁波频率越高穿透力越弱,抗干扰力越强。
      • 第一代802.11,1997年制定,只运行于2.4GHz,最快2Mbit/s
      • 第二代802.11b,只运行于2.4GHz,最快11Mbit/s,正逐渐淘汰
      • 第三代802.11g/a,分别运行于2.4GHz和5GHz,最快54Mbit/s
      • 第四代802.11n,可运行于2.4GHz或5GHz,20和40MHz带宽下最快72和150Mbit/s
      • 第五代802.11ac,只运行于5GHz
    • WiFi 网络的接入点被称之为热点。
    • Wi-Fi无线通信也可以直接不需通过接入点传出从一台电脑到另一台。这就是所谓的Ad - hoc模式的Wi-Fi传输。ad hoc network 即临时网络,是一个没有有线基础设施或中央控制器支持的移动网络。Ad Hoc是一个拉丁词汇,在拉丁语中的意思是“即兴,临时”。
    • 网络成员和结构
      • 站点(Station),网络最基本的组成部分。
      • 基本服务单元(Basic Service Set,BSS)。网络最基本的服务单元。最简单的服务单元可以只由两个站点组成。站点可以动态的联结(associate)到基本服务单元中。
      • 分配系统(Distribution System,DS)。分配系统用于连接不同的基本服务单元。分配系统使用的媒介(Medium)逻辑上和基本服务单元使用的媒介是截然分开的,尽管它们物理上可能会是同一个媒介,例如同一个无线频段。
      • 接入点(Access Point,AP)。接入点即有普通站点的身份,又有接入到分配系统的功能。
      • 扩展服务单元(Extended Service Set,ESS)。由分配系统和基本服务单元组合而成。这种组合是逻辑上,并非物理上的──不同的基本服务单元物有可能在地理位置相去甚远。分配系统也可以使用各种各样的技术。
      • 关口(Portal),也是一个逻辑成分。用于将无线局域网和有线局域网或其它网络联系起来。
  5. 光纤分布式数据接口(英文:Fiber Distributed Data Interface,FDDI)

    • FDDI 是美国国家标准学会制定的在光缆上发送数字信号的一组协议。
    • 优点:传输距离长,带宽大,抗干扰,防窃听(分接困难,无辐射波)。
    • 缺点:成本高。

网络组成硬件

  1. 网卡

    • 网卡又称网络适配器或网络接口控制器(NIC)是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。
路由器(Router) 交换机(Switch) 桥接器/网桥(Bridge) 集线器(Hub) 中继器(Repeater)
位于网络层;拥有路由表作为传送数据包时的依据,在有多种选择的路径中选择最佳的路径;可以连接两个以上不同网段的网络,并具有IP分享的功能。 位于数据链路层;相当于多端口的网桥,一般直接连接多台主机,为每个主机划分一个独立的网段;拥有ARP表作为传送数据帧时的依据,将数据包传送给指定的电脑;已基本取代了网桥。 位于数据链路层;只有两个端口,将两个LAN连起来(一般连接2个接有多台主机的集线器);拥有ARP表作为传送数据帧时的依据,将数据包传送到指定的网络。 位于物理层;指将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备;集线器会把收到的任何数字信号(主动型集线器会再生或放大信号),从集线器的所有端口提交,若它侦测到碰撞,它会提交阻塞信号。 一个将输入信号增强放大的模拟设备。集线器可看作多端口的中继器。
  1. 同轴电缆(Coaxial cable)

    • 同轴电缆由里到外分为四层:中心铜线(单股的实心线或多股绞合线),塑料绝缘体,网状导电层和电线外皮。中心铜线和网状导电层形成电流回路。因为中心铜线和网状导电层为同轴关系而得名。
    • 中心电线发射出来的无线电被网状导电层所隔离,网状导电层可以通过接地的方式来控制发射出来的无线电。可减少信号功率的损耗。
    • 为了防止内部的无线电波会被反射回信号发送源,减低可接收的信号功率,中心电线和网状导电层之间被加入一层塑料绝缘体来保证它们之间的距离始终如一。这也造成了这种电缆比较僵直而不容易弯曲的特性。
    • 75Ω同轴电缆常用于CATV网;总线型以太网就是使用50Ω同轴电缆。
    • 泡沫绝缘电缆和空气绝缘电缆。
      • 泡沫绝缘电缆的绝缘体是由物理发泡聚乙烯材料构成;空气绝缘电缆内外导体之间的绝缘介质为空气,内导体是依靠与外导体之间的一种绝缘固体介质螺旋支撑起来。空气绝缘电缆一般用于各种大功率的射频传输。
      • 在泡沫绝缘射频同轴电缆中,又根据传输性质分为传输电缆和泄漏电缆两种。传输电缆即是普通馈线,主要用于射频信号传输,而泄漏电缆则在于其外部导体上有成百上千个小孔(或槽),这些孔对应成众多的射频发射点,从而使功率可以沿电缆进行多点辐射,从而集信号传输和信号发射与接收功能于一体,具有同轴电缆和天线的双重作用。
    • 细缆和粗缆。
      • 细缆的直径为0.26厘米,最大传输距离185米,阻抗是50Ω,成本较低。
      • 粗缆(RG-11)的直径为1.27厘米,弹性较差,最大传输距离达到500米,抗干扰力强,而且RG-11连接头的制作方式也相对要复杂许多,并不能直接与电脑连接。
  2. 双绞线(Twisted Pair)

    • 双绞线是由两条相互绝缘的导线按照一定的规格互相缠绕(一般以顺时针缠绕)在一起而制成的一种通用配线,属于信息通信网络传输介质。
    • 把两根绝缘的铜导线按一定规格互相绞在一起,可降低信号干扰的程度,每一根导线在传输中辐射的电波会被另一根线上发出的电波抵消。其中外皮所包的导线两两相绞,形成双绞线对,因而得名双绞线。
    • 屏蔽双绞线(英语:Shielded Twisted Pair,STP),由四组两条一对地互相缠绕并包装在绝缘管套中的铜线所组成,四对不同颜色的传输线互相缠绕,每对相同颜色的线传递著来回两方向的电脉冲,这样的设计是利用了电磁感应相互抵销的原理来屏蔽电磁干扰。
      • 屏蔽双绞线外的金属网(通常是铜质)可以进一步屏蔽传输线,使之不受外部电磁场干扰,同时作为接地之用。但这种额外的保护结构降低了线材的弹性。
      • 这种线常用在以太网(局域网络)中,屏蔽双绞线额外的保护结构提高了此种线材的单位价格。
    • 非屏蔽双绞线(英语:Unshielded Twisted Pair,UTP)是一种数据传输线,与屏蔽双绞线结构大致相同,只是于线外没有金属网保护用以屏蔽电磁干扰。多用于电话线。
  3. 光纤

    • 光导纤维,简称光纤,是一种达致光在玻璃或塑料制成的纤维中的全反射原理传输的光传导工具。微细的光纤封装在塑料护套中,使得它能够弯曲而不至于断裂。
    • 包含光纤的线缆称为光缆。
    • 光导纤维是双重构造,核心部分是高折射率玻璃,表层部分是低折射率的玻璃或塑料,光在核心部分传输,并在表层交界处不断进行全反射,沿“之”字形向前传输。

校验方法

  1. LRC
  2. CRC
  3. XRC
  4. MD5
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注