《计算机网络》学习笔记

计算机网络学习目录

    • 第一章 计算机网络概述
      • 1.1 互联网概述
          • 1.1.1 网络
          • 1.1.2 互联网基础结构发展的三个阶段
      • 1.2 互联网的组成
      • 1.3 计算机网络的分类
      • 1.4 计算机网络的性能
      • 1.5 计算机网络体系结构
          • 1.5.1 协议与划分层次
          • 1.5.2 具有五层协议的体系结构
    • 第二章 物理层
      • 2.1 物理层的基本概念
      • 2.2 物理层下的传输媒体
      • 2.3 信道复用技术
    • 第三章 数据链路层
      • 3.1 概述
      • 3.2 使用点对点信道的数据链路层
      • 3.3 点对点协议 PPP(Point to Point Protocol)
      • 3.4 使用广播信道的数据链路层
    • 第四章 网络层
      • 4.1 网际协议IP
      • 4.2 划分子网和构造超网
      • 4.3 网际控制报文协议ICMP
      • 4.4 互联网的路由选择协议
    • 第五章 传输层
      • 5.1 运输层协议概述
      • 5.2 用户数据报协议UDP
      • 5.3 传输控制协议 TCP
    • 第六章 应用层
      • 6.1 网络应用的基本原理
          • 6.1.1 网络应用的体系结构
          • 6.1.2 网络应用进程间通信
          • 6.1.3 网络应用需求
      • 6.2 万维网www
          • 6.2.1 web应用概述
          • 6.2.2 统一资源定位符URL
          • 6.2.2 超文本传输协议HTTP
      • 6.3 email应用
          • 6.3.1 email应用概述
      • 6.4 域名系统DNS(Domain Name System)
          • 6.4.1 互联网的域名结构
      • 6.5 P2P应用
      • 6.6 Socket编程

第一章 计算机网络概述

1.1 互联网概述

1.1.1 网络

1、互联网具有两个重要的基本特点:连通性共享
2、计算机网络由若干个结点(node)和连接这些结点的链路(link)组成。
其中结点可以是计算机、集线器、交换器或者路由器等。
3、互连网是覆盖范围更大的计算机网络。网络把许多计算机连接在一起,而互连网则把许多网络通过路由器连接在一起。

1.1.2 互联网基础结构发展的三个阶段

1、internetInternet的区别
小写i开始的internet(互连网)是一个通用名词,泛指由多个计算机网络互连而成的计算机网络。
大写I开始的Internet(互联网)是一个专用名词,它指全球最大的、开放的、由众多网络互连起来而成的特定互联网,采用TCP/IP协议族作为通信规则,其前身为美国的ARPANET。
2、互联网发展的三个阶段:
第一阶段:从单个网络ARPANET向互连网发展的过程。
第二阶段:建成了三级结构的互联网。分为主干网、地区网和校园网(企业网)。
第三阶段:逐渐形成了多层次ISP结构的互联网。ISP为互联网服务提供者(Internet Service Provider),分为主干ISP、地区ISP和本地ISP。
中国电信、中国联通和中国移动等公司都是我国最有名的ISP。ISP从互联网管理机构申请到IP地址,任何机构和个人向ISP缴纳费用便可获取IP地址的使用权。

1.2 互联网的组成

