计算机网络知识点整理

2019-06-24 11:09:24 BIackMamba 阅读数 2525

第一章 概述

  1. 计算机网络(可简称为网络)把许多计算机连接在一起,而互连网则把许多网络连接在一起,是网络的网络。
  2. 以小写字母i开始的internet(互连网)是通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通信协议(即通信规则)可以是任意的。
  3. 以大写字母I开始的Internet (互联网)是专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网,并采用TCP/IP协议族作为通信规则,且其前身是美国的ARPANET。Internet的推荐译名是“因特网”,但很少被使用。
  4. 互联网现在采用存储转发的分组交换技术,以及三层ISP结构:主干ISP,地区ISP,本地ISP
  5. 互联网按工作方式可划分为边缘部分与核心部分。主机在网络的边缘部分,其作用是进行信息处理。路由器在网络的核心部分,其作用是按存储转发方式进行分组交换。
  6. 计算机通信是计算机中的进程(即运行着的程序)之间的通信。计算机网络采用的通信方式是客户-服务器方式和对等连接方式(P2P方式)。
  7. 客户和服务器都是指通信中所涉及的应用进程。客户是服务请求方,服务器是服务提供方。
  8. 按作用范围的不同,计算机网络分为广域网WAN、城域网MAN、局域网LAN和个人区域网PAN。
  9. 计算机网络最常用的性能指标是:速率、带宽、吞吐量、时延(发送时延、传播时延、处理时延、排队时延)、时延带宽积、往返时间和信道(或网络)利用率。
  10. 网络协议即协议,是为进行网络中的数据交换而建立的规则。计算机网络的各层及其协议的集合,称为网络的体系结构。
  11. 五层协议的体系结构由应用层、运输层、网络层( 或网际层)、数据链路层和物理层组成。运输层最重要的协议是TCP和UDP协议,而网络层最重要的协议是IP协议。

第二章 物理层

  1. 物理层的主要任务就是确定与传输媒体的接口有关的一些特性, 如机械特性、电器特性,功能特性和过程特性。
  2. 一个数据通信系统可划分为三大部分,即源系统、传输系统和目的系统。源系统包括源点(或源站、信源)和发送器,目的系统包括接收器和终点(或目的站,或信宿)。
  3. 通信的目的是传送消息。如话音、文字、图像、视频等都是消息。数据是运送消息的实体。信号则是数据的电气或电磁的表现。
  4. 根据信号中代表消息的参数的取值方式不同,信号可分为模拟信号(或连续信号)和数字信号(或离散信号)。代表数字信号不同离散数值的基本波形称为码元。
  5. 根据双方信息交互的方式,通信可以划分为单向通信(或单工通信)、双向交替通信(或半双工通信)和双向同时通信(或全双工通信)。
  6. 来自信源的信号叫做基带信号。信号要在信道上传输就要经过调制。调制有基带调制和带通调制之分。最基本的带通调制方法有调幅、调频和调相。还有更复杂的调制方法,如正交振幅调制。
  7. 要提高数据在信道上的传输速率,可以使用更好的传输媒体,或使用先进的调制技术。但数据传输速率不可能被任意地提高。
  8. 传输媒体可分为两大类,即导引型传输媒体(双绞线、同轴电缆或光纤)和非导引型传输媒体(无线或红外或大气激光)。
  9. 常用的信道复用技术有频分复用、时分复用、统计时分复用、码分复用和波分复用(光的频分复用)。
  10. 最初在数字传输系统中使用的传输标准是脉冲编码调制PCM。现在高速的数字传输系统使用同步光纤网SONET (美国标准)或同步数字系列SDH (国际标准)。
  11. 用户到互联网的宽带接入方法有非对称数字用户线ADSL (用数字技术对现有的模拟电话用户线进行改造)、光纤同轴混合网HFC (在有线电视网的基础上开发的)和FTTx (即光纤到…)。
  12. 为了有效地利用光纤资源,在光纤干线和用户之间广泛使用无源光网络PON.无源光网络无须配备电源,其长期运营成本和管理成本都很低。最流行的无源光网络是以太网无源光网络EPON和吉比特无源光网络GPON.

第三章 数据链路层

  1. 链路是从一个结点到相邻结点的段物理线路, 数据链路则是在链路的基础上增加了一些必要的硬件(如网络适配器)和软件( 如协议的实现)。
  2. 数据链路层使用的信道主要有点对点信道和广播信道两种。
  3. 数据链路层传送的协议数据单元是帧。数据链路层的三个基本问题则是:封装成帧、透明传输和差错检测。
  4. 循环冗余检验CRC是一种检错方法, 而帧检验序列FCS是添加在数据后面的冗余码。
  5. 点对点协议PPP是数据链路层使用最多的一种协议,它的特点是:简单:只检测差错,而不是纠正差错:不使用序号,也不进行流量控制:可同时支持多种网络层协议。
  6. PPPoE是为宽带上网的主机使用的链路层协议。
  7. 局域网的优点是:具有广播功能,从一个站点可很方便地访问全网:便于系统的扩展和逐渐演变;提高了系统的可靠性、可用性和生存性。
  8. 共享通信媒体资源的方法有二:一是静态划分信道(各种复用技术),二是动态媒体接入控制,又称为多点接入(随机接入或受控接入)。
  9. IEEE 802委员会曾把局域网的数据链路层拆成两个子层,即逻辑链路控制(LLC)子层(与传输媒体无关)和媒体接入控制(MAC)子层(与传输媒体有关)。但现在LLC子层己成为历史。
  10. 计算机与外界局域网的通信要通过通信适配器(或网络适配器),它又称为网络接口卡或网卡。计算机的硬件地址就在适配器的ROM中,
  11. 以太网采用无连接的工作方式,对发送的数据帧不进行编号,也不要求对方发回确认。目的站收到有差错帧就把它丢弃,其他什么也不做。
  12. 以太网采用的协议是具有冲突检测的载波监听多点接入CSMA/CD。协议的要点是:发送前先监听,边发送边监听,一旦发现总线上出现了碰撞,就立即停止发送。然后按照退避算法等待一段随机时间后再次发送。因此,每一个站在自己发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。以太网上各站点都平等地争用以太网信道。
  13. 传统的总线以太网基本上都是使用集线器的双绞线以太网。这种以太网在物理上是星形网,但在逻辑上则是总线形网。集线器工作在物理层,它的每个接口仅仅简单地转发比待,不进行碰撞检测。
  14. 以太网的硬件地址,即MAC地址实际上就是适配器地址或适配器标识符,与主机所在的地点无关。源地址和目的地址都是48位长。
  15. 以太网的适配器有过滤功能,它只接收单播帧、广播帧或多播帧。
  16. 使用集线器可以在物理层扩展以太网(扩展后的以太网仍然是一个网络)。
  17. 交换式集线器常称为以太网交换机或第二层交换机(工作在数据链路层)。它就是一个 多接口的网桥,而每个接口都直接与某台单主机或另个集线器相连, 且工作在全双工方式。以太网交换机能同时连通许多对的接口,使每一对相互通信的主机都能像独占通信媒体那样,无碰撞地传输数据。
  18. 高速以太网有100 Mbit/s的快速以太网、吉比特以太网和10 Gbit/s的10吉比特以太网。最近还发展到100吉比特以太网。在宽带接入技术中,也常使用高速以太网进行接入。

第四章 网络层

  1. TCP/IP体系中的网络层向上只提供简简单灵活的、无连接的、尽最大努力交付的数银报服务。网络层不提供服务质量的承诺,不保证分组文付的时限,所传送的分组可能出错、丢失,重复和失序。 进程之间通信的可靠性由运输层负责。
  2. IP网是虚拟的,因为从网络层上看,IP网就是一个统一的、抽象的网络(实际上是异构的)。IP 层抽象的互联网屏蔽了下层网络很复杂的细节,使我们能够使用统一的、 抽象的IP地址处理主机之间的通信问题。
  3. 在互联网上的交付有两种:在本网络上的直接交付(不经过路由器)和到其他网络的间接交付(经过至少一个路由器,但最后一次一 定是直接交付)。
  4. 一个P地址在整个互联网范围内是唯一的。分类的P地址包括A类、B类和C类地址(单播地址),以及D类地址(多播地址)。E类地址未使用。
  5. 分类的IP地址由网络号字段(指明网络)和主机号字段(指明主机)组成。网络号字段最前面的类别位指明IP地址的类别。
  6. IP地址是一种分等级的地址结构。IP地址管理机构在分配IP地址时只分配网络号,而主机号则由得到该网络号的单位自行分配。路由器仅根据目的主机所连接的网络号来转发分组。
  7. IP地址标志一台主机(或路由器)和一条链路的接口。多归属主机同时连接到两个或更多的网络上。这样的主机同时具有两个或更多的IP 地址,其网络号必须是不同的。由于一个路由器至少应当连接到两个网络,因此一个路由器至少应当有两个不同的IP地址。
  8. 按照互联网的观点,用转发器或网桥连接起来的若干个局域网仍为一个网络。 所有分配到网络号的网络(不管是范围很小的局域网,还是可能覆盖很大地理范围的广域网)都是平等的。
  9. 物理地址(即硬件地址)是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址(用软件实现的),在数据链路层看不见数据报的IP地址。
  10. IP数据报分为首部和数据两部分。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的(源地址、目的地址、总长度等重要字段都在固定首部中)。一些长度可变的可选字段放在固定首部的后面。
  11. IP首部中的生存时间字段给出了IP数据报在互联网中所能经过的最大路由器数,可防止IP数据报在互联网中无限制地兜圈子。
  12. 地址解析协议ARP把IP地址解析为硬件地址,它解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。ARP的高速缓存可以大大减少网络上的通信量。
  13. 在互联网中,我们无法仅根据硬件地址寻找到在某个网络上的某台主机。因此,从IP地址到硬件地址的解析是非常必要的。
  14. 无分类域间路由选择CIDR是解决目前IP地址紧缺的一个好方法。CIDR记法把IP地址后面加上斜线“/”,然后写上前缀所占的位数。前缀(或网络前缀)用来指明网络,前缀后面的部分是后缀,用来指明主机。CIDR把前缀都相同的连续的IP 地址组成一个“CIDR地址块”。IP地址的分配都以CIDR地址块为单位。
  15. CIDR的32位地址掩码(或子网掩码)由一串1和一串0组成,而1的个数就是前缴的长度。只要把IP地址和地址掩码逐位进行“逻辑与(AND)”运算,就很容易得出网络地址。A类地址的默认地址掩码是255.0.0.0。B类地址的默认地址掩码是255.255.0.0。C类地址的默认地址掩码是255.255.255.0。
  16. 路由聚合(把许多前缀相同的地址用一个来代替)有利于减少路由表中的项目,减少路由器之间的路由选择信息的交换,从而提高了整个互联网的性能。
  17. “转发”和“路由选择”有区别。“转发”是单个路由器的动作。“路由选择”是计多路由器共同协作的过程,这些路由器相互交换信息,目的是生成路由表,再从路由表导出转发表。若采用自适应路由选择算法,则当网络拓扑变化时,路由表和转发表都能够自动更新。在许多情况下,可以不考虑转发表和路由表的区别,而都使用路由表这一名词。
  18. 自治系统(AS) 就是在单一的技术管理下的一组路由器。一个自治系统对其他自治系统表现出的是一个单一的和一致的路由选择策略,
  19. 路由选择协议有两大类:内部网关协议(或自治系统内部的路由选择协议),如RIP和OSPF;外部网关协议(或自治系统之间的路由选择协议),如BGP-4。
  20. RIP是分布式的基于距离向量的路由选择协议,只适用于小型互联网。RIP按固定的时间间隔与相邻路由器交换信息。交换的信息是自已当前的路由表,即到达本自治系统中所有网络的(最短)距离,以及到每个网络应经过的下一跳路由器。
  21. OSPF是分布式的链路状态协议,适用于大型互联网。OSPF只在链路状态发生变化时,才向本自治系统中的所有路由器,用洪泛法发送与本路由器相邻的所有路由器的链路状态信息。“链路状态”指明本路由器都和哪些路由器相邻,以及该链路的“度量”。“度量”可表示费用、距离、时延、带宽等,可统称为“代价”。所有的路由器最终都能建立一个全网的拓扑结构图。
  22. BGP-4是不同AS的路由器之间交换路由信息的协议,是一种路径向量路由选择协议。BGP力求寻找一条能够到达目的网络(可达)且比较好的路由(不兜圈子),而并非要寻找一条最佳路由。
  23. 网际控制报文协议ICMP是IP层的协议。ICMP报文作为IP数据报的数据,加上首部后组成IP数据报发送出去。使用ICMP并非为了实现可靠传输。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。
  24. ICMP的一个重要应用就是分组网间探测PING,用来测试两台主机之间的连通性。PING使用了ICMP回送请求与回送回答报文。
  25. 要解决IP地址耗尽的问题,最根本的办法就是采用具有更大地址空间的新版本的IP协议,即IPv6。
  26. IPv6所带来的主要变化是: (1)更大的地址空间(采用128位的地址): (2) 灵活的首部格式: (3)改进的选项: (4) 支持即插即用: ()支持资源的预分配: (6) IPv6首部改为8字节对齐。
  27. IPv6数据报在基本首部的后面允许有零个或多个扩展首部,再后面是数据。所有的扩展首部和数据合起来叫做数据报的有效载荷或净负荷。
  28. IPv6数据报的目的地址可以是以下三种基本类型地址之一:单播、多播和多播。
  29. IPv6的地址使用冒号十六进制记法。
  30. 向IPv6过渡只能采用逐步演进的办法,必须使新安装的IPv6系统能够向后兼容。向IPv6过渡可以使用双协议栈或使用隧道技术。
  31. 与单播相比,在一对多的通信中,IP多播可大大节约网络资源。IP 多播使用D类IP地址。IP多播需要使用网际组管理协议IGMP和多播路由选择协议。
  32. 虚拟专用网VPN利用公用的互联网作为本机构各专用网之间的通信载体。VPN内部使用互联网的专用地址。一个VPN至少要有一个路由器具有合法的全球IP地址,这样才能和本系统的另一个VPN通过互联网进行通信。所有通过互联网传送的数据都必须加密。
  33. 使用网络地址转换NAT技术,可以在专用网络内部使用专用IP地址,而仅在连接到互联网的路由器使用全球IP地址。这样就大大节约了宝贵的IP地址。
  34. MPLS的特点: (1)支持面向连接的服务质量: (2) 支持流量工程,平衡网络负载; (3)有效地支持虚拟专用网VPN。
  35. MPLS在入口结点给每一个IP数据报打上固定长度的“标记”,然后根据标记在第二层(链路层)用硬件进行转发(在标记交换路由器中进行标记对换),因而转发速率大大加快。
  36. 多协议标签交换(MPLS)是一种用于快速数据包交换和路由的体系,它为网络数据流量提供了目标、路由地址、转发和交换等能力。更特殊的是,它具有管理各种不同形式通信流的机制。MPLS 独立于第二和第三层协议

第五章 运输层

  1. 运输层提供应用进程间的逻辑通信,也就是说,运输层之间的通信并不是真正在两个运输层之间直接传送数据。运输层向应用层屏蔽了下面网络的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。
  2. 网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信。
  3. 运输层有两个主要的协议: TCP 和UDP.它们都有复用和分用,以及检错的功能。当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工通信的可靠信道。当运输层采用无连接的UDP协议时,这种逻辑通信道仍然是一条不可靠信道。
  4. 运输层用一个16位端口号来标志一个端口。端口号只具有本地意义,它只是为了标志本计算机应用层中的各个进程在和运输层交互时的层间接口。在互联间的不同计算机中,相同的端口号是没有关联的。
  5. 两台计算机中的进程要互相通信,不仅要知道对方的IP 地址(为了找到对方的计算机),而且还要知道对方的端口号(为了找到对方计算机中的应用进程).
  6. 运输层的端口号分为服务器端使用的端口号(0-1023指派给熟知端口,1024-49151是登记端口号)和客户端暂时使用的端口号(49152-65535).
  7. UDP的主要特点是; (1) 无连接: (2)尽最大努力交付: (3) 面向报文: (4)无拥塞控制: (5)支持一对一、一对多、多对一和多对多的交互通信: (6)首部开销小(只有四个字段:源端口、目的端口、长度、检验和)。
  8. TCP的主要特点是: ()面向连接: (2)每一条TCP连接只能是点对点的(一对一); (3)提供可靠交付的服务: (4) 提供全双工通信: (5) 面向字节流,
  9. TCP用主机的IP地址加上主机上的端口号作为TCP连接的端点,这样的端点就叫做套接字(socket)或插口。套接字用(IP地址:端口号)来表示,
  10. 停止等待办议能够在不可靠的传输网络上实现可靠的通信。每发送完一个分组展停止发送,等待对方的确认。在收到确认后再发送下一个分组。分组需要进行编号。
  11. 超时重传是指只要超过了一段时间仍然没有收到确认,就重传前面发送过的分组(认为刚才发送的分组丢失了)。因此每发送先一个分组需要设置一个超时计时器,其重传时间应比数据在分组传输的平均往返时间更长一些。这种自动重传方式常称为自动重传请求ARQ.
  12. 在停止等待协议中,若接收方收到重复分组,就丢弃该分组,但同时还要发送确认。
  13. 连续ARQ协议可提高信道利用率。发送方维持一个发送窗口,凡位于发送窗口内的分组都可连续发送出去,而不需要等待对方的确认。接收方般采用累积确认,对按序到达的最后一个分组发送确认,表明到这个分组为止的所有分组都已正确收到了。
  14. TCP报文段首部的前20个字节是固定的,后面有4N字节是根据需要而增加的选项(N是整数)。在一个TCP连接中传送的字节流中的每一个字节都按顺序编号。首部中的序号字段值则指的是本报文段所发送的数据的第一个字节的序号。
  15. TCP首部中的确认号是期望收到对方下一个报文段的第一个数据字节的序号。若确认号为N,则表明:到序号N- 1为止的所有数据都已正确收到。
  16. TCP首部中的窗口字段指出了现在允许对方发送的数据量。窗口值是经常在动态变化着的。
  17. TCP使用滑动窗口机制。发送窗口里面的序号表示允许发送的序号,发送窗口后沿的后面部分表示已发送且已收到了确认,而发送窗口前沿的前面部分表示不允许发送。发送窗口后沿的变化情况有两种可能,即不动(没有收到新的确认)和前移(收到了新的确认)。发送窗口前沿通常是不断向前移动的。
  18. 流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。
  19. 在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏。这种情况就叫做拥塞。拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。
  20. 流量控制是一个端到端的问题,是接收端抑制发送端发送数据的速率,以便使接收端来得及接收。拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。
  21. 为了进行拥塞控制,TCP的发送方要维持一个拥塞窗口cwnd的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口取为拥塞窗口和接收方的接收窗口中较小的一个。
  22. TCP的拥塞控制采用了四种算法,即慢开始、拥塞避免、快重传和快恢复。在网络层,也可以使路由器采用适当的分组丢弃策略(如主动队列管理AQM),以减少网络拥塞的发生。
  23. 运输连接有三个阶段,即:连接建立、数据传送和连接释放。
  24. 主动发起TCP连接建立的应用进程叫做客户,而被动等待连接建立的应用进程叫做服务器。TCP的连接建立采用三报文握手机制。服务器要确认客户的连接请求,然后客户要对服务器的确认进行确认。
  25. TCP的连接释放采用四报文握手机制。任何-方都可以在数据传送结束后发出连接释放的通知,待对方确认后就进入半关闭状态。当另一方也没有数据再发送时,则发送连接释放通知,对方确认后就完全关闭了TCP连接。

第六章 应用层

  1. 应用层协议是为了解决某类应用问题,而问题的解决又是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层规定了应用进程在通信时所遵循的协议。应用层的许多协议都是基于客户服务器方式的。客户是服务请求方,服务器是服务提供方。
  2. 域名系统DNS是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。DNS是一个联机分布式数据库系统,并采用客户服务器方式。
  3. 域名到IP地址的解析是由分布在互联网上的许多域名服务器程序(即域名服务器)共同完成的。
  4. 互联网采用层次树状结构的命名方法,任何一台连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。域名中的点和点分十进制IP 地址中的点没有关系。
  5. 域名服务器分为根域名服务器、顶级域名服务器、权限域名服务器和本地域名服务器。
  6. 文件传送协议FTP使用TCP可靠的运输服务。FTP使用客户服务器方式。一个FTP服务器进程可同时为多个客户进程提供服务。在进行文件传输时,FTP 的客户和服务器之间要建立两个并行的TCP连接:控制连接和数据连接。实际用于传输文件的是数据连接。
  7. 万维网WWW是一个大规模的、联机式的信息储藏所,可以非常方便地从互联网上的一个站点链接到另一个站点。
  8. 万维网的客户程序向互联网中的服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。在客户程序主窗口上显示出的万维网文档称为页面。
  9. 万维网使用统一资源定位符URL来标志万维网上的各种文档,并使每一个文档在整个互联网的范围内具有唯一的标识符URL。
  10. 万维网客户程序与服务器程序之间进行交互所使用的协议是超文本传送协议HTTP。HTTP使用TCP连接进行可靠的传送。但HTTP协议本身是无连接、无状态的。HTTP/1.1 协议使用了持续连接(分为非流水线方式和流水线方式)。
  11. 万维网使用超文本标记语言HTML来显示各种万维网页面。
  12. 万维网静态文档是指在文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变。动态文档是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建的。
  13. 活动文档技术可以使浏览器屏幕连续更新。活动文档程序可与用户直接交互,并可连续地改变屏幕的显示。
  14. 在万维网中用来进行搜索的工具叫做搜索引擎。搜索引擎大体上可划分为全文检索搜索引擎和分类目录搜索引擎两大类。
  15. 电子邮件是互联网上使用最多的和最受用户欢迎的一种应用。电子邮件把邮件发送到收件人使用的邮件服务器,并放在其中的收件人邮箱中,收件人可随时上网到自己使用的邮件服务器进行读取,相当于“电子信箱”。
  16. 一个电子邮件系统有三个主要组成构件,即:用户代理、邮件服务器,以及邮件协议(包括邮件发送协议,如SMTP,和邮件读取协议,如POP3和IMAP)。用户代理和邮件服务器都要运行这些协议。
  17. 电子邮件的用户代理就是用户与电子邮件系统的接口,它向用户提供一个很友好的视窗界面来发送和接收邮件。
  18. 从用户代理把邮件传送到邮件服务器,以及在邮件服务器之间的传送,都要使用SMTP协议。但用户代理从邮件服务器读取邮件时,则要使用POP3 ( 或IMAP) 协议。
  19. 基于万维网的电子邮件使用户能够利用浏览器收发电子邮件。用户浏览器和邮件服务器之间的邮件传送使用HTTP协议,而在邮件服务器之间邮件的传送仍然使用SMTP协议。
2018-07-08 17:04:36 sofia_m 阅读数 7888

1、网络体系结构


1.1 基本概念:

网络体系结构(network architecture):是计算机之间相互通信的层次,以及各层中的协议和层次之间接口的集合。

网络协议:是计算机网络和分布系统中互相通信的对等实体间交换信息时所必须遵守的规则的集合。

语法(syntax):包括数据格式、编码及信号电平等。

语义(semantics):包括用于协议和差错处理的控制信息。

定时(timing):包括速度匹配和排序。


1.2 简介

1978年ISO提出了”异种机连网标准”的框架结构,这就是著名的开放系统互联基本参考模型 OSI/RM (Open Systems Interconnection Reference Modle),简称为 OSI 。

OSI参考模型用物理层、数据链路层、网络层、传输层、对话层、表示层和应用层七个层次描述网络的结构,它的规范对所有的厂商是开放的,具有指导国际网络结构和开放系统走向的作用。它直接影响总线、接口和网络的性能。常见的网络体系结构有FDDI、以太网、令牌环网和快速以太网等。从网络互连的角度看,网络体系结构的关键要素是协议和拓扑。


1.3 OSI模型

第一层:物理层(PhysicalLayer)

规定通信设备的机械的、电气的、功能的和规程的特性,用以建立、维护和拆除物理链路连接。具体地讲,机械特性定了网络连接时所需接插件的规格尺寸、引脚数量和排列情况等;电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率距离限制等;功能特性是指对各个信号先分配确切的信号含义,即定义了DTE和DCE之间各个线路的功能;规程特性定义了利用信号线进行bit流传输的一组操作规程,是指在物理连接的建立、维护、交换信息时,DTE和DCE双方在各电路上的动作系列。

在这一层,数据的单位称为比特(bit)。物理层的主要设备:中继器、集线器、适配器。

第二层:数据链路层(DataLinkLayer)

物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。

数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。

在这一层,数据的单位称为帧(frame)。

数据链路层主要设备:二层交换机、网桥。

第三层:网络层(Networklayer)

在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点,确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。

如果你在谈论一个IP地址,那么你是在处理第3层的问题,这是”数据包”问题,而不是第2层的”帧”。IP是第3层问题的一部分,此外还有一些路由协议和地址解析协议(ARP)。有关路由的一切事情都在第3层处理。地址解析和路由是3层的重要目的。网络层还可以实现拥塞控制、网际互连等功能。

在这一层,数据的单位称为数据包(packet)。

网络层协议的代表包括:IP、IPX、RIP、ARP、RARP、OSPF等。

网络层主要设备:路由器

第四层:传输层(Transportlayer)

