1 因特网

因特网:一个世界范围的计算机网络,即它是一个互联了遍及全世界的数以亿计的计算设备的网络。
用因特网术语来说,所有这些设备都称为主机(host)或端系统(end system)。主机=端系统。

1.1 端系统

端系统通过通信链路和分组交换机连接到一起(通信链路-传输;分组交换机-转发)。
不同类型的通信链路由不同类型的物理媒体组成,如同轴电缆、铜线、光纤和无线电频谱。
当今市面上最流行的两种分组交换机类型是路由器和链路层交换机。链路层交换机通常用于接入网中,而路由器通常用于网络核心中。

1.2 ISP

端系统通过因特网服务提供商(Internet Service Provider, ISP)接入因特网。每个ISP是一个由多个分组交换机和多段通信链路组成的网络。
与因特网相连的端系统提供了一个应用程序编程接口(Application Programming Interface, API),API规定了运行在一个端系统上的软件请求因特网基础设施向运行在另一个端系统上的特定目的地软件交付数据的方式。

1.3 分组和路径

当一台端系统要向另一台端系统发送数据时,发送端系统将数据分段,并为每段加上首部字节。由此形成的信息包用计算机网络的术语来说称为分组(packet)。这些分组通过网络发送到目的端系统,在那里被装配成初始数据。
从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径。

1.4 协议

端系统、分组交换机和其他因特网部件都要运行一系列协议(protocol),这些协议控制因特网中信息的接收和发送。TCP(Transmission Control Protocol, 传输控制协议)和IP(Internet Protocol, 网际协议)是因特网中两个最为重要的协议。
一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及报文发送和/或接收一条报文或其他事件所采取的动作。
掌握计算机网络领域知识的过程就是理解网络协议的构成、原理和工作方式。

2 端系统

端系统有时被进一步划分为客户(client)和服务器(server)。

2.1 接入网

接入网:将端系统连接到其边缘路由器的物理链路。
边缘路由器:端系统到任何其他远程端系统的路径上的第一台路由器。

宽带住宅接入有两种最流行的类型:数字用户线(Digital Subscriber Line, DSL)和电缆。
DSL利用了本地电话公司现有的的本地电话基础设施。使用DSL时,每个用户的DSL调制解调器使用现有的电话线与位于本地电话公司的本地中心局中的数字用户线接入复用器(DSLAM)来交换数据。

电缆因特网接入利用了有线电视公司现有的有线电视基础设施。光缆将电缆头端连接到地区枢纽,从这里使用传统的同轴电缆到达各家各户和公寓。电缆调制解调器端接系统(CMTS)起到如同DSL网络的DSLAM类似的功能,即将来自许多下行家庭中的电缆调制解调器发送的模拟信号转换回数字形式。

本书出版时还有一种新兴技术:光纤入户(Fiber To The Home, FTTH),从本地中心局直接到家庭提供一条光纤路径。一般来说,从中心局出来的每根光纤实际上由许多家庭共享,直到相对接近这些家庭的位置,该光纤才分成每户一根光纤。进行这种划分的有两种竞争性的光纤分布体系结构:主动光纤网络(AON)和被动光纤网络(PON)。
下图是使用PON分布体系结构的FTTH。每个家庭具有一个光纤网络端接器(ONT),在每个家庭中,用户将一台家庭路由器与ONT相连,ONT再由专门的光纤连接到邻近的分配器。分配器把一些家庭集结到一根共享的光纤,该光纤再连接到本地电话和公司的中心局中的光纤线路端接器(OLT)。OLT提供了光信号和电信号之间的转换,经过本地电话公司路由器与因特网相连。

在PON体系中,所有从OLT发送到分配器的分组在分配器处复制。

以太网:在公司和大学校园以及在越来越多的家庭环境中,通常是用局域网(LAN)将端用户连接到边缘路由器。以太网是当前最为流行的接入技术。
以太网用户使用双绞铜线与一台以太网交换机相连,形成交换机网络,再与更大的因特网相连。

无线LAN:基于IEEE 802.11技术的无线LAN接入,更为通俗地称为WiFi,目前几乎无处不在。

2.2 物理媒体

物理媒体划分为两类:导引型媒体和非导引型媒体。对于导引型媒体,电波沿着固体媒体前行,如光缆、双绞铜线或同轴电缆。对于非导引型媒体,电波在空气或外层空间中传播,如无线局域网或数字卫星频道。

双绞铜线:最便宜,最为普遍。由两根隔离的铜线组成,每根大约1mm粗,以规则的螺旋形式排列着。通常许多双绞线捆扎在一起形成一条电缆。
同轴电缆:由两个铜导体组成,但是这两个导体是同心的而不是并行的。
光纤:一种细而柔软的、能够导引光脉冲的媒体,每个脉冲表示一个比特。
陆地无线电信道:无线电信道承载电磁频谱中的信号,不需要安装物理线路,并具有穿透墙壁、提供与移动用户的连接以及长距离承载信号的能力。
卫星无线电信道:一颗通信卫星连接两个或多个位于地球的微波发射方/接收方,它们被称为地面站。该卫星在一个频段上接收数据,使用一个转发器再生信号,并在另一个频率上传输信号。通信中常使用两类卫星:同步卫星和近地轨道卫星。