1、互联网的组成划分为两大块
边缘部分:由所有连接在互联网上的主机组成,用户直接使用,用来通信和资源共享。
核心部分:由大量网络和连接这些网络的路由器组成,为边缘部分提供服务。
2、边缘部分通信方式
客户(client)-服务器(server)方式:客户是服务请求方,服务器是服务提供方。
对等连接(peer-to-peer,P2P):计算机之间平等的通信,没有客户和服务器。
3、互联网的核心部分

  • 电路交换:整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。
    建立过程:建立连接—— 通话—— 释放连接。
    重要特点:在通话的全部时间内,通话的两个用户始终占用端到端的通信资源,其他用户不能使用。
  • 报文交换:整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。
  • 分组交换:单个分组(报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点。
    《计算机网络》学习笔记_第1张图片
    若要连续传送大量地数据,且其传送时间远大于连接建立时间,则电路交换地传输速率较快。报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络地信道利用率。由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,更灵活。

1.3 计算机网络的分类

1、按网络的作用范围分类:广域网WAN、城域网MAN、局域网LAN、个人区域网PAN
2、按网络的使用者分类:公用网(public network)、专用网(private network)

1.4 计算机网络的性能

1、速率:指数据的传输速率,bit/s(b/s、bps)。如100M以太网,实际是指100Mbit/s。提到网络速率时,往往是指额定速率或标称速率,而非网络上实际速率。

2、带宽(bandwidth):在单位时间内网络中的某信道所能通过的“最高数据率”。bit/s(bps)

3、吞吐量(throughput):单位时间内通过某个网络(或信道、接口)的实际数据量。其绝对上限值等于带宽,bit/s(bps)。

4、时延:数据(一个报文或分组、甚至比特)从网络(或链路)的一段传送到另一端的时间。时延是很重要的性能指标,也称延迟和迟延。
  ① 发送时延:主机或路由器发送数据帧所需的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。也称传输时延。
发送时延 = 数据帧长度(b) / 信道带宽(b/s)
 ② 传播时延:电磁波在信道中传播一定距离所需花费的时间。
传播时间 = 信道长度(m) / 传输速率(m/s)
 ③ 处理时延:主机或路由器处理收到分组时要花费一定的时间进行处理。
 ④ 排队时延:分组在输入队列中等待处理的时间加上其在输出队列中等待转发的时间。
综上:总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延。
注:对于高速网络链路,提高的是发送速率而不是传播速率。

5、时延带宽积:传播时延 * 带宽。表示链路的容量。

6、往返时间RTT:从发送方发送数据开始,到发送发收到接收方的确认为止,所花费的时间。

7、利用率:有信道利用率和网络利用率两种。而信道或网络利用率过高会产生非常大的时延。

1.5 计算机网络体系结构

网络的体系结构(architecture):计算机网络的各层及其协议的集合。
OSI体系结构:物理层、数据链路层、网络层、运输层、会话层、表示层、应用层
TCP/IP体系结构:应用层、运输层、网际层和网络接口层。

1.5.1 协议与划分层次

1、网络协议:简称协议,是为了进行网络中的数据交换而建立的规则、标准或约定。
2、网络协议的三要素:
语法:即数据与控制信息的结构或格式。
语义:即需要发出何种控制信息,完成何种动作以及做出何种响应。
同步:即事件实现顺序的详细说明。

1.5.2 具有五层协议的体系结构

1、应用层(application layer)
应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。应用层交互的数据单元称为报文(message)。常见协议有:HTTP、DNS、SMTP协议等。
2、运输层(transport layer)
运输层的任务是负责向两台主机中进程之间的通信提供通用的数据传输服务。传输层主要用两种协议:

  • 传输控制协议TCP(Transmission Control Protocol):提供面向连接的、可靠的数据传输服务,其数据传输单位为报文段(segment)。
  • 用户数据报协议UDP(User Datagram Protocol):提供无连接的、尽最大努力(best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。

3、网络层(network layer)
网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。本层使用IP协议,因此也叫IP数据报。

4、数据链路层(data link layer)
数据链路层常简称为链路层。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点的链路上传送帧。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错信息)。

5、物理层(physical layer)
物理层的任务就是透明地传送比特流。(注意:传递信息的物理媒体,如双绞线、同轴电缆、光缆等,是在物理层的下面,当做第0 层。)物理层还要确定连接电缆插头的定义及连接法。

第二章 物理层

2.1 物理层的基本概念

一、关于信道的几个基本概念
1、通信方式
(1)单向通信:又称单工通信,只能有一个方向的通信而没有反方向的交互。无线电广播或有线电广播以及电视广播就属于这种类型。
(2)双向交替通信:半双工通信,即通信的双方都可以发送信息,但不能双方同时发送。
(3)双向同时通信:全双工通信,即通信的双方可以同时发送和接收信息。
2、基带信号(基本频带信号)
来自信源的信号称为基带信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。基带信号往往包含有较多的低频成分,甚至有直流成分,而许多信道并不能传输这种低频分量或直流分量。为解决这一问题,要对基带信号进行调制(modulation)。
带通信号:经过载波调制后的信号。使用载波的调制称为带通调制,把基带信号的频率范围搬移到较高的频段,并转换为模拟信号,就能更好地在模拟信道中传输。
基本带通调制方法:调幅(AM)调频(FM)调相(PM)

2.2 物理层下的传输媒体

一、导引型传输媒体
1、双绞线
双绞线已成为局域网中的主流传输媒体
(1)屏蔽双绞线 STP (Shielded Twisted Pair)
(2)无屏蔽双绞线 UTP (Unshielded Twisted Pair)
2、同轴电缆
(1)细缆(适合短距离,安装容易,造价低)
(2)粗缆(适合较大局域网,布线距离长,可靠性好)
3、光纤
光纤有很好的抗电磁干扰特性和很宽的频带,主要用在环形网中。
(1)多模光纤(用发光二极管,便宜,定向性较差)
(2)单模光纤(注入激光二极管,定向性好)

二、非导向传输媒体
微波、红外线、激光、卫星通信

2.3 信道复用技术

频分复用FDM (Frequency Division Multiplexing):所有用户在同样的时间占用不同的频率带宽资源。

时分复用TDM(Time Division Multiplexing)则是将时间划分为一段段等长的时分复用帧(TDM 帧)。

统计时分复用 STDM(Statistic TDM)是改进的时分复用,明显地提高信道的利用率。

波分复用 WDM (Wavelength Division Multiplexing):光的频分复用。

码分复用 CDM (Code Division Multiplexing):常用的名词是码分多址 CDMA:有很强的抗干扰能力。每一个用户可以在同样的时间使用同样的频带进行通信。

第三章 数据链路层

3.1 概述

数据链路层使用的信道主要有以下两种类型:
点对点信道:使用一对一的点对点通信方式。
广播信道:使用一对多的广播通信方式。

3.2 使用点对点信道的数据链路层

一、链路(Link) :从一个结点到相邻结点的一段物理线路。

二、 数据链路(data Link) :当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输,把实现这些协议的硬件和软件加载链路上,就构成了数据链路。现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。

三、三个基本问题:

1、封装成帧
就是在一段数据的前后分别添加首部(帧开始符SOH 01)和尾部(帧结束符EOT 04),然后就构成了一个帧。每一种链路层协议都规定了所能传送的帧的数据部分长度上限——最大传送单元MTU。数据部分<=长度限制MTU。首部和尾部的一个重要作用就是进行帧定界。帧定界是分组交换的必然要求。

2、透明传输
不管从键盘上输入什么字符都可以放在这样的帧中传输过去,因此这样的传输就是透明传输。
为了达到透明传输(即传输的数据部分不会因为包含SOH和EOT而出错),在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(十六进制1B),而在接收端的数据链路层在把数据送往网络层之前删除这个插入的转义字符。这种方法称为字节填充或字符填充。透明传输避免消息符号与帧定界符号相混淆。

3、差错检测
现实通信链路中比特在传输中会产生差错,传输错误的比特占所传输比特总数的比率称为误码率BER(Bit Error Rate)。为了保证可靠性,通常通过循环冗余检验CRC来做差错检测。
差错检测防止无效数据帧浪费后续路由上的传输和处理资源。

3.3 点对点协议 PPP(Point to Point Protocol)

一、PPP协议的组成部分
(1)一个将 IP 数据报封装到串行链路的方法
(2)一个用来建立、配置和测试数据链路连接的链路控制协议 LCP (Link Control Protocol)
(3)一套网络控制协议 NCP (Network Control Protocol)

二、PPP协议的帧格式
《计算机网络》学习笔记_第2张图片
1、首部:
首部中的标志字段F(Flag),规定为0x7E(符号0x表示它后面的字符是用十六进制表示的。十六进制的7E的二进制表示是01111110),标志字段表示一个帧的开始。
首部中的地址字段A规定为0xFF(即11111111)。
首部中的控制字段C规定为0x03(即00000011)。
首部中的2字节的协议字段:
1)当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。
2)当协议字段为0xC021时,PPP帧的信息字段就是PPP链路控制协议LCP的数据。
3)当协议字段为0x8021时,PPP帧的信息字段就是网络层的控制数据。
2、尾部:
尾部中的第一个字段(2个字节)是使用CRC的帧检验序列FCS。
尾部中的标志字段F(Flag),规定为0x7E(符号0x表示它后面的字符是用十六进制表示的。十六进制的7E的二进制表示是01111110),标志字段表示一个帧的结束。