第4层的数据单元也称作处理信息的传输层(Transport layer)。但是,当你谈论TCP等具体的协议时又有特殊的叫法,TCP的数据单元称为段(segments)而UDP协议的数据单元称为”数据报(datagrams)”。这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。第4层为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务。所谓透明的传输是指在通信过程中传输层对上层屏蔽了通信传输系统的具体细节。

传输层协议的代表包括:TCP、UDP、SPX等。

第五层:会话层(Sessionlayer)

这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。

第六层:表示层(Presentationlayer)

这一层主要解决用户信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩, 加密和解密等工作都由表示层负责。例如图像格式的显示,就是由位于表示层的协议来支持。

第七层:应用层(Applicationlayer)

应用层为操作系统或网络应用程序提供访问网络服务的接口。

应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等。


2、TCP和UDP有什么区别

2.1 UDP (User Data Protocol,用户数据报协议)

首先UDP协议是无连接,不可靠,面向数据报的。

无连接:知道对端的IP和端⼝号就直接进⾏传输, 不需要建⽴连接;
不可靠: UDP没有确认机制来确保报文的到达,没有对报文进行排序的机制,也不提供反馈信息来控制端到端报文传输的速度,所以它的传输是不可靠的。
面向数据报:不能够灵活的控制读写数据的次数和数量。

UDP常用端口:

  • 53:DNS域名服务
  • 69:TFTP(简单文件传输协议)
  • 123:NTP(网络时间协议)
  • 161:SNMP(简单网络管理协议)
  • 162:SNMP(简单网络管理协议:陷阱)
  • 520:RIP(路由信息协议)

2.1 TCP(Transmission Control Protocol,传输控制协议)

TCP协议是面向连接的,可靠地,面向字节的。

连接管理机制:

正常情况下,TCP要经过三次握手建立连接,四次挥手断开连接。

确认应答(ACK)机制:

TCP主机A每次给主机B发送一次数据,主机B都要给主机A发送一个确认应答(每一个ACK都带有对应的确认序列号,告诉发送者我已经收到了那些数据,下一次该从哪里开始发)。

超时重传机制:

如果主机A发送给主机B的数据因为网络拥堵等原因丢包了,数据无法到达主机B。
在特定时间内,主机A没有接收到主机B发送回来的ACK,就会把数据进行重发。

滑动窗口:

因为加入了确认应答机制和超时重传机制,导致性能变差,为了提高性能,引入滑动窗口机制。

即两主机发送数据帧时,不是一帧帧的发送,而是每次发送指定窗口大小的数据帧(当然可以不满,窗口的大小取决于接收窗口和拥塞窗口中的较小值)。

TCP滑动窗口工作过程如下:

  1. 双方在建立连接时确定发送和接受的字节序号,确定最大段长度MSS的值为标准长度(确定发送和接受的窗口)。
  2. 发送方发送一个报文(其数据长度为MSS)后启动计时器,转到步骤4等待接收方应答。
  3. 接收方收到报文后给出应答,其中包含的窗口值即为可以接受的字节数,调整可接收的序列号(接受窗口)。
  4. 发送方等待接收方应答,如果收到对方的应答,则根据接收到的应答报文段中的窗口值更新自己的MSS值,转到步骤二。
  5. 发送方如果超时未接收到对方应答,则重传该报文段后启动计时器,转到步骤四。

流量控制:

接收端处理数据的速度是有限的. 如果发送端发的太快, 导致接收端的缓冲区被打满, 这个时候如果发送端继续发送, 就会造成丢包, 继⽽引起丢包重传等等⼀系列连锁反应。

因此TCP支持根据接收端的处理能力,来决定发送端的发送速度,这个机制就叫做流量控制。

拥塞控制:

虽然TCP有了滑动窗⼝机制, 能够⾼效可靠的发送⼤量的数据. 但是如果在刚开始阶段就发送⼤量的数据, 仍然可能引发问题。
因为网络上有很多的计算机, 可能当前的网络状态就已经比较拥堵。在不清楚当前网络状态下,贸然发送大量的数据,很有可能造成严重的问题。

TCP引入慢启动机制,先发少量的数据,摸清当前的网络拥堵状态,再决定按照多大的速度传输数据。

拥塞窗口的增长速度,是指数级别的。“慢启动”只是初始时慢,但是增长速度非常快。为了不增长的那么快,因此不能使拥塞窗口单纯的加倍,此处引用一个叫做慢启动的阈值,当拥塞窗口超过这个阈值的时候,不再按照指数方式增长,而是按照线性方式增长。

延迟应答:

如果接收数据的主机⽴刻返回ACK应答, 这时候返回的窗⼝可能⽐较⼩。

但实际上可能接收端的处理端的速度很快,很快就会将发送来的数据从缓冲区消费掉,这种情况下,接收端处理远不能达到自己的极限,即使窗口再大一些也可以处理过来。

因此引入延时应答机制,接收端每次都略等一会在应答,这时候返回的窗口大小就又会变大,从而在保证了网络不拥塞的情况下尽量提高了传输效率。窗口越大,网络吞吐量就越大,传输效率就越高。

捎带应答:

在延时应答的基础上,发送端与接收端在应用层也是“一发一收”的,在这个基础上,捎带应答就是令ACK与接收端回送的消息一起回给客户端。

面向字节流:

TCP通过字节流传输,即TCP将应用程序看成是一连串的无结构的字节流。每个TCP套接口有一个发送缓冲区,如果字节流太长时,TCP会将其拆分进行发送。当字节流太短时,TCP会等待缓冲区中的字节流达到一定程度时再构成报文发送出去,TCP发给对方的数据,对方在收到数据时必须给矛确认,只有在收到对方的确认时,本方TCP才会把TCP发送缓冲区中的数据删除。


3.什么是网络套接字(Socket)?流套接字(SOCK_STREAM)基于什么协议?

3.1 套接字(socket)

TCP用主机的IP地址加上主机上的端口号作为TCP连接的端点,这种端点就叫做套接字(socket)或插口。

套接字用(IP地址:端口号)表示。

它是网络通信过程中端点的抽象表示,包含进行网络通信必需的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。

3.2 流套接字(SOCK_STREAM)

流式套接字用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够实现无差错、无重复发送,并按顺序接收。流式套接字之所以能够实现可靠的数据服务,原因在于其使用了传输控制协议,即TCP(The Transmission Control Protocol)协议。

流式套接字提供没有记录边界的数据流:可以是双向的字节流(应用程序是全双工:可以通过套接字同时传输和接收)。可依赖流传递有序的、不重复的数据。(“有序”指数据包按发送顺序送达。”不重复”指一个特定的数据包只能获取一次。)这能确保收到流消息,而流非常适合处理大量数据。


4、IP首部,TCP首部,UDP首部

4.1 IP首部

这里写图片描述

  • 版本:占4位,用于标识该数据报的IP协议的版本信息,对于IPv4,该字段值为4,对于IPv6,该字段值为6。无论是主机还是中间路由器,在处理每个接收到的IP数据报时,根据版本值以选择相应版本的IP协议模块来进行处理。
  • 首部长度:占4位,用于表示IP数据报首部的长度,其值以32位(4字节)为单位,因此,IP首部长度必须是32位的整数倍。当IP数据报首部长度不是32位的整数倍时,必须用填充字段加以填充来补齐32位。如果IP数据报长度为20个字节,该字段值为5。
  • 区分服务:占8位,用来获得更好的服务。这个字段在旧标准中称为服务类型ToS( Type of Service)。它包括优先权字段(3位,现在已不用)、ToS字段(4位,分别表示最小时延、最大吞吐量、最高可靠性和最小费用)、未用字段(1位)。
  • 总长度:占16位,总长度是指IP首部和数据部分长度之和,单位为字节。IP数据
    报的最大长度为215-1=65535字节。但是,这并不意味着IP数据报必须都按最大长度来组织。因为数据链路层存在着最大传送单元MTU( Maximum Transfer Unit)或网络中可能存在其他因素的限制。
  • 标识:占16位。标识的作用是当IP数据报在传输过程中由于低层网络传输限制而需要分片时,同一个P数据报的每个分片所共有的标记,表示这些分片属于同一个IP数据报,以便在目的主机重组这些分片时参照使用。标识的产生:IP层维持着个计数器,每产生一个IP数据报,计数器就加1,并将该值赋给标识字段。但这个“标识”并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。
  • 标志:占3位。第1位保留;第2位为不分片标志,记为DF(Don' t Fragment),当DF=1时,表示此IP数据报不允许被分片;当DF=0时,表示此IP数据报允许被分片;第3位为更多分片标志,记为MF( More Fragment),当MF=1时,表示此分片不是最后分片,其后还有更多分片;当MF=0时,表示此分片是最后分片,其后没有其他分片。
  • 片偏移:占13位。片偏移的作用是指明此分片在原IP数据报(未分片前)中的绝对位置,其值以8字节为单位。因为IP数据报的传输受物理网络的MTU限制,当
    个IP数据报较大,无法承载在数据链路层的一个帧中传输时,IP协议需要将IP数据报划分成多个较小的分片,并为每个分片构造一个单独的IP数据报,以适应物理网络的传输。
  • 寿命TTL( Time to Live):也称为生存时间,占8位。TTL以秒为单位设置了该IP数据报在互联网中允许存在的时间。当IP数据报经过主机或路由器时,它们将对数据报进行处理,根据时间的消逝,递减TTL的值。一旦TTL递减至0,路由器就丢弃该数据报,并向源主机发送一个ICMP超时差错报告报文。但是由于计算IP
    数据报延迟比较复杂,而且不准确。因此现在的路由器大多采用IP数据报所经过
    的路由器数量来计算TTL值,每经过一个路由器,TTL减1,直到减为0为止,这种计算方法又称为跳数(Hop)衡量法。
  • 协议:占8位,用于指出IP数据报携带的数据属于哪一种高层协议,该字段的值是高层协议对应的编号。
  • 首部校验和:占16位。用用于保证IP数据报首部数据的完整性。其计算方法是将首部看作一个16位的整数序列,对每个整数分别进行二进制反码相加,然后再对计算的结果求反。
  • 源IP地址和目的IP地址:各占32位,分别为发送主机的IP地址和接收主机的IP地址。IP数据报在传输过程中可能经过多个中间路由器,但这两个字段值在传送期间始终不变。
  • IP选项:可选项,长度可变。常用于网络测试和调试。目前常用的IP选项有记录路由选项、源路由选项和时间戳选项等。
  • 记录路由选项:用来监视和控制互联网路由器如何路由数据报。
  • 源路由选项:分为严格源路由选项和宽松源路由选项。严格源路由选项规定IP数据报必须严格按照指定的路径到达目的主机,否则报告错误。宽松源路由选项要求IP数据报必须沿着IP地址表中的地址序列传输,但允许表中相继两个地址之间经过其他的IP地址。
  • 时间戳选项:用于测量IP数据报路由过程中所经过的每个路由器的时间,便于对路由的性能进行分析。
  • 填充:可可选项,长度可变,取决于IP选项的长度,其目的是保证数据报首部为32位的整数倍。填充时,填充内容全为“0”。

4.2 UDP协议

这里写图片描述

  • 源端口和目的端口:源端口和目的端口字段各为16位(2字节),它是UDP协议的端口号,其中源端口是可选的(因为UDP不需要反馈信息,因此源端口基本不起作用),目的端口必须填写。若源端口不选,则取值为0。
  • 长度:长度字段为16位(2字节),它是指UDP报文的总长度,包括UDP首部和用户数据两部分,长度以字节为单位。
  • 校验和:校校验和字段为16位(2字节),UDP的校验和字段是保证UDP数据正确的惟一手段。计算UDP校校验和时必须包括UDP伪首部、UDP首部和用户数据3个部分。

4.3 TCP协议

这里写图片描述

  • 源端口号和目的端口号:各占2字节,分别表示发送方和接收方的应用程序端口号。
  • 序列号:占4字节,指派给该报文段第一个数据字节的一个号,表示该数据在发送方的数据流中的位置。初始序列号一般并不是从1开始的,而是根据采用某些算法计算出的一个数值作为起始序列号(5.3.3节讲述)。这样做的目的是为避免出现重复序列号。
  • 确认号:占4字节,确认号是接收方期望收到对方的下一个报文段数据的第一个字节的序号,也就是期望收到对方的下一个TCP报文段首部序列号字段的值。
  • 首部长度:占4位,表示TCP报文首部信息的长度。由于首部可能含有选项内容,因此TCP首部的长度是不确定的。首部长度的单位不是字节而是32位(以4字节为计算单位),其范围是5~15,对应首部的长度是20~~60字节。首部长度也指示了数据区在报文段中的起始偏移值。
  • 保留:占6位,保留为今后使用。目前为全0。
  • 紧急标志URG(U):占1位,当URG=1时,表示紧急指针字段有效。通知发送方本数据报文段中含有紧急数据,需要马上传输,这时发送方不会等到缓冲区满再发送,而是直接优先将该报文段发送出去。
  • 确认标志ACK(A):占1位,当ACK=1时,表示确认号字段有效。
  • 推送标志PSH(P):占1位,PSH=1时,表示当前报文段需要请求推送(Push)操作,即接收方TCP收到推送标志为1的报文时,就立即提交给接收的应用进程,而不必等到整个缓存都填满后再向上提交。
  • 复位标志RST(R):占1位,当RST=1时,表表示TCP连接中出现严重差错(如主机崩溃或其他原因),必须先释放连接,然后再重新建立传输连接。
  • 同步标志SYN(S):占1位,当SYN=1时,表示这是一个连接请求或连接接收报文,用于建立传输连接。
  • 终止标志FIN(F):占1位,当FIN=1时,表示此报文段的发送方的数据已发送完毕,并要求释放传输连接。
  • 窗口大小:占2字节,它是窗口通告值。该值由接收方设置,发送方根据接收到的窗口通告值来来调整发送窗口的大小。通过窗口机制,可以控制发送方发送的数据量,实现流量控制。
  • 校验和:占2字节,TCP的校验和是必选项,它的计算方法与UDP校验和的计算方法相同,同样需要包含TCP伪首部。TCP伪首部中的协议类型值为6(UDP伪首部中的协议类型为17)
  • 紧急指针:占2字节,与紧急标志URG配合使用。在TCP通信中,如果一方有紧急的数据(例如中断或退出命令等)需要尽快发送给另一方,并且让接收方的TCP协议尽快通知相应的应用程序时,可以将URG位置1,并通过紧急指针指示紧急数在报文段中的结束位置。
  • 选项:长度可变,可以是一个或多个字节,规定相应的功能。每个选项由类型、长度、数据3部分组成。
  • MSS:用于TCP连接双方在建立连接时相互告知对方期望的最大报文段长度MSS值。
  • 填充:为了使选项字段对齐32位,可以采用若干0作为填充数据。
2018-10-06 10:51:15 zhouboke 阅读数 5080

鉴于计算机网络那几层协议笔试见过多次,但是都没有合理的总结归纳,特此来分析一波。前几天看到一段话,大意是说:一句话不管多么有道理,假设你想让对方听进去,就必须以别人听得进的方式去表述,否则就大概率无效,所以表达的方式真的是一件极其重要的事,怎样让人家听进去才是你的本事,纵使你的道理多真、本领多深,也得为听者考虑。话不多说,学习去了。

1.OSI模型七层结构

七层协议的作用:

 1.物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特(Bit)。

2.数据链路层:定义了如何格式化数据以进行传输,以及如何控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输(CRC),这一层的数据叫做(Frame)。

3.网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层,这一层的数据叫做分组(数据包:Packet)。

4.传输层 :定义了一些传输数据的协议和端口号(WWW端口80等) , 常常把这一层数据叫做(Segment)。

5.会话层 : 通过传输层(端口号:传输端口与接收端口)建立数据传输的通路(session),提供访问验证和会话管理。常见:服务器的用户登陆,和断定续传(会话协议数据单元SPDU)。

6. 表示层 : 对数据进行翻译、加密和压缩,可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取(表示协议数据单元PPDU)。表示层会通过使用一种通格式来实现多种数据格式之间的转换。

7.应用层 : 是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务(应用协议数据单元APDU)。

每一层的协议如下:

物理层 RJ45、CLOCK、IEEE802.3
数据链路 PPP、FR、HDLC、VLAN、MAC 
网络层 IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP
传输层 TCP、UDP、SPX
会话层 NFS、SQL、NETBIOS、RPC
表示层 JPEG、MPEG、ASII
应用层 FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS

2.TCP和UDP

  TCP UDP
连接性 面向连接 无连接
可靠性 可靠【TCP发送的数据无重复、无丢失、无错误、与发送端顺序一致】 不可靠
数据类型 面向字节流 面向报文
协议 传输控制协议 用户数据报协议
功能 提供超时重发、丢弃重复数据、检验数据、流量控制等功能,保证数据能从一端传到另一端。 建立连接,也没有超时重发机制,不重发,速度块
端口 21端口FTP,23端口Telnet,SMTP服务25端口,HTTP服务80端口 DNS的53端口,SNMP(简单网络管理协议)161端口,QQ使用的8000和4000端口
通信方式 一对一通信 UDP支持一对一、一对多、多对多、多对一通信

 

3.TCP三次握手和四次挥手

0?wx_fmt=png

前提:TCP协议是全双工

第一次握手

客户端向服务端发送连接请求报文段。该报文段的头部中SYN=1,ACK=0,seq=x。请求发送后,客户端便进入SYN-SENT状态。

  • PS1:SYN=1,ACK=0表示该报文段为连接请求报文

  • PS2:x 为本次TCP通信的字节流的初始序号。
    TCP规定:SYN=1的报文段不能有数据部分,但要消耗掉一个序号。

第二次握手

服务端收到连接请求报文段后,如果同意连接,则会发送一个应答:SYN=1,ACK=1,seq=y,ack=x+1。该应答发送完成后便进入SYN-RCVD状态。

  • PS1:SYN=1,ACK=1表示该报文段为连接同意的应答报文

  • PS2:seq=y表示服务端作为发送者时,发送字节流的初始序号。

  • PS3:ack = x + 1表示服务端希望下一个数据报发送序号从x+1开始的字节。

第三次握手

当客户端收到连接同意的应答后,还要向服务端发送一个确认报文段,表示:服务端发来的连接同意应答已经成功收到。该报文段的头部为:ACK=1,seq=x+1,ack=y+1

客户端发完这个报文段后便进入ESTABLISHED状态,服务端收到这个应答后也进入ESTABLISHED状态,此时连接的建立完成!

为什么连接建立需要三次握手,而不是两次握手?

背景:A首先发送一个连接请求,但是该请求在网络节点上滞留了,没有收到确认。于是A重传了一次请求,并且收到了B的确认,于是连接建立,数据传输完成后,释放连接,假定A发出的第一个请求报文段并没有丢失,而是在某些网络节点上滞留,本来是一个失效的请求,但B收到后误认为是A再次发出一个新请求,于是向A发送确认,同意建立连接。

②假定采用两次握手,那么只要B发出确认,则新的连接就建立了。由于A并没有发出请求,因此不理会B的确认,也不会向B发送数据,但B却以为新的连接已经建立,并一直等待A的数据,B的许多资源就这样白白浪费了。

③假定采用三次握手,则B发出确认,但A因为并没有发请求,所以不理会B的确认,B没有收到A的确认,则连接建立失败,B知道连接建立失败。会回收资源。

④极端的情况可能由于Client用户端多次重新发送请求数据而导致Server端最后建立了N多个响应在等待,因而造成极大的资源浪费!所以,“三次握手”很有必要。

四次挥手(TCP的连接的拆除需要发送四个包):

0?wx_fmt=png

因为TCP连接时全双工的,因此每个方向都必须单独进行关闭。

第一次挥手

若A认为数据发送完成,则它需要向B发送连接释放请求。该请求只有报文头,头中携带的主要参数为:FIN=1,seq=u。此时,A将进入FIN-WAIT-1状态。

  • PS1:FIN = 1 表示该报文段是一个连接释放请求

  • PS2:seq=u,u - 1是A向B发送的最后一个字节的序号。

第二次挥手

B收到连接释放请求后,会通知相应的应用程序,告诉它A向B这个方向的连接已经释放。此时B进入CLOSE-WAIT状态,并向A发送连接释放的应答,其报文头包含:ACK=1,seq=v,ack=u+1。

  • PS1:ACK=1:除TCP连接请求报文段以外,TCP通信过程中所有数据报的ACK都为1,表示应答

  • PS2:seq=v,v-1是B向A发送的最后一个字节的序号。

  • PS3:ack = u+1表示希望收到从第u+1个字节开始的报文段,并且已经成功接收了前u个字节。

A收到该应答,进入FIN-WAIT-2状态,等待B发送连接释放请求。

第二次挥手完成后,A到B方向的连接已经释放,B不会再接收数据,A也不会再发送数据。但B到A方向的连接仍然存在,B可以继续向A发送数据。

第三次挥手

当B向A发完所有数据后,向A发送连接释放请求,请求头:FIN=1,ACK=1,seq=w,ack=u+1。B便进入LAST-ACK状态。

第四次挥手

A收到释放请求后,向B发送确认应答,此时A进入TIME-WAIT状态。该状态会持续2MSL时间,若该时间段内没有B的重发请求的话,就进入CLOSED状态,撤销TCB。当B收到确认应答后,也便进入CLOSED状态,撤销TCB。

为什么挥手是四次,而握手时三次?

答:握手时AC卡和SYN可以放在一个报文里发送,但是关闭连接时,当收到对方的FIN报文,你未必完成所有数据,所以可能发送ACK确认收到FIN,然后发送FIN表示关闭连接。

5.HTTP和HTTPS

 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

  为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议(Secure Sockets Layer),SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性

二、HTTP与HTTPS有什么区别?

  HTTPS和HTTP的区别主要如下:

  •   http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  •   http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  •   http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

HTTP与HTTPS的区别-马海祥博客

 客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤,如图所示。

  (1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。

  (2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。

  (3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。

  (4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。

  (5)Web服务器利用自己的私钥解密出会话密钥。

  (6)Web服务器利用会话密钥加密与客户端之间的通信。

6.TCP的滑动窗口,流量控制和拥塞控制,快重传和快恢复,超时重传

  TCP协议作为一个可靠的面向流的传输协议,其可靠性和流量控制由滑动窗口协议保证,而拥塞控制则由控制窗口结合一系列的控制算法实现。

  滑动窗口协议:1. “窗口”对应的是一段可以被发送者发送的字节序列,其连续的范围称之为“窗口”;2. “滑动”则是指这段“允许发送的范围”是可以随着发送的过程而变化的,方式就是按顺序“滑动”。

  流量控制,主要是接收方传递信息给发送方,使其不要发送数据太快,是一种端到端的控制。主要的方式就是返回的ACK中会包含自己的接收窗口的大小,并且利用大小来控制发送方的数据发送。

  拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。常用的方法就是:

       (1)慢开始、拥塞控制

       (2)快重传、快恢复。

  数据在传输时不仅一个窗口协议,还有一个拥塞窗口来控制数据的流量,使得数据不会一下子都跑到网路中引起“拥塞”。拥塞窗口最初使用指数增长的速度来增加自身的窗口,直到发生超时重传,再利用拥塞避免算法和慢启动门限进行一次微调。

  拥塞避免算法就是:每经过一个往返时间RTT就把发送方的拥塞窗口+1,即让拥塞窗口缓慢地增大,按照线性规律增长;当出现网络拥塞,比如丢包时,将慢开始门限设为原先的一半,然后将cwnd设为1,执行慢启动算法(较低的起点,指数级增长);慢启动门限就是说,当拥塞窗口超过门限时,就使用拥塞避免算法,而在门限以内就采用慢启动算法。通常拥塞窗口记做cwnd,慢启动门限记做ssthresh。

       慢开始和拥塞控制算法常常作为一个整体使用,而快重传和快恢复则是为了减少因为拥塞导致的数据包丢失带来的重传时间,从而避免传递无用的数据到网络。

  快重传的机制是:

  1.接收方如果发现一个包丢失,则对后续的包继续发送针对该包的重传请求;

  2. 一旦发送方接收到三个一样的确认,就知道该包之后出现了错误,立刻重传该包;

  3. 此时发送方开始执行“快恢复”算法:

  • 慢开始门限减半;
  • cwnd设为慢开始门限减半后的数值;
  •  执行拥塞避免算法(高起点,线性增长);

  超时重传是TCP协议保证数据可靠性的另一个重要机制,其原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止。

最基本的传输可靠性来源于“确认重传”机制。

TCP的滑动窗口的可靠性也是建立在“确认重传”基础上的。

发送窗口只有收到对端对于本段发送窗口内字节的ACK确认,才会移动发送窗口的左边界。

接收窗口只有在前面所有的段都确认的情况下才会移动左边界。当在前面还有字节未接收但收到后面字节的情况下,窗口不会移动,并不对后续字节确认。以此确保对端会对这些数据重传。

2018-07-25 23:51:39 hhhhhsw 阅读数 16034

1. OSI与TCP/IP各层的结构与功能,都有哪些协议。
这里写图片描述
OSI模型
  OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备,比如路由器,交换机。
  OSI七层模型是一种框架性的设计方法,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能就是帮助不同类型的主机实现数据传输。它的最大优点是将服务、接口和协议这三个概念明确地区分开来,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。

OSI是Open System Interconnect的缩写,意为开放式系统互联。

OSI七层参考模型的各个层次的划分遵循下列原则:
1、同一层中的各网络节点都有相同的层次结构,具有同样的功能。
2、同一节点内相邻层之间通过接口(可以是逻辑接口)进行通信。
3、七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务。
4、不同节点的同等层按照协议实现对等层之间的通信。

各层简介:

  【1】物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换),这一层的数据叫做比特

  【2】数据链路层:负责物理传输的准备。在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。在这一层,数据的单位称为(frame)。数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。MAC地址和交换机在这一层

  【3】网络层:在 计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。如 果你在谈论一个IP地址,那么你是在处理第3层的问题,这是“数据包”问题,而不是第2层的“帧”。IP是第3层问题的一部分,此外还有一些路由协议和地 址解析协议(ARP)。有关路由的一切事情都在这第3层处理。地址解析和路由是3层的重要目的。网络层还可以实现拥塞控制、网际互连等功能。在这一层,数据的单位称为数据包(packet)。网络层协议的代表包括:IP、IPX、RIP、OSPF等。负责管理网络地址、定位设备、决定路由,路由器工作在这层。包括用户数据包,路由更新包。

  【4】传输层:OSI中最重要的一层,负责分割组合数据,实现端到端的逻辑连接。第4层的数据单元也称作数据包(packets)。但是,当你谈论TCP等具体的协议时又有特殊的叫法,TCP的数据单元称为 (segments)而UDP协议的数据单元称为“数据报(datagrams)”。这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的 数据包和其它在传输过程中可能发生的危险。第4层为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务。所为透明的传输是指在通信过程中 传输层对上层屏蔽了通信传输系统的具体细节。传输层协议的代表包括:TCP、UDP、SPX等。

  【5】会话层:负责在网络中两个节点间建立、维护、控制会话,区分不同的会话,以及提供单工、半双工、全双工三种通信模式服务。通过传输层(端口号:传输端口与接收端口)建立数据传输的通路,主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)。NFS、X Windows、RPC都在这一层。

  【6】表示层:可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。这一层主要解决信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩, 加密和解密等工作都由表示层负责。

  【7】应用层: 是最靠近用户的OSI层,这一层为用户的操作系统或应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。。应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等。
  
TCP/IP模型:

是最基本的Internet协议,有网络层的IP和传输层的TCP构成。指TCP/IP协议簇。

分为四层,每一层都呼叫他的下一层所提供的网络来实现自己的需求。

1、网络接口层负责底层的传输,常见协议有Ethernet 802.3 、Token Ring 802.5、X.25等。

2、网络层负责不同计算机之间的通信

3、传输层负责应用程序间的通信,主要包括格式化信息流,提供可靠地传输等。

4、应用层倾向于向用户提供服务,如电子邮件,远程登录等。

属于TCP/IP协议簇的所有协议都位于该模型的上面三层。

TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复 用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、 流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要 有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系 统)、TFTP(通用文件传输协议)等.

TCP/IP协议与低层的网络接口层无关,这也是TCP/IP的重要特点。

除了层的数量之外,开放式系统互联(OSI)模型与TCP/IP协议有什么区别

开放式系统互联模型是一个参考标准,解释协议相互之间应该如何相互作用。TCP/IP协议是美国国防部发明的,是让互联网成为了目前这个样子的标准之一。开放式系统互联模型中没有清楚地描绘TCP/IP协议,但是在解释TCP/IP协议时很容易想到开放式系统互联模型。两者的主要区别如下:

TCP/IP协议中的应用层处理开放式系统互联模型中的第五层、第六层和第七层的功能。

TCP/IP协议中的传输层并不能总是保证在传输层可靠地传输数据包,而开放式系统互联模型可以做到。TCP/IP协议还提供一项名为UDP(用户数据报协议)的选择。UDP不能保证可靠的数据包传输。

2. TCP与UDP的区别。
TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。 TCP的缺点: 慢,效率低,占用系统资源高,易被攻击。TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间,而且要在每台设备上维护所有的传输连接,事实上,每个连接都会占用系统的CPU、内存等硬件资源。 而且,因为TCP有确认机制、三次握手机制,这些也导致TCP容易被人利用,实现DOS、DDOS、CC等攻击。

UDP的优点: 快,比TCP稍安全。UDP没有TCP的握手、确认、窗口、重传、拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快。没有TCP的这些机制,UDP较TCP被攻击者利用的漏洞就要少一些。但UDP也是无法避免攻击的,比如:UDP Flood攻击…… UDP的缺点: 不可靠,不稳定 因为UDP没有TCP那些可靠的机制,在数据传递时,如果网络质量不好,就会很容易丢包。 基于上面的优缺点,那么: 什么时候应该使用TCP: 当对网络通讯质量有要求的时候,比如:整个数据要准确无误的传递给对方,这往往用于一些要求可靠的应用,比如HTTP、HTTPS、FTP等传输文件的协议,POP、SMTP等邮件传输的协议。 在日常生活中,常见使用TCP协议的应用如下: 浏览器,用的HTTP FlashFXP,用的FTP Outlook,用的POP、SMTP Putty,用的Telnet、SSH QQ文件传输 ………… 什么时候应该使用UDP: 当对网络通讯质量要求不高的时候,要求网络通讯速度能尽量的快,这时就可以使用UDP。 比如,日常生活中,常见使用UDP协议的应用如下: QQ语音 QQ视频 TFTP ……

总结

  • TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
  • TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
  • TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的
    UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
  • 每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
  • TCP首部开销20字节;UDP的首部开销小,只有8个字节
  • TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道

3. TCP报文结构。
这里写图片描述
1、端口号:用来标识同一台计算机的不同的应用进程。

1)源端口:源端口和IP地址的作用是标识报文的返回地址。

2)目的端口:端口指明接收方计算机上的应用程序接口。

TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接。

2、序号和确认号:是TCP可靠传输的关键部分。序号是本报文段发送的数据组的第一个字节的序号。在TCP传送的流中,每一个字节一个序号。
这里可参考理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)

3、数据偏移/首部长度:4bits。由于首部可能含有可选项内容,因此TCP报头的长度是不确定的,报头不包含任何任选字段则长度为20字节,4位首部长度字段所能表示的最大值为1111,转化为10进制为15,15*32/8 = 60,故报头最大长度为60字节。首部长度也叫数据偏移,是因为首部长度实际上指示了数据区在报文段中的起始偏移值。

4、保留:为将来定义新的用途保留,现在一般置0。

5、控制位:URG ACK PSH RST SYN FIN,共6个,每一个标志位表示一个控制功能。

1)URG:紧急指针标志,为1时表示紧急指针有效,为0则忽略紧急指针。

2)ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段。

3)PSH:push标志,为1表示是带有push标志的数据,指示接收方在接收到该报文段以后,应尽快将这个报文段交给应用程序,而不是在缓冲区排队。

4)RST:重置连接标志,用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。

5)SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1和ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1和ACK=1。

6)FIN:finish标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。

6、窗口:滑动窗口大小,用来告知发送端接受端的缓存大小,以此控制发送端发送数据的速率,从而达到流量控制。窗口大小时一个16bit字段,因而窗口大小最大为65535。

7、校验和:奇偶校验,此校验和是对整个的 TCP 报文段,包括 TCP 头部和 TCP 数据,以 16 位字进行计算所得。由发送端计算和存储,并由接收端进行验证。

8、紧急指针:只有当 URG 标志置 1 时紧急指针才有效。紧急指针是一个正的偏移量,和顺序号字段中的值相加表示紧急数据最后一个字节的序号。 TCP 的紧急方式是发送端向另一端发送紧急数据的一种方式。

9、选项和填充:最常见的可选字段是最长报文大小,又称为MSS(Maximum Segment Size),每个连接方通常都在通信的第一个报文段(为建立连接而设置SYN标志为1的那个段)中指明这个选项,它表示本端所能接受的最大报文段的长度。选项长度不一定是32位的整数倍,所以要加填充位,即在这个字段中加入额外的零,以保证TCP头是32的整数倍。

10、数据部分: TCP 报文段中的数据部分是可选的。在一个连接建立和一个连接终止时,双方交换的报文段仅有 TCP 首部。如果一方没有数据要发送,也使用没有任何数据的首部来确认收到的数据。在处理超时的许多情况中,也会发送不带任何数据的报文段。

4. TCP的三次握手与四次挥手过程,各个状态名称与含义,TIMEWAIT的作用。
这里写图片描述
详细过程
这里写图片描述

如果理解了上面的序号和确认号,这里的理解也不难。
1、客户端发送报文SYN=1请求建立连接,并进入SYN-SENT状态。这里客户端的初始序号为随机数X(可理解为发送端发送的数据应排在接收端X位置上)。
2、服务端接收到请求,发送报文SYN=1和ACK=1,前者表示同意连接,后者表示客户端上次发送过来的数据已经正常接收,并进入SYN-RCYD状态。这里服务端的初始序号为随机数Y,确认号为X+1(可理解为下次发送过来的数据应该在X+1位置上才正确)。
3、客户端接收到信息后再发送报文ACK=1表示确认,开启连接,进入ESTABLISHED状态。
4、服务端接收到确认信息开启连接,进入ESTABLISHED状态。

这里写图片描述

关闭连接同理。

【注意】 在TIME_WAIT状态中,如果TCP client端最后一次发送的ACK丢失了,server端等不到者个ACT将重新发送FIN给client端,client端接收到知道ACT报文丢失了将重新发送ACT报文。TIME_WAIT状态中所需要的时间是依赖于实现方法的。典型的值为30秒、1分钟和2分钟。等待之后连接正式关闭,并且所有的资源(包括端口号)都被释放。

【问题1】为什么连接的时候是三次握手,关闭的时候却是四次握手?
答:因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,”你发的FIN报文我收到了”。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步握手。

【问题2】为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?

答:虽然按道理,四个报文都发送完毕,我们可以直接进入CLOSE状态了,但是我们必须假象网络是不可靠的,有可以最后一个ACK丢失。所以TIME_WAIT状态就是用来重发可能丢失的ACK报文。

5. TCP拥塞控制。
一般原理:发生拥塞控制的原因:资源(带宽、交换节点的缓存、处理机)的需求>可用资源。

作用:拥塞控制就是为了防止过多的数据注入到网络中,这样可以使网络中的路由器或者链路不至于过载。拥塞控制要做的都有一个前提:就是网络能够承受现有的网络负荷。

对比流量控制:拥塞控制是一个全局的过程,涉及到所有的主机、路由器、以及降低网络相关的所有因素。流量控制往往指点对点通信量的控制。是端对端的问题。

拥塞窗口:发送方为一个动态变化的窗口叫做拥塞窗口,拥塞窗口的大小取决于网络的拥塞程度。发送方让自己的发送窗口=拥塞窗口,但是发送窗口不是一直等于拥塞窗口的,在网络情况好的时候,拥塞窗口不断的增加,发送方的窗口自然也随着增加,但是接受方的接受能力有限,在发送方的窗口达到某个大小时就不在发生变化了。

发送方如何知道网络拥塞了呢?发送方发送一些报文段时,如果发送方没有在时间间隔内收到接收方的确认报文段,则就可以人为网络出现了拥塞。

慢启动算法的思路:主机开发发送数据报时,如果立即将大量的数据注入到网络中,可能会出现网络的拥塞。慢启动算法就是在主机刚开始发送数据报的时候先探测一下网络的状况,如果网络状况良好,发送方每发送一次文段都能正确的接受确认报文段。那么就从小到大的增加拥塞窗口的大小,即增加发送窗口的大小。

例子:开始发送方先设置cwnd(拥塞窗口)=1,发送第一个报文段M1,接收方接收到M1后,发送方接收到接收方的确认后,把cwnd增加到2,接着发送方发送M2、M3,发送方接收到接收方发送的确认后cwnd增加到4,慢启动算法每经过一个传输轮次(认为发送方都成功接收接收方的确认),拥塞窗口cwnd就加倍。

拥塞避免:为了防止cwnd增加过快而导致网络拥塞,所以需要设置一个慢开始门限ssthresh状态变量(我也不知道这个到底是什么,就认为他是一个拥塞控制的标识),它的用法:

1、当cwnd < ssthresh,使用慢启动算法,

2、 当cwnd > ssthresh,使用拥塞控制算法,停用慢启动算法。

3、 当cwnd = ssthresh,这两个算法都可以。

拥塞避免的思路:是让cwnd缓慢的增加而不是加倍的增长,每经历过一次往返时间就使cwnd增加1,而不是加倍,这样使cwnd缓慢的增长,比慢启动要慢的多。

无论是慢启动算法还是拥塞避免算法,只要判断网络出现拥塞,就要把慢启动开始门限(ssthresh)设置为设置为发送窗口的一半(>=2),cwnd(拥塞窗口)设置为1,然后在使用慢启动算法,这样做的目的能迅速的减少主机向网络中传输数据,使发生拥塞的路由器能够把队列中堆积的分组处理完毕。

实例:1、TCP连接进行初始化的时候,cwnd=1,ssthresh=16。

2、在慢启动算法开始时,cwnd的初始值是1,每次发送方收到一个ACK拥塞窗口就增加1,当ssthresh =cwnd时,就启动拥塞控制算法,拥塞窗口按照规律增长,

3、当cwnd=24时,网络出现超时,发送方收不到确认ACK,此时设置ssthresh=12,(二分之一cwnd),设置cwnd=1,然后开始慢启动算法,当cwnd=ssthresh=12,慢启动算法变为拥塞控制算法,cwnd按照线性的速度进行增长。
这里写图片描述

快重传:

快重传算法要求首先接收方收到一个失序的报文段后就立刻发出重复确认,而不要等待自己发送数据时才进行捎带确认。接收方成功的接受了发送方发送来的M1、M2并且分别给发送了ACK,现在接收方没有收到M3,而接收到了M4,显然接收方不能确认M4,因为M4是失序的报文段。如果根据可靠性传输原理接收方什么都不做,但是按照快速重传算法,在收到M4、M5等报文段的时候,不断重复的向发送方发送M2的ACK,如果接收方一连收到三个重复的ACK,那么发送方不必等待重传计时器到期,由于发送方尽早重传未被确认的报文段。

这里写图片描述

快恢复:

当发送方连续接收到三个确认时,就执行乘法减小算法,把慢启动开始门限(ssthresh)设置为cwnd的一半,但是接下来并不执行慢开始算法。

此时不执行慢启动算法,而是把cwnd设置为新的ssthresh值, 然后执行拥塞避免算法,使拥塞窗口缓慢增大。

这里写图片描述

6. TCP滑动窗口与回退N针协议。
滑动窗口协议
这里写图片描述
1、发送端和接收端分别设定发送窗口和接收窗口。
2、三次握手的时候,客户端把自己的缓冲区大小也就是窗口大小发送给服务器,服务器回应是也将窗口大小发送给客户端,服务器客户端都知道了彼此的窗口大小。
3、比如主机A的发送窗口大小为5,主机A可以向主机B发送5个单元,如果B缓冲区满了,A就要等待B确认才能继续发送数据。
4、如果缓冲区中有1个报文被进程读取,主机B就会回复ACK给主机A,接收窗口向前滑动,报文中窗口大小为1,就说明A还可以发送1个单元的数据,发送窗口向前滑动,之后等待主机B的确认报文。
只有接收窗口向前滑动并发送了确认时,发送窗口才能向前滑动。

停止等待ARQ协议(stop and wait)
这里写图片描述
当发送窗口和接收窗口都等于1时,就是停止等待协议。发送端给接收端发送数据,等待接收端确认回复ACk,并停止发送新的数据包,开启计时器。数据包在计时器超时之前得到确认,那么计时器就会关闭,并发送下一个数据包。如果计时器超时,发送端就认为数据包丢失或被破坏,需要重新发送之前的数据包,说明数据包在得到确认之前,发送端需要存储数据包的副本。
停止等待协议是发出一个帧后得到确认才发下一个,降低了信道的利用率。

退后N帧协议
这里写图片描述
在发送完一个帧后,不用停下来等待确认,而是可以连续发送多个数据帧,这样就减少了等待时间,整个通信的通吞吐量提高。
如果前一个帧在超时时间内未得到确认,就认为丢失或被破坏,需要重发出错帧及其后面的所有数据帧。这样有可能有把正确的数据帧重传一遍,降低了传送效率。
线路很差时,使用退后N帧的协议会浪费大量的带宽重传帧。

选择重传协议
这里写图片描述
NAK:非确认帧,当在一定时间内没有收到某个数据帧的ACK时,回复一个NACK。
在发送过程中,如果一个数据帧计时器超时,就认为该帧丢失或者被破坏,接收端只把出错的的帧丢弃,其后面的数据帧保存在缓存中,并向发送端回复NAK。发送端接收到NAK时,只发送出错的帧。
如果落在窗口的帧从未接受过,那么存储起来,等比它序列号小的所有帧都按次序交给网络层,那么此帧才提交给网络层。
接收端收到的数据包的顺序可能和发送的数据包顺序不一样。因此在数据包里必须含有顺序字符来帮助接受端来排序。
选择重传协议可以避免重复传送那些正确到达接收端的数据帧。但是接收端要设置具有相当容量的缓存空间,这在许多情况下是不够经济的。

7. Http的报文结构。
http报文是面向文本的,报文中每一个字段都是一些ASCII码串,各个字段的长度是不确定的。http有两类报文:请求报文 响应报文

请求报文
这里写图片描述
1、请求行

请求行由请求方法字段、URL字段和HTTP协议版本字段,组成,它们用空格分隔,例如:GET /index.html HTTP/1.1

HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。这里介绍最常用的GET和POST方法;

GET:当client要从server中读取文档时,使用GET方法。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给client。

使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号(”?”)代表URL的结尾与请求参数的开始,传递参数长度受限制,例如: /index.jsp?id=100&op=bind

POST:当client给服务器提供信息较多时, 使用POST方法。POST方法将请求参数封装在HTTP请求数据中,以key/value的形式出现,可以传递大量数据,可用来传递文件

2、消息头部

请求头部由key/value键值对组成,每行一对,key和value用冒号”:”分隔,请求头部通知服务器有关于client端的请求信息,典型的请求头:

User-Agent:产生请求的浏览器类型
Accept:client端可识别的内容类型列表
Host:请求的主机名,允许多个域名同处一个ip地址,即虚拟主机    

3、空行

最后一个请求头之后是一个空行,发送回车符和换行符,通知服务器请求头结束。

对于一个完整的http请求来说空行是必须的,否则服务器会任务本次请求的数据尚未完全发送到server,处于等待状态

4、请求正文

请求数据不在GET方法中使用,而是在POST中使用。POST方法适用于需要client填写表单的场合,与请求数据相关的最常用的请求头是Content-Type 和Content-Length

响应报文
这里写图片描述
1、状态行:状态行由 HTTP 协议版本字段、状态码和状态码的描述文本 3 个部分组成,他们之间使用空格隔开;

  ● 状态码由三位数字组成,第一位数字表示响应的类型,常用的状态码有五大类如下所示:

  1xx:表示服务器已接收了客户端请求,客户端可继续发送请求;

  2xx:表示服务器已成功接收到请求并进行处理;

  3xx:表示服务器要求客户端重定向;

  4xx:表示客户端的请求有非法内容;

  5xx:表示服务器未能正常处理客户端的请求而出现意外错误;

  ● 状态码描述文本有如下取值:

  200 OK:表示客户端请求成功;

  400 Bad Request:表示客户端请求有语法错误,不能被服务器所理解;

  401 Unauthonzed:表示请求未经授权,该状态代码必须与 WWW-Authenticate 报头域一起使用;

  403 Forbidden:表示服务器收到请求,但是拒绝提供服务,通常会在响应正文中给出不提供服务的原因;

  404 Not Found:请求的资源不存在,例如,输入了错误的URL;

  500 Internal Server Error:表示服务器发生不可预期的错误,导致无法完成客户端的请求;

  503 Service Unavailable:表示服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常;

2、响应头部:响应头可能包括:

  Location:Location响应报头域用于重定向接受者到一个新的位置。例如:客户端所请求的页面已不存在原先的位置,为了让客户端重定向到这个页面新的位置,服务器端可以发回Location响应报头后使用重定向语句,让客户端去访问新的域名所对应的服务器上的资源;

  Server:Server 响应报头域包含了服务器用来处理请求的软件信息及其版本。它和 User-Agent 请求报头域是相对应的,前者发送服务器端软件的信息,后者发送客户端软件(浏览器)和操作系统的信息。

  Vary:指示不可缓存的请求头列表;

  Connection:连接方式;

  对于请求来说:close(告诉 WEB 服务器或者代理服务器,在完成本次请求的响应后,断开连接,不等待本次连接的后续请求了)。keepalive(告诉WEB服务器或者代理服务器,在完成本次请求的响应后,保持连接,等待本次连接的后续请求);

  对于响应来说:close(连接已经关闭); keepalive(连接保持着,在等待本次连接的后续请求); Keep-Alive:如果浏览器请求保持连接,则该头部表明希望WEB 服务器保持连接多长时间(秒);例如:Keep-Alive:300;

  WWW-Authenticate:WWW-Authenticate响应报头域必须被包含在401 (未授权的)响应消息中,这个报头域和前面讲到的Authorization 请求报头域是相关的,当客户端收到 401 响应消息,就要决定是否请求服务器对其进行验证。如果要求服务器对其进行验证,就可以发送一个包含了Authorization 报头域的请求;

3、空行:最后一个响应头部之后是一个空行,发送回车符和换行符,通知服务器以下不再有响应头部。

4、实体主体:服务器返回给客户端的文本信息;
8. Http的状态码含义。
 一、200状态码:
  成功2××: 成功处理了请求的状态码。
  1、200 :服务器已成功处理了请求并提供了请求的网页。
  2、204: 服务器成功处理了请求,但没有返回任何内容。
  二、300状态码:
  重定向3×× :每次请求中使用重定向不要超过 5 次。
  1、301: 请求的网页已永久移动到新位置。当URLs发生变化时,使用301代码。搜索引擎索引中保存新的URL。
  2、302: 请求的网页临时移动到新位置。搜索引擎索引中保存原来的URL。
  3、304: 如果网页自请求者上次请求后没有更新,则用304代码告诉搜索引擎机器人,可节省带宽和开销。
  三、400状态码:
  客户端错误4×× :表示请求可能出错,妨碍了服务器的处理。
  1、400: 服务器不理解请求的语法。
  2、403: 服务器拒绝请求。
  3、404: 服务器找不到请求的网页。服务器上不存在的网页经常会返回此代码。
  4、410 :请求的资源永久删除后,服务器返回此响应。该代码与 404(未找到)代码相似,但在资源以前存在而现在不存在的情况下,有时用来替代404 代码。如果资源已永久删除,应当使用 301 指定资源的新位置。
  四、500状态码:
  服务器错误5×× :表示服务器在处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错。
  1、500 :服务器遇到错误,无法完成请求。
  2、503: 服务器目前无法使用(由于超载或停机维护)。
  通常,这只是暂时状态。 希望大家在分析日志的时候可以参照一下,根据具体的状态码解决问题。

9. Http request的几种类型。
1、 OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送’*’的请求来测试服务器的功能性。

2、HEAD:向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。

3、GET:向特定的资源发出请求。

4、POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。

5、PUT:向指定资源位置上传其最新内容。

6、DELETE:请求服务器删除Request-URI所标识的资源。

7、TRACE:回显服务器收到的请求,主要用于测试或诊断。

8、CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

10. Http1.1和Http1.0的区别
1、长连接
HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接。

HTTP是基于TCP/IP协议的,创建一个TCP连接是需要经过三次握手的,有一定的开销,如果每次通讯都要重新建立连接的话,对性能有影响。因此最好能维持一个长连接,可以用个长连接来发多个请求。

2、节约带宽
HTTP 1.1支持只发送header信息(不带任何body信息),如果服务器认为客户端有权限请求服务器,则返回100,否则返回401。客户端如果接受到100,才开始把请求body发送到服务器。

这样当服务器返回401的时候,客户端就可以不用发送请求body了,节约了带宽。

另外HTTP还支持传送内容的一部分。这样当客户端已经有一部分的资源后,只需要跟服务器请求另外的部分资源即可。这是支持文件断点续传的基础。

3、HOST域
现在可以web server例如tomat,设置虚拟站点是非常常见的,也即是说,web server上的多个虚拟站点可以共享同一个ip和端口。

HTTP1.0是没有host域的,HTTP1.1才支持这个参数。

11. Http怎么处理长连接。
在HTTP1.0和HTTP1.1协议中都有对长连接的支持。其中HTTP1.0需要在request中增加Connection: keep-alive header才能够支持,而HTTP1.1默认支持。

1、http1.0请求与服务端的交互过程:

(1)客户端发出带有包含一个header:”Connection: keep-alive“的请求

(2)服务端接收到这个请求后,根据http1.0和”Connection: keep-alive“判断出这是一个长连接,就会在response的header中也增加”Connection: keep-alive“,同时不会关闭已建立的tcp连接.

(3)客户端收到服务端的response后,发现其中包含”Connection: keep-alive“,就认为是一个长连接,不关闭这个连接。并用该连接再发送request.转到(1)

2、http1.1请求与服务端的交互过程:

(1)客户端发出http1.1的请求

(2)服务端收到http1.1后就认为这是一个长连接,会在返回的response设置Connection: keep-alive,同时不会关闭已建立的连接.

(3)客户端收到服务端的response后,发现其中包含”Connection: keep-alive“,就认为是一个长连接,不关闭这个连接。并用该连接再发送request.转到(1)

基于http协议的长连接减少了请求,减少了建立连接的时间,但是每次交互都是由客户端发起的,客户端发送消息,服务端才能返回客户端消息。

12. Cookie与Session的作用原理。

Cookie

