计算机网络
采用《计算机网络 自顶向下方法》
第一章、计算机网络概述
1、什么是Internet?
网络
节点+边
计算机网络
主机节点:手机电脑,web服务器
数据交换节点:中继器,路由器,交换机(数据的中转节点)高层负载均衡设备。
边:接入链路(把主机和数据接入节点连接),骨干链路(把数据交换节点连在一起)
协议:五层协议,有很多种。
互联网
TCP/IP协议为主的一簇协议支撑起的工作的网络叫互联网(世界范围内的)。
数以亿计的互联的计算设备:主机=端系统(host),运行网络应用程序
通信链路:光纤、同轴电缆、卫星、双绞铜线。
分组交换设备:路由器、 交换机
网络的网络
大网中包括更小的网,小网可能互联
RFC request for comment
IETF Internet Engineering Task Force
为分布式应用提供服务的基础设施
2、什么是网络协议
协议定义了两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接收或其他方面所采取的动作
PDU:协议数据单元
3、网络边缘
-
主机
-
应用程序(客户端和服务器)分布式应用
通信模式
- 客户/服务器模式。(p/s)
-
- 服务器有可能宕机,可靠性很差。
- Web浏览器/服务器(c/s)
- 对等模式(peer-peer)模式
-
- 很少,专门的服务器
- 迅雷
采用网络设施的面向连接的服务
目标:在端系统之间传输数据
- 握手:在数据传输之前做好准备
- Tcp-传输控制协议(Transmission Control Protocal)
-
- 可靠地、按顺序地传输数据
- 流量控制(发送放不会淹没接收方)
- 拥塞控制(当网络拥塞时,发送 方降低发送速率)
4、接入网、物理媒体
作用:把网络边缘接入到核心
有线或者无线。
住宅接入:modern (淘汰)
将上网数据调制加载音频信号上,在电话先上传输,再将数据解调出来。
不能同时打电话上网,速度慢
DSL:仍然采用调制解调的方式。
上行带宽1mbps,下行带宽10mbps
线缆网络:有线电视公司
有线电视信号线缆双向改造:FDM
再不同的频段传输不同的信道的数据,数字电视和上网数据(上下行)。
共享带宽。
无线接入
无线lan 和 广域无线接入(4G 5G)
物理媒体
Bit:在传输——接收对间传播
物理链路:在每个传输——接收对,跨越一种物理媒体
导引型媒体:信号沿着固定媒介被导引:同轴电缆、光纤、双绞铜线
非导引型媒体:信号自由传播、如无线电
5、网络核心:分组交换、线路交换
作用:数据交换
- 互联着的路由器 交换机
电路交换(circle)
为每个呼叫预留一条专有电路:如电话网
独享资源:
好处
- 每个呼叫一旦建立起来就能够保证性能
问题
- 如果呼叫没有数据发送,被分配的资源就会浪费
通常传统电话网络采用
网络资源被分成片
为呼叫分配片,如果某个呼叫没有数据,其资源篇处于空闲状态(不共享)
分配方式:
- 频分(Frequency-divicion muliplexing)FDM
- 时分(Time-division muliplexing)TDM 划分时间片的方式
- 波分(Wave-division multiplexing)光纤光通讯 可用波段分成小波段
不适合计算机之间的通信
- 建立通信时间长
- 计算机之间的通信有突发性,如果使用线路交换,则浪费的片比较多
- 可靠性不高?(后面章节介绍)
分组交换(package)
- 将要传送的数据分成一个个单位:分组
- 将分组从一个罗尤其传到相邻路由器(hop),一段段最终从源端传到目标端
- 每段:采用链路的最大传输能力(带宽)
排队延迟和丢失
如果到达速率>链路的传输速率:
- 分组将会排队,等待传输。
- 如果路由器的缓存用完了,分组将会抛弃。
统计多路复用
分组交换比电路交换支持的用户数量更多一些。
数据报工作原理
在通信之前,无须建立起一个连接,有数据或传输
每一个分组都独立路由(路径不一样,可能会失序)
路由器根据分组的目标地址进行路由
虚电路工作原理
信令(控制信息的传递)有连接的,体现在中间经过的所有节点之上。
6、Internet/ISP结构
互联网的结构:网络的网络
- 端系统通过接入ISPs(Internet Service Providers)连接到互联网
- 接入ISPs相应的必须是互联的
- 导致”网络的网络“非常复杂
-
- 发展和演化是通过经济的和国家的政策来驱动的
选项:将每个接入ISP都连接到全局ISP
竞争:但如果全局isp有利可图的业务,那会有竞争
合作:通过ISP之间的合作可以完成业务的扩展,肯定会有互联,对等互联的结算关系。
ixp(Internet exchange port)互联网交换点:可以跨层。
(ICP)互联网内容提供商,由于isp收费太高,没办法给全球提供高质量服务,自己铺设线缆。
中心:第一层ISP(如UUNet, BBN/Genuity)国家/国际覆盖,速率极高
- 直接与其他第一层ISP相连
- 与大量的第二层ISP和其他客户网络相连
第二层ISP:更小的ISP
- 与一个或多个第一层ISPs,也可能与其他第二层ISP相连
底三层ISP与其他本地ISP
- 接入网(与端系统最近)
POP:高层ISP面向客户网络的接入点,设计费用结算
- 如一个低层ISP接入多个高层ISP, 多宿(multi home)
对等接入:2个ISP对等互接,不涉及费用结算
IXP:多个对等ISP互联互通之处,通常不涉及费用结算
ICP:自己部署专用网络,同时和各级ISP连接
7、性能:丢包、时延、吞吐量、分组延时
分组丢失和延时是怎么发生的?
在路由器缓冲区的分组队列
- 分组到达链路的速率超过了链路输出的能力
- 分组等待排到对头、被传输
节点处理延时、排队延时、传输延时、传播延时。
流量强度越接近1,排队延时无限大。
ICMP协议 RRT(round trip time)
TraceRt 工作原理 方出一系列ttl,收集超时信息。得到往返延时。
head ---------- ttl --------- body
分组丢失
- 链路的队列缓冲区容量有限
- 当分组到达一个满的队列时,该分组将会丢失
- 丢失的分组可能会被前一个节点或源端系统重传,或根本不重传
吞吐量
在源端和目标之间传输的速率(数据量/单位时间)
瞬间吞吐量
平均吞吐量
瓶颈链路
8、协议层次、服务模型
计算机网络是一个异常复杂的系统。用分层的思想把复杂的系统分解成不同层次。每一层实现一个或者一组功能。
分层处理和实现复杂系统的好处?
- 概念化:结构清晰,便于标示网络组件,以及描述其相互关系
- 结构化:模块化更便于维护和系统升级(可以方便新技术的使用)
- 把大问题分解成小问题,方便解决
分层思想有什么有害的地方?
- 效率比较低
将网络复杂的功能分成功能明确的层次,每一层实现一个或一组功能,功能中有其上层可以使用的功能:服务
本层协议实体互相执行本层的协议动作,目的是实现本层功能,通过接口为上层提供更好的服务。
在实现本层协议的时候,直接利用了下层所提供的服务
本层的服务:借助下层服务实现的本层协议实体之间交互带来的新功能(上层可以利用的) + 更下层所提供的服务。
服务:低层实体向上层实体提供他们之间的通信的能力
原语(primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及底层向高层提供服务都是通过服务访问原语来进行交互的----形式
服务访问点SAP(Service Access Point):上层使用下层提供服务通过层间的接口—地点
- 例子邮箱
- 地址(address):下层的一个实体支撑着上层的多个实体,SAP有标志不同上层实体的作用。
服务
面向连接的服务:两个应用进程在通信之前要握手。典型的tcp
无连接的服务:两个对等层实体在通信前不需要建立连接,不预留资源。典型的udp
数据单元(DU)(data unit)
上层来的SDU(serveice data unit) 加上本层的header = PDU (Protocol Data unit)(协议数据单元)
如果SDU非常大,分解成小块; sdu一部分 + 本层header = pdu
如果SDU非常小, 和很多SDU 合在一起 + 本层 header = pdu
header有一部分是ICI ( Interface Control information) 有一部分是本层自带的。
Internet 协议栈
应用层PDU 应用报文
为人类用户或者其他应用进曾提供网络应用服务
ftp, smtp, http, dns有成千上万种
传输层PDU 报文段
还要细分为进程到进程。借助于Socket 借助于端口
在主机到主机的基础上完成进程的区分。把网络层所提供的不可靠的通讯服务转化成可靠的服务。
tcp udp
网络层PDU 分组 end to end
在链路层的基础之上,传输以分组为单位的端到端的数据传输
ip ,路由协议
链路层PDU 帧 point to point
在相邻的两点之间,传输以帧为单位的数据(在物理层提供的服务的基础之上)
点对点协议PPP, 802.11(wifi) , Ethernet
物理层 位 bit
将帧中的bit转化成物理信号承载在媒体之上,从一点传到另外一点,对方的网卡物理层,将承载在媒体上的物理信号再转化成Bit.