三、字节填充
当信息字段中出现和标志字段一样的比特(0x7E)组合时,就必须采取一些措施使这种形式上和标志字段一样的比特组合不出现在信息字段中。
字节填充——PPP使用异步传输
当 PPP 用在异步传输时,就使用一种特殊的字符填充法:将每一个 0x7E字节变为(0x7D, 0x5E),0x7D转变成为(0x7D, 0x5D)。ASCII 码的控制字符(即数值小于 0x20 的字符),则在前面要加入0x7D,同时将该字符的编码加以改变。

四、零比特填充——PPP使用同步传输
PPP协议在用SONET/SDH链路时,使用同步传输(一连串的比特连续传送)而不是异步传输(逐个字符地传送)。在这种情况下,PPP协议采用零比特填充方法来实现透明传输。
只要发现有5个连续的1,则立即填入一个0。
《计算机网络》学习笔记_第3张图片

3.4 使用广播信道的数据链路层

一、广播信道是一种一对多的通信。

二、局域网的数据链路层(局域网的数据链路层被拆分为了两个子层)
逻辑链路控制LLC子层:与传输媒体无关
媒体接入控制MAC子层(Medium Access Control):和局域网都对LLC子层来说是透明的。

三、CSMA/CD 协议
(1)以太网采用CSMA/CD协议的方式来协调总线上各计算机的工作。在使用CSMA/CD协议的时候,一个站不可能同时进行发送和接收(但必须边发送边监听信道),因此使用CSMA/CD协议的以太网不可能进行全双工通信而只能进行双向交替通信(半双工)。