1、工作原理
(1)创建Cookie
当用户第一次浏览某个使用Cookie的网站时,该网站的服务器就进行如下工作:
①该用户生成一个唯一的识别码(Cookie id),创建一个Cookie对象;
②默认情况下它是一个会话级别的cookie,存储在浏览器的内存中,用户退出浏览器之后被删除。如果网站希望浏览器将该Cookie存储在磁盘上,则需要设置最大时效(maxAge),并给出一个以秒为单位的时间(将最大时效设为0则是命令浏览器删除该Cookie);
③将Cookie放入到HTTP响应报头,将Cookie插入到一个 Set-Cookie HTTP请求报头中。
④发送该HTTP响应报文。
(2)设置存储Cookie
浏览器收到该响应报文之后,根据报文头里的Set-Cookied特殊的指示,生成相应的Cookie,保存在客户端。该Cookie里面记录着用户当前的信息。
(3)发送Cookie
当用户再次访问该网站时,浏览器首先检查所有存储的Cookies,如果某个存在该网站的Cookie(即该Cookie所声明的作用范围大于等于将要请求的资源),则把该cookie附在请求资源的HTTP请求头上发送给服务器。
(4)读取Cookie
服务器接收到用户的HTTP请求报文之后,从报文头获取到该用户的Cookie,从里面找到所需要的东西。

2、作用
Cookie的根本作用就是在客户端存储用户访问网站的一些信息。典型的应用有:

(1)记住密码,下次自动登录。

(2)购物车功能。

(3)记录用户浏览数据,进行商品(广告)推荐。

3、缺陷
①Cookie会被附加在每个HTTP请求中,所以无形中增加了流量。

②由于在HTTP请求中的Cookie是明文传递的,所以安全性成问题。(除非用HTTPS)

③Cookie的大小限制在4KB左右。对于复杂的存储需求来说是不够用的。

Session

1、工作原理
(1)创建Session
当用户访问到一个服务器,如果服务器启用Session,服务器就要为该用户创建一个SESSION,在创建这个SESSION的时候,服务器首先检查这个用户发来的请求里是否包含了一个SESSION ID,如果包含了一个SESSION ID则说明之前该用户已经登陆过并为此用户创建过SESSION,那服务器就按照这个SESSION ID把这个SESSION在服务器的内存中查找出来(如果查找不到,就有可能为他新创建一个),如果客户端请求里不包含有SESSION ID,则为该客户端创建一个SESSION并生成一个与此SESSION相关的SESSION ID。这个SESSION ID是唯一的、不重复的、不容易找到规律的字符串,这个SESSION ID将被在本次响应中返回到客户端保存,而保存这个SESSION ID的正是COOKIE,这样在交互过程中浏览器可以自动的按照规则把这个标识发送给服务器。
(2)使用Session
我们知道在IE中,我们可以在工具的Internet选项中把Cookie禁止,那么会不会出现把客户端的Cookie禁止了,那么SESSIONID就无法再用了呢?找了一些资料说明,可以有其他机制在COOKIE被禁止时仍然能够把Session id传递回服务器。

经常被使用的一种技术叫做URL重写,就是把Session id直接附加在URL路径的后面一种是作为URL路径的附加信息,表现形式为:

http://…./xxx;jSession=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764;

另一种是作为查询字符串附加在URL后面,表现形式为:

http://…../xxx?jSession=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764

还有一种就是表单隐藏字段。就是服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把Session id传递回服务器。

2、作用

Session的根本作用就是在服务端存储用户和服务器会话的一些信息。典型的应用有:

(1)判断用户是否登录。

(2)购物车功能。

Cookie和Session的比较:

1、存放位置不同

Cookie保存在客户端,Session保存在服务端。

2 、存取方式的不同

Cookie中只能保管ASCII字符串,假如需求存取Unicode字符或者二进制数据,需求先进行编码。Cookie中也不能直接存取Java对象。若要存储略微复杂的信息,运用Cookie是比拟艰难的。

而Session中能够存取任何类型的数据,包括而不限于String、Integer、List、Map等。Session中也能够直接保管Java Bean乃至任何Java类,对象等,运用起来十分便当。能够把Session看做是一个Java容器类。

3、安全性(隐私策略)的不同

Cookie存储在浏览器中,对客户端是可见的,客户端的一些程序可能会窥探、复制以至修正Cookie中的内容。而Session存储在服务器上,对客户端是透明的,不存在敏感信息泄露的风险。 假如选用Cookie,比较好的方法是,敏感的信息如账号密码等尽量不要写到Cookie中。最好是像Google、Baidu那样将Cookie信息加密,提交到服务器后再进行解密,保证Cookie中的信息只要本人能读得懂。而假如选择Session就省事多了,反正是放在服务器上,Session里任何隐私都能够有效的保护。

4、有效期上的不同

只需要设置Cookie的过期时间属性为一个很大很大的数字,Cookie就可以在浏览器保存很长时间。 由于Session依赖于名为JSESSIONID的Cookie,而Cookie JSESSIONID的过期时间默许为–1,只需关闭了浏览器(一次会话结束),该Session就会失效。

5、对服务器造成的压力不同

Session是保管在服务器端的,每个用户都会产生一个Session。假如并发访问的用户十分多,会产生十分多的Session,耗费大量的内存。而Cookie保管在客户端,不占用服务器资源。假如并发阅读的用户十分多,Cookie是很好的选择。

6、 跨域支持上的不同

Cookie支持跨域名访问,例如将domain属性设置为“.baidu.com”,则以“.baidu.com”为后缀的一切域名均能够访问该Cookie。跨域名Cookie如今被普遍用在网络中。而Session则不会支持跨域名访问。Session仅在他所在的域名内有效。

13. 电脑上访问一个网页,整个过程是怎么样的:DNS、HTTP、TCP、OSPF、IP、ARP。

首先了解一下各个协议是什么:

应用层:
1、DNS(53):
我们输入的是一个URL需要转化成IP地址。首先我们知道我们本地的机器上在配置网络时都会填写DNS,这样本机就会把这个url发给这个配置的DNS服务器,如果能够找到相应的url则返回其ip,否则该DNS将继续将该解析请求发送给上级DNS,整个DNS可以看做是一个树状结构,该请求将一直发送到根直到得到结果。

2、HTTP(80)
HTTP协议的主要职责是生成针对目标web服务器的http请求报文(请求行、请求头部)

传输层
3、TCP
将http请求报文分割成报文段,按序号分为多个报文段。(三次握手)

网络层
4、IP
搜索目标的地址,一边中转一边传送。(路由)

5、ARP
因为最终都要在数据链路层上进行传输,而数据链路层并不认识IP地址,所以ARP的职责就是把IP地址转换成数据链路层认识的MAC地址。

通过数据链路层到达目标机器之后。

网络层
6、RARP
这其实是ARP的逆过程,将MAC地址转换成Ip地址

传输层
7、TCP
将接收到的报文段按序号进行重组。

应用层
8、 HTTP
HTTP协议对http请求进行解析处理。