3 网络核心

3.1 分组交换

在各种网络应用中,端系统彼此交换报文(message)。
未来从源端系统向目的端系统发送一个报文,源将长报文划分为较小的数据块,称之为分组(packet)。
在源和目的之间,每个分组都通过通信链路和分组交换机(packet switch)。

存储转发机制:在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接收到整个分组。
输出缓存:对于每条相连的链路,分组交换机具有一个输出缓存。
分组丢失:缓存空间的大小是有限的,一个到达的分组可能发现该缓存已被其他等待传输的分组完全充满了,在这种情况下将出现分组丢失,即丢包。到达的分组或已经排队的分组之一将被丢弃。

转发表:每台路由器具有一个转发表,用于将目的地址映射成为输出链路。

3.2 电路交换

在电路交换网络中,在端系统间通信会话期间,预留了端系统间通信沿路径所需要的资源(缓存、链路传输速率)。

链路中的电路是通过频分复用(FDM)或时分复用(TDM)来实现的。
对于FDM,链路的频谱由跨越链路创建的所有连接所共享。特别是,在连接期间链路为每条连接专用一个频段。在电话网络中,这个频段通常具有4kHz的宽度,该频段的宽度称为带宽。

分组交换的性能优于电路交换。

3.3 网络的网络

因为因特网是由数以亿计的用户构成的,所以接入ISP自身必须互联。通过创建网络的网络可以做到这一点。
本质上是将接入ISP当作客户,将区域ISP当作提供商,再将区域ISP当作客户,将更高层级的区域ISP当作提供商,一直到全球承载ISP。

多宿:每个ISP可以与两个或更多提供商ISP连接。这样即使它的提供商之一出现故障,它仍然能够继续发送和接收分组。
对等:能够将一对ISP的网络连到一起,使它们之间的所有流量经直接连接而不是通过上游的中间ISP传输。因特网交换点(IXP):一个汇合点,多个ISP能够在这里共同对等。

内容提供商网络:如google。

4 分组交换网中的时延、丢包和吞吐量

4.1 时延

时延:分组从一台主机(源)出发,通过一系列路由器传输,在另一台主机(目的地)中结束它的历程。当分组从一个结点(主机或路由器)沿着这条路径到后继结点(主机或路由器),该分组在沿途的每个结点经受了几种不同类型的时延。这些时延最为重要的是结点处理时延、排队时延、传输时延和传播时延,这些时延总体累加起来是结点总时延。

传输时延是路由器将分组推出所需要的时间,与分组长度和链路传输速率有关。
传播时延是一个比特从一台路由器向另一台路由器传播所需要的时间,与两台路由器之间距离有关。

4.2 排队时延和丢包

令a表示分组到达队列的平均速率(ptk/s, 分组/秒),R是传输速率(bps, 比特/秒),假定所有分组都是由L比特组成的。比率La/R被称为流量强度。
流量工程中有一条铁律是,流量强度不能大于1。

在现实中,一条链路前的队列只有有限的容量,当分组到达时发现队列是满的,由于没有地方存储这个分组,路由器将丢弃(drop)该分组,该分组会丢失(lost)。

4.3 吞吐量

每秒能够传送的数据量(bps, 比特/秒)。

5 协议层次及其服务模型

5.1 协议分层

网络设计者以分层(layer)的方式组织协议以及实现这些协议的网络硬件和软件。
各层的所有协议被称为协议栈。因特网的协议栈由5个层次组成:物理层、链路层、网络层、运输层和应用层。

常见的协议有:
应用层:HTTP、SMTP、FTP、DNS等协议。
运输层:TCP、UDP协议。
网络层:IP协议。
链路层:一些链路层协议。
物理层:一些物理层协议。

信息分组
在应用层被称为报文(message);
在运输层被称为报文段(segment);
在网络层被称为数据报(datagram);
在链路层被称为帧(frame)。

5.2 封装

在发送主机端,一个应用层报文被传送给运输层,运输层收到报文后会在报文首部附上附加信息,应用层报文和运输层首部信息一同构成了运输层报文段。运输层向网络层传递该报文段,网络层又会增加网络层首部信息,产生网络层数据报。该数据报接下来被传递给链路层,链路层增加它自己的链路层首部信息,产生链路层帧。