(2)CSMA/CD是载波监听多点接入/碰撞检测(Carrier Sense Multiple Access with Collision Detection)的缩写,下面是CSMA/CD协议的要点

多点接入: 就是计算机以多点接入(动态媒体接入控制)的方式连接在一根总线上。

载波监听:就是”发送前先监听”,即每一个站在发送数据前先要检测一下总线是否有其他站在发送数据,如有则暂时不要发送数据,要等到信道为空闲。

碰撞检测:就是“边发送边监听”,即适配器边发送数据边检测信道上的信号电压的变化情况。当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。

(3)把总线上的单程端到端传播时延记为τ,A 发送数据后,最迟要经过2τ才能知道自己发送的数据和其他站发送的数据有没有发生碰撞。

四、 以太网的MAC层
(1)在局域网中,硬件地址又称为物理地址或MAC地址。
“MAC地址”又叫做硬件地址或物理地址,实际上就是适配器地址或适配器标识符EUI-48。

(2)MAC帧的格式
常用的以太网MAC帧格式有两种标准 : DIX Ethernet V2 标准和IEEE 的 802.3 标准。以太网V2标准的MAC帧格式使用较多,如图:
《计算机网络》学习笔记_第4张图片
以太网V2的MAC帧较为简单,有五个字段组成。
前两个字段分别为6字长的目标地址和源地址字段。第三个字段是2字节的类型字段,用来标志上一层使用的是什么协议,以便把收到的MAC帧的数据上交给上一层的这个协议。后面数据字段46~1500字节,帧检验序列FCS字段4个字节。

第四章 网络层

4.1 网际协议IP

一、网际协议IP是TCP/IP体系中两个最重要的协议之一,也是最重要的因特网标准协议之一。与IP协议配套是用的四个协议:

  1. 地址解析协议ARP:是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。
  2. 逆地址解析协议RARP:是解决同一个局域网上的主机或路由器的硬件地址和IP地址映射问题。(淘汰)
  3. 网际控制报文协议ICMP:提供差错报告和询问报文,以提高IP数据交付成功的机会
  4. 网际组管理协议IGMP::用于探寻、转发本局域网内的组成员关系。
    《计算机网络》学习笔记_第5张图片

二、虚拟互连网络

因为没有一种单一的网络能够适应所有的用户需求,所以网络互连也变得困难,所以需要一些中间设备:
1、物理层中间设备:转发器(repeater)
2、数据链路层中间设备:网桥或桥接器(bridge)
3、网络层中间设备:路由器(router)
4、网络层以上的中间设备:网关(gateway)

