Course LIST:
Intro.
PPT : A1-1 A1-2 A2-1 A2-2
- Internet
- Network edge
- Network core
- Deley, Loss, Throughput
- Protocol layers, Service model
- History(Pass)
Application Layer
PPT : A3-1
- Intro.
- Socket
Transport Layer
PPT : A3-1 A3-2 A4-1 A4-2
Internet Layer
Data Link Layer
Internet
关于什么是因特网?我们要描述他的具体构成,即因特网的硬件和软件。我们还要描述他的分布式。
随着时代发展,越来越多的设备可以链接网络进行现实中的操作:手机,电脑,家电,车等等等等。
所有的这些设备都可以叫做 主机(Host) 或者 端系统(End System)
这些设备通过 通信链路(Communication Link) 和 分组交换机(Packet Switch) 连接在一起
通信链路就像是网线,分组交换机就像这些网线的集中交叉口。分组交换机主要有两类 路由器(Router) 链路层交换机(Switch)
我们把这些东西接入网络,那么主机之间就可以通过 路径(Route/Path) 来进行数据传输,我们把这些数据叫做 分组(Packet)
当一堆主机凑在一起,就像你的小区内有很多接入网络的设备,就构成了一个端系统。端系统通过 因特网服务提供商(Internet Serveice Provider ISP) 接入因特网。就是运营商什么的,比如联通移动这些卖流量的。
世界有几十亿人,在如此巨大的系统之下传输数据,如何保证数据的传输效率高且准确。那么就需要规定一系列 协议(Protocols) 定义这些数据格式,使得接受方和发送方都能看懂,这样才能进行数据互换。这个图就是很好的例子。
这些概念,组成了互联网。
Network Edge
很好理解,在网络边缘就是我们这些正在使用的计算机和手机什么的。我们在边缘,通过网络的连接,向中心发起请求,来获取数据等等。通常把与因特网相连的计算机和其他设备称为端系统。包括计算机,服务器,移动计算机等等。
在本书中,主机=端系统
我们需要把这些端系统接入因特网,也就是接入网。具体是指将端系统物理连接到其 边缘路由器(Edge Router)。其实就像是家里面的wifi得接个宽带,这样就把家里面的网接入到因特网中了。但是我们需要通过一些物理连接,就是通过光纤什么的接入。
Network Core
我们家里连上网后,这个网是通过当地的运营商提供的。那么他们需要更大的运营商给他们提供网络,而想要连接全世界,这需要一个更大更大的。所以ISP是分级的。而这些之间通过路由器和链路层交换机来连接,这些靠近核心的部分,就是网络核心。
在各种网络应用中,端系统彼此交换 报文(Message)
这些报文被分割为较小的数据块,称为 分组(Packet)
分组通过通信链路和分组交换机来进行传输。注意,多数分组交换机在链路的输入端使用储存转发传输机制。是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接受整个分组。也就是必须得先缓存完整才能进行下一步传输。
如果分组长度为L bit ,链路的传输速率是R bps,那么传输时间就为:
根据这些概念,我们就可以大体刻画出因特网。
首先,我们知道这些ISP可以理解为网络的网络,可以理解为因特网这个大系统之下一些小的网络。就是上面提到过的底层的ISP。
一层一层的搭建。通过链路和交换机等等来连接,那么最终的结构也可以通过图片很好理解。这个最终结构是一步步发展过来的,具体过程参照ppt。
Deley, Loss, Throughput
传输自然会有延迟,延迟内部具体分为四种,以及相对应的问题
这里再提一遍老看混 分组(Packet)
Nodal processing:节点处理。检查分组首部(检验错误什么的)和决定分组应该发向哪里
Transmission:传输。路由器将数据传到下一个链路起点。
Propagation:传播。从一个链路的起点到终点。(区别于传输)
Queueing:排队。分组在链路上排队等待传输到节点上。
对于排队延迟来说,如果排队的长度超过了缓存区的长度,那么就可能出现丢包。
除去时延和丢包,吞吐量也是一个衡量性能的重要指标。例子就是你下载文件看到那个速率就是当前吞吐量。
总之就是选择链路中速率最低的那个
Protocol layers, service models
通过上面可以看出网络是一个极其复杂的系统。他有许多部分,大量的应用程序和协议、各种类型的端系统、分组交换剂和各种类型的链路。我们如果想要讨论这种结构,就需要对这些组件及其功能进行分层讨论 -- 协议分层
我们以分层的方式组织协议以及实现这些协议的网络硬件和软件。各层的所有协议被称为 协议栈(Protocol Stack)
5层因特网协议栈为
应用层(Application) 运输层(Transport) 网络层(Network) 链路层(Data link) 物理层(Physical)
我们先简单介绍下五层各自的功能与联系
Application
应用层是网络程序及它们的应用层协议存留的地方。它分布在多个端系统上,也就是每一台电脑等这些设备上面。我们把位于应用层的信息分组称为 报文(message)
相关的协议有 HTTP(web文档的请求和传送) SMTP(电子邮件报文的传输)等等等等
Transport
因特网的运输层在应用程序端点之间传送上面提到的应用层报文。有两种运输协议(TCP/UDP),利用其中的任意一个都能运输应用层报文。我们把运输层的分组称为 报文段(segment)
Network
因特网运输层协议(TCP/UDP)向网络层递交运输层报文段和目的地址,也就是我们常说的IP地址。尽管网络层包括了网际协议和一些路由选择协议,但通常把它称作IP层,这也反映出IP是将因特网连接在一起的重要作用。我们把网络层的分组称为 数据报(datagram)
Data link
因特网的网络层通过源和目的地之间的一系列路由器来路由数据报(向指定方向发送数据报),为了将分组从一个节点(主机或者路由器)移动到路径上的下一个节点。而这些节点是通过链路连接的,所以就需要遵从数据链路协议。我们把数据链路的分组称为 帧(frame)
Physical
物理层的任务是将帧中的一个个比特从一个节点移动到下一个节点。这层中的协议依然是链路相关的,并且进一步与该链路的实际传输媒体相关(铜线,光缆等等)。在这里应该就不能叫做分组了吧,但是它传输的都是 比特
Connection with data link and physical
看起来有一点像
对于物理层来说。物理层主要描述的是电气,机械方面的内容;例如使用的接口样式,大小,针脚,传递信号的电压,电流要求;如果使用光传输,使用的光波波长,光功率要求等。
对于数据链路层来说。它要解决在传送过程中的顺序接收,差错控制等要保证对端能够按顺序,无错误的接收到本端发送的信息。我觉得有一点像电信系统中输入信道前要进行的编码什么的,我们帧就代表着一串比特码。这层要解决怎么传输正确,克服物理层中出现的干扰什么的。
通过这两张图就可以理解一些。
Conclusion about 5 layers
如果理解一下的话,五层还是很好记的。比如我要qq发一条消息:
首先在我们的端系统(End system/Host),也就是自己的电脑上
· qq作为一个网络应用,在聊天框写了一句话,也就是一个分组(packet),这就是源信息。
· 然后 进入应用层,这个分组被封装成一个报文(message),遵从qq的私有协议(类比于HTTP)
· 通过Socket,我们将这个报文传入传输层,被TCP协议封装成一个报文段(segment)。
· 然后传入网络层,继续被封装成一个数据报(datagram),这里我们有了IP地址,知道要发向何处。在这个过程中,根据IP地址数据报被转发到一些路由器上(router),然后路由器再转发下一个路由器,最后转发到目的主机上。
· 而连接路由器和主机的,是很多条数据链路。所以进入数据链路被封装成帧(frame),在链路上的路径上移动。在一些链路交叉的地方,可能会碰到交换机(switch)。而在链路的重点就是对应的主机或者途径的路由器。
· 对于这些帧中的比特,就要通过物理元件,比如光纤等东西来进行物理传输。在物理层上,帧中的一个一个比特被传输。
· 经过一层一层的封装,在到达目的地后,我们要一层一层去掉这些封装。最后展现在目的主机上的,就是qq那条信息。
通过这个过程,也能理解一些因特网的组件应该在那一层,以及每一层在干啥,和对应协议的作用。这个过程通过连接是很好记忆的。
以上这个模型被称作TCP/IP协议,还有一个ISO/OSI模型。其中的session,presentation层只是作为理论,在现实并不存在,都被封装在应用层内。
后续会讲运输层,网络层和数据链路层的具体细节。