概述
导论
一、计算机网络和互联网
网络:
节点和边所构成(人际关系网、蜘蛛网、神经网)
互联网(Internet):
从构成角度看:
- 节点(主机及其上运行的程序、路由器、交换机等网络交换设备)
- 边【通信链路】(接入网链路:主机连接到互联网的链路;主干链路:路由器间的链路)
- 协议
协议
协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接收或其他事件方面所采取的动作
从具体构成角度上看:
- 数以亿计、互联的计算设备(主机=端系统、运行的网络应用程序)
- 通信链路(光纤、同轴电缆、无线电、卫星;传输速率 = 带宽(bps 或 bit/s))
- 分组交换设备【转发分组】(路由器和交换机)
- 协议【控制发送、接收消息】(如TCP、IP、HTTP、FTP、PPP)
- Internet【网络的网络】(松散的层次结构、互联的ISP;公共Internet vs、专用Intranet)
- Internet标准(RFC:Request For Comments、IETF:Internet Engineering Task Force)
从服务上看:
- 使用通信设施进行通信的分布式应用(Web、VoTP、email、分布式游戏)
- 通信基础设施为apps提供编程接口(通信服务)(将发送和接收数据的apps与互联网连接起来;为app应用提供服务选择:无连接不可靠服务(UDP)、面向连接的可靠服务(TCP))
互联网网络结构:
-
网络边缘(主机、应用程序)
-
网络核心(互联着的路由器、网络的网络)
作用:数据交换
-
接入网、物理媒体(有线或者无线通信链路)
网络边缘
- 端系统【主机】(运行应用程序如Web、email,在“网络的边缘”)
- 客户/服务器模式【C/S:client/server】(客户端向服务器请求、接收服务)
- 对等(peer-peer)模式【P2P】(很少(甚至没有)专门的服务器如Gnutella、KaZaA、Emule、迅雷)
采用网络设施的面向连接服务
目标:
在端系统之间传输数据
- 握手:在数据传输之前做好准备(两个主机之间连接建立状态)
- TCP-传输控制协议【Transmission Control Protocol】(Internet上面向连接的服务)
TCP服务
- 可靠的、按顺序地传送数据(确认和重传)
- 流量控制(发送方不会淹没接收方)
- 拥塞控制(当网络拥塞时,发送方降低发送速率)
使用TCP的应用
HTTP(Web)、FTP(文件传送)、Telnet(远程登录)、SMTP(email)
采用基础设施的无连接服务
目标:
在端系统之间传输数据
UDP-用户数据报协议【User Datagram Protocol】
- 无连接
- 不可靠数据传输
- 无流量控制
- 无拥塞控制
使用UDP的应用
流媒体、远程会议、DNS、Internet电话
网络核心
路由器的网状网络
数据怎样通过网络进行传输
- 电路交换(为每个呼叫预留一条专有电路:如电话网)
- 分组交换(将要传送的数据分成一个个单位:分组;将分组从一个路由器传到相邻路由器(hop),一段段最终从源端传到目标端;每段:采用链路的最大传输能力(带宽))
电路交换
端到端的资源被分配给从源端到目标端的呼叫“call”
- 图中,每段链路有四条线路(该呼叫采用了上面链路的第二个线路,右边链路的第一个线路(piece))
- 独享资源:不共享(每一个呼叫一旦建立起来就能够保证性能)
- 如果呼叫没有数据发送,被分配的资源就会被浪费
- 通常被传统电话网络采用
为呼叫预留端-端资源
- 链路带宽、交换能力
- 专用资源:不共享
- 保证性能
- 要求建立呼叫连接
网络资源(如带宽)被分成片
- 为呼叫分配片
- 如果某个呼叫没有数据,其资源片处于空闲状态
- 将带宽分成片(频分复用【Frequency-division multiplexing】、时分复用【Time-division multiplexing】、波分复用【Wave-division multiplexing】)
电路交换不适合计算机之间的通信
- 连接建立时间长
- 计算机之间的通信具有突发性,如果使用线路交换在,则浪费的片较多(记是这个呼叫没有数据传递,其所占用的片也不能够被别的呼叫使用)
- 可靠性不高
分组交换
以分组为单位存储-转发方式;资源共享,按需使用
- 网络带宽资源不再分为一个个片,传输时使用全部带宽
- 主机之间传输的数据被分为一个个分组
- 存储-转发:分组每次移动一跳(hop)(在转发之前,节点必须收到整个分组;延迟比线路交换要大;排队时间)
存储-转发
- 被传输到下一个链路之前,整个分组必须到达路由器
- 在一个速率为R bps的链路,一个长度为L bits的分组的存储转发延时:L/R s
排队延迟和丢失
如果到达速率>链路的输出速率:
- 分组将会排队,等待传输
- 如果路由器的缓存用完了,分组将会被丢弃
统计多路复用
网络核心的关键功能
路由:决定分组采用的源到目标的路径(路由算法)
转发:将分组从路由器的输入链路转移到输出链路
分组交换VS电路交换
同样的网络资源,分组交换允许更多用户使用网络
分组交换是“突发数据的胜利者”
- 适合于对突发式数据传输(资源共享;简单,不必建立呼叫)
- 过度使用会造成网络拥塞:分组延时和丢失(对可靠的地数据传输需要协议来约束,拥塞控制)
- 提供类似电路交换的服务(保证音频/视频应用需要的带宽;一个仍未解决的问题(chapter7))
分组交换网络:存储-转发
分组交换:分组的存储转发一段一段从源端传到目标端,按照有无网络层的连接,分成:
1、数据报网络:
- 分组的目标地址决定下一跳
- 在不同的阶段,路由可以改变
- 类似:网络
- Internet
2、虚电路网络:
- 每个分组都带标签(虚电路标识VCID),标签决定下一跳
- 在呼叫建立时决定路径,在整个呼叫中路径保持不变
- 路由器维持每个呼叫的状态信息
- X.25和ATM
分组交换两种方式
数据报(datagram)
- 在通信之前,无需建立起一个连接,有数据就传数据
- 每一个分组都独立路由(路径不一样,可能会失序)
- 路由器根据分组的目标地址进行路由
虚电路(virtual circuit)
网络分类
接入网络和物理媒体
端系统和边缘路由器的连接依靠:
住宅接入网络、单位接入网络、无线接入网络
接入网技术:
住宅接入:拨号
- 将上网数据调制加载音频信号上,在电话线上传输,在局端将其中的数据解调出来;反之亦然(调频、调幅、调相位、综合调制)
- 拨号调制解调器(56Kbps的速率直接接入路由器(通常更低);不能同时上网和打电话、不能总是在线)
住宅接入:digital subscriber line(DSL)
采用现存的到交换局DSLAM的电话线
- DSL线路上的数据被传到互联网
- DSL线路上的语音被传到电话网
<2.5Mbps上行传输速率
<24Mbps下行传输速率
住宅接入:线缆网络 cable modem
HFC:hybrid fiber coax(非对称:最高30Mbps的下行传输速率,2Mbps上行传输速率)
线缆和光纤网络将每个家庭用户接入到ISP路由器
各用户共享到线缆头端的接入网络(与DSL不同,DSL每个用户有一个专用线路到CO(center office))
住宅接入:电缆模式
家庭接入网络:
企业接入网络(Ethernet)
无线接入网络
物理媒体
- Bit:在发送-接收对间传播
- 物理链路:连接每个发送-接受对之间的物理媒体
- 引导型媒体:信号沿着固体媒介被引导(同轴电缆、光纤、双绞线)
- 非引导型媒体:开放的空间传输电磁波挥着光信号,在电磁或者光信号中承载数字数据
双绞线:
两根绝缘铜导线拧合(5类:100Mbps以太网,Gbps千兆位以太网;6类:10Gbps万兆以太网)
同轴电缆:
- 两根同轴的铜导线
- 双向
- 基带电缆:电缆上一个单信道,Ethernet
- 宽带电缆:电缆上有多个信道,HFC
光纤和光缆:
- 光脉冲,每个脉冲表示一个bit,在玻璃纤维中传输
- 高速(点到点的高速传输)
- 低误码率:在两个中继器之间可以有很长的距离,不受电磁噪声的干扰
- 安全
无线链路
- 开放空间传输电磁波,携带需要传输的数据
- 无需物理“线缆”
- 双向
- 传播环境效应(反射、吸收、干扰)
无限链路类型:
- 地面微波
- LAN(WiFi)
- wide-area(蜂窝)
- 卫星(每个信道若干Kbps 到 45Mbps(或者多个聚集信道);270msec端到端延迟;同步静止卫星和低轨卫星)
Internet结构和ISP
互联网络结构:网络的网络
- 端系统通过接入ISP连接到互联网
- 接入ISP相应的必须是互联的
- 导致的“网络的网络”非常复杂
内容提供商网络(Internet Content Provider,如Google、百度)可能会构建它们自己的网络,将他们的服务、内容更加靠近端用户,向用户提供更好地服务,减少自己的运营支出
松散的层次模型
中心:第一层ISP(国家/国际覆盖,速率极高)
- 直接与其它第一层ISP相连
- 与大量的第二层ISP和其他客户网络相连
第二层ISP:更小一些(区域性的)ISP
- 与一个或多个第一层ISP,也可能是与其它的二层ISP连接
第三层ISP与其他本地ISP
- 接入网(与端系统最近)
一个分组要经过许多网络
分组延时、丢失和吞吐量
四种分组延时
节点处理延时
- 检查bit级差错
- 检查分组首部和决定将分组导向何处
排队延时
- 在输出链路上等待传输的时间
- 依赖于路由器的拥塞程度
传输延时
- R=链路带宽(bps)
- L=分组长度(bits)
- 将分组发送到链路上的时间=L/R
- 存储转发延时
传播延时
- d=物理链路的长度
- s=在没上的传播速度
- 传播延时=d/s
节点延时
排队延时
- R=链路带宽(bps)
- L=分组长度(bits)
- a=分组达到队列的平均速度
流量强度(I) = La/R
- I ~ 0:平均排队延时很小
- I -> 1:延时变得很大
- I > 1:比特到达队列的速率超过了从该队列输出的速率,平均排队延时将趋向无穷大
设计系统时流量强度不能大于1!!
Internet的延时和路由
Traceroute诊断程序:提供从源端,经过路由器,到目的地的延时测量
- For all i(沿着目的路径,向每个路由发送3个探测分组;路由器i将向发送方返回一个分组;发送方对发送和回复之间间隔计时)
ICMP:TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息
RTT:往返时间
真机测试
分组丢失
- 链路的队列缓冲区容量有限
- 当分组到达一个满的队列时,该分组将会丢失
- 丢失的分组可能会被前一个节点或源端系统重传,或根本不重传
吞吐量
在源端和目标端之间传输的速率(数据量/单位时间)
- 瞬间吞吐量:在一个时间节点的速率
- 平均吞吐量:在一个长时间内平均值
端到端平均吞吐 = min{R1,R2,…, Rn}
协议层次及服务模型
协议层次
层次化方式实现复杂网络功能:
- 将网络复杂的功能分成功能明确的层次,每一层实现了其中一个或一组功能,功能中有其上层可以使用的功能:服务
- 本层协议实体相互交互执行本层的协议动作,目的是实现本层功能,通过接口为上层提供更好的服务
- 在实现本层协议的时候,直接利用了下层所提供的服务
- 本层的服务:借助下层服务实现的本层协议实体之间交互带来的新功能(上层可以利用的) + 更下层所提供的服务
服务和服务访问点
服务
底层实体向上层实体提供他们之间的通信能力
- 服务用户(service user)
- 服务提供者(service provider)
原语(primitive)
上层使用下层服务的形式,高层使用底层提供的服务,以及底层向高层提供服务都是通过服务访问原语来进行交互的——形式
服务访问点SAP(Services Access Point)
上层使用下层提供的服务通过层间的接口——地点
例如,传输层的SAP:端口(port)
服务的类型
面向连接的服务和无连接的服务——方式
服务和协议
服务和协议的区别
- 服务:底层实体向上层实体提供他们之间的通信能力,是通过原语来操作的,垂直
- 协议:对等层实体之间在相互通信的过程中,需要遵循的规则的合集,水平
服务和协议的联系
- 本层协议的实现要靠下层提供的服务来实现
- 本层实体通过协议为上层提供更高级的服务
数据单元
sdu对n-pdu会有三种关系:多对一、一对一、一对多
Internet协议栈
应用层:网络应用
- 为人类用户或者其他应用进程提供网络应用服务
- FTP,SMTP,HTTP,DNS
传输层:主机之间的数据传输
- 在网络层提供的端到端通信基础上,细分为进程到进程,将不可靠的通信变成可靠的通信
- TCP,UDP
网络层:为数据包从源到目的选择路由
- 主机主机之间的通信,端到端通信,不可靠
- IP,路由协议
链路层:相邻网络节点间的数据传输
- 两个相邻两点的通信,点到点通信,可靠或不可靠
- 点对点协议PPP,802.11(wifi),Ethernet
物理层:在线路上传送bit
ISO/OSI 参考模型
表示层
允许应用解释传输的数据,加密,压缩,机器相关的表示转换
会话层
数据交换的同步,检查点,恢复
封装和解封装
各层协议的数据单元
应用层:报文(message)
传输层:报文段(segment):TCP段、UDP数据报
网络层:分组(packet)/ 数据报(datagram)(无连接的方式)
数据链路层:帧(frame)
物理层:位(bit)
历史
最后
以上就是寂寞跳跳糖为你收集整理的计网——计算机网络和互联网导论一、计算机网络和互联网的全部内容,希望文章能够帮你解决计网——计算机网络和互联网导论一、计算机网络和互联网所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复