三、 分类的IP地址
1、IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。由互联网名字和数字分配机构ICANN进行分配。

2、IP地址编制方法的三个阶段:
(1)分类的IP地址
(2)子网的划分
(3)构成超网

3、地址分类
《计算机网络》学习笔记_第6张图片
每一类地址都由 网络号 net-id和 主机号 host-id组成。其中主机号中全0表示网络地址,全1表示广播地址。
(1)A类地址
由1字节的网络地址和3字节主机地址组成。网络地址的最高位必须是“0“,可指派的网络数为126个(2的7次方-2),减2的原因是0.0.0.0对应“本网络”,另外一个是127.0.0.1是本地软件的回环地址,用于测试自己电脑IP地址是否可用。所以地址范围1.0.0.0到126.255.255.255。最大主机数为2的24次方-2=16777214台,减2的原因是全0的主机号字段代表该IP地址是"本主机“,全1表示”所有的“,表示该网络上的所有主机。
(2)B类地址
由2字节的网络地址和2字节主机地址组成
网络地址的最高位必须是“10”,可指派的网络数为 2的14次方 -1,因为最高位为10,所以不存在全0全1的情况,但是B类网络地址128.0.0.0是不指派的,可指派最小网络地址是128.1.0.0。地址范围128.0.0.0-191.255.255.255。
最大主机数为2的16次方-2=65534台,减2同样是全0全1情况。
(3)C类地址
由3字节的网络地址和1字节主机地址组成
网络地址的最高位必须是“110”,可指派的网络数为2的21次方-1,192.0.0.0不指派,最小可指派网络地址是192.0.1.0,地址范围192.0.0.0-223.255.255.255
最大主机数为2的8次方-2=254台,减2同样是全0全1情况。
(4)D类是多播地址,“lll0”开始
(5)E类地址保留为今后使用,“llll0”开头

四、 IP地址与硬件地址
硬件地址是数据链路层和物理层使用的地址。
IP地址是网络层和以上各层使用的地址,是一种逻辑地址

IP地址放在IP数据报的首部,而硬件地址放在MAC帧的首部。当数据报放入数据链路层的MAC帧中后,整个IP数据报就成为MAC帧的数据,因而在数据链路层看不见数据报的IP地址。

五、 地址解析协议ARP
ARP是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。

每一个主机都设有一个ARP高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。
如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。

六、 IP数据报
IP数据报格式
一个IP数据报由首部(20 字节+可选字段)和数据两部分组成
《计算机网络》学习笔记_第7张图片
《计算机网络》学习笔记_第8张图片
七、IP层分组转发
1、 从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。
2、若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行(3)。
3、 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
4、 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。
5、 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
6、 报告转发分组出错。

4.2 划分子网和构造超网

一、 划分子网
1、两级IP地址缺陷:

(1)IP 地址空间的利用率有时很低。

(2)给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。

(3)两级的 IP 地址不够灵活

为解决上述问题,IP地址又增加了一个“子网号字段”,使两级IP地址变成为三级IP地址。

2、子网划分的基本思路:

(1)划分子网纯属一个单位内部的事情,单位对外仍然表现为没有划分子网的网络。

(2)划分子网的方法是从主机号借用若干个位作为子网号。

(3)路由器在收到IP数据报后,按目标网络号和子网号定位目标子网。

3、子网掩码
(1)子网掩码是一个网络或一个子网的重要属性。子网掩码中的1对应于IP地址中原来二级地址中的网络号加上新增的子网号,而子网掩码中的0对应于现在的主机号。
(2)不管网络有没有划分子网,只要把子网掩码和IP地址进行诸位的“与”运算,就能立即得出网络地址。

二、 构造超网(无分类编址CIDR)

CIDR(无分类域间路由选择) 的主要特点:

1、CIDR消除了传统的A、B、C类地址以及划分子网的概念,用网络前缀代替网络号和子网号,后面的部分指明主机。因此,CIDR使IP地址从三级编址(使用子网掩码),又回到了两级编址,但这已是无分类的两级编址。

2、CIDR把网络前缀相同的连续的IP地址组成一个”CIDR地址块”只要知道CIDR地址块中的任何一个地址,就可以知道这地址块的起始地址(即最小地址)和最大地址,以及地址块中的地址数。

