在此之前,先来了解一下计算机网络的分层结构
每一层的作用都是为上层提供服务
一、什么是Internet:
Internet是互联网,是计算机网络的集合,它把跨越全球的计算机网络(具备普通IP地址的局域网、城域网与广域网)借助于TCP/IP协议和路由器相互连接构成国际互联网。
从服务角度看互联网是:分布式的应用以及为分布式应用提供通信服务的基础设施。
1.
TCP协议:可靠的传输协议(耗费时间)面向连接的服务。
UDP协议:不可靠的传输协议(实时)无连接的服务。
上述的可靠和不可靠均是准对数据的顺利传输。
2.这是一张计算机网络的简图
方的:主机节点
圆的:数据交换节点
节点:主机、数据交换节点
边:接入网链路、主干链路
交换机是链路层的,路由器是网络层的
3、协议:对等层的实体在通讯过程中遵循的规则的集合。
协议保证了不同网络设备可以交流,定义了通信实体间交换的语法、语义、次序、动作。
4、TCP提供的是面向连接的服务:要先握个手
UDP是无连接的服务:不用提前握手
二、网络边缘
上图为网络的简单结构,圈内路由器相互连接,圈外连接着用户主机,圈外被称为网络边缘。
一般为了保证网络核心的简洁性,网络的核心功能多在网络边缘实现。
网络结构:边缘、接入、核心
运营模式: 客户端-服务器模式(cs模式)、peer-peer模式
peer-peer可以从多个线程同时获取片段,每个节点既可以是客户端,也可以是服务器,所以快(eg:迅雷)
TCP协议(用前要交代一声,两边先握个手):
1、可靠,包括保序
2、流量控制,即调整传输的快慢
3、也有拥塞控制的特性
4、面向连接
UDP协议(不用打招呼):
1、不可靠
2、没有流量控制、拥塞控制
3、快
4、无连接
三、网络核心
网络核心其实就是就是路由器的网状网络
一、电路交换(circuit switch):
1、要求建立呼叫连接
2、保证性能
3、资源不共享
电路交换不适合计算机之间的通信,原因如下:
1、连接建立所需时间长
2、计算机之间通信具有突发性,会导致资源大量浪费
3、可靠性不高(即中心坏了,影响很广)
二、网络资源(如带宽)被分成片,有三种方式:
频分(FDM,按照频率分)
时分(TDM,按照时间分)
波分(WDM,对于光纤的波长分)
分组交换(packet switch): 存储转发,可以实现链路共享,但由于要存储整个分组,并且在节点还有可能会排队而且可能会因为队列满了而丢掉,它在每个节点耽误的时间更久,线路交换只需要传输一个bit的时间。因此,分组交换就是牺牲时间和可能会丢掉的可能换取共享性
其链路资源用统计多路复用(没有固定模式的时分)
数据报网络:传送分组之前不用打招呼,也不用维护链路状态,每个分组都是独立传送的,都携带了一个完整的终点地址,无连接
虚电路网络:先打个招呼,即建立网络层的连接,在每个交换节点上都标识虚电路号。
这俩也都要存储转发
四、接入网和物理媒体
接入网
住宅接入:
modem,打电话时不能上网,用电话线装上个调制解调器
DSL打电话时可以上网
线缆网络,共享带宽
无线接入:
无线LANs,广域无线接入
物理媒体(第0层)
导引型媒体:有型的,传播的更远。如双绞线、同轴电缆、光缆
五、Internet结构和ISP
ISP:internet service provider 互联网服务提供商
ICP:internet content provider 互联网内容提供商
IXP:internet exchange point 互联网交换中心
ICP布置自己的专网,与各级ISP连接(就像谷歌搞了好多数据中心)
POP:高层ISP向底层ISP提供服务
对等接入:2个ISP互相连接,不要钱
六、分组延时、丢失和吞吐量
节点延时:处理、排队、传输、传播延时
流量强度(I)I=La/R
当i趋近于1时,排队延时会趋向于无穷大
ICMP:internet control message protocol
TraceRT用逐次增加ttl(time to live)的方法,来获得各个路由器的往返延时,ttl在头部
对于丢失的分组,有三种处理方式:
1、若上个链路可靠,则由上一层重传
2、若上一个链路不可靠,则由原主机重传
3、若是UDP下,则不传了
吞吐量:有效的数据量,最小的带宽(有可能一条带宽好多人用,那就是1/n带宽)
七、协议层次及服务模型
协议的实现,靠下层
协议的目的,为上层提供服务
SAP(services access point):服务访问点,在层间接口,来区分应用层谁给谁的
服务:在一个系统的内部,相邻两层之间,在sip上,用原语,下层向上层提供服务
服务是纵向,协议是横向;协议的实现要借助下层的服务,目的是为了向上层提供更好的服务
SDU:service data unit服务数据单元,上层要求本层传的东西
ICI:interface control information,接口控制信息,以便于穿过层间接口
PDU:protocol date unit协议数据单元,就是SDU+ICI
根据SDU的大小,可以分为三种情况
1、太大,则在下层分成多个PDU
2、适中,打包成一个PDU
3、太小,将多个SDU打包成一个PUD
计算机网络的分层处理好处:
1、模块化处理,更简单
2、更易于维护和系统升级
缺点:由于模块多,所以效率低
数据到路由器的时候,做一个三层的解封装和再封装,如下图
各层次的协议数据单元(PDU):
应用层:(message)报文
传输层:(segment)报文段
网络层:分组packet(如果无连接方式:数据报datagram)
链路层(frame)帧
物理层:(bit)位