什么是Internet
互联网(Internet):主要由rip协议与tcp协议构成的网络
从具体构成的角度
1、节点
主机节点:主机及其上运行的应用程序
数据交换节点:路由器、交换机等网络交换设备(负责数据交换)
2、边:通信链路
接入网链路(access):主机连接到互联网的链路
主干链路(backbone):路由器间的链路
3、协议(标准)
对等层的实体在通信过程中应当遵循的规则的集合
协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接受或其它事件方面所采取的动作
协议控制发送、接收消息,如TCP、IP、HTTP、FTP等
协议包括对语法语义、时序、动作的规定
Internet标准
RFC(Request for comments)——请求评述
IETF(Internet Engineering Task Force)——互联网工程任务组
IETF以发布RFC文档的形式发布互联网标准
IETF收到关于促进互联网发展的新文档,编号并发布到网站上公示评估,评估文档再编号并发布
一个协议可能涉及多个RFC文档
从服务的角度
由(应用层以下的)基础设施和分布式的应用构成
使用通信设施进行通信的分布式应用:Web、email、分布式游戏、社交网络等
为apps提供编程接口(通信服务)的通信基础设施:将发送和接收数据的apps与互联网连接起来。为app提供服务选择(类似邮政服务),包括无连接不可靠服务(UDP)和面向连接的可靠服务(TCP)
网络边缘(edge)
网络结构
网络边缘edge(主机、应用程序——客户端和服务器)、网络核心core(互连着的路由器、网络的网络)、接入网access与物理媒体(有线或无线通信链路)
网络边缘
客户/服务器(C/S)模式:客户端向服务器请求,接收服务(当负载达到阈值,性能将断崖式下降)
对等(peer - peer, p2p)模式:终端既是客户端,又是服务器(文件分发应用)
采用网络设施的面向连接的服务
目标:在端系统之间传输数据
握手:在数据传输之前做好准备
TCP——传输控制协议(Transmission Control Protocol)[RFC793]:
①可靠的、按顺序地传送数据(确认和重传,不重复不丢失不出错不失序)
②流量控制(发送方不会淹没接收方)
③拥塞控制(当网络拥塞时,发送方降低发送速率)
采用基础设施的无连接服务
目标:在端系统之间传输数据(无连接服务)
UDP——用户数据报协议(User Datagram Protocol)[RFC768]:
无连接、不可靠数据传输、无流量控制、无拥塞控制
TCP的应用:HTTP(Web)、FTP(文件传输)、Telnet(远程登陆)、SMTP(email)
UDP的应用:流媒体、远程会议、DNS、Internet电话
网络核心——分组交换(core)
网络核心:路由器的网状网络
数据传输——分组交换(packet switch)
主机之间将要传送的数据分成一个个单位:分组
网络带宽资源不再分片,每段采用链路的最大传输能力(带宽)
以分组为单位采用存储-转发方式,每次移动一跳将分组从一个路由器传到相邻路由器(hop),一段段最终从源端传到目标端
在转发之前,节点必须收到(存储)整个分组,延迟比线路交换要大
排队和延迟:如果到达速率>链路的输出速率,分组将会排队等待传输,如果路由器缓存用完了,分组将被抛弃
统计多路复用(Statistic TDM):通信采用划分时间片的方式,但方式不固定,被称为统计多路复用的方式(其它方式有时分、频分、波分、码分等)
网络核心的关键功能
路由——决定分组采用的源到目标的路径(路由表)
转发——将分组从路由器的输入链路转移到输出链路
分组交换 vs. 电路交换
①分组交换允许更多的用户使用网络
②资源共享;简单,不必建立呼叫
③过度使用会造成网络拥塞(分组延时和丢失),对可靠地数据传输需要协议来约束(拥塞控制)
分组交换网络——存储 - 转发
分组的存储转发一段一段从源端传到目标端,按照有无网络层的连接,分成数据报网络与虚电路网络:
数据报网络——
通信前无需建立连接,有数据就传输
每一个分组都独立路由(路径可能不一样,可能会失序)
分组的目标地址决定下一跳
在不同的阶段,路由可以改变
类似:问路、寄信
Internet
虚电路网络——
靠“信令”建立虚电路
每个分组都带有标签(虚电路标识VC ID),标签决定下一跳
在呼叫建立时决定路径,在整个呼叫中路径保持不变
路由器维持每个呼叫的状态信息
类似:打电话
X.25和ATM
接入网和物理媒体(access)
接入网——调制解调器(modem)
将上网数据调制加载到信号上,在线缆上传输,在局端将其中的数据解调出来,反之亦然
调制的方式:调频、调幅、调相位、综合调制等
拨号调制解调器
56Kbps的速率(通常更低)通过电话线直接接入路由器
不能同时上网和打电话;不能总是在线
数字用户线路(Digital Subscriber Line, DSL)
采用现存的到交换局DSLAM的电话线——DSL线路上的数据被传到互联网;DSL线路上的语音被传到电话网
上行传输速率<2.5Mbps(通常<1Mbps)
下行传输速率<24Mbps(通常<10Mbps)
当上下行带宽不对等时,采用非对称数字用户线路(ADSL)
线缆网络(有线电视公司)
对原本的单向同轴线缆(用于广播电视信号)进行双向改造
上行传输速率<2Mbps
下行传输速率<30Mbps
物理媒体与物理媒介
导引型媒体:光纤(玻璃纤维、高速传输、低误码率、安全)、双绞线(两根绝缘铜导线拧合的网线,五类100Mbps,六类10Gbps)、同轴电缆(两根同轴的铜导线)
非导引型媒体:电磁波、光信号等(WIFI、蜂窝、卫星)
Internet结构与ISP
Internet:网络的网络
ISP:Internet Service Provider。端系统通过ISP连接到互联网
access net接入相应的运营商ISP,ISP间通过协议连接或通过ixp网络交换中心连接。服务提供商ICP通过接入ISP或建立自己的DC(数据中心data center)提供服务
分组延时、丢失和吞吐量
分组丢失
可用的缓冲区:分组到达时,如果没有可用的缓冲区,则该分组被丢掉(分组丢失)
丢失的分组可能会被前一个节点或源端系统重传,或根本不重传
分组延时(4种)
①节点处理延时:检查bit级差错与分组头部
②排队延时:等待传输、路由器的拥塞程度
流量强度=L(分组长度bits)a(分组到达队列缓冲区的平均速率)/R(链路带宽bps)
设计系统时流量强度不能大于1
③传输延时(transmission):将分组从路由器输出到链路上所需的时间=L(分组长度bits)/R(链路带宽bps)
④传播延时(propagation):在链路上传播的时间=d(物理链路的长度)/s(在物理链路上的传播速度)
TTL:time to live(生存时间),表示数据包可以经过多少跳路由
Tracert原理:发送一系列递增TTL的ICMP包,通过返回的RTT计算延迟,目标主机由于找不到端口而返回“ICMP端口不可达”报文,从而计算最终与目标主机间的延迟
吞吐量
在源端和目标端之间传输的速率(数据量bits/单位时间sec)
瓶颈链路:端到端路径上,限制了吞吐的链路
tcp协议的公平性:链路上有n条连接,则每条连接的带宽为链路带宽的1/n
协议层次和服务模型
层次化方式实现复杂网络功能:将网络复杂的功能分层,每一层实现了其中一个或一组功能
服务和协议
服务(service):低层实体所具有功能的子集向上层实体提供它们之间的通信能力,是通过原语(primitive)来进行层间交互的。垂直
协议(protocol):对等层实体(peer entity)之间在相互通信的过程中,需要遵循的规则的集合。水平
本层的服务:借助下层服务实现的本层协议实体之间交互带来的新功能(上层可以利用的)+更下层所提供的服务
服务与协议的关系:本层协议的实现要靠下层提供的服务来实现,本层实体通过协议为上层提供更高级的服务
服务访问点SAP(Services Access Point):上层使用下层提供的服务通过层间的接口——地点(邻层实体之间的逻辑接口,每一层都向上层提供服务访问点)
一般而言,物理层提供的服务访问点是“网卡接口”
数据链路层提供的服务访问点是“MAC地址(网卡地址)”
网络层提供的服务访问点是“IP地址(网络地址)”
传输层提供的服务访问点是“端口号”
应用层提供的服务访问点是“用户界面”
数据单元(DU)
上层(n+1层)将ICI控制信息(头部)与SDU(数据)结合为IDU通过SAP传输到下层(n层),下层通过由SDU与头部(header)组成的PDU进行对等层间的交互
不同层的PDU称呼:
应用层——应用报文message
传输层——报文段segment
网络层——面向连接:分组packet;无连接:数据报datagram
数据链路层——帧frame
物理层——位bit、比特流bitstream等
Internet协议栈(TCP/IP 5层)
应用层:网络应用,实现各种网络功能与服务,包括FTP、SMTP、HTTP、DNS
传输层:在网络层端到端的基础上细分到进程到进程间的通信,将不可靠通信变为可靠通信,协议包括TCP、UDP
网络层:E2E,主机间的端到端通信,负责数据的转发与路由,IP、路由协议
链路层:P2P(peer to peer),相邻网络节点间的数据传输,协议包括PPP、802.11(wifi)、Ethernet
物理层:在物理线路上传送bit
ISO/OSI参考模型:
表示层:允许应用解释传输的数据(加密,压缩,机器相关的表示转换)
会话层:数据交换的同步,检查点,恢复
互联网协议栈通过应用层实现上述服务