3、地址掩码:是一连串的1和0组成,而1的个数救赎网络前缀长度。在斜线记法中。斜线后面的数字就是地址掩码中1的个数。

4、构成超网:由于一个CIDR地址块中含有很多地址,所以在路由表中就利用CIDR地址块来查找目标网络,这种地址的聚合常称为路由聚合,也称构成超网。

4.3 网际控制报文协议ICMP

一、为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了ICMP,ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。

二、ICMP报文的种类

1、ICMP差错报告报文

1)终点不可达
2)源点抑制(Source quench)
3)时间超过
4)参数问题
5)改变路由(重定向)(Redirect)

2、ICMP询问报文

1)回送请求和回答报文
2)时间戳请求和回答报文

4.4 互联网的路由选择协议

两大类路由选择协议:

一、内部网关协议 IGP
一个自治系统内部使用的路由选择协议。有多种协议,如 路由信息协议(RIP) 和开放最短路径优先(OSPF) 协议。

RIP协议的优缺点:
1、RIP 存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。
2、RIP 协议最大的优点就是实现简单,开销较小。
3、RIP 限制了网络的规模,它能使用的最大距离为 15(16 表示不可达)。
4、路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。
5、RIP是一种分布式的基于距离向量的路由选择协议,其主要特点:
(1)仅和相邻路由器交换信息。
(2)按固定的时间间隔交换路由信息,例如,每隔30秒。
(3)不知道全网拓扑结构。
6、OSPF最主要的特征就是使用分布式的链路状态协议,其主要特点:
(1)使用洪泛法向本自治系统中所有路由器发送信息。
(2)发送的信息是与本路由器相邻的所有路由器的链路状态。
(3)只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。
(4)更新过程收敛快,知道全网的拓扑结构图(全网共有多少个路由器,及哪些路由器是相连的)。

二、外部网关协议BGP
一个自治系统的边界,将路由选择信息传递到另一个自治系统中。目前使用的就是边界网关协议(BGP)
BGP是不同自治系统的路由器之间交换路由信息的协议,它采用路径向量路由选择协议,其主要特点:
(1)自治系统AS之间的路由选择必须考虑有关策略。
(2)BGP只能力求寻找一条能够到达目的网络且比较好的路由,而并非要寻找一条最佳路由。

第五章 传输层

5.1 运输层协议概述

一、进程之间的通信
  从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最底层。运输层为应用进程之间提供端到端的逻辑通信,网络层为主机之间提供逻辑通信。运输层还要对收到的报文进行差错检测。运输层需要有两种不同的运输协议,即面向连接的 TCP 和无连接的 UDP。

问题:我们知道IP协议能够把源主机A发送出的分组按照首部中的目的IP送交到目的主机B,那么为什么还需要运输层呢?

答:从IP层来说,通信的两端是两个主机。但真正进行通信的实体是在主机中的进程,IP协议虽然能讲分组送到主机,但这个分组还停留在网络层而没有交付主机中的应用进程。从运输层的角度看,通信的真正端点并不是主机,而是主机的进程。也就是说端到端通信是应用进程之间的通信。

二、多路复用和多路分用

如果某层的一个协议对应直接上层的多个协议/实体,则需要复用/分用。

多路复用:发送端进行多路复用,从多个Socket接收数据,为每块数据封装上头部信
息,生成Segment,交给网络层。

多路分用:接收端进行多路分用,传输层依据头部信息将收到的Segment交给正确的Socket,即不同的进程。

三、运输层的两个主要协议

TCP/IP 的运输层有两个不同的协议:

1、用户数据报协议 UDP(User Datagram Protocol)
  UDP 在传送数据之前不需要先建立连接。对方的运输层在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式。

2、传输控制协议 TCP(Transmission Control Protocol)
  TCP 则提供面向连接的服务。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销,如确认、流量控制、计时器以及连接管理等。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。

四、运输层的端口
1、TCP/IP的运输层的端口用一个 16 位端口号进行标志。 端口号只具备本地意义,即端口号只是为了标志本计算机应用层中的各进程。 客户发起通讯请求时,必须先知道对方服务器的IP地址和端口号,运输层的端口号分为下面两大类:
(1)服务器端使用的端口号
熟知端口号,数值一般为 0~1023。

