因特网发展的三个阶段
第一阶段:从单个网络ARPANET向互联网发展的过程
ARPANET:
- 1969年美国国防部创建的第一个分组交换网
- 1983年TCP/IP协议成为ARPANET上的标准协议,因特网诞生
- 1990年关闭
第二阶段:三级结构的因特网
1985年美国国家科学基金会:NSFNET
三级计算机网络:
- 主干网
- 地区网
- 校园网(或企业网)
第三阶段:多层次ISP结构因特网
- 第一层:服务面积最大(一般是国家范围),拥有高速主干网
- NAP
- 第二层:第一层ISP的用户
- 第三层:又称本地ISP,拥有本地范围的网络
ISP: (Internet Service Provider) 互联网服务提供者(商)
NAP:网络接入点NAP (Network Access Point):分散主干网流量,又称对等点(peering point)
IXP:(Internet eXchange Point)互联网交换点 ,允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组
英特网的组成
因特网的边缘部分:由所有连接在因特网上的主机组成(通信和资源共享)
因特网的核心部分:由大量网络和连接这些网络的路由器(router)组成,为边缘部分提供服务(连通性和交换)
另一种分法:资源子网,通信子网
边缘部分通信方式:
- 客户服务器方式(C/S):Client/Server,都是指通信中所涉及的两个应用进程
- 客户程序特点:
- 客户程序必须知道服务器程序的地址
- 不需要特殊的硬件和复杂的操作系统
- 服务程序特点:
- 可同时处理多个远地或本地客户的请求
- 系统启动后自动调用并一直不断的运行着
- 一般需要强大的硬件和高级的操作系统支持
- 对等方式(P2P):Peer to Peer,指两个主机在通信是并不区分哪一个是服务请求方还是服务提供方,本质上看仍是C/S方式,只是P2P中的每一个主机既是客户又是服务器
核心部分三种交换方式:
路由器:实现分组交换的关键构建,转发收到的分组
交换(switching)按照某种方式动态地分配传输线路的资源
- 电路交换:面向连接,三个阶段:建立–>保持–>释放
特点:在通话的全部时间内,通话的两个用户始终占用端到端的通信资源
- 通话前先拨号建立连接(经过一个或多个交换机)
- 通话过程中,通信双方一直占用所建立的连接
- 通话结束后,挂机释放连接
报文交换
分组交换
- 在发送端,先把较长的报文划分成较短的固定长度的数据端
- 每一个数据段前面添加上首部构成分组
- 依次把各分组发送到接收端
接收端剥去首部,抽出数据部分,还原成报文
每一个分组的首部都含有地址等控制信息
结点交换机根据收到的分组的首部中的地址信息,把分组转发到下一个结点交换机路由器处理分组的过程:
- 把收到的分组先放入缓存;
- 查找转发表,找出到某个目的地址应从哪个端口转发;
把分组送到适当的端口转发出去
优点:
- 高效 动态分配传输带宽,对通信链路是逐段占用。
- 灵活 以分组为传送单位和查找路由。
- 迅速 不必先建立连接就能向其他主机发送分组。
可靠 保证可靠性的网络协议;分布式的路由选择协议使网络有很好的生存性。
缺点:
- 分组在各结点存储转发时需要排队,这就会造成一定的时延。
- 分组必须携带的首部(里面有必不可少的控制信息)也造成了一定的开销。
计算机网络分类
1.按照网络的作用分类:
- 广域网WAN(Wide Area Network)
- 城域网MAN (Metropolitan Area Network)
- 局域网LAN (Local Area Network)
- 个人区域网PAN (Personal Area Network)
2.按照网络的使用者分类:
- 公用网(public network)
- 专用网 (private network)
3.原来把用户接入到互联网的网络:接入网 AN(Access Network)
计算机网络的性能
- 速率
数据的传送速率,也叫数据率或比特率,单位bit/s(比特每秒) - 带宽
- 某个信号具有频带宽度,信号的带宽是指该信号说包含的各种不同频率成分说占据的频率范围,单位赫兹HZ
- 计算机网络中,带宽用来表示网络中某通道传送数据的能力,单位bit/s
- 吞吐量
表示在单位时间内通过某个网络(或信道、接口)的实际数据量 时延
发送时延
主机或路由器发送数据帧所需要的时间
发送时延 = 数据帧长度 / 发送速率传播时延
电磁波在信道中传播一定的距离需要花费的时间
传播时延 = 信道长度 / 电磁波在信道上的传播速率处理时延
主机或路由器在收到分组时需要花费时间处理排队时延
分组在经过网络传输时,需要经过许多路由器,要在路由器中排队等待处理总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延
时延带宽积
时延宽带积 = 传播时延 x 带宽 (以比特为单位的链路长度)- 往返时间RTT(Round-Trip Time)
发送时长 = 数据长度 / 发送速率
有效数据率 = 数据长度 / (发送时间 + RTT) - 利用率
信道利用率和网络利用率,过高会产生非常大的时延
计算机网络的体系结构
实体、协议、服务和服务访问点
- 实体:
- 表示任何可发送或接收信息的硬件或软件进程
- 对等实体peer entity
- 协议(protocol):
- 控制两个对等实体进行通信的规则、标准或约定的集合
- 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下层所提供的服务
- 网络协议的组成要素
- 语法:数据与控制信息的结构或格式
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应
- 同步:事件实现顺序的详细说明
协议与服务:
- 本层的服务用户只能看见服务而无法看见下面的协议。下面的协议对上面的服务用户是透明的
- 协议是”水平的“,协议是控制对等实体之间通信的规则
- 服务是”垂直的“,服务是由下层向上层通过层间接口提供的
并非在一个层内完成的全部功能都称为服务,只有能够被高一层的实体看得见的功能才能称为服务
上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在OSI中称为服务原语
服务访问点 SAP(Service Access Point):
- 同一系统相邻两层实体进行交互的地方称为SAP
- 服务数据单元SDU(Service Data Unit)
OSI/RM体系结构
层次 | 名称 | 作用 |
---|---|---|
第七层 | 应用层(applicationg layer) | 约定请求消息和应答消息;包括所用应用方面的协议;不同系统之间的文件传输方式不同,但表示的形式必须一致 |
第六层 | 表示层(presentation layer) | 表示层关心的是语法和语义;对相关的数据的描述采用抽象的定义 |
第五层 | 会话层(session layer) | 建立有关会话的机制,是双向的还是单向对话或重新建立会话 |
第四层 | 传输层(transport layer) | 提供端到端的通路,应用到应用的通路 |
第三层 | 网络层(network layer) | 提供主机到主机的通路,其间可能存在多条通路,网络层将实现的功能包括 - 选择路由 - 拥塞控制 - 协议的转换 - 分段和重组 - 对用户的分组、字符等统计 |
第二层 | 数据连路层(data link layer) | 提供点到点的可靠传输,通常需把数据分成帧,并且保证帧的正确发送和接收 - 识别帧的标志 - 帧的发送和接收,需校验、确认 - 发送方在超时或收到否定性确认后,要重发 - 重复帧要丢弃 在共享网络中,需解决信道共享问题等——mac层 |
第一层 | 物理层(physical layer) | 与传输媒体的接口,完成传输媒体上的信号与二进制数据间的转换 |
会话层及以下关心的是信息的传输
表示层及以上关心的是信息的理解
TCP/IP的体系结构
层次 | 名称 | 作用 |
---|---|---|
第五层 | 应用层 | 通过应用进程间的交互来完成特定网络应用,包括HTTP,SMTP,FTP等 |
第四层 | 传输层 | 负责向两台主机中进程之间的通信提供通用的数据传输服务 TCP(Transmisson Control Protocol):面向连接的,数据传输的单位是报文段,提供可靠的交付 UDP(User Datagram Protocol):无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供尽最大努力交付 |
第三层 | 网络层 | 为分组交换网上的不同主机提供通信服务 把传输层产生的报文段或用户数据报封装成分组或包进行传送 选择合适路由 网际协议IP和多路由选择协议 |
第二层 | 数据链路层 | 将网络层交下来的IP数据包组装成帧,每一帧包括数据和必要的控制信息 |
第一层 | 物理层 | 透明的传送比特流 |
传递信息所利用的一些物理媒体,如双绞线、同轴电缆等,并不在物理层协议之内而是在物理层协议之下,因此物理媒体也可当作第0层
数据传递过程
PDU(Protocol Data Unit):对等层次间传送的数据单位
主机1
- 应用进程数据先传送到应用层,加上应用层首部,称为PDU
- 应用层PDU再传送到传输层,加上传输层首部,成为传输层报文
- 传输层报文再传送到网络层,加上网络层首部,成为IP数据报或分组
- IP数据报再传送到数据链路层, 加上链路层首部和尾部,成为数据链路层帧
- 数据链路层帧再传送到物理层,最下面的物理层把比特流传送到物理媒体
电信号或光信号在物理媒体中传播从发送端物理层传送到接收端物理层
- 物理层接收到比特流,上交给数据链路层
- 数据链路层剥去帧首部和帧尾部,取出数据部分,上交给网络层
- 网络层剥去首部,取出数据部分上交给传输层
- 传输层剥去首部,取出数据部分上交给应用层
- 应用层剥去首部,取出应用程序数据上交给应用进程
主机2