科大计网之:概论
Weiquan Huangchp1-1 什么是Internet
节点:分为主机节点和数据交换节点,主机节点作为数据源或者数据目标(电子产品、传感器芯片),数据交换节点作为数据传输的中转站(路由、交换机)
链路:用来通信,有光纤、无线电等方式,接入网链路是主机连接到数据交换节点的链路、主干链路是数据交换节点之间的链路;速率衡量单位bps(bits per second)
协议:对等层实体通信的标准,各种层的设备遵守相同协议,以实现不同种设备之间的网络通信;规定了通信语法、语义、数据传输次序、动作与响应;协议有有连接TCP、无连接UDP两种,区别在于传输数据前会不会先进行一个建立连接的请求
互联网是各个网络连接而成的网络,各个网络之间又会有小网络
实际场景:软件作为分布式应用,通过底层通信服务基础设施(主机硬件、操作系统及其机制、网络应用进程,以及路由器等数据传输节点、链路、协议等)
chp1-2 网络边缘
- 主机或者应用程序(客户端、服务器)称为边缘
- 用于边缘之间数据交换的整个网络路由交换连接结构称为核心
- 边缘通向核心的路径称为接入(access)
边缘之间连接模式:
- Client/Server模式:就是客户端和服务器通信的模式,在SE2320课已经深入部署了;主要问题在于,对于大量的请求都是导向服务器/服务农场的,相当于每个请求都是占用一部分服务器的资源,这种模式可扩展性比较差(请求量上升的时候,性能断崖式下降,甚至有不可靠风险)
- p2p模式(peer to peer):对等节点充当服务和客户端,向别的对等节点发送请求/响应数据,这种方式传输速度快,“带宽聚集”,机器负载没有那么大(比如迅雷等)
服务类型:
- TCP传输控制协议(面向连接服务):
- 数据交换之前需要握手,为连接建立状态
- 与“有连接服务”区别在于,其仅在端节点维护连接的状态,中间转发节点没有维护连接状态
- TCP的特性:稳定传输、流量控制(协调C/S的性能,控制带宽)、拥塞控制(选择核心内部的不拥挤通信道路)
- UDP用户数据报协议(无连接服务):
- 不需要握手
- 特性与TCP为对立面,好处在于快,并非无用处,主要在于适合不适合‘’
chp1-3 网络核心
电路交换
- 先呼叫建立连接的请求
- 独享线路,不共享
- 比较占用资源,但是独享的性能比较好
- 通常被传统电话网络采用
- 网络资源被分成片:波分、时分、频分
比如时分,就是一个周期分成几份,每一份在周期内特定时间使用,比如原本线路的带宽是24bps,那么按照时分分为12分,每一份的带宽就是2bps,每个连接就占用其中的一份
电路交换不被用于计算机之间的通信:
- 建立连接的时间长
- 计算机之间的通信很多时候并不需要持续很长时间,或者连接过程中不一定会传输信息,而通过电路交换则会造成占用的问题
分组交换
- 传输的时候带宽资源不再分为一个个的片,主机之间传送的数据被分为一个个分组,传输的时候使用全部带宽资源
- 在节点向另一个节点转发数据块的时候,该节点必须预先收到所有的该分组数据块才能转发,因此延迟比线路交换要大![[Pasted image 20240817105844.png]]例如这张图中显示出来的就是,从一个节点传送到另一个节点需要5s,而需要等待5s全部传送后才能再转发到下一个节点,因此总耗时15s;如果是电路交换则只需要5s
- 如果数据到达节点的速率大于节点链路输出的速率则这些分组需要等待,如果派对等待的数据量使得路由器的缓存用完了,那么分组会被丢弃
- 主要的优势在于,假设从A到B的线路有一些路由,在某个时候数据在路由A和路由B之间传播,那么除开这一段以外其他的路径是可以被别的传输任务使用的,从A到B的线路仅占用自己正在占用的一段节点-节点的路径
定量计算分组交换为什么更支持突发多用户
- 线路交换10用户,因为带宽资源平分,互不共享
- 分组交换若35用户,那么超过9用户(刚好10用户在交换分组不可行!)的概率为0.0004=0.04%,说明99.96%的概率路径是畅通的,0.04%的概率是会阻塞排队的,但是排队堆积的数据量可以及时消掉,理论上还可以更多用户
分组交换的网络种类
数据报网络
- 分组数据存储目标地址,经过路由时通过目标地址决定转发方向
- 不维护连接状态,同时不需要建立连接
- 路径不固定,类似于问路
- Internet
虚电路网络
- 每个分组带标签,标签决定自己从什么地方来,从第几号线路来;通过虚电路的电路表来进行转发去向的查找
- 呼叫建立的时候决定路径,在呼叫过程中路径不变,维护连接信息
如下从H的第0号线路到达A,则通过H0->B2去向B的第二号线路,在B的表中,通过A2(从A来,在第二号线路)->C3去向C的第三号路线,以此类推
chp1-4 接入网和物理媒体
有线
早期互联网接入是和电话线、电视网线共用的形式的,而这些网线本来适用于模拟信号(音频)的传输,网络的数字信号要传输只能通过 调制解调器(modem) 来进行数字-模拟信号的互相转化来进行
- 拨号调制解调器:带宽低,不能同时上网和打电话
- DSL:电话线部分频率用于音频传输,部分频率用于网络数据传输,一般下行网络传输带宽大于上行带宽
- FDM:电视信号线缆同DSL
企业接入网络一般是:边缘设备—路由器—交换机—外部网络接入方式
无线
- 无线局域网:Wifi等,传输速率尚可,范围小
- 广域无线接入:移动网络,传输速度尚可,范围较大
物理媒体:
- 导引型媒体:信号在固体媒介上传输,如同轴电缆、光纤等
- 非导引型媒体:开放的空间传输电磁波或光信号
chp1-5 Internet结构和ISP
端系统通过 接入ISP(Internet Service Providers) 连接到互联网,而低阶的ISP又要连接更高阶的ISP,只到最高阶的ISP与其他最高阶ISP互相联通,这样才实现了互联
最高阶ISP可以直接互联(peer对等接入),或者通过IXP(多个ISP互相连接的地方)进行互联;而低阶ISP则需要连接高阶ISP,这需要一定的费用计算规则
像Google这种内容提供商(Content Service Provider),是通过自己的服务器部署服务和数据的,如果只在自己的服务器和就近的ISP连通,那么这些服务就需要经历很多的中转才能到达一些比较远的用户,因此这种内容提供商就会自己去全球布置一些数据中心点,互相之间通过物理线路进行连接,且和就近的ISP连接,这样只需要和直接和连接的数据中心交换数据,就可以转发给就近的ISP了,效率提升了不少
chp1-6 分组延时、丢失与吞吐量
分组丢失是因为分组到达链路的速率超过了链路输出的能力,且路由的缓冲区队列不足以存放即将到来的分组
分组延时总共有4个部分:
- 节点处理延时:检查差错和决定将分组导向何处
- 排队延时:在输出链路上等待传输的时间
- 传输延时:将分组 发送到链路 上的时间,L/R,L为分组长度,R为带宽
- 传播延时:分组从链路起点到链路终点的传输时间,d/s,d为物理链路长度,s为数据在链路的传播速度
关于排队延时:流量强度$$I=\frac{La}{R}$$其中$L$为分组长度,$a$为分组到达队列的平均速率,$R$为链路带宽,流量强度在小于1的时候链路可以运转,否则排队延时将趋向无穷大
traceroute
指令会根据ICMP协议的TTL机制,来访问并统计整个通信路径的路由和到达每个路由的所需时间,TTL是一个定时属性,每经过一个路由器其值-1,为0是被丢弃且返回给源主机信号,这样可以通过设置TTL的值来跟踪经过多少路由后的耗时;不过cn的网络不清楚啥原因,用这个指令只返回了1个路由
吞吐量:在源端和目标端之间传输的速率,通常是受限于路由最低的链路,或者根据链路被占用后获取的占比
chp1-7 协议层次和服务模型
网络是一个复杂的系统,在HTTP请求从客户端发送请求程序到服务器处理程序需要经过Internet协议栈
部分术语
- 服务:底层实体向上层实体提供他们之间的通信的能力(上层实体通过下层的服务得以通信),在网络传输中是垂直关系,非对等层关系
- 服务用户为上层
- 服务提供者为下层
- 原语(primitive):上层使用下层服务的形式,一般指接口蕴含的函数逻辑
- 服务访问点(SAP):上层使用下层提供的服务的层间接口,用于向不同的服务用户提供不同服务
- 服务类型分为面向连接服务和无连接服务,区别就是握不握手
- 协议:对等层实体之间相互通信过程遵守规则的集合,水平关系
协议栈
PPT上说得也清楚,主要注意,从上层到下层是需要添加自己层对应的head的,用于标识并且和同层进行通信;从下层到上层需要解析自己层对应的head,解析后进行下一任务