一些常用的数值端口号:

应用程序 端口号
FTP 21
LELNET 23
SMTP 25
DNS 53
TFTP 69
HTTP 80
SNMP 161
SNMP(trap) 162
HTTPS 443

(2)客户端使用的端口号
由于这类端口号仅在客户进程运行时才动态选择,因此又叫做短暂端口号。数值为49152~65535,留给客户进程选择暂时使用。

5.2 用户数据报协议UDP

UDP的主要特点:
1、UDP 是无连接的,即发送数据之前不需要建立连接。
2、UDP 使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制
3、UDP 是面向报文的
4、UDP 没有拥塞控制,很适合多媒体通信的要求。
5、UDP 支持一对一、一对多、多对一和多对多的交互通信
6、UDP 的首部开销小,只有 8 个字节

5.3 传输控制协议 TCP

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

二、TCP的连接

TCP连接的端口是套接字。套接字是IP地址加端口号。

格式:socket = (IP地址:端口号)

每一条TCP连接唯一地被通信两端的两个套接字所确定。即:

TCP连接 ::= {socket1, socket2} = {(ip1: port1), (ip2: port2)}

三、可靠传输的工作原理

为了实现可靠传输,可以使用一些可靠传输协议,当出现差错时让发送方重传出现差错的数据,同时在接收方来不及处理收到的数据时,及时告诉发送方适当降低发送数据的速度。

四、TCP的流量控制
流量控制就是让发送方的发送速率不要太快,要让接收方来得及接收。

五、TCP拥塞控制

拥塞:对资源的需求 > 可用资源

拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制是一个全局性的问题。

相反,流量控制往往指点对点通信量的控制。它所做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。
六、TCP协议中的三次握手四次挥手
见TCP协议三次握手与四次挥手

第六章 应用层

6.1 网络应用的基本原理

6.1.1 网络应用的体系结构

1、客户机/服务器结构(C/S) (web)
客户机:与服务器通信,使用服务器提供的服务、间歇性接入网络、可能使用动态IP地址、不会与其他客户机通信
服务器:7*24小时提供服务、永久性访问地址域名、利用大量服务器实现可扩展型
2、点对点结构(peer-to-peer,P2P)
特点:没有永远在线的服务器、任意端都可以直接通信、节点间间歇接入网络、节点间可能改变IP地址。
缺点:高度可伸缩、难于管理。
3、混合结构(Hybird)
文件传输使用P2P结构,文件搜索采用C/S结构。

6.1.2 网络应用进程间通信

1、进程间通信:同一台主机上运行的进程使用进程间通信机制,操作系统提供。
不同主机上运行的进程使用消息交换。
2、套接字Socket:进程间通信利用Socket发送/接收消息。
原理类似于寄信:Socket相当于一个门,发送方依赖(门外的)传输基础设施将消息传到接收方所在主机。消息传递时,发送方将消息送到门外邮箱,并通过基础设施将消息送到接收方的门外邮箱,接收方从门外获取信息。
3、进程寻址:不同主机上进行进程间通信的标识符为:IP地址 + 端口号。
IP地址能定位一个主机,但不能定位主机内的进程,所以需要为主机上每个需要通信的进程分配一个端口号。HTTP Server 端口号默认80。
4、应用层协议内容
消息类型:请求消息、响应消息
消息的语法:消息中有哪些字段、每个字段如何描述
字段的语义:字段中信息的含义
规则:进程何时发送/响应消息、进程如何发送/响应消息

6.1.3 网络应用需求

1、网路应用对传输服务的需求
数据丢失/可靠性:
能容忍一定的数据丢失:网络电话;要求100%可靠的数据传输:文件传输,telnet
时间/延迟:
延迟足够低才有效:网络电话/网络游戏
带宽:
只有带宽达到最低要求才有效:网络视频;能够适应任何带宽——弹性应用:email

2、Internet提供的传输服务
TCP服务:面向连接、可靠、流量控制、拥塞控制、不提供时间和最小带宽保障
UDP服务:无连接、不可靠、不提供保障

6.2 万维网www

6.2.1 web应用概述

网页中会包含多个对象
对象:HTML文件、JPEG图片、视频文件等
基本HTML文件:包含对其他对象引用的连接