例子:
重点内容
假设你用一个全新的浏览器(第一次启动的那种),访问百度(http://www.baidu.com/**),在你敲入网址并按下回车之后,将会发生以下神奇的事情:
http://www.baidu.com/浏览器先尝试从Host文件中获取http://www.baidu.com/对应的IP地址,如果能取到当然万事大吉大家都能嗨,如果不能,就使用DNS协议来获取IP咯。
在DNS协议中,PC会向你的本地DNS服务器求助(一般是路由器),希望从本地DNS服务器那里得到百度的IP,得到就好,得不到还得向更高层次的DNS服务器求助,最终总能得到百度的IP。
得到百度的IP,下一步是使用TCP协议,建立TCP连接
在TCP协议中,建立TCP需要与百度服务器握手三次,你先告诉服务器你要给服务器发东西(SYN),服务器应答你并告诉你它也要给你发东西(SYN、ACK),然后你应答服务器(ACK),总共来回了3次,称为3次握手。
不过,建立TCP连接有个前提(或者说给服务器发消息有个前提):你必须能成功地把消息发到服务器上。虽然已经知道IP,但并无啥用(比如说,你在广东,你知道北京的地理坐标经纬度就能到北京了?你得知道有哪些路通往北京吧你得准备盘缠吧你得花时间吧)。
我们都知道,你的PC和百度服务器之间一般会有许多路由器之类的东西,IP协议指定了出发地(你的PC)和目的地(服务器);你的数据会经过一个又一个路由器,OSPF决定了会经过那些路由器(用一种叫路由算法的玩意,找出最佳路径);从一个路由器怎么传给下一个路由器?这是ARP协议的工作,ARP负责求下一个节点的地址(我们不止是要目的地,还要中间节点的地址)。
IP协议使用的是IP地址,整个发送过程中只涉及出发地和目的地2个IP地址,而ARP协议使用的是MAC地址,整个发送过程中涉及到每一个节点的MAC地址
现在,我们能和服务器通信,还建立了TCP连接,下一步干嘛,当然是用HTTP协议请求网页内容咯。
你发个HTTP请求报文给服务器,如果服务器禁止你访问它就给你回个”Forbidden”,如果它暂时挂掉了就给你回个“内部服务错误”,如果它正常才给你回个“OK“并将你要的数据传给你;如果你还需要其它的东西再去跟它要(它一般还会给你的-_-)。
你收到了服务器的回复,是一坨HTML形式的文本。浏览器必须要能够理解文本的内容,并快速地渲染到屏幕上(浏览器一般用有限自动机来理解文本内容,渲染的话就各看本事了,之所以微软IE卡成狗而谷歌浏览器很6,就是它们的渲染速度不同…)

14. Ping的整个过程。ICMP报文是什么。

这里讲ping的两情况,一种是同一网段内,一种是跨网段的ping ….

1、同一网段ping

首先,如果主机A,要去ping主机B,那么主机A,就要封装二层报文,他会先查自己的MAC地址表,如果没有B的MAC地址,就会向外发送一个ARP广播包,如图:
这里写图片描述

其中ARP报文格式如下:
这里写图片描述
其中OP
1:表示ARP请求
2:表示ARP应答
3:表示RARP请求
4:表示RARP应答

首先,交换机会收到这个报文后,交换机有学习MAC地址的功能,所以他会检索自己有没有保存主机B有MAC,如果有,就返回给主机A,如果没有,就会向所有端口发送ARP广播,其它主机收到后,发现不是在找自己,就纷纷丢弃了该报文,不去理会。。直到主机B收到了报文后,就立即相应,我的MAC地址是多少,同时学到主机A的MAC地址,并按同样的ARP报文格式返回给主机A,如图:
这里写图片描述

ARP报文格式:
这里写图片描述

这时候主机A学到了主机B的MAC,就把这个MAC封装到ICMP协议的二层报文中向主机B发送,报文格式如下:
这里写图片描述

当主机B收到了这个报文后,发现是主机A 的ICPM回显请求,就按同样的格式,返回一个值给主机A,这样就完成了同一网段内的ping过程…
这里写图片描述

2、跨网段ping
如果主机A要ping主机C,那么主机A发现主机C的IP和自己不是同一网段,他就去找网关转发,但是他也不知道网关的MAC情况下呢?他就会向之前那个步骤一样先发送一个ARP广播,学到网关的MAC,再发封装ICMP报文给网关路由器.
报文格式如下:
这里写图片描述

当路由器收到主机A发过来的ICMP报文,发现报文的目的地址是其本身MAC地址,根据目的的IP2.1.1.1,查路由表,发现2.1.1.1/24的路由表项,得到一个出口指针,去掉原来的MAC头部.加上自己的MAC地址向主机C转发…(如果网关也没有主机C的MAC地址,还是要向前面一个步骤一样,ARP广播一下即可相互学到….路由器2端口能学到主机D的MAC,主机D也能学到路由器2端口的MAC..),报文格式如下:
这里写图片描述

最后,在主机C已学到路由器2端口MAC,路由器2端口转发给路由器1端口,路由1端口学到主机A的MAC的情况下,他们就不需要再做ARP解析,就将ICMP的回显请求回复过来..报文格式大致如下:
这里写图片描述

ICMP报文
1、 ICMP允许主机或路由报告差错情况和提供有关异常情况。ICMP是因特网的标准协议,但ICMP不是高层协议,而是IP层的协议。通常ICMP报文被IP层或更高层协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程。

2、 ICMP报文作为IP层数据报的数据,加上数据报的首部,组成数据报发送出去。

3、 ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。

具体参考:ICMP报文分析

15. C/S模式下使用socket通信,几个关键函数。
这里写图片描述

16. IP地址分类。
这里写图片描述

A类网络地址:
(1)前1字节标识网络地址部分,后3字节表示主机地址部分

(2)每个网络最多容纳(2^24 - 2)台主机

(3)最高位固定为0,所以第1个字节表示范围为0~127

(4)具有A类地址特征的网络总数为2^7个

B类网络地址:
(1)前2字节标识网络地址部分,后2字节标识主机地址部分

(2)每个网络最多容纳(2^16 - 2)台主机

(3)前2位固定为10,所以第一个字节表示范围为128~191、

(4)具有B类地址特征的网络总数为2^14个

C类地址
(1)前3字节标识网络地址部分,后1字节标识主机地址部分

(2)每个网络可容纳(2^8 - 2)台主机

(3)前3位固定为110,所以第一字节表示范围为192~223

(4)具有C类地址的网络总数为2^21个

保留的地址

D类(224.0.0.0~239.0.0.0)组播地址

E类(240.0.0.0~254.0.0.0)用于科研试验

网络地址:主机部分全为0的IP地址

广播地址:主机部分全为1的IP地址

例子:当发送信息到广播地址100.255.255.255时,意思为放松到网络地址为100.0.0.0的所有主机上。

0.0.0.0指这个主机、这个网络,出现在路由表中的默认路由。

255.255.255.255 广播地址:送达全网所有主机,会被路由器截至

子网的规划

例子:某单位分到一个C类网络号193.71.56.0,需要分成五个子网,每个子网需要连接20台主机,如何规划子网?

为了分成五个子网,我们需要借主机位3位,可创建8个子网>5个子网;同时剩下5个主机位,提供主机位2^5-2=30个>20个,所以我们可以子网掩码设置位255.255.255.224。

我们这里创建子网都是等大的,还能创建不等大的子网,就是子网中继续创建子网,这样可以充分利用资源,就不赘述了。

17. 路由器与交换机区别。
这里写图片描述
(1)外形上:

从外形上我们区分两者,交换机通常端口比较多看起来比较笨重,而路由器的端口就少得多体积也小得多,实际上右图并不是真正的路由器只是集成了路由器的功能,除此之外还有交换机的功能(LAN口就是作为交换机的端口来使用,WAN是用于连接外网的端口),而两个天线则是无线AP接入点(即是通常所说的无线局域网wifi)。

(2)工作层次不同:

最初的交换机工作在OSI开放式系统互联模型的数据链路层,也就是第二层,而路由器则工作在OSI模型的网络层,就是第三层。也就是由于这一点所以交换机的原理比较简单,一般都是采用硬件电路实现数据帧的转发,而路由器工作在网络层,肩负着网络互联的重任,要实现更加复杂的协议,具有更加智能的转发决策功能,一般都会在在路由器中跑操作系统,实现复杂的路由算法,更偏向于软件实现其功能。

(3)数据的转发对象不同:
交换机是根据MAC地址转发数据帧,而路由器则是根据IP地址来转发IP数据报/分组。数据帧是在IP数据包/分组的基础上封装了帧头(源MAC和目的MAC等)和帧尾(CRC校验码)。而对于MAC地址和IP地址大家也许就搞不明白了,为何需要两个地址,实际上IP地址决定最终数据包要到达某一台主机,而MAC地址则是决定下一跳将要交互给哪一台设备(一般是路由器或主机)。而且,IP地址是软件实现的,可以描述主机所在的网络,MAC地址是硬件实现的,每一个网卡在出厂的时候都会将全世界唯一的MAC地址固化在网卡的ROM中,所以MAC地址是不能被修改的,但是IP地址是可以被网络管理人员配置修改的。

(4)”分工“不同

交换机主要是用于组建局域网,而路由器则是负责让主机连接外网。多台主机可以通过网线连接到交换机,这时就组建好了局域网,就可以将数据发送给局域网中的其他主机,如我们使用的飞秋、极域电子教室等局域网软件就是通过交换机把数据转发给其他主机的,当然像极域电子教室这样的广播软件是利用广播技术让所有的主机都收到数据的。然而,通过交换机组建的局域网是不能访问外网的(即是Internet),这时需要路由器来为我们”打开外面精彩世界的大门“,局域网的所有主机使用的都是私网的IP,所以必须通过路由器转化为公网的IP之后才能访问外网。

(5)冲突域和广播域

交换机分割冲突域,但是不分割广播域,而路由器分割广播域。由交换机连接的网段仍属于同一个广播域,广播数据包会在交换机连接的所有网段上传播,在这种情况下会导致广播风暴和安全漏洞问题。而连接在路由器上的网段会被分配不同的广播域,路由器不会转发广播数据。需要说明的是单播的数据包在局域网中会被交换机唯一地送往目标主机,其他主机不会接收到数据,这是区别于原始的集线器的,数据的到达时间由交换机的转发速率决定,交换机会转发广播数据给局域网中的所有主机。

最后需要说明的是:路由器一般有防火墙的功能,能够对一些网络数据包选择性过滤。现在的一些路由器都具备交换机的功能(如上图右),一些交换机具备路由器的功能,被称为3层交换机,广泛使用。相比较而言,路由器的功能较交换机要强大,但是速度也较慢,价格昂贵,三层交换机既有交换机的线性转发报文的能力,又有路由器的良好的路由功能因此得到广泛的使用。

2019-01-09 17:15:33 qq_40629792 阅读数 12683

总结一(必备知识点)

  1. 数字化网络化信息化是21世纪的重要特征,它是一个以网络为核心的信息时代
  2. 互联网具有联通性共享这两个重要的基本特点。
  3. 共享即资源共享,包括信息共享、软件共享、硬件共享……
  4. ISP(Internet Service Provider)译为互联网服务提供者,也译为互联网服务提供商
  5. RFC(Request For Comments)请求评论
  6. 互联网草案(Internet Draft)
  7. 互联网由用户直接使用的边缘部分(由所有连接在互联网上的主机组成,用来进行通信和资源共享)和为边缘部分提供服务的核心部分(由大量网络和连接这些网络的路由器组成,提供连通性和交换)组成。
  8. 在网络边缘的端系统之间的通信方式﹕

    (1)客户—服务器方式(C/S方式)

    (2)对等方式(P2P方式)

   9.网络作用范围分类(知范围大小)

  1. 广域网WAN(Wide Area Network),作用范围几十到几千公里。
  2. 城域网MAN(Metropolitan Area Network),作用范围5~50km
  3. 局域网LAN(Local Area Network),作用范围约1km
  4. 个人区域网PAN(Personal Area Network),作用范围10m

   10.比特(bit)源于binary digit,bit/s(比特每秒)也记为bps(bit per second)

   11.开放系统互连基本参考模型OSI/RM(Open Systems Interconnection Reference Model),简称为OSI

    12.网络协议三要素(简答题)

  1. 语法,即数据与控制信息的结构或格式。
  2. 语义,即需要发出何种控制信息,完成何种动作以及做出何种反应。(个人概况为起因、经过、结果)
  3. 同步,即事件实现顺序的详细说明。

13.计算机网络体系结构(七层与五层)

14.(名词题)协议数据单元PDU (Protocol Data Unit)

数据在由主机传输封装,加第一个头部称为报文,加第二个头部称为报文段,依次类推称为分组包比特流(由用户端到服务器端称封装,由服务器端到用户端称解封)

15.第一章例题:

    【1】.网络体系结构为什么要采用分层次的结构?试举出一些与分层体系结构的思想相似的日常生活的例子

    答:分层的好处:

        (1).各层之间是独立的。某一层可以使用其下一层提供的服务而不需要知道服务是如何实现的。

        (2).灵活性好。当某一层发生变化时,只要接口关系不变,则这层以上或以下的各层均不受影响。

        (3).结构上可分割开。各层可以采用最适合的技术来实现。

        (4).易于实现和维护。

        (5).能促进标准化工作。

    与分层体系结构的思想相似的日常生活有邮政系统,物流系统。

     【2】.协议和服务有何区别?有何关系?

    答:网络协议:为进行网络中的数据交换而建立的规则、标准或约定

由以下三个要素组成:

  1. 语法,即数据与控制信息的结构或格式。
  2. 语义,即需要发出何种控制信息,完成何种动作以及做出何种反应。
  3. 同步,即事件实现顺序的详细说明。

协议是控制两个对等实体进行通信的规则的集合。在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,而要实现本层协议,还需要使用下面一层提供的服务。

协议和服务的概念和区别:

  1. 协议的实现保证了能够向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议。下面的协议对上面的服务用户是透明的。
  2. 协议是“水平的”,即协议是控制两个对等实体进行通信的规则。但服务是“垂直的”,即服务是由下层通过层间接口向上层服务的。上层使用所提供的服务必须与下层交换一些命令,这些命令在OSI中称为服务原语。

17.物理层的主要任务为确定与传输媒体的接口有关的特性:

  • 机械特性  指明接口所用接线器的形状和尺寸、引脚数目和排列、固定和锁定装置等。平时常见的各种规格的接插件都有严格的标准化规定。
  • 电气特征  指明在接口电缆的各条线上出现的电压的范围。
  • 功能特性  指明某条线上出现的某一电平的电压的意义。
  • 过程特性  指明对于不同功能的各种可能事件的出现顺序。

18.信号分为模拟信号数字信号

19.信道分为单向信道(单工信道)、双向交替信道(半双工信道)、双向同时信道(全双工信道)

20.基本的带通调制方法:调幅(AM)调频(FM)调相(PM) (数字信号到模拟信号称调制,模拟信号到数字信号称解调)

21.香农公式表明,信道的带宽或信道中的信噪比越大,信息的极限传输速率就越高

22.常见的传输介质:

  1. 双绞线
  2. 同轴电缆
  3. 光缆(光纤分为近距离传输的多模光纤和较长距离传输的单模光纤

23.(名词题)ISM是Industrial , Scientific, and Medical(工业、科学与医药)的缩写

24.(填空题)最基本的复用为频分复用FDM(Frequency Division Multiplexing)时分复用TDM(Time Division Multiplexing)

25.码分复用CDM(Code Division Multiplexing)

26.非对称数字用户线ADSL(Asymmetric Digital Subscriber Line)

27.(名词题)光纤同轴混合网(HFC网,HFC是Hybrid Fiber Coax的缩写)

28.(名词题)光纤到户FTTH(Fiber To The Home)

29.数据链路层使用的信道为(1点对点信道 (2)广播信道

30.数据链路层协议的三个基本问题:封装成帧透明传输差错检测

31.(名词题和计算题)循环冗余检测CRC(Cyclic Redundancy Check)(链路数据层广泛使用的检错技术)

32.使用最广泛的数据链路层协议为点对点协议PPP(Point-to-Point Protocol)

33.当PPP使用异步传输时,使用字节填充;当PPP使用同步传输时,使用零比特填充(使用PPP协议传输时字节填充和零比特传输都是为了防止在不同链路下帧边界的误认)

34.共享信道的技术解决方法:

      (1)静态划分信道

      (2)动态媒体接入控制(又称多点接入):

                  随机接入(有数据传输碰撞问题)

                  受控接入(没有数据传输碰撞问题)

35.数据链路层分为逻辑链路控制LLC(Logical Link Control)子层和媒体接入控制MAC(Medium Access Control)子层。

36.载波监听多点接入/碰撞检测CSMA/CD(Carrier Sense Multiple Access with Collision Detection)

37.以太网V2的MAC帧格式

38.(名词题)生成树协议STP(Spanning Tree Protocol)是为了避免环路的树状结构。

39.(名词题)虚拟局域网VLAN(Virtual LAN)

40.第三章例题:

    【1】.(CRC计算)要发送的数据为1101011011。采用CRC的生成多项式是P(X)=X4+X+1试求应添加在数据后面的余数。

      数据在传输过程中最后一个1变成了0,问接受端能否发现?

      若数据在传输过程中最后两个1变成了0,问接受端能否发现?

      采用CRC检验后,数据链路层的传输是否就变成了可靠的传输?

      参考答案:添加的检验序列是1110。出现的两种差错都可以发现。仅仅采用CRC检测,数据链路层的传输还是不可靠的。

      作业帮答案:

   【2】.一个PPP帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E

    试问真正的数据是什么(用十六进制写出)?

      参考答案:7E FE 27 7D 7D 65 7E

      百度知道详解:当信息字段中出现和标志字段一样的比特0x7E时,就必须采取一些措施。因PPP协议是面向字符型的,所以它不能采用HDLC所使用的零比特插入法,而是使用一种特殊的字符填充。具体的做法是将信息字段中出现的每一个0x7E字节转变成2字节序列(0x7D,0x5E)。若信息字段中出现一个0x7D的字节,则将其转变成2字节序列(0x7D,0x5D)。若信息字段中出现ASCII码的控制字符,则在该字符前面要加入一个0x7D字节。这样做的目的是防止这些表面上的ASCII码控制字符被错误地解释为控制字符。

真正的16进制数据是7E FE 27 7D 7D 65 7E

    【3】.PPP协议使用同步传输技术传送比特串0110111111111100。试问经过零比特填充后变成怎样的比特串?若接受的PPP帧的数据部分是0001110111110111110110

      问删除发送端加入的零比特后变成怎样的比特串?

      参考答案:第一个比特串:经过零比特填充后变成011011111011111000(加下划线的0是填充的)。

      另一个比特串:删除发送端加入的零比特后变成000111011111-11111-110(连字符表示删除了零)。

      百度知道详解:比特填充法的具体做法是:在发送端,当一串比特流尚未加上标志字段时,先用硬件扫描整个帧。只要发现5个连续1,则立即填入一个0。因此经过这种零比特填充后的数据,就可以保证不会出现6个连续1。在接收一个帧时,先找到F字段以确定帧的边界。接着再用硬件对其中的比特流进行扫描。每当发现5个连续1时,就将这5个连续1后的一个0删除,以还原成原来的比特流。

发送端的数据0110111111111100经过零比特填充是011011111011111000

接收端收到的0001110111110111110110删除零后是00011101111111111110

41.网络层提供虚电路服务数据报服务这两种服务。

42.与网际协议IP配套使用的三大协议:

      ①地址解析协议ARP(Address Resolution Protocol)

      ②网际控制报文协议ICMP(Internet Control Message Protocol)

网际组管理协议IGMP(Internet Group Management Protocol)

43.将网络互相连接起来的中间设备根据所在层次有四种:

      ①物理层使用的中间设备叫做转发器(repeater)

      ②数据链路层使用的中间设备叫做网桥桥接器(bridge)

     ③网络层使用的中间设备叫做路由器(router)

     ④在网络层以上使用的中间设备叫做网关(gateway)

44.IP地址在整个互联网范围内是唯一的记为:

     IP地址 ::= {<网络号>,<主机号>}

45.IP地址中的网络号字段和主机号字段:

46.ARP协议的作用是将IP地址翻译为以太网的MAC地址(属于物理地址或硬件地址)。

47.IP数据报的格式:

48.数据链路层协议规定在数据帧中的数据字段的最大长度称为最大传送单元MTU(Maximum Transfer Unit)

49.【例子】一数据报的总长度为3820字节,其数据部分为3800字节长(使用固定首部),需要分片为长度不超过1420字节的数据报片。因固定首部长度为20字节,因此每个数据报片的数据部分长度不能超过1400字节。于是分为3个数据报片,其数据部分的长度分别为1400,1400和1000字节。原始数据报首部被复制为各数据报片的首部,但必须修改有关字段的值。如图为分片结果。

(标志分为MF(More Fragment(还有分片))和DF (Don’t Fragment(不能分片),MF=1表示还有分片的数据报;MF=0表示这是若干数据报片中的最后一个。,DF=0时才允许分片)(片偏移:某片在原分组中的相对位置,一定是8字节(64位)的整数倍。(标志、片偏移及分片了解并会做题即可)

50.子网掩码(要求由前缀可以推衍到子网掩码,子网掩码可以推衍到前缀)

图中两级IP地址的子网掩码为11111111 11111111 00000000 00000000

51.A类、B类和C类IP地址的默认子网掩码:

52.变长子网掩码VLSM(Variable Length),在其基础上研究的无分类编址为无分类域间路由选择CIDR(Classless Inter-Domain Routing)

53.分组网间探测PING(Packet InterNet Groper)用来测试两台主机之间的连通性

54.应用traceroute(UNIX操作系统中trace的名字)用来跟踪一个分组从源点到终点的路径

55.路由器选择协议分为内部网关协议IGP(Interior Gateway Protocol)外部网关协议EGP(External Gateway Protocol)

56.自治系统通过内部网关协议(RIP和OSPF)管理,通过外部网关协议(BGP-4)连通另一个自治系统。(RIP是一种分布式的基于距离向量的路由选择协议)

57.RIP协议的特点:

     ①仅和相邻路由器交换信息

    路由器交换的为自己现在的路由表(当前本路由器所知道的全部信息)

    按固定的时间间隔交换路由信息

58.开放最短路径优先OSPF(Open Shortest Path First)

59.(教师要求之总结)(百度知道)OSPF协议的基本特点:

       最大特点就是绝对的无环路:SPF算法保证area内无环路。

每个area必须与area 0 相邻,保证了area之间无环路 。所以ospf整体是绝对无环路的。

     ② 快速收敛

维护3张表。邻居表(显示邻接关系),拓扑表(列举所有收到的LSA(link state advertisement),是一个LSA数据库),路由表(记录到达某个网段的最佳路径,是由前边2个表算出来的)

    ③ 链路通告

    ④ 开放式

所有厂家都支持,且数据包的格式都通用。便于延展。

    ⑤ 带宽开销少

触发式路由更新。ospf交换的是LSA, 不是路由条目。

60.外部网关协议——边界网关协议BGP

61.IPv6地址长度128,使用冒号十六进制记法(colon hexadecimal notation,缩写为colon hex)

62.(小题)RFC1918指明了一些只能在机构内使用的专有地址(也即私有地址):

    10.0.0.0到10.255.255.255(或记为10.0.0.0/8,它又称为24位块)

    ②172.16.0.0到172.31.255.255(或记为172.16.0.0/12,它又称为20位块)

    ③192.168.0.0到192.168.255.255(或记为192.168.0.0/16,它又称为16位块)

63.(名词题)网络地址转换NAT9(Network Address Translation)

64.第四章例题:

【1】.(VLAN知识)IP地址分为几类?各如何表示?IP地址的主要特点是什么?

 百度文档答案在IPv4的地址中,所有的地址都是32个二进制位,并且可记为

                                    IP地址 ::= {<网络号>,<主机号>}

                   IP地址被分为A、B、C、D、E五类,如下图所示。

  • A类地址:网络号字段为1字节,最前面的1位是0。
  • B类地址:网络号字段为2字节, 最前面的2位是10。
  • C类地址:网络号字段为3字节,最前面的3位是110。
  • D类地址:用于多播,最前面的4位是1110。
  • E类地址:保留今后使用,最前面的4位是1111

      IP地址特点如下:

1.每一个IP 地址都由网络号和主机号两部分组成。从这个意义上说,IP 地址是一种分等级的地址机构;

2.IP地址是标志一个主机(或路由器)和一条链路的接口;

3.具有相同网络号的主机集合构成一个网络,因此,由转发器或网桥连接起来的若干个局域网仍为一个网络。具有不同网络号的局域网互连必须使用路由器;

4.所有分配到网络号的网络都是平等的

【2】.(教师平时所划)设某路由器建立了如下路由表:

             目的网络              子网掩码          下一跳

             128.96.39.0         255.255.255.128       接口m0

             128.96.39.128       255.255.255.128       接口m1

             128.96.40.0         255.255.255.128          R2

             192.4.153.0         255.255.255.192          R3

             *(默认)                               R4

             现共收到5个分组,其目的分组分别为:

            (1)128.96.39.10

            (2)128.96.40.12

            3128.96.40.151

            (4)192.4.153.17

            (5)192.4.153.90

             试分别计算其下一跳。

        百度文档答案:用目的IP地址和路由表中的子网掩码相与,若结果出现在路由表中的目的网络中,则转发相应的下一跳,若没有出现在路由表的目的网络中,则转发到默认站R4

        (1)分组的目的IP地址为:128.96.39.10,与子网掩码255.255.255.128进行与运算,得128.96.39.0,经查路由表可知,该分组经接口m0转发。

        (2)分组的目的IP地址为:128.96.40.12,与子网掩码255.255.255.128进行与运算, 128.96.40.0,经查路由表可知,该分组经R2转发。

        (3)分组的目的IP地址为:128.96.40.151,与子网掩码255.255.255.128进行与运算,得128.96.40.128,与子网掩码255.255.255.192进行与运算,得128.96.40.128,经查路由表可知,该分组经R4转发。

        (4)分组的目的IP地址为:192.4.153.17,与子网掩码255.255.255.128进行与运算,得192.4.153.0,与子网掩码255.255.255.192进行与运算,得192.4.153.0,经查路由表知, 该分组经R3转发。

        (5)分组的目的IP地址为:192.4.153.90,与子网掩码255.255.255.128进行与运算,得192.4.153.0,与子网掩码255.255.255.192进行与运算,得192.4.153.64, 经查路由表知,该分组转发选择默认路由,经R4转发。

       【3】.某单位分配到一个B类IP地址,其net-id129.255.0.0该单位有4000台机器平均分布在16个不同的地点如选用子网掩码为255.255.255.0试给每一个地点分配一个子网号码,并算出每个地点主机号码的最大值和最小值

        百度文档详解4000/16=250,平均每个地点有250台机器。如选255.255.255.0为掩码,则每个网络所连主机数:28-2=254>250,共有子网数:28-2=254>16,能满足实际需求。

    可给每个地点分配如下子网号码,并计算出每个地点主机IP的最小值和最大值如下表。

       

4】.(标志、片偏移及分片) 一个数据报长度为4000字节(固定首部长度)。现在经过一个网络传送,但此网络能够传送的最大数据长度为1500字节试问应当划分为几个短些的数据报片? 各数据报片的数据字段长度、片偏移字段和MF标志应为何数值?

        参考答案:3个。数据字报长度为1480,1480和1020字节。片偏移字段的值分别为0,185,和370。MF字段的值分别为1,1和0。

        百度文档简答IP数据报固定首部长度为20字节

        【5】. (教师平时所划)一个自治系统有5个局域网其连接图如图所示。LAN2LAN5上的主机数分别为:91,150,315该自治系统分配到的IP地址块为30.138.118/23试给出每一个局域网的地址块(包括前缀)。

答案:对LAN3,主机数150,(2^7-2)<150+1<(2^8-2),所以主机位为8bit,网络前缀为24,分配地址块30.138.118.0/24。(第24位为0)

对LAN2,主机数91,(2^6-2)<91+1<(2^7-2),所以主机位为7bit,网络前缀为25,分配地址块30.138.119.0/25。(第24、25位为10)

对LAN5,主机数15,(2^4-2)<15+1<(2^5-2),所以主机位为5bit,网络前缀为27,分配地址块30.138.119.192/27。(第24、25、26、27位为1110)

对LAN4,主机数3,(2^2-2)<3+1<(2^3-2),所以主机位为3bit,网络前缀为29,分配地址块30.138.119.232/29。(第24、25、26、27、28、29位为111101

对LAN1,主机数3,(2^2-2)<3+1<(2^3-2),所以主机位为3bit,网络前缀为29,分配地址块30.138.119.240/29。(第24、25、26、27、28、29位为111110

【6】. 某单位分配到一个地址块136.23.12.64/26。现在需要进一步划分4个一样大的子网。试问: 

(1)每个子网的前缀有多长? 

(2)每一个子网中有多少个地址?

(3)每一个子网的地址块是什么?

(4)每一个子网可分配给主机使用的最小地址和最大地址是什么?

百度文档详解

(1)原来网络前缀是26位,需要再增加2位,才能划分4个一样大的子网。因此每个子网的网络前缀是28位

(2)每个子网的地址中有32-28=4位留给主机用,因此共有24=16个地址(可用的有14个)。

(3)地址中的前三个字节分别记为B1,B2和B3,则136.23.12.64/26= B1.B2.B3.01000000/26,四个子网的地址块是:

B1.B2.B3.01000000/28=136.23.12.64/28,B1.B2.B3.01010000/28=136.23.12.80/28,

B1.B2.B3.01100000/28=136.23.12.96/28,B1.B2.B3.01110000/28=136.23.12.112/28

(4)地址中的前三个字节分别记为B1,B2和B3,则

地址块136.23.12.64/28可分配给主机使用的最小地址:B1.B2.B3.01000001=136.23.12.65,最大地址:B1.B2.B3.01001110=136.23.12.78。

地址块136.23.12.80/28可分配给主机使用的最小地址:B1.B2.B3.01010001=136.23.12.81,最大地址:B1.B2.B3.01011110=136.23.12.94

地址块136.23.12.96/28可分配给主机使用的最小地址:B1.B2.B3.01100001=136.23.12.97,最大地址:B1.B2.B3.01101110=136.23.12.110

地址块136.23.12.112/28可分配给主机使用的最小地址:B1.B2.B3.01110001=136.23.12.113,最大地址:B1.B2.B3.01111110=136.23.12.126

65.(名词题和填空题及两者对比一道大题)用户数据报协议UDP(User Datagram Protocol)[RFC 768]

传输控制协议TCP(Transmission Control Protocol) [RFC 793]

66.若通信数据完整性需让位与通信实时性,则应该选用 TCP 协议(如文件传输、重要状态的更新等);反之,则使用 UDP 协议(如视频传输、实时通信等)。

67.TCP把连接作为最基本的抽象,TCP连接的端口叫做套接字插口每一条TCP连接唯一地被通信两端的两个端点(即两个套接字)所确定。(TCP连接的端口是个很抽象的套接字,即【IP地址:端口号<表示端口号拼接到IP地址上>】)

68.TCP报文段的首部由源端口目的端口序号(每个字节都按顺序编号,在首部指本报文段所发送的数据的第一个字节的序号)确认号(期望收到对方下一个报文段的第一个数据字节的序号)……等组成。

69.最大报文段长度MSS(Maximum Segment Size)[RFC 879]

70.(超时重传计算)报文段的往返时间RTT加权平均往返时间RRTS(又称平滑往返时间,S表示Smoothed。)

RTTD是RTT的偏差加权平均值(首次测量时为RTT样本值的一半)超时重传时间RTO(Retransmission Time-Out)( α=1/8 β=1/4)

(1)新的RRTS  =  (1 - α) × (旧的RRTS)  + α ×(新的RRT样本)

(2)RTO = RTTS + 4 × RTTD

3)新的RRTD  =  (1 - β) × (旧的RRTD)  + β ×|RRTS-新的RRT样本|

71.流量控制(flow control)就是让发送方的发送效率不要太快,要让接收方来得及接收。目前主要利用滑动窗口机制实现流量控制。

72.TCP进行拥塞控制的四种方法:慢开始(slow-start)拥塞避免(congestion avoidance)快重传(fast retransmit)快恢复(fast recovery)

72.TCP运输连接有三个阶段:连接建立数据传送连接释放

73.三报文握手

74.四报文握手

75.第五章例题:

【1】主机A向主机B连续发送了两个TCP报文段其序号分别是70100试问

    (1)第一个报文段携带了多少字节的数据?

(2)主机B收到第一个报文段后发回的确认中的确认号是多少?

(3)如果B收到第二个报文段后发回的确认中的确认号是180,试问A发送的第二个报文段中的数据有多少字节?

(4)如果A发送的第一个报文段丢失了,但第二个报文段到达了B。B在第二个报文段到达后向A发送确认。试问这个确认号应当是多少?

 综合答案(1)第一个报文段的数据序号是70到99,共30字节的数据。

           (2)确认号应为100,当报文被接受后排序到99,希望接收第100个字节,所以发送确认号100

           (3) 80字节,确认号为180,即表示收到的是179。100-179,共80字节。

           (4)70。第一个报文没有收到,就不会对后续报文进行确认。b希望a重传序列号为70的报文,所以发送确认号为70。如果收到了第一个报文后排序发现已收到了两个报文共179字节,才会回应确认号180。

【2】一个TCP连接下面使用256kbit/s的链路其端到端时延为128ms。经测验,发现吞吐量只有120kbit/s。试问发送窗口W是多少?(提示:可以有两种答案,取决于接收等发出确认的时机)

    百度文档答案:(收到一个确认一个)来回路程的时延等于256ms(=128ms×2).设窗口值为X(注意:以字节为单位),假定一次最大发送量等于窗口值,且发射时间等于256ms,那么,每发送一次都得停下来期待再次得到下一窗口的确认,以得到新的发送许可.这样,发射时间等于停止等待应答的时间,结果,测到的平均吞吐率就等于发送速率的一半,即8X÷(256×1000)=256×0.001  X=8192 所以,窗口值为8192.

(统一确认)

  【3】已知第一次测得TCP的往返时间RTT30ms接着收到了三个确认报文段,用它们测量出的往返时间样本RTT分别是:26ms,32ms24msα=0.1试计算每一次的新的加权平均往返时间值RTTS

    百度文档答案:α=0.1, RTTO=30 

    RTT1=RTTO*(1-α) +26*α=29.6 

    RTT2=RTT1*α+32(1-α)=29.84

    RTT3=RTT2*α+24(1-α)=29.256

【4】TCP的拥塞窗口cwnd大小与传输轮次n的关系如下所示:

cwnd

1

2

4

8

16

32

33

34

35

36

37

38

39

n

1

2

3

4

5

6

7

8

9

10

11

12

13

cwnd

40

41

42

21

22

23

24

25

26

1

2

4

8

n

14

15

16

17

18

19

20

21

22

23

24

25

26

(1) 指明TCP工作在慢开始阶段的时间间隔。

(2) 指明TCP工作在拥塞避免阶段的时间间隔。

(3) 在第16轮次和第22轮次之后发送方是通过收到三个重复的确认还是通过超市检测到丢失了报文段?

(4)在第1轮次,第18轮次和第24轮次发送时,门限ssthresh分别被设置为多大?

(5)在第几轮次发送出第70个报文段?

(6)假定在第26轮次之后收到了三个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口cwnd和门限ssthresh应设置为多大?

百度文档答案(1) 慢开始时间间隔:【1,6】和【23,26】

(2) 拥塞避免时间间隔:【6,16】和【17,22】

(3) 在第16轮次之后发送方通过收到三个重复的确认检测到丢失的报文段。在第22轮次之后发送方是通过超时检测到丢失的报文段。

(4) 在第1轮次发送时,门限ssthresh被设置为32

在第18轮次发送时,门限ssthresh被设置为发生拥塞时的一半,即21.

在第24轮次发送时,门限ssthresh是第18轮次发送时设置的21

(5) 第70报文段在第7轮次发送出。

(6) 拥塞窗口cwnd和门限ssthresh应设置为8的一半,即4.

76.域名系统DNS(Domain Name System)——从域名解析出IP地址。

77.常用域名:com(公司企业)、net(网络服务机构)、org(非营利性组织)、int(国际组织)edu(美国专用的教育机构)、gov(美国的政府部门)mil(美国的军事部门)

78.(名词题)(功能、使用TCP还是UDP、端口号)文件传送协议FTP(File Transfer Protocol)[RFC 959](功能)FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。在TCP/IP协议中,FTP标准命令TCP端口号为21

79.万维网WWW(World Wide Web)

80.统一资源定位符URL(Uniform Resource Locator)

81.超文本传送协议HTTP(HyperText Transfer Protocol)

82.超文本标记语言HTML(HyperText Markup Language)

83.HTTP的默认端口号是80

84.XML(Extensible Markup Language)可扩展标记语言

85.电子邮件的两个重要标准之一为简单邮件传送协议SMTP(Simple Mail Transfer Protocol)

86.POP3是邮局协议(Post Office Protocol)的版本3。

87.(简单题)SMTP通信分为三个阶段:连接建立邮件传送连接释放

88.动态主机配置协议DHCP(Dynamic Host Configuration Protocol)

 

计算 :(26分)

网络层这一章   课后习题

举例:

4-17使用CSMA/CD协议时,若线路长度为100m,信号在线路上传播速率为2×108m/s。数据的发送速率为1Gbit/s。试计算帧长度为512字节、1500字节和64000字节时的参数a的数值,并进行简单讨论。

答:a=τ/T0=τC/L=100÷(2×108)×1×109/L=500/L,

信道最大利用率Smax =1/(1+4.44a),最大吞吐量Tmax=Smax×1Gbit/s

帧长512字节时,a=500/(512×8)=0.122, Smax =0.6486,Tmax=648.6 Mbit/s

帧长1500字节时,a=500/(1500×8)=0.0417,Smax =0.8438 ,Tmax=843.8 Mbit/s

帧长64000字节时,a=500/(64000×8)=0.000977,Smax =0.9957,Tmax=995.7 Mbit/s

可见,在端到端传播时延和数据发送率一定的情况下,帧长度越大,信道利用率越大,信道的最大吞吐量月越大。

37.某单位分配到一个地址块136.23.12.64/26。现在需要进一步划分为4个一样大的子网。试问:

       1)每一个子网的网络前缀有多长?

       2)每一个子网中有多少个地址?

       3)每一个子网的地址是什么?

  4)每一个子网可分配给主机使用的最小地址和最大地址是什么?

(1)每个子网前缀28位。

(2)每个子网的地址中有4位留给主机用,因此共有16个地址。

(3)四个子网的地址块是:

第一个地址块136.23.12.64/28,可分配给主机使用的

   最小地址:136.23.12.01000001=136.23.12.65/28

   最大地址:136.23.12.01001110=136.23.12.78/28

第二个地址块136.23.12.80/28,可分配给主机使用的

   最小地址:136.23.12.01010001=136.23.12.81/28

   最大地址:136.23.12.01011110=136.23.12.94/28

第三个地址块136.23.12.96/28,可分配给主机使用的

   最小地址:136.23.12.01100001=136.23.12.97/28

   最大地址:136.23.12.01101110=136.23.12.110/28

第四个地址块136.23.12.112/28,可分配给主机使用的

   最小地址:136.23.12.01110001=136.23.12.113/28

   最大地址:136.23.12.01111110=136.23.12.126/28

补充

 

总结二

第一章

1.三网:电信网络,有线电视网络,计算机网络

2.计算机网络为用户提供的最重要的两个功能:连通性,共享性

3.网络是由若干结点和连接这些结点的链路组成。

4.因特网是世界上最大的互连网络。

5.网络把许多计算机连接在一起,因特网把许多网络连接在一起。

6.因特网发展的三阶段:

  (1)从单个网络ARPANET向互联网发展的过程。

      (ARPANET:因特网之父,第一个投入运行的分组交换网)

  (2)建成了三级结构的因特网。(internet 互联网或因特网)

  (3)逐渐形成了多层次的ISP结构的因特网。(因特网服务提供商)

7.因特网体系结构委员会(internet architecture board)设有两个工程部:

  因特网工程部IETF(engineering task force),因特网研究部IRTF

8.制订因特网的正式标准要经过以下四个阶段:

   因特网草案,建议标准,草案标准,因特网标准。

9.因特网的组成:边缘部分,核心部分

10.在网络边缘部分的端系统中运行的程序之间的通信方式分为:

  客户服务器方式(C/S方式),对等方式(P2P方式)。

11.客户和服务器都是指通信中所涉及的两个应用进程。(客户程序,服务器程序)

   本来是指计算机进程(软件)。

12.客户是服务请求者,服务器是服务提供者。

13.客户程序:①被客户调用后,在通信时主动向远地服务器发起通信(请求服务)。因此客户程序必须知道服务器程序的地址。②不需要特殊的硬件和很复杂的操作系统

14.服务器程序:①是一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。②系统启用后即自动调用,并一直不断的运行着,被动的等待并接受来自各地客户的通信请求。因此服务器程序不需要知道客户程序的地址

15.路由器是实现分组交换的关键部件,其任务是转发收到的分组。

16.分组交换的特点:分组交换采用存储转发技术。①在发送报文前,先将较长的报文划分成一个个更小的等长的数据报。②在每一个数据报前面,加上一些必要的控制信息组成的首部后,就构成一个分组。③路由器收到一个分组,先暂时存储起来,在检查首部,查找路由表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。④这样一步步的以存储转发方式,把分组交付给最终的目的主机。

17.计算机网络,根据不同的作用范围分为:

   ①广域网(WAN wide area network)  几十到几千公里

   ②城域网(MAN metropolition)      5~50km

   ③局域网(LAN local)             1km左右

   ④个人区域网(PAN)              10m左右

18.不同使用者的网络:公用网,专用网

19.法律上的国际标准:OSI/RM   (开放系统互连基本参考模型reference model)

   事实上的国际标准:TCP/IP

20.网络协议:为进行网络中的数据交换而建立的规则,标准或约定。

   由以下三要素构成:

  ①语法:数据与控制信息的 结构或格式

  ②语义:需要发送何种控制信息,完成何种动作 以及 做出何种响应

  ③同步:事件实现顺序的详细说明

21.分层可以带来的好处:各灵结易能

  ①各层之间是独立的  ②灵活性好     ③结构上可分割开

  ④易于实现和维护    ⑤能促进标准化工作

22.体系结构:计算机网络各层及其协议的集合。

23. OSI 7层:物理层 数据链路层 网络层 运输层 会话层  表示层 应用层

   TCP/IP  4层:网络接口层    网际层 运输层               应用层

   五层协议:物理层 数据链路层 网络层 运输层              应用层

24.应用层:直接为用户应用进程提供服务。

  运输层:负责向两个主机中进程之间的通信提供服务。

           传输控制协议TCP  用户数据报协议UDP

  网络层:负责为分组交换网上的不通主机提供通信服务。

  数据链路层:将网络层交下来的IP数据报封装成帧,在两个相邻结点之间的链路上“透明”的传送帧中的数据。

  物理层:透明的传送比特流。

25.实体:任何可以发送或接收信息的硬件或软件进程。

   协议:控制两个对等实体(或多个实体)进行通信的规则的集合。

   协议和服务的关系:在协议控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议还需要使用下面一层所提供的服务。

   协议和服务的区别:①首先,使用本层服务的实体只能看见服务而无法 看见下面的协议。下面的协议对上面的实体是透明的。

                     ②其次,协议是“水平”的,服务是“垂直”的。

26. everything over IP:   TCP/IP协议可以为各式各样的应用提供服务。

27. IP over everything:  TCP/IP协议允许IP协议在各式各样的网络构成的互联网上运行。

第二章

1.根据信号中代表消息的参数的取值方式的不同,信号可分为:

  模拟信号(连续信号),数字信号(离散信号)

2.从通信双方消息交互的方式来看:单向通信(单工通信),

 双向交替通信(半双工通信),双向同时通信(全双工通信)。

3.基带信号:来自信源的信号

4.基带调制:交换后的信号仍然是基带信号

5.带通信号:经过载波调制后的信号

6.最基本的带通调制方法:调幅(AM),调频(FM),调相(PM)

7.奈氏准则:在任何信道中,码元传输速率是有上限的,传输速率超过此上限,就会出现严重的码间串扰问题,使接收端对码元的判决(或识别)成为不可能。

8.信噪比:信号的平均功率/噪声的平均功率 即S/N

9.香农公式:C = W log2(1+S/N)  b/s

 表明:信道的带宽或信道中的噪声比越大,信息的极限传输速率就越高。

10.导向传输媒体:①双绞线(屏蔽双绞线STP shielded twisted pair,非屏蔽双绞线UTP)②同轴电缆   ③光缆(多模光纤,单模光纤)

11.最基本的复用:频分复用FDM(frequency division multiplexing),

                时分复用TDM

12.脉码调制PCM(pulse code modulation)体制:由于历史上的原因,PCM有两个互不兼容的国际标准,即北美的24路PCM(简称T1,V=1.544Mb/s)和欧洲的30路PCM(简称E1,V=2.048Mb/s,我国采用的)

13.宽带接入技术:

  ①xDSL(digital subscriber line数字用户线)

     用数字技术对现有的模拟电话用户线进行改造

  ②光纤同轴混合网(HFC网,hybrid  fiber coax)

  ③FTTx技术:FTTH(fiber to the home光纤到家),FTTB(光纤到大楼),       

               FTTC(curb光纤到路边)

第六章

1.域名系统 DNS:基于的运输层协议:TCP或UDP   端口:53

  com(公司企业) gov 政府部门 edu 教育机构 mil 军事部门

  采用划分区的方法来提高系统运行效率

  域名是按照自右到左逐渐减小的多层排列方式。

2.文件传送协议 FTP协议:基于的运输层协议:TCP   端口:21

3.简单文件传送协议 TFTP:基于的运输层协议:UDP  端口:69

4.远程终端协议 TELNET: 基于的运输层协议: TCP  端口:23

5.统一资源定位符 URL :是对可以从因特网上得到的资源的位置和访问方 法的一种简洁的表示。

  HTTP协议:  基于的运输层协议:TCP   端口:80

6.简单邮件传送协议 SMTP

  发送邮件使用SMTP

  读取邮件使用POP3和IMAP

总结三

ADSL非对成数字用户线。。ARP地址解析协议。。。BGP边界网关协议

CSMA/CD载波监听多点接入/冲突检测。。。DNS域名系统

DSCP区分服务码点。。FTP文件传送协议。。。HDLC高级数据链路控制

HTML超文本标记语言。。。HTTP超文本传送协议。。。IGP内部网关协议

IP网际协议。。。ISO国际标准化组织。。。ISP因特网服务提供者

MAC媒体接入技术。。。MIME通用因特网邮件扩充

MTU最大传送单元。。。NAT网络地址转换。。。OSPF开放最短通路优先

POP邮局协议。。。PPP点对点协议。。。RIP路由信息协议

SMTP简单邮件传送协。。。SNMP简单网络管理协议

TCP传输控制协议。。。VLAN虚拟局域网。。。VPN虚拟专用网

WLAN无线局域网。。。WWW万维网

第一章·计算机网络提供两个功能: 1连通性 2共享

·互联网是“网络的网络”·····主机是连接在因特网上的计算机。

·因特网发展的三个阶段:1从单个网络APRANET向互联网发展 2建成了三级结构的因特网 3逐渐形成了多层次ISP结构的因特网。   因特网前身:APRANET

·制定因特网正式标准经过四个阶段: 1因特网草案 2建议标准 3草案标准 4因特网标准      ·因特网组成两大块: 1边缘部分 2核心部分

·分组交换的优点:高效、灵活、迅速、可靠

·三种交换方式在数据传送阶段的特点: 1电路交换:整个报文的比特流连续的从源点直达终点。2报文交换:整个报文先传送到相邻结点。3分组交换:单个分组传送到相邻结点,存储下来后查找转发表,转发到下一个结点

·计算机网络性能: 1速率 2带宽 3吞吐量4时延(发送时延 传播时延:是电磁波在信道中传播一定的距离需要花费的时间 处理时延 排队时延)5时延带宽积 6往返时间RTT 7利用率(信道或网络利用率过高会产生非常大的时延)

·什么是协议为进行网络中的数据交换而建立的规则、标准或约定成为网络协议,简称协议。

·网络协议三要素: 1语法:数据与控制信息的结构或格式。 2语义:需要发出何种控制信息,完成何种动作及作出何种反应。 3同步:事件实现顺序的详细说明。

·分层好处: 1各层之间是独立的 2灵活性好 3结构上可以分割开 4易于实现和维护 5能促进标准化工作(差错控制 流量控制 分段和重装 复用和分用 建立连接和释放)

·五层协议结构及作用:1、物理层(通过应用进程间的交互来完成特定网络应用)2、数据链路层(进行数据封装和数据连接的建立)3、网络层(负责为分组交换网上的不同主机提供通信服务)4、运输层(负责向两个主机中进程之间的通信提供通用的数据传输服务)   5、应用层(负责对软件提供接口,是程序能使用网络服务)

·实体表示任何可发送或接收信息的硬件或软件进程

·协议是控制两个对等实体或多个实体进行通信的规则的集合。在协议的控制下,两个对等实体间的通信使得本层向上一层提供服务,需要使用本层协议,还需要使用下面一层所提供的服务。协议的实现保证了能够向上一层提供服务。

·使用本层服务的实体只能看见服务而无法看见下面的协议,下面的协议对上面是透明的。

·协议是水平的,即协议是控制对等实体之间通信的规则。服务是垂直的,即服务是由下层向上层通过层间接口提供的。

·信号两大类::1模拟信号,或连续信号 2数字信号,或离散信号

第二章·传输媒体:引导型传输媒体和非引导型传输媒体

·引导型传输媒体:1双绞线 2同轴电缆 3光缆

·为什么使用信道复用技术?常用的信道复用技术有哪些?

通过共享信道,最大限度提高信道利用率。频分复用、时分复用、码分复用、波分复用。

·ADSL技术为什么是非对称的?是指用户线的上行速率与下行速率不同,上行速率低下行速率高,特别适合传输多媒体信息业务。 ADSL技术的原理:用数字技术对现有的模拟电话用户线进行改造。  ADSL技术的定义:非对称数字用户线路,利用现有的一对电话铜线,为用户提供上、下行非对称的传输速率。

第三章

·数据链路层使用的信道:点对点信道、广播信道。

·计算CRC。。。。。。。。。。。。。。。。。。。。。。。。。

·凡是接收端数据链路层接受的帧均无差错 因为凡是接收端数据链路层接受的帧,我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错。接收端丢弃的帧虽然曾受到了,但最终是因为有差错被丢弃,既没有被接受。(在数据链路层若仅仅使用循环冗余检验CRC差错检验技术,则只能做到对帧的无差错接受

·在数据链路层使用CRC检验,能够实现无比特率差错的传输,但这还不是可靠传输

·可靠传输就是:数据链路层的发送端发送什么,在接收端就接受什么。

·传输差错:帧丢失 帧重复 帧失序

·局域网最主要的特点:网络为一个单位所拥有,且地理范围和站点数目均有限

·以太网的两个标准 DIX Ethernet V2 和 IEEE 802.3(数据率为10Mb/s)

·局域网的数据链路层拆成两个子层:逻辑链路控制子层和媒体接入控制子层

·CSMA/CD协议的工作原理:发送数据前,先侦听信道是否空闲,若空闲则立即发送数据,在发送数据时便发送便继续侦听,若侦听到冲突,则立即停止发送数据,等待一段时间在重新尝试。

·IEEE制定出星形以太网10BASE-T标准802.3i。 10 代表10Mb/s的数据率;BASE表示连接线上的信号是基带信号;T代表双绞线。10BASE-T以太网又叫星型总线或盒中总线

MAC层的硬件地址为48位的全球地址

·硬件地址又称物理地址MAC地址(因特网标准48位)

·自学习算法。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

·虚拟局域网VLAN是由一些局域网段构成的与物理位置无关的逻辑组。虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。

·虚拟局域网好处:限制了接收广播信息的工作站数,使得网络不会因为传播过多的广播信息(即广播风暴)而引起性能恶化

 

第四章:网络层

·网络层提供的两种服务:虚电路服务,数据报服务

·虚电路服务与数据报服务的对比

  思路:(虚)可靠通信应当由网络来保证(数)可靠通信应当由用户主机来保证

连接的建立:(虚)必须有(数)不需要

终点地址:(虚)仅在连接建立阶段使用,每个分组使用短的虚电路号。(数)每个分组都有终点的完整地址。

分组的转发:(虚)属于同一条虚电路的分组均按照同一路由进行出发。(数)每个分组独立选择路由进行转发。

当节点出故障时:(虚)所有通过出故障的结点的虚电路均不能工作。(数)出故障的节点可能会丢失分组,一些路有可能会发生变化。

分组的顺序:(虚)总是按发送顺序到达终点。(数)到达终点的时间,不一定按发送顺序。

端到端的差错处理和流量控制:(虚)可以有网络负责,也可以有用户主机负责。(数)由用户主机负责。

·三个协议:(1)地址解析协议ARP(2)网络控制报文协议ICMP(3)网际组管理协议IGMP

·四种不同的中间设备:(1)物理层使用的中间设备叫做转发器(2)数据链路层使用的中间设备叫做网桥或桥接器(3)网络层使用的中间设备叫做路由器(4)在网络层以上使用的中间设备叫做网关

·IP地址与硬件地址的区别:从层次的角度看,物理地址是数据链路层和物理层使用的地址,而IP地址是用网络层和以上各层使用的地址,是一种逻辑地址(称IP地址是逻辑地址是因为IP地址是用软件实现的)

· IP地址放在IP数据报的首部,而硬件地址则放在MAC帧的首部。在网络层和网络层以上使用的是IP地址,而数据链路层及以下使用的则是硬件地址。

·强调指出IP地址几个特点

(1)在IP层抽象的互联网上只能看到IP数据报(2)虽然在IP数据报首部由源站IP地址,但路由器只根据目的站的IP地址的网络号进行路由选择。(3)在局域网的链路层,只能看见MAC帧。(4)IP层抽象的互联网屏蔽了下层这些很复杂的细节,只要我们在网络层上讨论问题,就能够使用统一的、抽象的IP地址研究主机和主机或路由器之间的通信。

·地址协议ARP的作用:已将知道了一个机器(主机或路由器)的IP地址,需要找出其相应的地址。

·为什么划分子网?(1)IP地址空间的利用率很低。(2)给每一个物理网络分配一个网络号会使路由表变得太大因而是网络性能变坏。(3)两级IP地址不够灵活。

·划分子网的基本思路:(1)一个拥有物理网络的单位,可将所属的物理网络划分为若干个子网,划分子网纯属一个单位内部的事情。(2)划分子网的方法是从网络的主机号借用若干位作为子网号subnet-id,当然主机号也就相应减少了同样的位数。(3)凡是从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络号找到链接在本单位网络上的路由器。

·子网掩码的作用:从IP数据报的首部无法看出源主机或目的主机所连接的网络是否进行了子网的划分。

·三种默认子网掩码:A类地址的默认子网掩码是255.0.0.0或0xFF000000;B类地址的默认子网掩码是255.255.0.0或0xFFFF0000;C类地址的默认子网掩码是255.255.255.0或0xFFFFFF00。

·无分类编址CIDR(构成超网)的作用:解决IP地址不足。

·ICMP的一个重要应用就是分组网间探测PING,用来测试两个主机之间的连通性,

·PING是应用层直接使用网络层ICMP的一个例子。它没有通过运输层的TCP或UDP。

·因特网的路由选择协议划分为:内部网关协议IGP和外部网关协议EGP。

·RIP是一种分布式的基于距离向量的路由选择协议。  RIP协议的“距离”也称“跳数”。

RIP允许一条路径最多只能包含15个路由器,因此“距离”等于16时即相当于不可达。    RIP协议的特点:(1)仅和相邻路由器交换信息(2)路由器交换的信息是当本路由器所知道的全部信息,即自己的路由表。(3)按固定的时间间隔交换路由信息。

RIP存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。

·内部网关协议OSPF是开放最短路径优先。

·OSPF和RIP的三点不一样(1)向本自治系统中所有路由器发送信息(2)发送的信息就是与本路由器相邻的所有路由器的链路状态(3)只有当链路状态发生变化时,路由器才能向所有路由器用洪泛法发送此信息。

·OSPF的链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。OSPF的更新过程收敛得快是其重要优点。

·网络地址转换NAT方法是在1994年提出的。(原理)这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址,这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。

第五章

·UDP的主要特点(1)UDP是无连接的(2)UDP使用尽最大努力支付(3)UDP是面向报文的。

·TCP最主要的特点(1)TCP是面向连接的运输层协议(2)每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的(3)TCP提供可靠交付的服务(4)TCP提供全双工通信(5)面向字节流

·TCP流量控制:利用滑动窗口来实现流量控制,流量控制就是让发送方的发送速率不要太快,要让接受方来得及接收。

·TCP拥塞控制:就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。

·区别:流量控制往往指点对点通信量的控制,是个端到端的问题,而拥塞控制是全局的。

·慢开始算法的思路当主机开始发送数据时,较好的方法是先探测一下,即小到大逐渐增大发送窗口,也就是说,由小到大逐渐增大拥塞窗口值,通常在刚刚开始发送报文段时,先把拥塞窗口cwnd设置为一个最大报文段MSS的数值。而在每收到一个对新的报文段的确认后,把拥塞窗口增加至多一个MSS的数值。增大发送方的拥塞窗口cwnd,可以使分组注入到网络的速率更加合理。         每经过一个传输轮次,拥塞窗口cwnd就加倍。

·拥塞避免算法思路:让拥塞窗口cwnd缓慢的增大,即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1,而不是加倍。

·快重传算法首先要求接收方每收到一个失序的报文段后就立即发出重复确认,而不要等待自己发送数据时才进行捎带确认。

·快恢复算法过程中的两点要求(1)当发送方连续收到三个确认时,就执行“乘法减小”算法,把慢开始门限ssthresh减半,这是为了预防网络发生拥塞。接下去,不执行慢开始算法。(2)由于发送方现在认为网络很可能没有发生拥塞,因此与慢开始不同之处是现在不执行慢开始算法,而是把cwnd值设置为慢开始门限ssthresh减半后的数值,然后开始执行拥塞避免算法,使拥塞窗口缓慢的线性增大。

·TCP是面向连接的协议,TCP运输连接的建立(三次握手)和释放(四次握手)是每一次面向连接的通信中必不可少的过程。

第六章

·域名系统DNS是因特网使用的命名系统。

因特网的域名系统DNS被设计成为一个联机分布式数据库系统。

·因特网的域名结构例如mai l.cctv .com分别是

三级域名系统 .二级域名系统 .顶级域名系统

·原先的域名系统分为三大类(1)国家顶级域名nTLD(2)通用顶级域名nTLD(3)基础结构域名(又称反向域名)。

·FTP的基本工作原理使用TCP可靠的运输服务。

·FTP服务器端有两个从属进程:控制进程和数据传送进程。

·因特网的SMTP之能传送可打印的7位ASCII码邮件,通用因特网邮件扩充MIME再其邮件首部中说明了邮件的数据类型(如文本,声音,图像,视像等)。

·常用的邮局读取协议邮局协议第三个版本POP3和网际报文存取协议IMAP。

·动态主机配置协议DHCP的定义:在协议软件中自动给参数赋值的动作。

·动态主机配置协议DHCP的作用:提供了一种机制,称为即插即用联网,允许一台计算机加入新的网络和获取IP地址而不用手工参与。

第七章

·计算机网络通信面临的两大威胁被动攻击和主动攻击。被动攻击是指攻击者从网络上窃听他人的通信内容,通常把这类攻击称为截获。在被动攻击中,攻击者只是观察和分析某一个协议数据单元PDU,又称为流量分析。主动攻击的方式:篡改、恶意程序、拒绝服务。拒绝服务是指向因特网上某个服务器不停地发送大量分组,是因特网或服务器无法提供正常的服务,使网站一直处于“忙”的状态,因而无法发出请求的客户提供服务,这种攻击被称为拒绝服务DoS。

第九章·无线局域网的标准IEEE802.11

第十章·下一代网际协议IPv6的作用:解决IP地址耗尽的根本措施就是采用具有更大空间的新版本的IP,即IPv6。

IPv6把地址从Ipv4的32位增大到4倍,即增大到128位,使地址空间增大了二的96次方倍。

总结四(计算机网络总结)

计算机网络

选择(30分)

1.  网络是指“三网”,即电信网络,有线电视网络和计算机网络。

2.  从通信的双方信息交互的方式来看,可以分为三种基本方式;(1)单向通信又称单工通信(2)双向交替通信又称半双工通信(3)双向同时通信又称全双工通信。

3.  时延由 发送时延,传播时延,处理时延,排队时延 组成。

4.  相邻两个节点的流量控制在数据链路层。

5.  交换机和集线器的区别:集线器共享带宽,交换机独享带宽。

6.香农公式:C=W*log2(1+S/N) ( log2表示以2为底的对数)(bit/s) W是信道带宽(赫),S是信号功率(瓦),N是噪声功率(瓦)

7.  奈奎斯特准则:在任何信道中,码元传输的速率是有上限的,传输速率超过此上限,就会出现严重的码间串扰的问题,使接收端对码元的判决(即识别)成为不可能。

8.   IP分类  A类:最大主机数是224-2,最大可能指派的网络数126(27-2)。B类:最大主机数216-2,最大可能指派的网络数16383(214-2)。C类:最大主机数28-2.,最大可能指派的网络数2097151(221-1)

9.  RIP(路由信息协议)允许一条路径最多只能包含15个路由器,

10.  服务器是垂直的  协议是水平的。

判断(15分)

1.多播地址只能用于目的地址,不能用于源地址。

2.CIDR    网络前缀越长,主机号越短。

3.以太网  发送的是帧 发送时不需要确认。

4.网络协议IP 与之配套的有 地址解析协议ARP,逆地址解析协议RARP,网际控制报文协议ICMP,网际组管理协议IGMP.

5.ICMP报文的种类 ICMP差错报告报文(分为  重点不可达;源点抑制;时间超过;参数问题;改变路由(重定向))和ICMP询问报文(分为回送请求和回答;时间戳请求和回答)。

6.拥塞控制  发送方让自己的发送窗口等于拥塞窗口。由小到大增大拥塞窗口数值。发送方的发送窗口一定不能超过对方给出的接收窗口值rwnd。

拥塞窗口 =发送窗口+接收窗口+拥塞窗口  {1拥塞>接收 说明谁小谁限制?2 拥塞<接收 说明?           7.滑动窗口协议 落在滑动窗口内的才可接收和发送。其余的只能丢弃。

8.虚电路服务和数据报服务的特点和比较

对比的方面

虚电路服务

数据报服务

思路

可靠通信应当由网络来保证

。。。由用户主机保证

连接的建立

必须有

不需要

终点地址

仅在连接建立阶段使用,每个分组使用短的虚电路号

每个分组都有终点的完整地址

分组的转发

属于同一条虚电路的分组均按照同一路由进行转发

每个分组独立选择路由进行转发

当结点出故障时

所有通过故障的结点的虚电路均不能工作

出故障的结点可能会丢失分组,一些路有可能会发生变化

分组的顺序

总是按发送顺序到大终点

到达终点时不一定按发送顺序

端到端的差错处理和流量控制

可以由网络负责,也可以由用户主机负责

由用户主机负责

9.tcp  三次握手或三次联络 四次断开

名词解释(15分)     1:端口的组成(套接字)

在协议栈层间的抽象的协议端口是软件端口,硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与运输实体进行层间几乎的一种地址,在UDP和TCP的首部格式中,它们都有源端口和目的端口,TCP/IP的运输层用一个16位端口来标志一个端口,TCP连接的短点焦作套接字或插口,端口号拼接到IP地址即做套接字,套接字SOCKET= IP地址:端口号 每一条TCP连接唯一滴被通信两端的两个端点

(课本)在运输层使用协议段口号 ,简称端口。端口号拼接至IP地址即构成了套接字。

2:什么是计算机网络    包含计算机的网路,以及这样的网络加上许多路由器组成的互联网,都可以统称为计算机网络

简答:(14分)

1:什么时候用面向连接 ,什么时候用无连接

面向连接 传输控制协议TCP 能够提供可靠的交付是面向连接的,数据传输的单位是报文段 无连接 用数据协议UDP 不能保证提供可靠的交付只能提供“尽最大努力交付,是无连接的,数据传输的单位是用户数据报,选择TCP(面向连接)协议还是UDP(无连接)协议依赖于应用程序的要求。可以从以下几个方面考虑:(1)在收发数据的时候,应用程序是否需要得到客户端或者服务器的确认信息?如果需要,使用 TCP 协议,在收发数据之前先建立明确的连接。(2)数据量是否特别大(例如图象与声音文件)?在连接建立之后,TCP 协议将维护连接并确保数据的完整性。不过,这种连接需要更多的计算资源,因而是比较“昂贵”的(3)数据发送是间歇的,还是在一个会话内?例如,如果应用程序在某个任务完成的时候需要通知某个计算机,UDP 协议是更适宜的。UDP 协议适合发送少量的数据。

2:协议与服务有何区别有何联系

协议 五层协议 应用层 运输层 网络层 数据链路层 物理层

协议是控制两个对等实体进行通信的规则集合

服务 在协议控制下,两个对等实体间的同心使得本层能够向上一层提供服务,要实现本层协议还需要使用下面一层所提供的服务

协议是“水平的”,即协议是 控制对等实体之间的通信的规则。服务是“垂直的”,即服务时是下层对上层通过层间接提供的。

协议与服务的关系

在协议的控制下上层对下层进行调用,下层对上层进行服务上下层间用原语交换信息。同层两个实体间有时有连接

  1. 在收发数据的时候,应用程序是否需要得到客户端或者服务器的确认信息?如果需要,使用 TCP 协议,在收发数据之前先建立明确的连接。(2)数据量是否特别大(例如图象与声音文件)?在连接建立之后,TCP 协议将维护连接并确保数据的完整性。不过,这种连接需要更多的计算资源,因而是比较“昂贵”的(3)数据发送是间歇的,还是在一个会话内?例如,如果应用程序在某个任务完成的时候需要通知某个计算机,UDP 协议是更适宜的。UDP 协议适合发送少量的数据。

总结五

 一、现在最主要的三种网络

  • 电信网络(电话网)
  • 有线电视网络
  • 计算机网络 (发展最快,信息时代的核心技术)

二、internet 和 Internet

  • internet 是普通名词

泛指一般的互连网(互联网)

  • Internet 是专有名词,标准翻译是“因特网”

世界范围的互连网(互联网)

使用 TCP/IP 协议族

前身是美国的阿帕网 ARPANET

四、计算机网络的带宽

计算机网络的带宽是指网络可通过的最高数据率,即每秒多少比特。

描述带宽也常常把“比特/秒”省略。

例如,带宽是 10 M,实际上是 10 Mb/s。注意:这里的 M 是 106

  • 对宽带传输的错误概念

在网络中有两种不同的速率:

  • 信号(即电磁波)在传输媒体上的传播速率(米/秒,或公里/秒)
  • 计算机向网络发送比特的速率(比特/秒),也叫传输速率。

这两种速率的意义和单位完全不同。

  • 宽带传输:计算机向网络发送比特的速率较高。
  • 宽带线路:每秒有更多比特从计算机注入到线路。
  • 宽带线路和窄带线路上比特的传播速率是一样的。

早期的计算机网络采用电路交换,新型的计算机网络采用分组交换的、基于存储转发的方式。

分组交换:

  •   在发送端把要发送的报文分隔为较短的数据块
  •   每个块增加带有控制信息的首部构成分组(包)
  •   依次把各分组发送到接收端
  •   接收端剥去首部,抽出数据部分,还原成报文

IP 网络的重要特点

  1. 每一个分组独立选择路由。
  2. 发往同一个目的地的分组,后发送的有可能先收到(即可能不按顺序接收)。
  3. 当网络中的通信量过大时,路由器就来不及处理分组,于是要丢弃一些分组。
  4. 因此, IP 网络不保证分组的可靠地交付。
  5. IP 网络提供的服务被称为:

          尽最大努力服务(best effort service)

五、最重要的两个协议:IP 和 TCP

TCP 协议保证了应用程序之间的可靠通信,IP 协议控制分组在因特网的传输,但因特网不保证可靠交付.

在 TCP/IP 的应用层协议使用的是客户服务器方式。

  1. 客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。
  2. 客户服务器方式所描述的是进程之间服务和被服务的关系。
  3. 当 A 进程需要B进程的服务时就主动呼叫B进程,在这种情况下,A 是客户而 B 是服务器。
  4. 可能在下一次通信中,B 需要 A 的服务,此时,B 是客户而 A 是服务器。  

注意:

  • 使用计算机的人是“用户”(user)而不是“客户”(client)。
  • 客户和服务器都指的是进程,即计算机软件。
  • 由于运行服务器进程的机器往往有许多特殊的要求,因此人们经常将主要运行服务器进程的             机器(硬件)不严格地称为服务器。
  • 例如,“这台机器是服务器。” 意思是:“这台机器(硬件)主要是用来运行服务器进程(软件)。”
  • 因此,服务器(server)一词有时指的是软件,但也有时指的是硬件。

六、总结

  1. 因特网(Internet)是世界范围的、互连起来的计算机网络,它使用 TCP/IP 协议族,并且它的前身是美国阿帕网 ARPANET。
  2. 计算机网络的带宽是网络可通过的最高数据率。
  3. 因特网使用基于存储转发的分组交换,并使用 IP 协议传送 IP 分组。
  4. 路由器把许多网络互连起来,构成了互连网。路由器收到分组后,根据路由表查找出下一跳路由器的地址,然后转发分组。
  5. 路由器根据与其他路由器交换的路由信息构造出自己的路由表。
  6. IP 网络提供尽最大努力服务,不保证可靠交付。
  7. TCP 协议保证计算机程序之间的、端到端可靠交付。
  8. 在 TCP/IP 的应用层协议使用的是客户服务器方式。
  9. 客户和服务器都是进程(即软件)。客户是服务请求方,服务器是服务提供方。
  10. 服务器有时也指“运行服务器软件”的机器。

========================================================================

一、IP 网络是虚拟网络

  1. IP 网络是虚拟的。在 IP 网络上传送的是 IP数据报(IP 分组)。
  2. 实际上在网络链路上传送的是“帧”,使用的是帧的硬件地址(MAC 地址)。
  3. 地址解析协议 ARP 用来把 IP 地址(虚拟地址)转换为硬件地址(物理地址)。

二、IP 地址的表示方法

IP 地址的表示方法有两种:二进制点分十进制。

IP 地址是 32 位二进制数字,为方便阅读和从键盘上输入,可把每 8 位二进制数字转换成一个十进制数字,并用小数点隔开,这就是点分十进制。

三、因特网的域名

因特网的域名分为:

  1. 顶级域名
  2. 二级域名
  3. 三级域名
  4. 四级域名

四、域名服务器 DNS (Domain Name Server)

因特网中设有很多的域名服务器 DNS,用来把域名转换为 IP 地址。

五、电子邮件

发送邮件使用的协议——简单邮件传送协议SMTP (Simple Mail Transfer Protocol)

接收邮件使用的协议——邮局协议版本3 POP3 (Post Office Protocol version 3)

注:邮件的传送仍然要使用IP 和 TCP 协议

六、统一资源定位符 URL (Uniform Resource Locator)

  1. URL 用来标识万维网上的各种文档
  2. 因特网上的每一个文档,在整个因特网的范围内具有惟一的标识符 URL。
  3. URL 实际上就是文档在因特网中的地址

七、超文本传送协议 HTTP (HyperText Transfer Protocol)

万维网客户程序与服务器程序之间的交互遵守超文本传送协议 HTTP。

八、结束语

  • IP 地址是 32 位二进制数字。为便于阅读和键入,也常使用点分十进制记法。
  • 个人用户上网可向本地 ISP 租用临时的 IP 地址。
  • 域名服务器 DNS 把计算机域名转换为计算机使用的 32 位二进制 IP 地址。
  • 发送电子邮件使用 SMTP 协议,接收电子邮件使用 POP3 协议。
  • 统一资源定位符 URL 惟一地确定了万维网上文档的地址。
  • 超文本传送协议 HTTP 用于万维网浏览器程序和服务器程序的信息交互。
  • 超文本标记语言 HTML 使万维网文档有了统一的格式。
  • IP 电话不使用 TCP 协议。利用 IP 电话网关使得在普通电话之间可以打 IP 电话。

==========================================================================

一、因特网服务提供者 ISP (Internet Service Provider)

根据提供服务的覆盖面积大小以及所拥有的IP 地址数目的不同,ISP 也分成为不同的层次。

二、两种通信方式

在网络边缘的端系统中运行的程序之间的通信方式通常可划分为两大类:C/S 方式 P2P 方式(Peer-to-Peer,对等方式)。

三、因特网的核心部分

网络核心部分是因特网中最复杂的部分。

网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。

因特网的核心部分是由许多网络和把它们互连起来的路由器组成,而主机处在因特网的边缘部分

在因特网核心部分的路由器之间一般都用高速链路相连接,而在网络边缘的主机接入到核心部分则通常以相对较低速率的链路相连接。

主机的用途是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。路由器的用途则是用来转发分组的,即进行分组交换的。

在网络核心部分起特殊作用的是路由器(router)

路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

四、电路交换

电路交换必定是面向连接的。

电路交换的三个阶段:建立连接通信释放连接

五、网络的分类

1.不同作用范围的网络

  • 广域网 WAN (Wide Area Network)
  • 局域网 LAN (Local Area Network)
  • 城域网 MAN (Metropolitan Area Network)
  • 个人区域网 PAN (Personal Area Network)

2.从网络的使用者进行分类

  • 公用网 (public network)
  • 专用网 (private network)

3.用来把用户接入到因特网的网络

  • 接入网 AN (Access Network),它又称为本地接入网或居民接入网。

    注:由 ISP 提供的接入网只是起到让用户能够与因特网连接的“桥梁”作用。

六、计算机网络的性能指标

  1. 速率
  2. 带宽
  3. 吞吐量
  4. 时延(delay 或 latency)
  1. 传输时延(发送时延) —— 从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完      毕所需的时间。
  2. 传播时延 —— 电磁波在信道中需要传播一定的距离而花费的时间。

     注:信号传输速率(即发送速率)和信号在信道上的传播速率是完全不同的概念。

  1. 处理时延 —— 交换结点为存储转发而进行一些必要的处理所花费的时间。
  2. 排队时延 —— 结点缓存队列中分组排队所经历的时延。

总时延 = 发送时延+传播时延+处理时延+处理时延

  1. 时延带宽积
  2. 利用率 —— 分为信道利用率网络利用率
  1. 信道利用率——某信道有百分之几的时间是被利用的(有数据通过)。
  2. 网络利用率——全网络的信道利用率的加权平均值。

注:信道利用率并非越高越好。

七、网络协议(network protocol)

简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。其组成要素有以下三点:

  1. 语法     数据与控制信息的结构或格式 。
  2. 语义     需要发出何种控制信息,完成何种动作以及做出何种响应。
  3. 同步    事件实现顺序的详细说明。

八、实体、协议、服务和服务访问点

实体(entity)——表示任何可发送或接收信息的硬件或软件进程。

协议——是控制两个对等实体进行通信的规则的集合。

  1. 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
  2. 要实现本层协议,还需要使用下层所提供的服务。
  3. 本层的服务用户只能看见服务而无法看见下面的协议。
  4. 下面的协议对上面的服务用户是透明的。
  5. 协议是“水平的”,即协议是控制对等实体之间通信的规则。
  6. 服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。

同一系统相邻两层的实体进行交互的地方,称为服务访问点 SAP (Service Access Point)

九、TCP/IP的体系结构

路由器在转发分组时最高只用到网络层,而没有使用运输层和应用层。

 

=================================================================================

第二章 物理层

一、物理层的基本概念

物理层的主要任务是确定与传输媒体的接口的一些特性,即:

  1. 机械特性——指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。
  2. 电气特性——指明在接口电缆的各条线上出现的电压的范围。
  3. 功能特性——指明某条线上出现的某一电平的电压表示何种意义。
  4. 过程特性——指明对于不同功能的各种可能事件的出现顺序。

二、几个术语

数据(data)——运送消息的实体。

信号(signal)——数据的电气的或电磁的表现。

模拟的”(analogous)——代表消息的参数的取值是连续的。

数字的”(digital)——代表消息的参数的取值是离散的。

码元(code)——在使用时间域(或简称为时域)的波形表示数字信号时,代表不同离散数值的  本波形

   三、 有关信号的几个基本概念

单向通信(单工通信)——只能有一个方向的通信而没有反方向的交互。

双向交替通信(半双工通信)——通信的双方都可以发送信息,但不能双方同时发送(当然也 就不能同时接收)。

双向同时通信(全双工通信)——通信的双方可以同时发送和接收信息。

四、基带信号和调

基带信号往往包含有较多的低频成分,甚至有直流成分,而许多信道并不能传输这种低频分量或直流分量。为了解决这一问题,就必须对基带信号进行调制(modulation)

最基本的二元制调制方法有以下几种:

调幅(AM):载波的振幅随基带数字信号而变化。

调频(FM):载波的频率随基带数字信号而变化。

调相(PM): 载波的初始相位随基带数字信号而变化。  

五、导向传输媒体

双绞线、同轴电缆、光缆 、无线信道

   六、信道复用技术

 复用(multiplexing)是通信技术中的基本概念。
 复用技术的分类:

  1. 频分复用 FDM(Frequency Division Multiplexing)
  2. 时分复用TDM(Time Division Multiplexing)
  3. 波分复用 WDM(Wavelength Division Multiplexing)
  4. 码分复用 CDM(Code Division Multiplexing)
  1. 常用的名词是码分多址CDMA (Code Division Multiple Access)。
  2. 各用户使用经过特殊挑选的不同码型,因此彼此不会造成干扰。
  3. 这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。
  4. 每一个比特时间划分为 m 个短的间隔,称为码片(chip)

              码片序列(chip sequence)

  1. 每个站被指派一个唯一的 m bit 码片序列。
  2. 如发送比特 1,则发送自己的 m bit 码片序列
  3. 如发送比特 0,则发送该码片序列的二进制反码

例如,S 站的 8 bit 码片序列是 00011011。

发送比特 1 时,就发送序列 00011011,

发送比特 0 时,就发送序列 11100100。

  1. 每个站分配的码片序列不仅必须各不相同,并且还必须互相正交(orthogonal)。

  两个不同站的码片序列正交,就是向量S和T的规格化内积(inner product)都是 0

    任何一个码片向量和该码片向量自己的规格化内积都是1 :

一个码片向量和该码片反码的向量的规格化内积值是 –1。

CDMA 的工作原理

============================================================

第 3 章  数据链路层

一、数据链路层使用的信道分类

数据链路层使用的信道主要有以下两种类型:

点对点信道:这种信道使用一对一的点对点通信方式。

广播信道:这种信道使用一对多的广播通信方式,因此过程比较复杂。

二、各层传输的数据单位

网络层:IP数据报(或IP分组)

数据链路层:帧

物理层:比特

三、数据链路层传输数据时的三个基本问题

(1) 封装成帧(framing)——在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。首部 和尾部的一个重要作用就是进行帧定界。

(2) 透明传输

(3) 差错控制

四、点对点协议 PPP (Point-to-Point Protocol)

现在全世界使用得最多的数据链路层协议是点对点协议 PPP。用户使用拨号电话线接入因特网时,一般都是使用 PPP 协议。  

1.PPP 协议应满足的需求

  1. 简单——这是首要的要求
  2. 封装成帧
  3. 透明性
  4. 多种网络层协议
  5. 多种类型链路
  6. 差错检测
  7. 检测连接状态
  8. 最大传送单元
  9. 网络层地址协商
  10. 数据压缩协商  

2.PPP 协议不需要的功能

  1. 纠错 (只需要检测有无错,而不需纠错)
  2. 流量控制
  3. 序号
  4. 多点线路
  5. 半双工或单工链路

3.PPP 协议有三个组成部分

  1. 一个将 IP 数据报封装到串行链路的方法。
  2. 链路控制协议 LCP (Link Control Protocol)。
  3. 网络控制协议 NCP (Network Control Protocol)。   

4.PPP 协议之不使用序号和确认机制.

五、媒体共享技术

  1. 静态划分信道
  1. 频分复用
  2. 时分复用
  3. 波分复用
  4. 码分复用
  1. 动态媒体接入控制(多点接入)
  1. 随机接入
  2. 受控接入 ,如多点线路探询(polling),或轮询。  

六、以太网的两个标准  

DIX Ethernet V2 标准IEEE 的 802.3 标准只有很小的差别,因此可以将 802.3 局域网简称为“以太网”。

七、数据链路层的两个子层

  • 逻辑链路控制 LLC (Logical Link Control)子层
  • 媒体接入控制 MAC (Medium Access Control)子层。

与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关,不管采用何种协议的局域网对 LLC 子层来说都是透明的,如下图所示:

局域网对 LLC 子层是透明的

注意

  1. 由于 TCP/IP 体系经常使用的局域网是 DIX Ethernet V2 而不是 802.3 标准中的几种局域网,因此现在 802 委员会制定的逻辑链路控制子层 LLC(即 802.2 标准)的作用已经不大了。
  2. 很多厂商生产的适配器上就仅装有 MAC 协议而没有 LLC 协议。
  3. 所以我们以后一般不考虑 LLC 子层 。

八、以太网提供的服务

  1. 以太网提供的服务是不可靠的交付,即尽最大努力的交付。
  2. 当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定
  3. 如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。
  4. 以太网发送的数据都使用曼彻斯特(Manchester)编码

图 曼彻斯特编码方式

九、载波监听多点接入/冲突检测CSMA/CD

  1.  CSMA/CD 表示 Carrier Sense Multiple Access with Collision Detection。
  2. “多点接入”表示许多计算机以多点接入的方式连接在一根总线上
  3. “载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据, 如果  有,则暂时不要发送数据,以免发生碰撞。
  4. 总线上并没有什么“载波”。因此, “载波监听”就是用电子技术检测总线上有没有其他计算机 发送的数据信号。
  • “冲突检测”就是计算机边发送数据边检测信道上的信号电压大小。
  • 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
  • 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送 数据,表明产生了冲突。

检测到碰撞后

  • 在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。
  • 每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络 资源,然后等待一段随机时间后再次发送。

重要特性

  • 使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。
  • 每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
  • 这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。  

十、以太网的 MAC 层

1、48 位的 MAC 地址

在局域网中,硬件地址又称为物理地址,或 MAC 地址,共48位,其前3个字节(即高24位)用于标识不同的生产厂家,后3个字节(即低24位)由厂家自行指派,用于标识产品号。

2、从网络上发往本站的帧分为以下3种:

  1. 单播(unicast)帧(一对一)
  2. 广播(broadcast)帧(一对全体)
  3. 多播(multicast)帧(一对多)

3、 MAC 帧的格式

常用的以太网MAC帧格式有两种标准 :

  1.   DIX Ethernet V2 标准
  2.   IEEE 的 802.3 标准

最常用的 MAC 帧是以太网 V2 的格式,如下:

4、帧间最小间隔

  • 帧间最小间隔为 9.6 ms,相当于 96 bit 的发送时间。
  • 一个站在检测到总线开始空闲后,还要等待 9.6 ms 才能再次发送数据。
  • 这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备。

 

5.多接口网桥——以太网交换机

以太网交换机通常都有十几个接口。因此,以太网交换机实质上就是一个多接口的网桥,可见交换机工作在数据链路层

  • 以太网交换机的每个接口都直接与主机相连,并且一般都工作在全双工方式
  • 交换机能同时连通许多对的接口,使每一对相互通信的主机都能像独占通信媒体那样,进行 无碰撞地传输数据。
  • 以太网交换机由于使用了专用的交换结构芯片,其交换速率就较高。  

 

十一、虚拟局域网

  • 虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组。
  1. 这些网段具有某些共同的需求。
  2. 每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的工作站是属于哪一个 VLAN。
  • 虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。
  • 虚拟局域网限制了接收广播信息的工作站数,使得网络不会因传播过多的广播信息(即“广播风暴”)而引起性能恶化。
  • 虚拟局域网协议允许在以太网的帧格式中插入一个 4 字节的标识符,称为 VLAN 标记(tag),用来指明发送该帧的工作站属于哪一个虚拟局域网。

 

 十二、网络层提供的两种服务

网络层提供两种类型的的服务,即:虚电路服务数据报服务

  • 面向连接的通信方式
    1. 建立虚电路(Virtual Circuit),以保证双方通信所需的一切网络资源。

图示 虚电路服务

  1. 虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。
  2. 请注意,电路交换的电话通信是先建立了一条真正的连接。因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样。
    1. 如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点。
  • 无连接的通信方式

网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务

图示  数据报服务

十三、网际协议IP

网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一。与 IP 协议配套使用的还有四个协议:

  • 地址解析协议 ARP (Address Resolution Protocol)
  • 逆地址解析协议 RARP (Reverse Address Resolution Protocol)
  • 网际控制报文协议 ICMP (Internet Control Message Protocol)

注:ICMP 不是高层协议,而是 IP 层的协议。

  • 网际组管理协议 IGMP (Internet Group Management Protocol)

十四、网际层的 IP 协议及配套协议

注:ICMP 网际控制报文协议

十五、网络互相连接起来要使用一些中间设备

中间设备又称为中间系统或中继(relay)系统。

  • 物理层中继系统:转发器(repeater)、中继器。
  • 数据链路层中继系统:网桥桥接器(bridge)
  • 网络层中继系统:路由器(router)
  • 网桥和路由器的混合物:桥路器(brouter)。
  • 网络层以上的中继系统:网关(gateway)

十六、网络互连使用路由器

  • 当中继系统是转发器或网桥时,一般并不称之为网络互连,因为这仅仅是把一个网络扩大了,而 这仍然是一个网络
  • 网关由于比较复杂,目前使用得较少。
  • 互联网都是指用路由器进行互连的网络
  • 由于历史的原因,许多有关 TCP/IP 的文献将网络层使用的路由器称为网关。  
  1. 路由器总是具有两个或两个以上的 IP 地址。
  2. 路由器的每一个接口都有一个不同网络号的 IP 地址。

十七、分类 IP 地址

每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。

两级的 IP 地址可以记为:IP 地址 ::= { <网络号>, <主机号>} , ::= 代表“定义为”

IP 地址中的网络号字段和主机号字段

常用的三种类别的 IP 地址

IP 地址的一些重要特点

(1)  IP 地址是一种分等级的地址结构

(2) 实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。

  • 当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络 号 net-id 必须是不同的。这种主机称为多归属主机(multihomed host)。
  • 由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一 个网络),因此一个路由器至少应当有两个不同的 IP 地址

(3) 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。

(4) 所有分配到网络号 net-id 的网络,无论是范围很小的局域网,还是可能覆盖很大地理范围的广域 网,都是平等的。

 

十八、IP 地址与硬件地址

  • 网络层及以上使用 IP 地址

路由器只根据目的站的 IP 地址的网络号进行路由选择

  • 链路层及以下使用MAC地址

在具体的物理网络的链路层只能看见 MAC 帧而看不见 IP 数据报

十九、地址解析协议 ARP 和逆地址解析协议 RARP

1、ARP

不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。

每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。

当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。

ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。

如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。

2、RARP

逆地址解析协议 RARP 使只知道自己硬件地址的主机能够知道其 IP 地址。

这种主机往往是无盘工作站。 因此 RARP协议目前已很少使用。

二十、查找路由表

  在路由表中,对每一条路由,最主要的是(目的网络地址下一跳地址).

根据目的网络地址就能确定下一跳路由器,这样做的结果是:

  • IP 数据报最终一定可以找到目的主机所在目的网络上的路由器(可能要通过多次的间接交付)。
  • 只有到达最后一个路由器时,才试图向目的主机进行直接交付。

二十一、划分子网(subnetting)

从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址。这种做法叫作划分子网(subnetting) 。划分子网已成为因特网的正式标准协议。

  • 划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。
  • 从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个 位。
  • IP地址 ::= {<网络号>, <子网号>, <主机号>}
  • 凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网 络号 net-id,先找到连接在本单位网络上的路由器。
  • 然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目 的子网。
  • 最后就将 IP 数据报直接交付目的主机。

子网掩码

  • 从一个 IP 数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分。
  • 使用子网掩码(subnet mask)可以找出 IP 地址中的子网部分。

IP 地址的各字段和子网掩码

默认子网掩码

二十二、因特网的路由选择协议

  1. 有关路由选择协议的几个基本概念:

    1) 理想的路由算法

  • 算法必须是正确的和完整的。
  • 算法在计算上应简单。
  • 算法应能适应通信量和网络拓扑的变化,这就是说,要有自适应性。
  • 算法应具有稳定性。
  • 算法应是公平的。
  • 算法应是最佳的。

     2、关于“最佳路由”

  • 不存在一种绝对的最佳路由算法
  • 所谓“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已。
  • 实际的路由选择算法,应尽可能接近于理想的算法。
  • 路由选择是个非常复杂的问题
  1. 它是网络中的所有结点共同协调工作的结果。
  2. 路由选择的环境往往是不断变化的,而这种变化有时无法事先知道。

    3、从路由算法的自适应性考虑

  • 静态路由选择策略——即非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。
  • 动态路由选择策略——即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。  

  4.因特网中的两大类路由选择协议:

  • 内部网关协议 IGP (Interior Gateway Protocol)——即在一个自治系统内部使用的路由选择协 议。目前这类路由选择协议使用得最多,其具体的协议有多种,如 RIP 和 OSPF 协议:
    1. RIP: Routing Information Protocol 路由信息协议
  • RIP 协议的三个要点:
  • 仅和相邻路由器交换信息。
  • 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
  • 固定的时间间隔交换路由信息,例如,每隔 30 秒。

                      2.OSPF:Open Shortest Path First  开放最短路径优先

  • 外部网关协议EGP (External Gateway Protocol) —— 若源站和目的站处在不同的自治系统 中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一 个自治系统中。这样的协议就是外部网关协议 EGP。在外部网关协议中目前使用最多的是BGP-4。

                    3.BGP:Border Gateway Protocol 边界网关协议

  • BGP 是不同自治系统的路由器之间交换路由信息的协议。
  • 边界网关协议 BGP 只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。

 二十三、IP 多播

  1. IP 多播的基本概念

    2.IP 多播的一些特点

(1) 多播使用组地址—— IP 使用 D 类地址支持多播。多播地址只能用于目的地址,而不能用于源地址。  

(2) 永久组地址——由因特网号码指派管理局 IANA 负责指派。

(3) 动态的组成员

(4) 使用硬件进行多

   3、IP多播需要两种协议

1)网际组管理协议 IGMP

    为了使路由器知道多播组成员的信息,需要利用网际组管理协议 IGMP (Internet Group

  Management Protocol)。

图示  IGMP 使多播路由器知道多播组成员信息

2)多播路由选择协议

