《计算机网络自顶向下方法》读书笔记

第一章 什么是因特网

1. 描述因特网的两种方法
    1. 因特网的具体构成(即基本硬件软件组成
    2. 根据为分布式应用提供服务的网络基础设施来描述

2. 端系统是通过通信链路分组交换机链接在一起的。

3. 端系统 = 主机:和因特网相连的计算机等设备(如TV,Web服务器,手提电脑)。

4. 通信链路(由不同的物理媒体组成,不同媒体不同速率,以bps度量)
    1. 同轴电缆
    2. 铜线
    3. 光缆
    4. 无线电频谱

5. 分组: 当一台端系统有数据要向另一台端系统发送时,端系统将数据分段并在每段加上首部字节,由此形成的信息包称为分组。一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径。

6.分组交换机(从它的一条入通信链路接受到达的分组,并从它的一条出通信链路转发该分组)
    1. 路由器
    2. 链路层交换机

1.端系统通过因特网服务提供商(ISP)接入因特网的。每一个ISP都是一个由多种通信链路和多个分组交换机组成的。

2. 高层ISP是由通过高速光纤链路互联的高速路由器组成的。低层ISP是通过国家的,国际的高层ISP互联起来。无论是高层还是低层ISP网络,它们每个都是独立管理的,运行IP协议,遵从一定的命名和地址习惯。


1. 端系统,分组交换机和其他因特网部件都要运行控制因特网中信息接受和发送的一系列协议(protocol)。TCP(Transmission Control Protocol,传输控制协议)和IP(Internet Protocol,网际协议)是因特网中两个最为重要的协议。因此因特网主要的协议统称为TCP/IP。IP协议定义了在路由器和端系统中发送和接收的分组的格式。


1. RFC:request for comment,请求评论(IETF的标准文档)。
2. IETF:Internet Engineering Task Force因特网工程任务组


1. 公共因特网:特指因特网。
2. 内联网(intranet):专用网络如公司或政府的网络。


根据为分布式应用提供服务的网络基础设施来描述



分布式应用程序(distributed application):涉及多台相互交换数据的端系统。如VoIP(IP上的语音),因特网广播,即时讯息,Web冲浪,远程注册等。因特网应用运行在端系统上,及他们并不运行在网络核心中的分组交换机中。

与因特网相连的端系统提供了一个应用程序编程接口(Application Programming Interface,API),API规定了运行在一个端系统上的软件请求因特网基础设施向运行在另一个端系统上的特定目的地软件交付数据的方式。

因特网是一种基础设施,新应用程序正在其上不断地被发明和设置。


一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接受或其他时间方面所采取的动作。

1.2 网络边缘

1.2.1 客户机和服务器程序

端系统 = 主机:和因特网相连的计算机等设备(如TV,Web服务器,手提电脑)。

主机有时候有进一步分为两类:客户机(client)和服务器(server)。
在网络软件的上下文中,客户机和服务器有另一种定义,客户机程序(client program)是运行在一个端系统上的程序,它发出请求,并从运行在另一个端系统上的服务器程序(server program)接收服务。
客户机-服务器因特网应用程序是分布式应用程序(distributed application).
还有应用程序是P2P对等应用程序,其中的端系统互相作用并运行执行客户机和服务器功能的程序,例如因特网电话的通信会话。

1.2.2 接入网(access network)

接入网:将端系统连接到边缘路由器(edge router)的物理链路。

边缘路由器:端系统到任何其他远程端系统的路径上的第一台路由器。

网络接入的三种类型:(分类并不严格)
1. 住宅接入(residential  access),将家庭端系统(PC或家庭网络)和网络相连。
    1. 通过普通模拟电话线用拨号调制解调器(dial-up modem)与住宅ISP相连。家用调制解调器将PC输出的数字信号转化为模拟形式,以便在模拟电话线上传输。模拟电话线由双绞铜线构成,就是用于打普通电话的电话线。允许56kbps接入(下载上传速度慢),用户上网就不能打电话了。
    2. 数字用户线(digital subscriber line,DSL):一种新型的调制解调器技术,类似于拨号调制解调器,也运行在现有的双绞线电话线上,通过限制用户和ISP调制解调器之间的距离,DSL能够以高得多的速率传输和接受数据。(使用频分多路复用技术),分为上行信道和下行信道,两个信道速率不一样。
    3. 混合光纤同轴电缆(hybrid fiber-coaxial cable, HFC):使用了光缆和同轴电缆相结合的技术。扩展了当前用于广播电缆电视的电缆网络,需要电缆调制解调器(cable modem),分为上行信道和下行信道,共享广播媒体(HFC特有),信道都是共享的,需要一个分布式多路访问协议,以协调传输和避免碰撞。
2. 公司接入(company access),将商业或教育机构中的端系统和网络相连
    1. 局域网(LAN)
    2. 以太网
        1. 共享以太网
        2. 交换以太网
3. 无线接入(wireless access),将移动端系统与网络相连。分为两类
    1. 无线局域网(wireless LAN):无线用户与位于几十米半径内的基站(无线接入点)之间传输/接收分组。这些基站和有线的因特网相连接,因而为无线用户提供连接到有线网络的服务。
    2. 广域无线接入网(wide-area wireless access network):分组经用于蜂窝电话的相同无线基础设施进行发送,基站由电信提供商管理,为数万米半径内的用户提供无线接入服务。


题外:
基于IEEE 802.11技术的无线局域网也被称为无线以太网和WiFi。

1.2.3 物理媒体


HFC使用了光缆和同轴电缆相结合的技术,拨号56kbps调制解调器和ASDL使用了双绞铜线;移动接入网络使用了无线电频谱。


物理媒体分为两类:
   1. 导引型媒体(guided media):电波沿着固体媒体(光缆,双绞铜线或同轴电缆)被导引。
   2. 非导引型媒体(unguided media):电波在空气或外层空间(在无线局域网或数字卫星频道)中传播;


导引型媒体(guided media)
    1. 双绞铜线:最便宜,使用最普遍,两根线被绞合起来,以减少对邻近双绞线的电气干扰。一根电缆由许多双绞线捆扎在一起,并在外面覆盖上保护性防护层,一堆电线构成一个通信链路。非屏蔽双绞线UTP常用于建筑物内的计算机网络中,即用于局域网(LAN)中。双绞线最终已经成为高速LAN联网的主要方式。
    2. 同轴电缆:能作为导引式共享媒体,具有高比特速率。
    3. 光缆:不受电磁干扰,长达100km的光缆信号衰减极低,并且很难接头。


非导引型媒体(unguided media):电波在空气或外层空间(在无线局域网或数字卫星频道)中传播;
    1. 陆地无线电信道:具有穿透墙壁,提供与移动用户的连接以及长距离承载信号的能力。
    2. 卫星无线电信道

一颗通信卫星连接两个或多个位于地球的微波发射方/接收方,它们被称为地面站。卫星无线电信道分为同步卫星低地球轨道卫星
    1. 同步卫星永久的停留在地球上方相同的点,卫星链路常用于电话网或因特网的主干。卫星链路在那些无法使用DSL或基于电缆的因特网接入区域,也越来越多地用作高速住宅因特网接入。
   2. 低地球轨道卫星 围绕地球旋转,彼此通信,未来低地球轨道卫星技术也许能用于因特网接入。

1.3 网络核心


网络核心,即互联了因特网端系统的分组交换机链路的网状网络。
 

1.3.1 电路交换和分组交换


通过网络链路和交换机移动数据有两种基本方法:电路交换(circuit switching)分组交换(packet swiitching)。

电路交换网络中,沿着端系统通信路径,为端系统之间通信所提供的资源在通信会话期间会被预留。例子有电话网络。

分组交换网络中,这些资源不被预留。例子有因特网网络。

1. 电路交换:创建专用的端到端连接;
2. 电路交换网络中的多路复用
    1. 频分多路复用(Frequency-Division Multiplexing,FDM)
    2. 时分多路复用(Time-Division Multiplexing,TDM)
3. 分组交换
    1. 存储转发传输机制:在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。
4. 分组交换和电路交换对比:统计多路复用
 
 
 

1.3.2 分组是怎样通过分组交换网形成其通路的


分组的包里面有目的地址,路由器有一个转发表,记录着转发地址应该转到哪个路由器去。

1.3.3 ISP和因特网主干


因特网是网络的网络。

在公共因特网中,坐落在因特网边缘的接入网络通过分层的ISP层次结构和因特网其他部分相连。


 


接入ISP是该层次结构的底部;
该层次结构的最顶层是数量相对比较少的第一层ISP(tier-1 ISP),也称为因特网主干网络(Internet backbone)。

第一层ISP


第一层ISP和其他ISP相同点:
1. 有链路和路由器
不同之处:
1. 链路速度通常为622Mbps或更高。大型第一层ISP,其链路速率的范围为2.5~10Gbps。
2. 直接和其他每个第一层ISP相连,和大量第二层ISP和其他客户网络相连。
3. 覆盖国际范围。

第二层ISP


第二层ISP:具有区域性或国家性覆盖范围;第一层ISP的客户。
   许多大公司和机构将他们的企业网直接与第一层或第二层ISP相连,因而成为该ISP的客户。第一层ISP相对于该客户而言是提供商。一个提供商ISP向他的客户收费,费用通常根据连接两者的带宽而定。
   一个第二层网络也可以选择与其他第二层网络直接相连。
   

较低层ISP


   在第二层ISP之下是较低层的ISP,这些较低层ISP经过一个或多个第二层ISP和更大的因特网相连。
    当两个ISP彼此直接相连时,它们被称为彼此是对等的。


在一个ISP
的网络中,某ISP和其他ISP的连接点被称为汇集点(Point of Presence,POP)。POP就是某ISP网络中的一台或多台路由器组,通过它们能够和其他ISP的路由器连接。
    一个第一层提供商通常有许多POP,这些POP分桑在其网络中不同的地理位置。每个POP与多个客户网络和其他ISP相连。

因特网的拓扑很复杂,他由几十个第一层ISP和第二层ISP和数以千计的较低层ISP组成。

1.4 分组交换网中的时延,丢包和吞吐量


1.4.1 分组交换网中的时延概述


时延分为节点处理时延(nodal processing delay),排队时延(queuing delay),传输时延(transmission delay)传播时延(propagation delay),这些加起来就是节点总时延(total nodal delay),即
节点总时延 = 节点处理时延 + 排队时延 + 传输时延 + 传播时延

1. 处理时延
    1. 检查分组首部和决定将分组导向哪一个队列;
    2. 其他:检查比特级差错所需要的时间。
2. 排队时延
    1. 在队列中,当分组在链路上等待传输时所需的时间,取决于先期到达的,正在排队等待想链路传输分组的数量。
3. 传输时延
    1. 将所有分组的比特推向链路所需要的时间。
    2. 用L比特表示分组的长度,用R bps表示从路由器A到路由器B的链路传输速率。(对于一条10Mbps的以太网链路,速率R = 10Mbps),传输时延(又称为存储转发时延)L/R
4. 传播时延
    1. 从该链路的起点到路由器B传播所需要的时间是传播时延。该比特以该链路的传播速率传播。
    2. 传播时延 = 两台路由器的距离d / 传播速率s。
    3. 传播速率取决于该链路的物理媒体(即光纤,双绞铜线等),速率范围是2*108~ 3 * 108 m/s

1.4.3 端到端时延


假定在源主机和目的主机之间有N-1台路由器,并且该网络是无拥塞的(因此排队时延是微不足道的),处理时延为dproc,每台路由器和源主机的输出速率是 R bps,每条链路的传播时延是dprop,节点时延累加起来得到端到端时延

dend-end = N(dproc + dtrans + dprop

dtrans= 分组长度L /R

1. Traceroute程序,能够在任何因特网主机上运行。当用户指定一个目的主机名字时,元主机中的改程序朝着该目的地发送多个特殊分组之一时,它向源回送一个短报文,该报文包括该路由器的名字和地址。RFC1393描述了Traceroute。

疑问:为什么我tracert的时候是有很多*号的

见B006-计算机网络-B03自我整理-Tracert命令

2. 端系统、应用程序和其他时延
    除了处理时延,传输时延,传播时延外,端系统中还有一些其他重要的时延:
    1. 拨号调制解调器引入的调制/编码时延,量级在几十毫秒,对于以太网,电缆调制解调器和DSL等接入技术,这种时延是不太多的;
    2. 向共享媒体传输分组的端系统可以将有意地延迟传输作为其协议的一部分,以便与其他端系统共享媒体。(第五章探讨)
    3. 媒体分组化时延,在IP话音(VoIP)应用中。在VoIP中,发送方在向因特网传递分组之前必须首先用编码的数字化语音填充分组,这种填充分组的时间就是分组化时延。(可能比较大)

1.4.4 计算机网络中的吞吐量


   除了时延和丢包外,计网中另个一个必不可少的性能测度就是端到端吞吐量
   吞吐量分为瞬时吞吐量(instancous throughput)平均吞吐量(average throughput),我们可以把他们类比为以前物理学过的瞬时速度和平均速度。
    瞬时吞吐量是主机B接受到该文件的一个速率,平均吞吐量是所有比特F/T秒,即F/T bps
    对于某些应用程序(譬如因特网电话),希望他们具有低时延,并保持高于某一阈值的一致的瞬时吞吐量,对于其他应用程序(譬如文件传输等等),时延不是很重要,但是希望能具有尽可能高的吞吐量。
    吞吐量:单位时间内通过某个网络(或信道、接口)的数据量。

 该图中吞吐量为min{Rc,Rs},
 
 
对此图,吞吐量为min{R1,R2,R3,…,RN}.

以上两个例子均是在单条链路的情况下实现的。多条链路共享公共链路的情况下,要考虑公共链路,如果公共链路的速率R很大,那么就不用考虑,如果很小,那么每个下载的瓶颈就是公共链路了。


因特网对吞吐量的限制因素通常是接入网,但有时候也会是核心的公共链路。
吞吐量取决于数据流过的链路的传输速率,但是也取决于干扰流量。


1. 阈(yu)值:界限,又叫做临界值。
2. 《计算机网络(第6版)》谢希仁编著中,计算机网络里面性能指标是指:速率、带宽、吞吐量、时延、时延带宽积、往返时间RTT、利用率,其中的发送时延(transmission delay)也就是本书所说的传输时延。

参考资料:如何理解速率和带宽的关系:https://www.zhihu.com/question/41191652


1.5 协议层次和它们的服务模型


分层优点:
1. 改变服务的实验而不影响该系统其它部分的能力

一个协议层能够用软件,硬件或两者结合来实现。
HTTP和SMTP等应用层协议通常是在端系统中用软件实现的,运输层也是。
物理层和数据链路层负责处理跨特定链路的通信,所以是在和给定链路相关的网络接口卡(例如以太网欧WiFi接口卡)中实。网络层经常是硬件和软件的混合体。

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

层的服务模型(service model):某层向上一层提供的服务(service)

协议分层具有概念化和结构化的特点,但一个潜在的缺点是某层可能重复其较低层的功能,例如许多协议栈都基于链路和端到端这两种情况提供了差错恢复,第二种潜在的缺点是某层的功能可能需要仅在其他层才出现的信息(如时间戳值),这个就违反了分层次的目标。

各层的所有协议被称为协议栈(protocol stack)
协议栈由5个层次构成:物理层,链路层,网络层,传输层,应用层。

OSI参考模型规定为:物理层,链路层,网络层,传输层,会话层,表示层,应用层。





OSI分层名称功能每层功能概述
1物理层以"0","1"代表电压的高低,灯光的闪烁。界定连接器和网线的规格
 
2数据链路层互连设备之间传送和识别数据帧
 
3网络层地址管理和路由选择
 
4运输层管理两个节点之间的数据传输。负责可靠传输(确保数据被可靠地传送到目标地址)
 
5会话层通信管理。负责建立和断开通信连接(数据流动的逻辑通路)
管理传输层一下的分层

 
6表示层设备固有数据格式和网络标准数据格式的转换
 
7应用层针对特定应用的协议
 

应用层请看#第二章 应用层
运输层请看




层【ISO模型】分组名称协议栈
应用层报文(message)HTTP
SMTP
DNS
FTP
运输层报文段(segment)TCP
UDP
网络层数据报(datagram)IP
链路层帧(frame)
物理层

 

1.6 攻击威胁下的网络


1. 坏家伙能够经因特网将恶意软件放入你的计算机
2. 坏家伙能够攻击服务器和网络基础设施
3. 能够嗅探分组
4. 能够伪装成信任的人:IP哄骗(IP spoofing)可用端点鉴别(end-point authentication)机制
5. 修改或删除报文:中间人攻击

恶意软件(malware)
僵尸网络(botnet):对目标主机展开垃圾邮件分发或分布式拒绝服务攻击。
病毒(virus)
蠕虫(worm)
特洛伊木马(Trojan horse

1.7 计算机网络和因特网的历史


1.7.1 分组交换的发展: 1961 ~ 1972


1.7.2 专用网络和网络互联: 1972 ~ 1980


1.7.3 网络的激增: 1980 ~ 1990


1983.1.1,TCP作为新的用于ARPAnet的标准主机协议正式实施,替代了NCP协议。

1.7.4 因特网爆炸:20世纪90年代


万维网出现


1.7.5 最新发展


高速接入网激增(包括无线接入),安全和对等(P2P)网络




第二章 应用层


关键点:
1. 网络服务,客户机和服务器,进程和运输层接口
2. 讨论集中网络应用程序,如Web,电子邮件,DNS,对等文件分发和P2P因特网电话;
3. 探讨开发运行在TCP和UDP上的网络应用程序的方法,学习套接字API,并概要学习用Java实现的几个简单的客户机/服务器应用

2.1 应用层协议原理


应用层是网络应用程序及其应用层协议存留的地方。
包括HTTP,SMTP,FTP,DNS。位于应用层的信息分组称为报文(message)


【未完待续】



第三章 运输层


运输层提供了在应用程序端点之间传送应用层报文的服务。
协议有TCP,UDP。位于运输层分组称为报文段(segment)

TCP提供了可靠传输和流量控制。


第四章 网络层

位于网络层分组称为数据报(datagram),协议有IP协议

第五章 链路层和局域网


第六章 无线网络和移动网络



第七章 多媒体网络


第八章 计算机网络中的安全


第九章 网络管理



参考资料:

《图解TCP/IP》读书笔记:http://www.cnblogs.com/edisonchou/p/5987827.html




posted @ 2017-09-20 00:31  ArtemisZ  阅读(6447)  评论(0编辑  收藏  举报