6.2.2 统一资源定位符URL

统一资源定位符URL:用来表示从互联网上得到的资源位置和访问这些资源的方法。
URL一般形式:<协议>://<主机>:<端口>/<路径>
输入网站时可把“<协议>://”省略,浏览器会自动补齐。

6.2.2 超文本传输协议HTTP

1、HTTP的URL一般形式为http://<主机>:<端口>/<路径>
默认端口号80,可省略。

2、HTTP协议是无状态的(stateless),同一个客户第二次访问同一个服务器上的页面时,服务器不会记得曾经访问过的客户,服务器的响应与第一次被访问时的相同。

3、HTTP1.0
HTTP/1.0协议使用非持久连接,服务器发送响应报文后就关闭TCP连接,即在非持久连接下,一个tcp连接只传输一个Web对象;

4、HTTP1.1
HTTP/1.1默认使用持久连接,一个连接中可以传输多个web对象。
持续连接:万维网在发送响应后仍在一段时间内保持这条连接,使同一个客户可以继续在这条连接上传送后续的HTTP请求报文和响应报文。
HTTP/1.1协议有两种工作方式:
非流水线方式:客户收到前一个响应后才能发送下一个请求。
流水线方式:客户在收到HTTP的响应报文之前就能接着发送新的请求。

4、HTTP的报文结构
请求报文:从客户向服务器发送请求报文。
响应报文:从服务器到客户的回答。
请求报文和响应报文都是由三部分组成,开始行首部行实体主体,区别是开始行不同,首部行和实体主体用空行分开。
5、cookie技术

6、web缓存/代理服务器技术
又称为万维网高速缓存(Web cache),在不访问服务器的前提下,满足客户端的HTTP请求。缩短客户请求的响应时间、减小机构的流量、在大范围内实现有效的内容分发。
判断高速缓存中内容是否是最新版本:用条件性GET方法
《计算机网络》学习笔记_第9张图片

6.3 email应用

6.3.1 email应用概述

1、email应用的构成组件

  • 邮件客户端:读、写email消息,与服务器交互,收、发email消息。
  • 邮件服务器:邮箱存储发给用户的email;消息队列存储等待发送的email。
  • SMTP协议:邮件服务器之间传递消息所使用的协议。使用TCP进行email消息的可靠传输,端口号25;传输过程三个阶段:握手、消息的传输、关闭;采用命令/响应交互模式;email消息只能包含7位ASCLL码。

2、email消息格式与邮件读取协议协议
email消息格式分为首部主体
邮件读取协议有POP3和IMAP,IMAP更复杂。
3、email发送过程中的协议
发件人的用户代理向发送方邮件服务器发送邮件,以及发送方邮件服务器向接收方邮件服务器发送邮件,都是使用SMTP协议。而POP3和IMAP则是用户代理从接收方邮件服务器上读取邮件所使用的协议。
《计算机网络》学习笔记_第10张图片

6.4 域名系统DNS(Domain Name System)

一般用户使用的是主机名,而要与互联网上某台主机通信时,需要知道对方IP地址。
域名系统DNS能够把互联网上的主机名字解析为IP地址。其中通过主机名解析出ip地址的叫做正向解析,通过ip地址解析出主机名的叫做反向解析。

6.4.1 互联网的域名结构

《计算机网络》学习笔记_第11张图片
1、DNS根域名服务器:本地域名解析服务器无法解析域名时,会访问根域名服务器,根域名服务器如果无法解析域名,会访问权威域名服务器,获得映射后向本地域名服务器返回映射。
2、本地域名解析服务器:不严格属于层级结构,当主机进行DNS查询时,查询会被发送到本地域名服务器。若本地域名解析服务器没有缓存,则会作为代理,将查询转发给DNS根域名解析服务器。
3、查询方式《计算机网络》学习笔记_第12张图片《计算机网络》学习笔记_第13张图片

6.5 P2P应用

6.6 Socket编程

通过使用套接字来达到进程间通信目的编程就是网络编程。
《计算机网络》学习笔记_第14张图片
参考文献
1、《计算机网络》复习笔记
2、《计算机网络》第七版 谢希仁
3、中国大学慕课哈工大计算机网络

你可能感兴趣的:(计算机基础)