连接在局域网上的多播路由器还必须和因特网上的其他多播路由器协同工作,以便把多播数据报用最小代价传送给所有的组成员。这就需要使用多播路由选择协议

二十四、 专用地址(本地地址)和全球地址

本地地址——仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向因特网的管理机构申请

全球地址——全球唯一的IP地址,必须向因特网的管理机构申请

  1. 专用地址(Private Address)

10.0.0.0 到 10.255.255.255

172.16.0.0 到 172.31.255.255

192.168.0.0 到 192.168.255.255

这些地址只能用于一个机构的内部通信,而不能用于和因特网上的主机通信。

专用地址只能用作本地地址而不能用作全球地址。在因特网中的所有路由器对目的地址是专用地址的数据报一律不进行转发。

======================================================================

第 5 章  运输层

一 、应用进程之间的通信

  • 两个主机进行通信实际上就是两个主机中的应用进程互相通信
  • 应用进程之间的通信又称为端到端的通信
  • 运输层的一个很重要的功能就是复用分用。应用层不同进程的报文通过不同的端口向下交到运输层,再往下就共用网络层提供的服务。
  • “运输层提供应用进程间的逻辑通信”。“逻辑通信”的意思是:运输层之间的通信好像是沿水平方向传送数据。但事实上这两个运输层之间并没有一条水平方向的物理连接。