《计算机网络:自顶向下方法》读书笔记 1:概论相关推荐

  1. 计算机网络--自顶向下方法 学习笔记之计算机网络和因特网

    什么是Internet? 因特网的具体构成描述 因特网是一个世界范围的计算机网络,即它是一个互联了遍及全世界数十亿计算设备的网络. 有趣的因特网互联设备 数以亿计的互联计算设备:便携机.智能手机.平板 ...

  2. 计算机网络:自顶向下方法读书笔记(四)

    2.3 因特网中的电子邮件 电子邮件系统主要由3个内容组成:用户代理(useragent).邮件服务器(mail server).简单邮件传输协议(Simple Mail Transfer Proto ...

  3. 计算机网络:自顶向下方法读书笔记(三)

    第二章 应用层 2.1 应用层协议原理 2.1.1 网络应用程序体系结构 客户-服务器体系结构(client-server architecture) #mermaid-svg-RnzvLSwSovg ...

  4. 《计算机网络自顶向下方法》笔记

    暑假期间阅读了这本书,为即将学习的专业课打下一点基础.把大致讲到的内容都概括地记下来,到时候上课后再根据所学进行补充. 感觉这本书举例挺多而且易于理解,是挺易读的一本入门书籍. 这学期结合老师和课本的 ...

  5. 计算机网络--自顶向下方法学习笔记

    第一章 计算机网络和因特网 协议:定义了两个或多个通信实体之间交换的报文的格式和顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作. 分组:将源报文划分为较小的数据块 存储转发传输:交换机能够 ...

  6. 计算机网络 自顶向下方法 学习笔记 第一章

    第一章 计算机网络和因特网 1.1 什么是因特网 1.1.1 网络 1.1.2 计算机网络 1.1.2.1 计算机网络的分类 1.1.3 互联网(从具体构成角度了解Internet) 1.1.4 协议 ...

  7. 《计算机网络 自顶向下方法》笔记 第二章 应用层

    第二章 应用层 2.1 应用层协议原理 网络应用是计算机网络存在的理由. 研发网络应用程序的核心是写出能够运行在不同端系统和通过网络彼此通信的程序,当研发新应用程序时,需要编写将在多台端系统上运行的软 ...

  8. 认真学习系列:《计算机网络自顶向下方法》笔记

    一  应用层 1.协议原理:TCP或UDP加端口号. 然后介绍了应用层最常用的协议 2.web和http: 持续连接和非持续连接(长连接和短连接):http报文格式:http无状态,客户端浏览器通过c ...

  9. 计算机网络 自顶向下方法 第七版中文 读书笔记 目录

    计算机网络 自顶向下方法 第七版中文 读书笔记 目录 计算机网络 自顶向下方法 第七版中文 读书笔记 目录 第 1 章 计算机网络和因特网 第 2 章 应用层 第 3 章 运输层 第 4 章 网络层 ...

  10. 计算机网络-自顶向下方法-笔记【第3章-传输层】

    计算机网络-自顶向下方法-笔记[第3章-传输层] 学习的课程及图片来源:中科大郑烇.杨坚全套<计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)>课 ...

最新文章

  1. 细数Android 7.0“牛轧糖”的五大缺陷:不支持悬浮窗口
  2. Java实现单链表的逆转置
  3. 多线程:当你提交任务时,线程队列已经满了,这时会发生什么?
  4. 安徽大学计算机语言学考研真题,安徽大学外国语言学及应用语言学考研经验考研真题考研参考书复试分数线...
  5. leetcode37. 解数独
  6. 计算机网络之Web应用
  7. 关于ECMAScript6 的学习01-ES6 的六种变量声明方式===关于常量const
  8. kafka + storm 错误 Async loop died
  9. centos 6.7 ssh 免密码
  10. 简单的汉字和十六进制转换
  11. 编译时:virtual memory exhausted: Cannot allocate memory
  12. java必背代码_java必背代码入门有哪些?如何写出优质代码?
  13. 【PLSQL】PLSQL安装、破解以及汉化教程
  14. 不同IP网段连接网络打印机
  15. Unrecognized Windows Sockets error: 10106: Socket creation failed
  16. 二、 FATE实战:实现横向逻辑回归任务的训练及预测
  17. python 获取qq群成员信息_用Python编写工具获取QQ群成员的昵称和号码,使用,及,小...
  18. 《UEFI内核导读》全集,2023年更新
  19. 标志logo设计思路
  20. 【Python深度学习之路】-3.2PR曲线

热门文章

  1. 在哪里删除PDF文件的限制编辑
  2. JDK isn‘t specified for module ‘xxx‘
  3. VSCode通过SSH远程连接虚拟机并配置SpringBoot开发环境
  4. 关于传奇单机版架设的一点心得!
  5. Android多媒体功能开发(6)——使用MediaPlayer类播放音频
  6. 【研究生学术英语读写教程翻译 中国科学院大学Unit8】
  7. layui treetable 点击展示全部
  8. java计算机设计总结,java课程设计报告--计算器设计
  9. 计算机研究生期间学英语,2022考研计算机程序设计:咕咕东学英语
  10. 珠海红旗计算机培训,珠海市职业训练指导服务中心(珠海市高技能人才公共实训中心)...