二、运输层的主要功能

  • 运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)。

图示  运输层协议和网络层协议的主要区别

  • 运输层还要对收到的报文进行差错检测
  • 运输层需要有两种不同的运输协议,即面向连接的 TCP 和无连接的 UDP。  
  • TCP的特点:
  1. TCP 是面向连接的运输层协议。
  2. 每一条 TCP 连接只能有两个端点(endpoint),每一条 TCP 连接只能是点对点的(一对一)。
  3. TCP 提供可靠交付的服务。
  4.  TCP 提供全双工通信。
  5. 面向字节流

注意:

  • TCP 连接是一条虚连接而不是一条真正的物理连接。
  • TCP 对应用进程一次把多长的报文发送到TCP 的缓存中是不关心的。
  • TCP 根据对方给出的窗口值和当前网络拥塞的程度来决定一个报文段应包含多少个字节(UDP 发送的报文长度是应用进程给出的)。
  • TCP 可把太长的数据块划分短一些再传送。TCP 也可等待积累有足够多的字节后再构成报文段发送出去。
  • UDP 是面向报文的:
  1. 发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交 下来的报文,既不合并, 也不拆分,而是保留这些报文的边界。
  2. 应用层交给 UDP 多长的报文,UDP 就照样发送,即一次发送一个报文。
  3. 接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整 的报文。
  4. 应用程序必须选择合适大小的报文。

三、TCP的端口

  • 端口用一个 16 位端口号进行标志。
  • 端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。

四、TCP的连接

  • TCP 把连接作为最基本的抽象。
  • 每一条 TCP 连接有两个端点
  • TCP 连接的端点不是主机,不是主机的IP 地址,不是应用进程,也不是运输层的协议端口。TCP 连接的端点叫做套接字(socket)或插口。
  • 端口号拼接到(contatenated with) IP 地址即构成了套接字。

   套接字 socket = (IP地址: 端口号)  

 每一条 TCP 连接唯一地被通信两端的两个端点(即两个套接字)所确定。即:

   TCP 连接 ::= {socket1, socket2} = {(IP1: port1), (IP2: port2)}   

五、可靠传输的工作原理

  1. 停止等待协议

请注意:

  1. 在发送完一个分组后,必须暂时保留已发送的分组的副本
  2. 分组和确认分组都必须进行编号。
  3. 超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。

可靠通信的实现:

  • 使用上述的确认和重传机制,我们就可以在不可靠的传输网络上实现可靠的通信
  • 这种可靠传输协议常称为自动重传请求ARQ (Automatic Repeat reQuest)。
  • ARQ 表明重传的请求是自动进行的。接收方不需要请求发送方重传某个出错的分组 。

  2.流水线传输

  • 发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认。
  • 由于信道上一直有数据不间断地传送,这种传输方式可获得很高的信道利用率。 

六、TCP 的流量控制——利用滑动窗口实现

 流量控制(flow control)就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。

利用滑动窗口机制可以很方便地在 TCP 连接上实现流量控制。

七、 TCP 的运输连接管理
1、运输连接的三个阶段
运输连接就有三个阶段,即:连接建立数据传送连接释放。运输连接的管理就是使运输连接 的建立和释放都能正常地进行。

连接建立过程中要解决以下三个问题:

  • 要使每一方能够确知对方的存在。
  • 要允许双方协商一些参数(如最大报文段长度,最大窗口大小,服务质量等)。
  • 能够对运输实体资源(如缓存大小,连接表中的项目等)进行分配。

TCP 连接的建立都是采用客户服务器方式。

2.TCP 的连接建立——用三次握手建立TCP链接

3、用三次握手建立 TCP 连接的各状态

4.连接的释放

数据传输结束后,双方都可释放连接,但一方(设为A)释放连接前需获得另一方(设为B)的允许,如果此时B方仍有数据要传输,则连接不得释放,A仍要接收B的数据,直至B方数据传输完毕后,B方发出释放连接的要求,得到A方的许可确认后,B释放连接,A等待2SML后释放连接,此时通信结束。

如下图所示:

===============================================

第六章  应用层

一、应用层协议的特点

  • 每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多 个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的 协议
  • 应用层的许多协议都是基于客户服务器方式

二、域名系统 DNS

  • 计算机的用户只是间接而不是直接使用域名系统。
  • 因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS
  • 名字到 IP 地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运 行该程序的机器称为域名服务器。  

三、层次树状结构的命名方法

  • 任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名
  • 域名的结构由标号序列组成,各标号之间用点隔开:

         … . 三级域名 . 二级域名 . 顶级域名

  • 各标号分别代表不同级别的域名。  

四、域名只是个逻辑概念

  • 域名只是个逻辑概念,并不代表计算机所在的物理地点。
  • 变长的域名和使用有助记忆的字符串,是为了便于人来使用。而 IP 地址是定长的 32 位二进制数字则非常便于机器进行处理。
  • 域名中的“点”和点分十进制 IP 地址中的“点”并无一一对应的关系。点分十进制 IP 地址中一定是包含三个“点”,但每一个域名中“点”的数目则不一定正好是三个。
  • 顶级域名 TLD(Top Level Domain)

(1) 国家顶级域名 nTLD:如: .cn 表示中国,.us 表示美国,.uk 表示英国,等等。

(2) 通用顶级域名 gTLD:最早的顶级域名是:

    .com  (公司和企业)    .net  (网络服务机构)

    .org  (非赢利性组织)   .edu  (美国专用的教育机构()

    .gov  (美国专用的政府部门)  .mil   (美国专用的军事部门)

    .int   (国际组织)

(3)基础结构域名(infrastructure domain):这种顶级域名只有一个,即 arpa,用于反向域名解析,因此又称为反向域名。

六、域名服务器的四种类型

  • 域名服务器
  1. 根域名服务器是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的 域名和 IP 地址。
  2. 不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析, 就首先求助于根域名服务器。
  3. 在因特网上共有13 个不同 IP 地址的根域名服务器(注意这里的13是指共有13 套装置, 而不是 13 个机器),它们的名字是用一个英文字母命名,从a 一直到 m(前13 个字母)。这些 根域名服务器相应的域名分别是
    •     a.rootservers.net
    •     b.rootservers.net
    •     …
    •     m.rootservers.net

    到 2006 年底全世界已经安装了一百多个根域名服务器机器,分布在世界各地。

  • 顶级域名服务器
  1. 这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。
  2. 当收到 DNS 查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找 的域名服务器的 IP 地址)。
  • 权限域名服务器
  1. 这就是前面已经讲过的负责一个区的域名服务器。
  2. 当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的 DNS 客 户,下一步应当找哪一个权限域名服务器。
  • 本地域名服务器
  1. 本地域名服务器对域名系统非常重要。
  2. 当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器。
  3. 每一个因特网服务提供者 ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,
  4. 这种域名服务器有时也称为默认域名服务器

七、域名的解析过程

主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。

本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。

以上两种方式如下图所示:

八、文件传送协议

1、FTP (File Transfer Protocol) 概述

  • FTP是因特网上使用得最广泛的文件传送协议。
  • FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。
  • FTP 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。

九、文件传送并非很简单的问题

  1. 网络环境中的一项基本应用就是将文件从一台计算机中复制到另一台可能相距很远的计算机中。
  2. 初看起来,在两个主机之间传送文件是很简单的事情。
  3. 其实这往往非常困难。原因是众多的计算机厂商研制出的文件系统多达数百种,且差别很大

十、网络环境下复制文件的复杂性:

(1) 计算机存储数据的格式不同。

(2) 文件的目录结构和文件命名的规定不同。

(3) 对于相同的文件存取功能,操作系统使用的命令不同。

(4) 访问控制方法不同。

十一、FTP 特点

  • 文件传送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。
  • FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性
  • FTP 使用客户服务器方式。一个 FTP 服务器进程可同时为多个客户进程提供服务。FTP 的服务器进程由两大部分组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。

两个连接

  1. 控制连接在整个会话期间一直保持打开,FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。
  2. 实际用于传输文件的是“数据连接”。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建“数据传送进程”和“数据连接”,用来连接客户端和服务器端的数据传送进程。
  3. 数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。

两个不同的端口号

当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口(21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。

接着,服务器进程用自己传送数据的熟知端口(20)与客户进程所提供的端口号码建立数据传送连接。

由于 FTP 使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。20号端口

21号端口

十二、简单文件传送协议 TFTP(Trivial File Transfer Protocol)  

  • TFTP 是一个很小且易于实现的文件传送协议。
  • TFTP 使用客户服务器方式和使用 UDP 数据报,因此 TFTP 需要有自己的差错改正措施。
  • TFTP 只支持文件传输而不支持交互。
  • TFTP 没有一个庞大的命令集,没有列目录功能,也不能对用户进行身份鉴别。

十三、万维网的文档

HTML 文档是一种可以用任何文本编辑器创建的 ASCII 码文件。

万维网的文档可以分为以下3类:

  • 静态文档是指该文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不 会改变。
  • 动态文档是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建。

动态文档和静态文档之间的主要差别体现在服务器一端。这主要是文档内容的生成方法不同。而从浏览器的角度看,这两种文档并没有区别。  

  • 活动万维网文档(可以用 Java 技术创建活动文档)
  1. 活动文档(active document)技术把所有的工作都转移给浏览器端。
  2. 每当浏览器请求一个活动文档时,服务器就返回一段程序副本在浏览器端运行。

Java 技术装三个主要组成部分:程序设计语言、运行(runtime)环境(JVM)和 类库。

十四、两种不同的链接

  • 远程链接:超链的终点是其他网点上的页面。
  • 本地链接:超链指向本计算机中的某个文件。

十五、通用网关接口 CGI(Common Gateway Interface)

  • CGI 是一种标准,它定义了动态文档应如何创建,输入数据应如何提供给应用程序,以及输出结果应如何使用
  • 万维网服务器与 CGI 的通信遵循 CGI 标准。
  1. “通用”:CGI 标准所定义的规则对其他任何语言都是通用的。
  2. “网关”:CGI 程序的作用像网关。
  3. “接口”:有一些已定义好的变量和调用等可供其他 CGI 程序使用。

十六、万维网的信息检索系统

在万维网中用来进行搜索的程序叫做搜索引擎。

全文检索搜索引擎是一种纯技术型的检索工具。它的工作原理是通过搜索软件到因特网上的各网站收集信息,找到一个网站后可以从这个网站再链接到另一个网站。然后按照一定的规则建立一个很大的在线数据库供用户查询。

用户在查询时只要输入关键词,就从已经建立的索引数据库上进行查询(并不是实时地在因特网上检索到的信息)。

 

分类目录搜索引擎(分类网站搜索并不采集网站的任何信息,而是利用各网站向搜索引擎提交的网站信息时填写的关键词和网站描述等信息,经过人工审核编辑后,如果认为符合网站登录的条件,则输入到分类目录的数据库中,供网上用户查询。

垂直搜索引擎(Vertical Search Engine) 针对某一特定领域、特定人群或某一特定需求提供搜索服务。垂直搜索也是提供关键字来进行搜索的,但被放到了一个行业知识的上下文中,返回的结果更倾向于信息、消息、条目等。

十七、电子邮件

  • 发送邮件的协议:SMTP
  • 读取邮件的协议:POP3 和 IMAP
  • MIME 在其邮件首部中说明了邮件的数据类型(如文本、声音、图像、视像等),使用 MIME 可在邮件中同时传送多种类型的数据。
  • 电子邮件的最主要的组成构件:用户代理发送端邮件服务器接收端邮件服务器
    • 用户代理 UA 就是用户与电子邮件系统的接口,是电子邮件客户端软件。

十八、简单邮件传送协议 SMTP

  • SMTP 所规定的就是在两个相互通信的 SMTP 进程之间应如何交换信息。
  • 由于 SMTP 使用客户服务器方式,因此负责发送邮件的 SMTP 进程就是 SMTP 客户,而负责接收邮件的 SMTP 进程就是 SMTP 服务器
  • SMTP 规定了 14 条命令和 21 种应答信息。每条命令用 4 个字母组成,而每一种应答信息一般只有一行信息,由一个 3 位数字的代码开始,后面附上(也可不附上)很简单的文字说明。  

十九、SMTP 通信的三个阶段

 连接建立、邮件传送、连接释放。

二十、邮件读取协议POP3 和 IMAP

邮局协议 POP(Post Office Protocol) 是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本 POP3。

POP 也使用客户服务器的工作方式。

在接收邮件的用户 PC 机中必须运行 POP 客户程序,而在用户所连接的 ISP 的邮件服务器中则运行 POP 服务器程序。   

------------------------------------------

因特网报文存取协议IMAP(Internet Message Access Protocol)也是按客户服务器方式工作,现在较新的是版本 4,即 IMAP4。

用户在自己的 PC 机上就可以操纵 ISP(Internet Service Provider) 的邮件服务器的邮箱,就像在本地操纵一样。

因此 IMAP 是一个联机协议。当用户 PC 机上的 IMAP 客户程序打开 IMAP 服务器的邮箱时,用户就可看到邮件的首部。若用户需要打开某个邮件,则该邮件才传到用户的计算机上。

IMAP 的特点

允许收件人只读取邮件中的某一个部分。

二十一、发送和接收电子邮件的几个重要步骤

  1. Œ发件人调用 PC 机中的用户代理撰写和编辑要发送的邮件。
  2. 发件人的用户代理把邮件用 SMTP 协议发给发送方邮件服务器,
  3. Ž SMTP 服务器把邮件临时存放在邮件缓存队列中,等待发送。
  4. 发送方邮件服务器的 SMTP 客户与接收方邮件服务器的 SMTP 服务器建立 TCP 连 接,然后就把邮件缓存队列中的邮件依次发送出去。
  5. 运行在接收方邮件服务器中的SMTP服务器进 程收到邮件后,把邮件放入收件人的用户 邮箱中,等待收件人进行读取。
  6. ‘ 收件人在打算收信时,就运行 PC机中的用户代理,使用 POP3(或 IMAP)协议读取发送给自己的邮件。
  7. 注意,POP3 服务器和 POP3 客户之间的通信是由 POP3 客户发起的。

二十二、基于万维网的电子邮件

  • 电子邮件从 A 发送到网易邮件服务器是使用 HTTP 协议。
  • 两个邮件服务器之间的传送使用 SMTP。
  • 邮件从新浪邮件服务器传送到 B 是使用 HTTP 协议。

二十三、通用因特网邮件扩充 MIME

SMTP 有以下缺点:

  1. SMTP 不能传送可执行文件或其他的二进制对象。
  2. SMTP 限于传送 7 位的 ASCII 码。许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送。
  3. SMTP 服务器会拒绝超过一定长度的邮件。
  4. 某些 SMTP 的实现并没有完全按照[RFC 821]的 SMTP 标准。

MIME 的特点: 

MIME 并没有改动 SMTP 或取代它。

MIME 的意图是继续使用目前的[RFC 822]格式,但增加了邮件主体的结构,并定义了传送非 ASCII 码的编码规则

MIME 和 SMTP 的关系

MIME 主要包括三个部分:

  1)5 个新的邮件首部字段,这些字段提供了有关邮件主体的信息。

  • MIME-Version: 标志 MIME 的版本。现在的版本号是 1.0。若无此行,则为英文文本。
  • Content-Description: 这是可读字符串,说明此邮件是什么。和邮件的主题差不多。
  • Content-Id: 邮件的唯一标识符。
  • Content-Transfer-Encoding: 在传送时邮件的主体是如何编码的。
  • Content-Type: 说明邮件的性质。

  2)定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。

MIME的标准规定 Content-Type 说明必须含有两个标识符,即内容类型(type)和子类型(subtype),中间用“/”分开,如text/html,text/css等。

MIME 标准定义了 7 个基本内容类型和 15 种子类型。

  3)定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。

  • 最简单的编码就是 7 位 ASCII 码,而每行不能超过 1000 个字符。MIME 对这种由 ASCII 码构成的邮件主体不进行任何转换。
  • 另一种编码称为 quoted-printable,这种编码方法适用于当所传送的数据中只有少量的非 ASCII 码。
  • 对于任意的二进制文件,可用 base64 编码。

二十四、动态主机配置协议 DHCP(Dynamic Host Configuration Protocol)

动态主机配置协议 DHCP 提供了即插即用连网(plug-and-play networking)的机制。

这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。

DHCP 使用客户服务器方式:

需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为 DHCP 客户。

本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文。

DHCP 服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,则从服务器的 IP 地址池(address pool)中取一个地址分配给该计算机。DHCP 服务器的回答报文叫做提供报文(DHCPOFFER)。

DHCP中继代理(relay agency)

并不是每个网络上都有 DHCP 服务器,这样会使 DHCP 服务器的数量太多。现在是每一个网络至少有一个 DHCP 中继代理,它配置了 DHCP 服务器的 IP 地址信息。

当 DHCP 中继代理收到主机发送的发现报文后,就以单播方式向 DHCP 服务器转发此报文,并等待其回答。收到 DHCP 服务器回答的提供报文后,DHCP 中继代理再将此提供报文发回给主机。

租用期(lease period)

  • DHCP 服务器分配给 DHCP 客户的 IP 地址的临时的,因此 DHCP 客户只能在一段有限的时间内使 用这个分配到的 IP 地址。DHCP 协议称这段时间为租用期
  • 租用期的数值应由 DHCP 服务器自己决定。
  • DHCP 客户也可在自己发送的报文中(例如,发现报文)提出对租用期的要求。  

二十五、简单网络管理协议 SNMP

SNMP 使用无连接的 UDP

二十六、应用进程跨越网络的通信

  1、系统调用

   大多数操作系统使用系统调用(system call)的机制在应用程序和操作系统之间传递控制权

对程序员来说,每一个系统调用和一般程序设计中的函数调用非常相似,只是系统调用是将控制权传递给了操作系统。

多个应用进程使用系统调用的机制

2、应用编程接口API(Application Programming Interface)

当某个应用进程启动系统调用时,控制权就从应用进程传递给了系统调用接口

此接口再将控制权传递给计算机的操作系统。操作系统将此调用转给某个内部过程,并执行所请求的操作。

内部过程一旦执行完毕,控制权就又通过系统调用接口返回给应用进程。

系统调用接口实际上就是应用进程的控制权和操作系统的控制权进行转换的一个接口,即应用编程接口 API

2.1 几种应用编程接口 API

  • Berkeley UNIX 操作系统定义了一种 API,它又称为套接字接口(socket interface)
  • 微软公司在其操作系统中采用了套接字接口 API,形成了一个稍有不同的 API,并称之为 Windows Socket
  • AT&T 为其 UNIX 系统 V 定义了一种 API,简写为 TLI (Transport Layer Interface)

2.1.1 套接字的作用

  1. 当应用进程需要使用网络进行通信时就发出系统调用,请求操作系统为其创建“套接字”,以便把网络通信所需要的系统资源分配给该应用进程。
  2. 操作系统为这些资源的总和用一个叫做套接字描述符的号码来表示,并把此号码返回给应用进程。应用进程所进行的网络操作都必须使用这个号码。
  3. 通信完毕后,应用进程通过一个关闭套接字的系统调用通知操作系统回收与该“号码”相关的所有资源。

调用 socket 创建套接字

=========================================================

第七章 网络安全

一、计算机网络面临的安全性威胁

计算机网络上的通信面临以下的四种威胁:

    (1) 截获——从网络上窃听他人的通信内容。

    (2) 中断——有意中断他人在网络上的通信。

    (3) 篡改——故意篡改网络上传送的报文。

    (4) 伪造——伪造信息在网络上传送。

截获信息的攻击称为被动攻击,而更改信息和拒绝用户使用资源的攻击称为主动攻击

二、被动攻击和主动攻击

被动攻击 ——攻击者只是观察和分析某一个协议数据单元 PDU 而不干扰信息流。

主动攻击 —— 是指攻击者对某个连接中通过的 PDU 进行各种处理,如:

  •   更改报文流
  •   拒绝报文服务
  •   伪造连接初始化   

三、计算机网络通信安全的目标

(1) 防止析出报文内容;

(2) 防止通信量分析;

(3) 检测更改报文流;

(4) 检测拒绝报文服务;

(5) 检测伪造初始化连接。

四、恶意程序(rogue program)

(1) 计算机病毒——会“传染”其他程序的程序,“传染”是通过修改其他程序来把自身或其变种复制  进去完成的。

(2) 计算机蠕虫——通过网络的通信功能将自身从一个结点发送到另一个结点并启动运行的程序。

(3) 特洛伊木马——一种程序,它执行的功能超出所声称的功能。

(4) 逻辑炸弹——一种当运行环境满足某种特定条件时执行其他特殊功能的程序。

五、计算机网络安全的内容

  • 保密性
  • 安全协议的设计
  • 访问控制

六、公钥密码体制

公钥密码体制使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。

1、公钥和私钥

在公钥密码体制中,加密密钥(即公钥) PK(Public Key) 是公开信息,而解密密钥(即私钥或秘钥) SK(Secret Key) 是需要保密的。

加密算法 E(Encrypt) 和解密算法 D 也都是公开的。

虽然秘钥 SK 是由公钥 PK 决定的,但却不能根据 PK 计算出 SK。

2、公钥算法的特点

  • 发送者 A 用 B 的公钥 PKB 对明文 X 加密(E 运算)后,在接收者 B 用自己的私钥 SKB 解密(D 运算),即可恢复出明文:

                 

  • 解密密钥是接收者专用的秘钥,对其他人都保密。
  • 加密密钥是公开的,但不能用它来解密,即

  • 加密和解密的运算可以对调,即

                    

  • 在计算机上可容易地产生成对的 PK 和 SK。
  • 从已知的 PK 实际上不可能推导出 SK,即从 PK 到 SK 是“计算上不可能的”。
  • 加密和解密算法都是公开的

七、 数字签名

数字签名必须保证以下三点:

(1) 报文鉴别——接收者能够核实发送者对报文的签名;

(2) 报文的完整性——发送者事后不能抵赖对报文的签名;

(3) 不可否认——接收者不能伪造对报文的签名。

现在已有多种实现各种数字签名的方法。但采用公钥算法更容易实现。

数字签名的实现 :

  • 因为除 A 外没有别人能具有 A 的私钥,所以除 A 外没有别人能产生这个密文。因此 B 相信报文 X 是 A 签名发送的。
  • 若 A 要抵赖曾发送报文给 B,B 可将明文和对应的密文出示给第三者。第三者很容易用 A 的公钥去证实 A 确实发送 X 给 B。
  • 反之,若 B 将 X 伪造成 X‘,则 B 不能在第三者前出示对应的密文。这样就证明了 B 伪造了报文。  

    具有保密性的数字签名

八、鉴别

在信息的安全领域中,对付被动攻击的重要措施是加密,而对付主动攻击中的篡改和伪造则要用鉴别(authentication)

报文鉴别使得通信的接收方能够验证所收到的报文(发送者和报文内容、发送时间、序列等)的真伪。

使用加密就可达到报文鉴别的目的。但在网络的应用中,许多报文并不需要加密。应当使接收者能用很简单的方法鉴别报文的真伪。   

  1. 鉴别的手段
  • 报文鉴别(使用报文摘要 MD (Message Digest)算法与数字签名相结合)
  • 实体鉴别

九、运输层安全协议

  1. 安全套接层 SSL(Secure Socket Layer)
  • SSL可对万维网客户与服务器之间传送的数据进行加密鉴别
  • SSL 在双方的联络阶段协商将使用的加密算法和密钥,以及客户与服务器之间的鉴别。
  • 在联络阶段完成之后,所有传送的数据都使用在联络阶段商定的会话密钥。
  • SSL 不仅被所有常用的浏览器和万维网服务器所支持,而且也是运输层安全协议 TLS (Transport Layer Security)的基础。

     1.1 SSL 的位置

1.2  SSL的三个功能:

(1) SSL 服务器鉴别    允许用户证实服务器的身份。具有 SS L 功能的浏览器维持一个表,上面有一些可信赖的认证中心 CA (Certificate Authority)和它们的公钥。

(2) 加密的 SSL 会话    客户和服务器交互的所有数据都在发送方加密,在接收方解密。

(3) SSL 客户鉴别    允许服务器证实客户的身份。

2、安全电子交易 SET (Secure Electronic Transaction)

安全电子交易 SET 是专为在因特网上进行安全支付卡交易的协议。

SET 的主要特点是:

(1) SET 是专为与支付有关的报文进行加密的。

(2) SET 协议涉及到三方,即顾客、商家和商业银行。所有在这三方之间交互的敏感信息都被加密

(3) SET 要求这三方都有证书。在 SET 交易中,商家看不见顾客传送给商业银行的信用卡号码。  

十、防火墙(firewall)

  • 防火墙是由软件、硬件构成的系统,是一种特殊编程的路由器,用来在两个网络之间实施接入控制策略。接入控制策略是由使用防火墙的单位自行制订的,为的是可以最适合本单位的需要。
  • 防火墙内的网络称为“可信赖的网络”(trusted network),而将外部的因特网称为“不可信赖的网络”(untrusted network)
  • 防火墙可用来解决内联网和外联网的安全问题。

防火墙在互连网络中的位置

  1. 防火墙的功能

防火墙的功能有两个:阻止允许

“阻止”就是阻止某种类型的通信量通过防火墙(从外部网络到内部网络,或反过来)。

“允许”的功能与“阻止”恰好相反。

防火墙必须能够识别通信量的各种类型。不过在大多数情况下防火墙的主要功能是“阻止”。

      2.防火墙技术的分类

(1) 网络级防火墙——用来防止整个网络出现外来非法的入侵。属于这类的有分组过滤和授权服务器。前者检查所有流入本网络的信息,然后拒绝不符合事先制订好的一套准则的数据,而后者则是检查用户的登录是否合法。

(2) 应用级防火墙——从应用程序来进行接入控制。通常使用应用网关或代理服务器来区分各种应用。例如,可以只允许通过访问万维网的应用,而阻止 FTP 应用的通过。

===========================================================================

 

第九章  无线局域网

一、无线局域网的组成

1、有固定基础设施的无线局域网

2、无固定基础设施的无线局域网

二、热点(hot spot)

现在许多地方,如办公室、机场、快餐店、旅馆、购物中心等都能够向公众提供有偿或无偿接入 Wi-Fi 的服务。这样的地点就叫做热点

三、移动自组网络,又称自组网络(ad hoc network)

自组网络是没有固定基础设施(即没有 AP)的无线局域网。这种网络由一些处于平等状态的移动站之间相互通信组成的临时网络:

四、802.11 局域网的 MAC 帧

802.11 帧共有三种类型,即控制帧数据帧管理帧

==============================================

第十章 下一代因特网

一、IPv6 的基本首部

  • IPv6 仍支持无连接的传送所引进的主要变化如下
  • 更大的地址空间。IPv6 将地址从 IPv4 的 32 位 增大到了 128 位
  • 扩展的地址层次结构。
  • 灵活的首部格式。
  • 改进的选项。
  • 允许协议继续扩充。
  • 支持即插即用(即自动配置)
  • 支持资源的预分配。
  • IPv6 将首部长度变为固定的 40 字节,称为基本首部(base header)。
  • 将不必要的功能取消了,首部的字段数减少到只有 8 个。
  • 取消了首部的检验和字段,加快了路由器处理数据报的速度。
  • 在基本首部的后面允许有零个或多个扩展首部。
  • 所有的扩展首部和数据合起来叫做数据报的有效载荷(payload)或净负荷。  

二、 从 IPv4 向 IPv6 过渡

  • 向 IPv6 过渡只能采用逐步演进的办法,同时,还必须使新安装的 IPv6 系统能够向后兼容。
  • IPv6 系统必须能够接收和转发 IPv4 分组,并且能够为 IPv4 分组选择路由。
  • 双协议栈(dual stack)是指在完全过渡到 IPv6 之前,使一部分主机(或路由器)装有两个协议栈,一个 IPv4 和一个 IPv6。