2020-01-18 14:34:57 a772304419 阅读数 51

OSI的七层模型

应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。而计算机的五层协议体系结构是将应用层,表示层,会话层合并为应用层。

每层的主要作用

应用层

应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务。主要的协议有http ftp

表示层

简单来说就是win系统想给QQ发短信给linux的QQ的规范标准,表示层会通过使用一种通格式来实现多种数据格式之间的转换。

会话层

主要在你的系统之间发起会话或者接受会话请求。

传输层

主要的协议有tcp和udp,tcp将数据封装成用户数据报或者说是报文,然后分段传输,udp将数据封装成用户数据报直接传输。运输层向它上面的应用层提供端到端通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。传输层对收到的报文进行差错检测。

网络层

主要的协议有ip,主要是将报文封装成ip数据报。

数据链路层

ip数据报封装成帧,传给物理层。

物理层

主要是将比特或者说是0和1转化为强弱电流,然后到接收方再将强弱电流转化为0,1.主要定义光纤的接口,网线的接口。

 

2018-03-18 21:34:59 Zhang_0507 阅读数 176

前言

先说计算机网络的七层,OSI 是一个开放性的通信系统互连参考模型,是一个定义得非常好的协议规范。OSI 模型有7层结构,每层都可以有几个子层。 OSI 的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 ;其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端的数据流。
这里写图片描述

物理层

百度解释:

OSI的物理层规范是有关传输介质的特这些规范通常也参考了其他组织制定的标准。连接头、帧、帧的使用、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。示例:Rj45,802.3等。

新玲解释:

凯哥问:后人对秦始皇的评价是什么
大家回答:统一六国
凯哥:是‘功过参半’
大家:哇塞,凯哥好厉害
凯哥:其中的功和过都是什么?
大家:功是统一六国,过是焚书坑儒
凯哥:余秋雨的《文化苦旅》里说过欧洲人在埃及把埃及的人都杀了,为什么中国的文化能够流传下来,而埃及的文化没有传下来,都是文明古国
大家:因为中国人留下来了
凯哥:是因为文字,埃及人死了之后,没有人能够看懂他们的文字,而中国的文字流传下来了,所以说文字是很重要的,而秦始皇的功还有统一六国的文字
大家:哇塞,凯哥好厉害

因为六国的文字不统一,所以会导致沟通交流出现问题,统一了文字之后便能够很顺畅的交流,而物理层也有这个作用,因为现在很多硬件设备和传输媒体的种类非常非常多,而通信手段也有很多很多种,就像很多很多种文字一样,这样就导致了大家都互相不理解,那该怎么通信呢,物理层就起到了一个规范的作用,就像秦始皇统一了文字一样,就是规定你通信只能用我给你的这些协议,这样就减少了传输媒体和硬件设备的差异,从而达到顺利的沟通交流,而这些协议也称为物理层规程

所以说物理层并不是大家平时说的物理上的那一层,而是那些协议,所以说物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体

2019-08-12 17:35:30 yjh728 阅读数 217

计算机网络开篇——五层模型概述

每一层的数据包都由本层的标头和上一层的传递的数据包构成。

OSI参考模型将计算机网络分为七层模型,此处的五层模型是基于TCP/IP协议族而言的体系结构。

物理层

物理层就是将端系统连接起来,如光缆、电缆、双绞线、无线电波等方式。它主要规定了网络的一些电器特性,主要负责传送0和1的电信号

数据链路层

  • 数据链路层位于物理层的上方,它确定了0和1的分组方式:多少个电信号算一组,每个信号位有什么意义
  • 以太网协议规定一组电信号构成一个数据包,成为帧,每一帧分为两部分:标头(主要包括数据包的一些说明项,如发送者、接受者、数据类型等)和数据(网络层的数据包)
  • 以太网规定所有连入网络的设备都必须具有网卡,数据包必须使从一块网卡传送到另一块网卡,网卡的地址(MAC地址)就是数据包的发送地址和接受地址。MAC地址是由48个二进制位组成(12位十六进制数),前六个十六进制数是厂商编号,后六个是网卡流水号
  • 通过ARP协议可以通过IP地址来和MAC地址来匹配,实现一块网卡知道另一块网卡的MAC地址
  • 以太网通过广播的方式将数据包发送到该子网络下的所有主机,然后由主机决定(通过数据帧中的标头中的MAC地址)是否接受数据包

网络层

  • 因为只有在同一个子网络下的端系统才能通过广播的方式来发送数据,因此引入了网络层协议,使得位于不同的子系统的两个主机可以相互通信
  • 不在同一个子系统就采用“路由”(如何向不同的子网络分发数据包)的方式发送数据,否则通过“广播”的方式发送
  • 网络层引进了一套新的地址(网络地址)来区分不同的端系统是否处于同一个子系统
  • 规定网络地址的协议成为IP协议,他所定义的地址成为IP地址,IPV4版的地址由32个二进制位组成,一般用为四段的十进制数来表示
  • IP协议的主要作用是:为每台端系统分配IP地址;确定哪些地址位于同一个子网络下
  • IP地址分为两部分:网络地址和主机地址
  • 通过子网掩码来判断两个主机是否位于同一个子系统下,子网掩码也是由32位二进制数组成,子网掩码的网络部分全部为1,主机部分全部为0,通过对IP地址和子网掩码进行每位相与,得出的结果相同时就说明位于同一个子网络下,否则不是
  • 根据IP协议发送的数据包称为IP数据包,同样由标头(版本、长度、IP地址等)和数据(传输层数据段)组成
  • IP数据包的标头长度为20-60字节,整个数据包的总长度对打为65535字节,因为以太网的数据部分最长之后1500字节,因为,若数据包超过此长度,则会分割成几个以太网数据帧分开发送
  • ARP协议工作原理:发送数据包(包含在以太网数据帧中),其中包含所要查询的IP地址,在对方MAC地址中填入FF:FF:FF:FF:FF:FF(发送广播),此网络中所有主机都会收到数据包并将IP地址与自身IP地址进行对比,若相同,则返回自己的MAC地址,否则丢弃该数据包

传输层

  • 通过IP地址和MAC地址来确定两个进行通信的主机,但是不能确定通信的应用,因此引入了传输层,通过端口(每一个使用网卡的程序的编号)来确定通信的应用
  • 端口是0到65535之间的一个整数,0-1023的端口被系统占用,因此程序只能选择大于1023的段口来进行通信
  • 传输层的功能就是建立端口到端口的通信,网络层的功能是建立主机到主机的通信,只有确定主机和端口才能实现程序之间的交楼。套接字由主机和端口组成
  • 通过TCP或UDP协议在数据包中加入端口信息,UDP数据包也由两部分组成,标头(主要是发送端口和接收端口)和数据,标头部分占8字节,UDP数据包总长度不超过65535字节,刚好可以放进一个IP数据包中
  • TCP协议可以认为是加有确认机制的UDP协议,发出的每个数据包都要进行确认,若有丢包现象,则会通知发送法重新进行发送
  • TCP协议保证数据的可靠性,但是过程复杂、首先困难、消耗较多的资源
  • TCP数据包没有长度限制,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不会被分割

应用层

  • 应用层的作用主要是规定应用程序的数据格式

参考文章

互联网协议入门(一)

2019-07-23 11:03:13 hieheihei 阅读数 84

计算机网络系列博客
开篇 https://blog.csdn.net/hieheihei/article/details/94127674

概述

网络中,每台主机,路由器都有网络层部分;
网络层提供主机到主机的通信服务;

因特网网络层组件

  1. IP协议
  2. 路由选择
  3. 因特网控制报文协议

转发 涉及分组在单一路由器中从一条入链路到一条出链路的传输
当一个分组到达路由器的一条输入链路时,路由器必须将该分组移动到适当的输出链路;

路由选择 涉及一个网络的所有路由器如何经路由选择协议共同交互以决定分组从源到目的地的路径
当分组从发送方流向接收方时,网络层必须决定这些分组所采用的路由(路径)

转发表 每台路由器都具有一张转发表。路由器检查到达分组首部特定字段的值,在转发表中索引查询该值以确定将该分组移动到哪一输出链路。

路由选择算法 决定路由器中转发表的配置,转发表的配置决定了转发和路由选择间的关系。
路由选择算法可以是集中式的或分布式的;
路由器接受路由选择协议报文,该报文信息被用于配置路由器转发表;

分组交换机 通用分组交换设备,根据分组首部字段中的值,从输入链路接口到输出链路接口转移分组。

  • 链路层交换机 基于链路层字段中的值做转发决定的分组交换机
  • 路由器(router) 基于网络层字段中的值做转发决定的分组交换机

连接建立 在某些网络体系结构中,网络层具有连接建立的功能。即在网络层数据分组开始传输前,沿所选择的链路彼此握手,建立状态。

网络服务模型
定义分组在发送与接受端系统间的端到端运输特性
网络层可能提供的服务:

  • 确保交付 确保分组最终将到达其目的地
  • 具有延时上界的确保交付 在特定的端到端时延内确保交付
  • 有序分组交付 确保分组以它们发送的顺序到达目的地
  • 确保最小带宽 模拟发送端和接受端间有一条特定带宽的专用物理传输链路时分组传输的行为。即只要发送主机以特定比特率传输比特,则分组不会丢失且每个分组会在预定的端到端时延内到达。
  • 确保最大时延抖动 确保发送方两相继分组间的时间间隔与接收方接受对应两分组间的时间间隔之差的绝对值小于特定值
  • 安全性服务 提供数据机密性,完整性,数据源鉴别等服务。发送端网络层将运输层交付的数据加密,而后传输,接受端网络层将收到的数据解码,而后交付运输层。

因特网网络层服务模型
尽力而为服务(best-effort service) 不做任何保证,“根本无服务”满足“尽力而为服务”的定义。

其它网络体系结构服务模型
ATM网络体系结构 提供恒定比特率ATM网络服务,CBR;可用比特率ATM网络服务,ABR;等

虚电路和数据报网络

类似于运输层为进程提供无连接服务或面向连接服务,网络层为两台主机提供无连接服务或面向连接服务。
目前,各主要计算机网络体系结构中,网络层提供且只提供面向连接服务或无连接服务二者之一。
网络层的连接服务与运输层的连接服务存在根本性差别,运输层的连接服务在位于网络边缘的端系统中实现,网络层的连接服务由网络边缘的端系统,网络核心的路由器共同实现。

虚电路网络

仅在网络层提供连接服务的计算机网络
如ATM,帧中继等网络体系结构
虚电路概念源于电话界

虚电路

网络层连接
组成

  • 源和目的主机间的路径,即一系列链路和路由器
  • VC号,即沿着路径的每段链路的一个号码
  • 沿着路径的每台路由器中的转发表表项

路由器
路由器转发表项类似于: 入接口|入VC号|出接口|出VC号
路由器必须为每条进行中的连接维护状态信息
创建新虚电路时,对路径上的路由器,增加相应表项
拆除虚电路时,对路径上的路由器,删除相应表项

虚电路阶段

  1. 虚电路建立
    发送方运输层与网络层联系,指定接收方地址,等待网络层建立虚电路;
    网络层决定发送方与接收方间的路径,并为路径上的每条链路决定一个VC号;
    网络层在路径上的每台路由器中增添一个转发表项;
    网络层可预留路径上的资源,如带宽;
  2. 数据传输
    虚电路上的分组在其首部携带一个vc号;
    分组vc号与其当前所在链路的vc号对应;
    路径上的每台中间路由器在某入接口上收到一个到达分组后,根据该分组的vc号,查询转发表,以确定该分组的出接口和出vc号,将该分组的vc号更新并移动到相应出接口。
  3. 虚电路拆除
    发送方或接收方通知网络层它希望终止该虚电路,拆除阶段启动;
    网络层通知另一侧的端系统会话结束;
    网络层更新路径上每台路由器的转发表以拆除虚电路;

相较于TCP三次握手,路径上每台路由器都参与且了解虚电路的建立,而TCP连接的建立只在端系统中进行

信令报文 端系统向网络发送的指示虚电路启动/终止的报文,路由器间传递的用于建立/拆除虚电路的 报文
信令协议 定义如何交换信令报文的协议

数据报网络

仅在网络层提供无连接服务的计算机网络
如因特网等网络体系结构

端系统发送分组时,为分组加上指示目的地端系统地址的首部行并将该分组推入网络;

路由器使用分组的目的地址转发分组;
路由器的转发表将目的地址映射到输出链路接口;
具体地,转发表维护ip地址前缀到输出链路接口的映射;
对到达分组的ip地址,路由器在转发表中进行前缀匹配,若有多个匹配项,则依据最长前缀匹配规则确定匹配;

路由器不维护连接信息,但维护转发状态信息;
转发状态信息变化的时间尺度相对慢于连接信息变化的时间尺度;
转发表通过路由选择算法更新,通常每1~5分钟更新一次转发表;

基于数据报网络体系的因特网服务模型使得服务保证最少(即没有保证),这对网络层施加了最小限度的需求;
这一体系使得因特网使用各种不同链路层技术较为容易;
新服务可通过端系统上的应用层协议快速部署实现;

路由器原理

路由器转发平面

实现转发功能的逻辑结构;
由一台路由器的输入端口,输出端口,交换结构共同实现;
路由器转发平面总由专用硬件实现;
转发平面以纳米时间尺度运行;

路由器控制平面

实现路由器控制功能的逻辑结构;
执行路由选择协议,响应上线或下线的连接链路,执行网络管理功能;
路由器控制平面通常用软件实现,运行在路由选择处理器上(常为传统CPU);
控制平面以毫秒或秒时间尺度运行;
网络范围的路由控制平面常常是分布式的,其不同部分执行在不同路由器上并通过彼此发送控制报文进行交互;

组成

  • 输入端口
    将一条输入物理链路与路由器相连接的物理层功能;
    执行与位于入链路远端的数据链路层交换的链路层功能;
    查询转发表以确定到达分组输出端口的查询功能;
  • 交换结构
    将路由器的输入端口与输出端口相连,是路由器内部的网络;
  • 输出端口
    存储从交换结构接收的分组;
    执行必要的链路层,物理层功能以在输出链路上传输分组;
  • 路由选择处理器
    执行路由选择协议;
    维护路由选择表;
    维护连接的状态信息;
    为路由器计算转发表;
    执行网络管理功能;

对双向链路,链路的输入端口,输出端口通常在同一线路卡(与交换结构相连的一块印刷电路卡)上成对出现。

输入端口

线路端接
数据链路处理
查找,转发,排队
交换结构

输入端口对分组的处理动作

  • 物理层,链路层处理
  • 检查分组版本号,校验和,寿命字段
  • 更新分组校验和,寿命字段
  • 更新用于网络管理的计数器
  • 查找分组对应的输出端口

查找
查找分组对应的输出端口。
在每个输入端口,通常有转发表的一个影子副本;
对达到分组中的目的地地址编码(ip),查找转发表中的一个最长前缀匹配;

分组通过查找确定其输出端口后,可进入交换结构;
交换结构可能被来自其它输入端口的分组占用,故分组回被交换结构阻塞,在输入端口处排队;

交换结构

将分组实际地从一个输入端口转发(交换)到一个输出端口

交换方式

  1. 经内存交换
    a)早期简单路由器可由传统计算机实现。输入输出端口间的交换在CPU(路由选择处理器)的直接控制下完成。分组到达输入端口后,中断CPU以通知之,CPU将分组复制到内存,解析分组首部字段,决定将其复制到某个输出端口的缓存中。
    b)许多现代路由器通过内存交换。与早期简单路由器的差别在于,目的地址的查找和将分组存储进适当内存位置是由输入线路卡处理的。
  2. 经总线交换
    输入端口经一根共享总线将分组直接传送到输出端口,无需路由选择处理器的干预。
    输入端将分组送上交换结构时,为其加上一个内部标签,所有输出端口都会收到该分组,但只有标签与之对应的输出端口才会接受该分组。
  3. 经互联网络交换
    即使用纵横式的棋盘网络而非单一总线来交换分组。
    对N个输入端,N个输出端的路由器,有2N条线路,N^2个线路交点,交点可动态开关;
    对从输入端口A到输出端口B的分组,交换结构控制器通过闭合适当的线路交点以实现正确传送;
    纵横式网络能并行交换多个分组;
  4. 复杂互联网络
    使用多级交换元素

输出端口

取出存放在输出端口内存中的分组并将其发送到输出链路。

交换结构
排队,缓存
数据链路处理
线路端接

分组排队

在路由器输入端,输出端都有可能形成分组队列。
队列的位置和长度取决于流量负载,交换结构相对速率,线路速率;

丢包
队列满时不得不丢弃分组
弃尾 策略丢弃新到达的分组
此外还有一些更复杂的策略

缓存长度
路由器缓存可吸收流量负载的波动;
确定缓存大小的经验方法是,缓存大小B = 平均往返时延RTT * 链路容量C
对大量TCP流N通过的链路,缓存大小B = 平均往返时延RTT * 链路容量C / TCP数的平方根N^0.5

输出端分组调度
对输出端队列,分组调度程序需在队列中选出一个分组来发送;
通常可用先来先服务原则;
更复杂的调度规则可用实现公平性,服务质量保证等目标;

网际协议 IP

数据报格式

数据报:网络层分组

IPv4数据报关键字段

  • 版本号
    4bit;
    声明数据报的IP协议版本;

  • 首部长度
    4bit;
    IPv4数据报包含可变数量的选项,故须指定首部的实际长度;
    典型的,数据报不含可变选项,长度为20byte

  • 服务类型
    区分不同类型数据报;

  • 数据报长度
    16bit;
    以byte记的数据报总长度

  • 标识,标志,片偏移
    与IP分片相关;
    新版本即IPv6不允许在路由器上对分组分片;

  • 寿命(Time-To-Live,TTL)
    确保数据报不会永远在网络中循环;
    数据报每经过一台路由器,TTL减一,TTL为0时,数据报被丢弃;

  • 协议
    指示IP数据报的有效载荷应当交付哪个特定的运输层协议;
    协议号绑定了网络层与运输层;

  • 首部检验和
    用于路由器对IP数据报中比特错误的检验;
    路由器通常丢弃检测出错误的数据报;
    数据报上有一些可变字段,如TTL,故路由器必须更新数据报的检验和字段;

  • 源和目的地的IP地址

  • 选项
    选项字段允许扩展IP首部;
    选项字段是可选的,它使得IP首部长度不定;
    IPv6中已去掉了选项字段;

  • 有效载荷
    有效载荷可以是运输层报文段的数据,也可以是其它类型的数据,如ICMP报文;

IP数据报分片

链路层协议所能承载的网络层分组长度不同。

最大传送单元(Maximun Transmission Unit,MTU)
一个链路层帧能承载的最大数据量

链路层协议的MTU严格地限制了IP数据报的长度。
问题在于发送方到接收方的路径上,每段链路可能使用不同的链路层协议,不同的链路层协议有不同的MTU。

分片
对路由器的一个到达分组,其大小大于相应输出链路的MTU时,路由器对其分片,即将之拆解成多个较小的IP数据报,用单独的链路层帧封装这些小IP数据报,称其为

片组装
运输层希望收到完整的未分片的报文;
网络内核应当保持简单,片组装工作不应由路由器进行;
片的重组工作在端系统中进行;

标识,标志,片偏移字段用于分片组织;
同一ip数据报有相同而唯一的标识号,即同一数据报的多个片标识相同;
对分片的数据报,最后一个片的标志位置0,其它片的标志位置1;
偏移字段指示片在原ip数据报中的偏移;

在目的地主机,数据报的有效载荷仅当IP层已完全重构为初始IP数据报时,才会传递给目的地运输层;
若一个或多个片一直没有到达目的地,该不完整的数据报将被丢弃;

IPv6废止了分片机制

IPv4编址

主机通常只有一个网络接口;
路由器必须有多个网络接口;

一个IP地址技术上是与一个接口关联的,而非与该接口所在的主机或路由器关联;

IP地址4byte,即32bit,故有约40亿个可能的IP地址;

点分十进制 地址中的每个字节用它的十进制形式书写,字节间用句点(.)分隔。

全球因特网中每台路由器和主机上的每个接口,都必须有一个全球唯一的IP地址(除非使用了NAT技术)

IP广播地址
255.255.255.255
以255.255.255.255为目的地的报文将被交付给同一个网络中的所有主机;
路由器也可以(但通常不)向邻近的子网转发该报文;

子网

在网络拓扑结构的图模型中,将路由器的对应顶点按接口拆分,所得到的新图中,每一个连通分支就是一个子网;
子网掩码 a.b.c.d/x;子网地址的记法,该记法表示接入子网的所有接口的ip地址前x位都应与a.b.c.d的前x位一致;

因特网地址分配策略

无类别域间路由选择(Classless Interdomain Routing,CIDR)

子网寻址
a.b.c.d/x
32bit的地址划分为两部分:

  1. a.b.c.d/x的前x位构成了IP地址的网络部分,称作该地址的前缀;一个组织通常被分配一块连续的地址,即地址前缀相同;
  2. a.b.c.d/x的后32-x位用于区分该组织的内部设备;
分类编址方案

CIDR被采用前的方案;
子网被分为A,B,C三类,其子网地址长度分别为8,16,24比特;
该方案由于子网大小与组织规模不能良匹配,造成大量地址浪费;

获取地址块

因特网名字和编号分配机构(Internet Corporation for Assigned Names and Numbers,ICANN)
非营利性组织,基于[RFC 2050]管理;
负责IP地址分配;
管理DNS根服务器;
分配域名与解决域名纷争;

ICANN地址支持组织
ICANN向区域性因特网注册机构分配地址,区域性因特网注册机构和ICANN一起组成了ICANN地址支持组织,处理本地域内的地址分配与管理;

ISP获取地址块
ISP向ICANN地址支持组织申请地址块;

组织获取地址块
为获得用于某组织的子网,其网络管理员与其ISP联系;
ISP会从其所拥有的大地址块中,提供一个小地址块;

获取主机与路由器地址

一个组织获取了一个地址块后,需要为组织内的主机与路由器接口逐个分配IP地址;

路由器IP

系统管理员常通过远程网络管理工具手工配置路由器中各接口的IP地址

主机IP

主机地址可手动配置;
但目前,通常通过DHCP动态配置

动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)

IP地址分配
DHCP允许主机自动获取(被分配)一个IP地址;
网络管理员能配置DHCP,以使某给定主机每次与网络连接时能得到一个相同IP地址;
某主机也可能被分配一个临时IP地址,该地址在主机每次与网络连接时不同;

网络信息查询
DHCP允许主机得知其它网络信息,如:

  • 子网掩码
  • 默认网关,即第一跳路由器地址
  • 本地DNS服务器地址

即插即用协议
DHCP具有能将主机连进一个网络的网络相关方面的自动能力;
DHCP广泛用于住宅因特网接入网,无线局域网,这些网络中的主机频繁地加入或离开网络;

工作原理
DHCP是一个客户-服务器协议;
客户通常是新到达的主机,它希望被分配一个ip地址并获得相关网络信息;

每个子网或有一台DHCP服务器;或有一台DHCP中继代理(通常是一台路由器),该代理知晓用于该网络的DHCP服务器的地址。

对于一台新到达网络的主机,DHCP协议分四步:

  1. DHCP服务器发现
    一台新到达的主机的首要任务是发现一个要与其交互的DHCP服务器;
    发现步骤通过一个 DHCP发现报文 实现;
    客户机在UDP分组中发送DHCP发现报文,目的地址使用广播地址255.255.255.255,源地址使用0.0.0.0,端口号67;
    该DHCP发现数据报将被交付链路层,链路层将该帧广播到所有与该子网连接的子网;

  2. DHCP服务器提供
    DHCP服务器收到一个DHCP发现报文后,用一个DHCP提供报文向客户做出响应;
    目的地址为IP广播地址255.255.255.255
    子网中可能有多个DHCP服务器,客户可在几个提供者之间选择;
    响应报文项包括:
    a)DHCP发现报文的事务ID
    b)向客户推荐的IP地址
    c)子网掩码
    d) IP地址租用期,即IP地址有效的时间量,通常为数小时或数天;

  3. DHCP请求
    新到达的客户从一个或多个服务器提供中选择一个,并向选中的服务器提供用一个DHCP请求报文进行响应,回显配置参数;

  4. DHCP ACK
    服务器用DHCP ACK报文对DHCP请求报文进行响应,证实所要求的参数;

一旦客户收到DHCP ACK后,交互即完成,客户可在租用期内使用DHCP分配的IP地址;
若客户希望在租用期超时后仍使用该地址,DHCP提供了更新客户对地址租用时间的机制;

移动IP
DHCP在移动性上存在不足,当一个移动节点在子网之间移动时,每个子网都要给他分配新IP,故该节点无法维持与远程应用之间的TCP连接;
移动IP是一种对IP基础设施的扩展,允许移动节点在网络间移动时能使用单一永久地址;

网络地址转换(Network Address Translation,NAT)

对某子网(如家庭,小型办公室),ISP已为其分配一组连续的IP地址。NAT技术使得该子网可以在有限的IP地址下扩展因特网设备。

NAT使能路由器在逻辑上有公网接口和子网接口,公网接口连接因特网,子网接口是小型网络的一部分;
[RFC 1918] (https://tools.ietf.org/html/rfc1918) 保留了三块特殊的地址空间:

  • 10.0.0.0/8 - 10.255.255.255 (10/8 prefix)
  • 172.16.0.0/12 - 172.31.255.255 (172.16/12 prefix)
  • 192.168.0.0/16 - 192.168.255.255 (192.168/16 prefix)
    这些地址空间用于专用网络,如家庭网络;
    在小型网络,即上述子网中,使用特殊地址空间编码,在公网,使用一般地址编码;
    在小型网络内部,可以通过特殊地址空间内的地址区分各个网络设备;
    在因特网范围内,以特殊地址空间地址编制的设备,其IP是不唯一的;
    在小型网络内部,可之间通过内部IP区分设备,但在因特网上通讯,须使用NAT使能路由器的公网IP。

在外部视角下,NAT使能路由器类似一个具有单一IP地址的单一设备;
NAT使能路由器对外界隐藏了家庭网络的细;
NAT使能路由器的公网地址通常是通过DHCP获得的;
NAT使能路由器从ISP的DHCP获得公网地址,而后路由器运行一个DHCP服务器,为该路由器控制的小型网络中的端系统提供地址;

NAT转换表
对外界,NAT路由器控制下的网络有如一个设备,当数据到达NAT路由器时,路由器需将之分发到正确的设备;
NAT通过转换表实现地址转换;
NAT转换表是 端口号 到 内部IP x 实际端口号 的映射;

NAT工作原理
假定NAT内部网络上有设备在 (ip A,port a) 上对 公网端系统 (ip B,port b)发送报文,其中ip A 是内网地址,ip B是公网地址;
假定NAT路由器的公网地址是 ip N;
则,NAT路由器截获内网发往外围的报文,分配一个port nA,用(ip N,port nA)替换原报文中的源地址部分,同时,添加相应NAT转换表项;

缺陷

NAT是解决IP地址短缺的权宜之计,有诸多问题;

  1. 端口号用于进程编址,而不应用于主机编址;NAT给运行在内网上的服务器造成了问题,因为客户无法知晓服务器的实际端口;
  2. 路由器仅应当出来网络层及以下的分组;
  3. 根据端到端原则,主机彼此应直接相互对话,节点介入修改IP地址与端口号违背了这一原则;
  4. 应使用IPv6解决IP地址短缺问题,而非使用NAT做权宜;

NAT穿越
NAT妨碍P2P应用,因为NAT下的对等方无法作为服务器与其它对等方建立TCP连接,P2P需要通过中继等技术实现NAT穿越;

无论如何,NAT已是因特网的一个重要组件。

通用即插即用(UPnP)

可用于实现NAT穿越的技术;
允许主机发现并配置邻近NAT的协议;
UPnP要求主机和NAT都是UPnP兼容的;

在UPnP协议下,主机上的进程可以在一定程度上自定义NAT映射,即进程可以定义并了解套接字被映射到了哪个(ip,port)序对;

因特网控制报文协议(ICMP)

用于主机和路由器间沟通网络层信息;

ICMP位于IP之上,ICMP分组由IP分组承载,主机收到一个指明上层协议为ICMP的IP数据报时,它分解出数据报的有效载荷并交付给ICMP;

常用于差错报告,如报告目的网络不可达;

ICMP报文

  • 类型字段
  • 编码字段
  • 源字段 引起该ICMP报文首次生成的IP数据报的首部和前8字节;

Ping

ping程序发送一个类型8,编码0的ICMP报文到指定主机;
目的主机发回一个类型0,编码0的ICMP回显回答;

源抑制报文

最初用于执行拥塞控制的ICMP报文;
实践中很少使用;
拥塞路由器向主机发送一个源抑制报文以强制该主机减小发送速率;

IPv6

开发IPv6的主要动机在于:32bit的IPv4地址空间即将用尽;事实上,顶层的IANA地址池已在2011分配完毕。
IPv6同时还加强了IPv4的其它方面;
最初预想被作为IPv5的ST-2协议被废弃了

IPv6数据报格式

重要变化

  • 地址空间扩大 地址长度扩展到128bit;
    除单播地址,多播地址,IPv6引入了任播地址,即可被交付给一组主机中的任意一个的地址;
  • 简化的首部 40字节的定长首部;
    许多IPv4字段被舍弃或作为可选项,选项通过新机制编码;
  • 流标签与优先级
    流标签给属于特殊流的分组打上标签,这些特殊流是发送方要求进行特殊处理的流,如一种非默认服务质量或需要实时服务的流。

IPv6字段

  • 版本
    4bit,IPv6版本字段值为6;
  • 流量类型
    8bit,
  • 流标签
    20bit,
  • 有效载荷长度
    16bit,
  • 下一个首部
    标识有效载荷应当交付给哪个上层协议;
  • 跳限制
    转发数据报的每台路由器对该字段内容减一,跳限制计数达到0时,该数据报将被丢弃;
  • 源地址
  • 目的地地址
  • 有效载荷

遗弃的特性

  • 分片机制
    IPv6不允许在中间路由器上进行分片与重新组装;
    若路由器收到的IPv6数据报过大而不能转发到出链路,路由器只需丢弃该数据报并向发送方返回一个指示分组过大的ICMP差错报文即可。
  • 首部检验和
    因特网运输层和链路层已经执行了检验功能,网络层的该功能可去除;
  • 选项
    选项字段不再是标准IP首部,但它可以通过IP首部中,下一个首部字段实现;
    具体地,TCP,UDP协议的首部可以是“下一个首部”,而选项字段也可以是“下一个首部”;

ICMP也对IPv6做了相应更新,添加了分组过大,未识别的IPv6选项等类型与编码

IPv4到IPv6的迁移

标志日

在指定的时间点,关闭因特网所有机器并升级IPv4到IPv6;
该方法不可行;

双栈

Pv6/IPv4节点

使用IPv6/IPv4节点,该节点具有收发IPv4,IPv6两种数据报的能力;
双栈节点必须具有IPv6,IPv4两种地址;
双栈节点应具有确定另一个节点是否是IPv6使能节点的能力,该问题可通过DNS解决,当且仅当发出DNS请求的节点和目标节点都IPv6使能时,DNS才返回IPv6地址;

隧道(tunneling)

隧道 假定两IPv6节点要使用IPv6数据报交互,但两者经由IPv4节点互联,则称这两个IPv6节点间的IPv4节点之集为一个隧道。

借助于隧道,发送端的IPv6节点将整个IPv6数据报作为有效载荷装入IPv4数据报,隧道接收端的IPv6节点收到该IPv4数据报并能发现该数据报含有一个完整的IPv6数据报,故接受节点可提取IPv6数据报;

网络层的技术迁移是困难的,但应用层中新协议的快速部署是容易的;

IP安全性

IPv4的设计是在因特网主要用于互相信任的联网研究人员之间的时代,没有提供任何安全服务;

提供安全性服务的新型网络层协议

IPsec
流行的安全网络层协议,在虚拟专用网(VPN)中广泛部署;
IPsec被设计为与IPv4和IPv6向后兼容,故使用IPsec时无需替换因特网中所有的主机和路由器中的协议栈;

路由选择算法

路由 确定发送方到接收方通过路由器网络的好路径;

源路由器 源主机的第一跳路由器
目的路由器 目的主机的第一跳路由器

路由选择算法
给定一组路由器及连接路由器的链路组成的图,寻找从源路由器到目的路由器的好路径;
好路径通常指具有最低费用的路径;
路径费用反映路径的物理长度,链路速度,金融费用等因素;
实际路由选择算法还考虑策略问题,即存在组织A的路由器可能拒绝转发组织B的路由器等情况;

抽象的路由选择算法在一个带权有向图中,寻找给定节点对间的带权最短路径;

路由选择算法分类

分类一

  • 全局式路由选择算法
    用完整的全局性网络信息计算源到目的地的带权最短路径;
    全局式算法要求在真正开始计算前,获取全局的网络信息;
    实践中,全局式算法常被称作链路状态算法
  • 分布式路由选择算法
    以分布式算法迭代地计算出源到目的地的带权最短路径;
    没有节点拥有全局的完整网络信息;
    每个节点仅有其邻接节点,链路信息即可工作;
    每个节点迭代计算并与其邻接节点交换信息,逐渐计算出到达某目的节点或一组目的节点的带权最短路径;
    分布式路由选择算法的实例是距离向量算法

分类二

  • 静态路由选择算法
    路由随时间缓慢变化,通常是通过人工干预更新的;
  • 动态路由选择算法
    能够在网络流量负载或拓扑结构变化时自动地改变路径;

分类三

  • 负载敏感算法
    链路权重动态变化一反映出底层链路的当前拥塞水平;
    早期路由选择算法是负载敏感的,故而遇到了很多难题;
  • 负载迟钝算法
    链路费用不明显反映其当前或近期的拥塞水平;
    当今因特网路由选择算法是负载迟钝的;

路径震荡问题
路径震荡问题存在于所有根据拥塞测度链路权重的路由选择算法中;
即状态t0下算法选择了路径1,使得该路径拥塞;这导致状态t1下算法选择路径2,使得路径2拥塞;这又使得算法在t2下选择路径1,最终导致反复震荡;
解决方案是确保路由器运行路由选择算法的时机不同步;

链路状态(Link State,LS)路由选择算法

全局式的路由选择算法;

链路状态广播算法
为获取全局网络信息,实践中要求每个节点向网络中所有其它节点广播链路状态分组;
节点广播的结果是,所有节点都具有了该网络等同的完整的视图;

具体的链路状态路由选择算法可选用Dijkstra算法等单源最短路径算法
每个节点都在其上运行单源最短路径算法,以获取到达每个目的地的下一跳路由节点,从而构造转发表;

距离向量(Distance-Vector,DV)路由选择算法

迭代,异步,分布式路由选择算法;

分布式
每个节点都从其邻居处接收信息,执行计算,而后将计算结果分发给邻居;

迭代式
计算过程一直持续到邻居间无更多信息交换为止;
此算法是自我终止的,没有算法应当停止的信号;

异步
不要求所有节点间同步操作;

Bellman-Ford方程
x到y的带权最短路径长度 = min(x的邻居v){x到v的权重+v到y的带权最短路径长度}

距离向量
节点x的距离向量维护节点x到其它所有节点的估计距离;

DV路由选择算法原理
每个节点维护一个距离向量;
距离向量中,到邻居节点的距离是准确值;
节点在每次迭代中向所有邻居发送自身的距离向量;
节点每次收到邻居发送的距离向量,就根据Bellman-Ford方程校正自身的距离向量;
校正过程即是最短路径问题中的松弛操作;

只要所有节点以异步方式交换距离向量,每个节点的距离向量值都会收敛到精确最短路径值;
距离向量收敛后,只要链路没有更新,节点就不会向邻居发出新距离向量报文,也不会收到邻居的报文,算法进入静止状态;

路由选择环路问题
某链路w权重增加后,非相邻节点a可能要在多次迭代后才获知这一事实(因为链路w在节点a预期的某条最短路径上),而该链路的邻接节点b可以立刻获知这一事实;
在路由表多次迭代直至稳定之前,会导致路由选择环路问题:
b将把分组发往a,期望a能以较低代价转发分组,而a会把分组发往b,因为a预期的最短路径通过链路w,而此时a的距离向量还未完全反映w权重大量上升这一事实;

毒性逆转——路由选择环路问题的解决方案
对涉及两个节点的路由选择环路问题可通过毒性逆转技术解决;
若节点a通过节点b到达节点c,则节点a将虚假但善意地告诉b:a到c的距离是无穷大,从而避免环路问题;
毒性逆转技术对涉及到三个或更多节点的选择环路问题无能为力;

LS与DV路由选择算法对比

LS算法中,每个节点a经广播通告所有节点:a与a邻居的链路权重;
DV算法中,每个节点a仅与a的邻居节点交流,通告邻居:a到所有其它节点的最低费用估计;

LS要求发送大量报文以通告整个网络的情况;
DV收敛速度较慢,且有路由选择环路问题;
LS每个路由器的计算是隔离的,相对健壮;
DV中,一个损坏的路由器会将错误信息扩散至全网;

DV,LS各有所长,都在因特网中得到应用,并且,LS和DV基本上是因特网实践中仅有的两种算法。

层次路由选择

简单模型
在简单模型中,将所有互联网路由器都视为等价的,整个网络拓扑视为一个图结构;
简单模型的缺陷在于:

  • 规模,随规模膨胀,图迅速扩大,在整个因特网上运行路由选择算法不可行;
  • 自治,某些组织希望按自己的意愿管理组织内部的路由器和网络结构;

自洽系统(Autonomous System,AS)
将相关联的路由器组织进自洽系统AS,每个AS通常属于同一组织(公司,ISP),统一管理AS内的路由器,使用相同路由选择算法;

网关
每个AS内的一组路由器作为网关,与其它AS互联;

自洽系统内部路由选择协议

一个AS内的路由选择算法;

自洽系统间路由选择协议

从相邻AS获得可达的AS信息并将该信息传播给该AS内的所有路由器;
因特网中所有AS都运行相同的自洽系统间路由选择协议,即BGP4协议;

热土豆路由选择

AS尽可能快(经济)地丢掉(转发)分组;
考虑AS A内的路由器L,试图将一个分组转发到AS C内的情况:
AS A通过自洽系统间路由选择协议得知可以通过AS A的邻居AS B1,AS B2到达AS C,
并将该信息告知A内每一台路由器,如L;
现在,L必须在经过B1到达C和经过B2到达C的两条路径中做选择;
根据热土豆路由选择策略,L会(通过自洽系统内部路由选择协议)考察L到A-B1网关的费用和L到A-B2网关的费用,选择费用(时间,金融费用)较低的那条,并将分组发往相应网关;
亦即,热土豆路由选择策略会使得分组尽快地离开当前AS;

因特网服务运营商ISP与自洽系统AS

一般的,一个ISP中的路由器和互联路由器的链路组成了单个AS;
但同时,许多ISP将它们管理的网络划分为多个AS;

因特网中的路由选择

因特网自洽系统内路由选择

AS内部路由选择协议
又称内部网关协议;
AS内部路由选择协议用于确定在一个AS内执行路由选择的方式;
历史上有两个被广泛用于因特网自洽系统内部的路由选择协议:RIP和OSPF

路由选择信息协议(Routing Information Protocol,RIP)

被广泛用于因特网AS内部路由选择;
常被设置于下层ISP和企业网中;
RIP协议使用距离向量算法,并使用跳数作为费用测度,即每条链路的费用视为1;

沿着源路由器到目的子网的最短路径所经过的子网数量(包括目的子网);

一条路径的最大费用被限制为15,故RIP的使用限制在网络直径不超过15跳的自洽系统内;

RIP响应报文
又称RIP通告;
在邻接路由器间交换路由选择信息(距离向量)的报文;
约30秒互相交换一次;
报文包括该AS内多达25个目的子网的列表和发送方到其中每个子网的距离(估计费用);

路由选择表
RIP表;
每台路由器维护自身的路由选择表;
包括该路由器的距离向量和该路由器的转发表;
表中每一项有三个字段,分别是目的子网,沿最短路径的下一跳路由器标识,沿最短路径到目的子网的跳数;
原则上,AS内的每个子网都在该转发表中有一个表项,事实上,可以用路由聚合技术聚会表项(例如,a.b.c.x和a.b.b.y可以聚和为a.b.c前缀)

RIP实现细节
RIP路由器约每30秒交换一次报文,若某路由器超过180秒没有从某邻居收到报文,则会认为该邻居不再可达(死机,链路中断),路由器会相应更新本地路由选择表并通过其它邻居该信息;

路由器可通过RIP请求报文,请求其邻居到指定地点的费用;

路由器在端口520通过UDP发送RIP请求与响应报文,即RIP使用位于网络层协议IP之上的运输层协议UDP来实现网络层功能;

开放最短路优先(Open Shortest Path First,OSPF)

被广泛用于因特网AS内部路由选择;
常被设置于上层ISP中;
OSPF和协议IS-IS密切相关;

Open 意指该协议规范公众可用;

OSPF的核心是一个使用洪泛链路状态信息的链路状态协议和一个Dijkstra最低费用路径算法;
每台路由器构建一幅关于整个自洽系统的完整拓扑图;
路由器在本地运行Dijkstra算法,确定一个以自身为根节点的到达所有子网的最短路径树;
各条链路的费用由网络管理员配置;

路由器向自洽系统内的所有其它路由器广播路由选择信息;
每当链路状态变化时,路由器广播链路状态信息;
每隔一定时间(如30分钟),路由器广播链路状态信息;

OSPF报文直接由IP报文承载,其IP报文的上层协议字段置为89,OSPF必须自己实现可靠传输,状态广播等功能;

OSPF优点

  1. 安全 可鉴别OSPF路由器间的交换;鉴别技术使得仅有受信任的路由器能参与一个AS内的OSPF协议,故而可防止入侵者将恶意信息注入路由器转发表内;
  2. 多条可用路径 当到达目的地的多条路径费用相同时,OSPF允许使用多条路径;
  3. 对单播与多播路由选择的综合支持 多播OSPF提供对OSPF的简单扩展以便提供多播路由选择;
  4. 支持在单个路由选择域内的层次结构 OSPF具有按层次结构构造一个自洽系统的能力;

链路权重设置的实践原则
权值可以全部置为1以实现最少跳数路由选择;
权值可按链路容量的反比设置;

OSPF层次路由选择实现
一个OSPF自洽系统可配置为多个区域,每个区域运行自己的OSPF链路状态路由选择算法,一个区域内的每台路由器向该区域内的所有其它路由器广播其链路状态;
一个区域内,一台或多台区域边界路由器为流向该区域以外的分组提供路由选择;
一个AS内仅有一个OSPF区域被配置为主干区域,主干区域为AS内其它区域间的流量提供路由选择;
主干区域总包含AS内所有的区域边界路由器;
AS内的区域间路由选择,首先路由分组到一个区域边界路由器,再通过主干路由到位于目的区域的区域边界路由器,而后再利用到最终目的地;

因特网自洽系统间路由选择

自洽系统间路由选择关注跨越多个AS的源和目的地对间确定路径的方法;

边界网关协议(Broder Gateway Protocol,BGP)

BGP4是当前因特网中域间路由选择的事实标准;

BGP为每个AS提供以下服务:

  1. 从相邻AS处获得子网可达性信息;
  2. 向本AS内部的所有路由器传播可达性信息;
  3. 基于可达性信息和AS策略,确定到达子网的优路由;

BGP使得每个子网向因特网的其它部分通过自身的存在 ,即确保因特网中的所有AS了解该子网的存在即如何到达该子网;

BGP基础

BGP会话
用于BGP的TCP连接,路由器对使用179端口的半永久TCP连接以交换路由选择信息;
BGP会话是TCP连接,未必与实际的物理链路对应;

BGP对等方 位于一个BGP会话两端的两台路由器;
外部BGP会话(eBGP) 跨越两个AS的BGP会话;
内部BGP会话(iBGP) 同一AS内两路由器间的BGP会话;

BGP使得每个AS了解经过其相邻AS可达的目的地;
目的地不上主机IP,而是CDIR(无类别域间路由选择)化的前缀;
每个前缀代表一个子网或一个子网的集合;
BGP通过IP地址聚合,最长前缀匹配等技术生成,解析前缀;

路径属性及BGP路由

自洽系统号(Autonomous System Number,ASN)
BGP中,自洽系统由全局唯一的自洽系统号标识(桩AS无ASN);
AS号由ICANN地区注册机构分配;

桩AS
仅承载源地址或目的地址为本AS的流量,通常无ASN;

路由
路由是带有BGP属性的IP前缀;
BGP对等方通过BGP会话彼此通告路由;

路由属性

  • AS-PATH
    该属性包含前缀的通告已经通过的AS;
    当前缀传送到一个AS时,该AS将它的ASN添加到AS-PATH属性中;
    AS-PATH属性可以检测和防止循环通告;
    一台路由器若发现他的AS被包括在AS-PATH中,则它会拒绝该通告;
  • NEXT-HOP
    一个开始某AS-PATH的路由器接口;
    路由器使用该属性配置转发表;

输入策略
当网关路由器收到一条路由时,根据输入策略决定接收或过滤该路由;

BGP路由选择
BGP使用eBGP和iBGP发布路由;
某台路由器可能知道到达某一前缀的多条路由,路由器必须在可能的路由中选择一条;
消除规则
输入:到同一前缀的多条路由
输出:一条路由

  1. 本地偏好值,该值由AS的网络管理员设置;被配置了本地偏好的路由器,会选择本地偏好值最大的路由;若有多个最大值,进入下一步;
  2. 选择具有最短AS-PATH的路由;若有多个最短AS-PATH路由,进入下一步;
  3. 选择具有最靠近NEXT-HOP路由器的路由;最靠近指最低费用;若有多个最靠近路由器,进入下一步;
  4. 使用BGP标识符选择路由;
待续

路由选择策略,广播和多播;

获得因特网连通性

假定某新创建的机构,拥有一台向公众提供服务的web服务器,一台内部员工使用的电子邮件服务器,一台DNS服务器;
为使公众能访问该机构的web站点,员工能向全球的客户收发电子邮件,机构网络需获得因特网连通性;
与本地ISP签约
与一个本地ISP签订合同并与之连接,包括建立物理链接和获取IP地址;
该机构的一台网关路由器将于本地ISP相连;
本地ISP将为该机构提供一个IP地址范围;
该机构将在该IP地址范围内为web服务器,邮件服务器,DNS服务器,网关路由器等设备分配地址;

与因特网注册机构签约
与一个因特网注册机构签约以获取域名;
向注册机构注册DNS服务器的IP地址;
注册机构会把域名和DNS服务器IP地址放入顶级域名服务器的一个表项中,以便客户通过域名获得该机构DNS服务器的IP地址;
本机构将在DNS服务器中放入将web服务器名称映射为IP地址的表项,电子邮件服务器映射为IP地址的表项等;

2019-08-27 17:37:14 qq_41151659 阅读数 123

1、OSI七层模型

1.1 简介

七层模型,亦称OSI(Open System Interconnection)。参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为OSI参考模型或七层模型。
它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。

1.2 内容

OSI七层协议模型主要是:应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。
示意图如下:
在这里插入图片描述
背诵口诀:可以从下往上背每一层的第一个字,即:物数网传会表应

1.3 每层的作用

顺序为从下到上:

  • 物理层:通过媒介传输比特,确定机械及电气规范(比特Bit)
  • 数据链路层:将比特组装成帧和点到点的传递(帧Frame)
  • 网络层:负责数据包从源到宿的传递和网际互连(包PackeT)
  • 传输层:提供端到端的可靠报文传递和错误恢复(段Segment)
  • 会话层:建立、管理和终止会话(会话协议数据单元SPDU)
  • 表示层:对数据进行翻译、加密和压缩(表示协议数据单元PPDU)
  • 应用层:直接和应用程序接口并提供常见的网络应用服务(应用协议数据单元APDU)

1.4 每层的协议

物理层:RJ45、CLOCK、IEEE802.3
数据链路层:PPP、FR、HDLC、VLAN、MAC
网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP
传输层:TCP、UDP、SPX
会话层:NFS、SQL、NETBIOS、RPC
表示层:JPEG、MPEG、ASII
应用层:FTP、DNS、HTTP、SMTP、WWW、NFS、Telent

2、TCP/IP四层模型

2.1 简介

TCP/IP参考模型是计算机网络的祖父ARPANET和其后继的因特网使用的参考模型。ARPANET是由美国国防部DoD(U.S.Department of Defense)赞助的研究网络。逐渐地它通过租用的电话线连结了数百所大学和政府部门。当无线网络和卫星出现以后,现有的协议在和它们相连的时候出现了问题,所以需要一种新的参考体系结构。这个体系结构在它的两个主要协议出现以后,被称为TCP/IP参考模型(TCP/IP reference model)。

2.2 内容

TCP/IP是一组用于实现网络互连的通信协议。Internet网络体系结构以TCP/IP为核心。基于TCP/IP的参考模型将协议分成四个层次,它们分别是:网络访问层、网际互联层、传输层(主机到主机)、和应用层。
跟OSI模型的对比图如下:
在这里插入图片描述

2.3 每层的作用

  1. 应用层
    应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等.
  2. 运输层
    运输层对应于OSI参考模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP).
    TCP协议提供的是一种可靠的、通过“三次握手”来连接的数据传输服务;而UDP协议提供的则是不保证可靠的(并不是不可靠)、无连接的数据传输服务.
  3. 网际互联层
    网际互联层对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上的逻辑传输。注重重新赋予主机一个IP地址来完成对主机的寻址,它还负责数据包在多种网络中的路由。该层有三个主要协议:网际协议(IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。
    IP协议是网际互联层最重要的协议,它提供的是一个可靠、无连接的数据报传递服务。
  4. 网络接入层(即主机-网络层)
    网络接入层与OSI参考模型中的物理层和数据链路层相对应。它负责监视数据在主机和网络之间的交换。事实上,TCP/IP本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行连接。地址解析协议(ARP)工作在此层,即OSI参考模型的数据链路层。

2.4 与OSI模型的比较

2.4.1 共同点

  1. OSI参考模型和TCP/IP参考模型都采用了层次结构的概念。
  2. 都能够提供面向连接和无连接两种通信服务机制。

2.4.2 不同点

  1. OSI采用的七层模型,而TCP/IP是四层结构。
  2. TCP/IP参考模型的网络接口层实际上并没有真正的定义,只是一些概念性的描述。而OSI参考模型不仅分了两层,而且每一层的功能都很详尽,甚至在数据链路层又分出一个介质访问子层,专门解决局域网的共享介质问题。
  3. OSI模型是在协议开发前设计的,具有通用性。TCP/IP是先有协议集然后建立模型,不适用于非TCP/IP网络。
  4. OSI参考模型与TCP/IP参考模型的传输层功能基本相似,都是负责为用户提供真正的端对端的通信服务,也对高层屏蔽了底层网络的实现细节。所不同的是TCP/IP参考模型的传输层是建立在网络互联层基础之上的,而网络互联层只提供无连接的网络服务,所以面向连接的功能完全在TCP协议中实现,当然TCP/IP的传输层还提供无连接的服务,如UDP;相反OSI参考模型的传输层是建立在网络层基础之上的,网络层既提供面向连接的服务,又提供无连接的服务,但传输层只提供面向连接的服务。
  5. OSI参考模型的抽象能力高,适合与描述各种网络;而TCP/IP是先有了协议,才制定TCP/IP模型的。
  6. OSI参考模型的概念划分清晰,但过于复杂;而TCP/IP参考模型在服务、接口和协议的 区别上不清楚,功能描述和实现细节混在一起。
  7. TCP/IP参考模型的网络接口层并不是真正的一层;OSI参考模型的缺点是层次过多,划分意义不大但增加了复杂性。
  8. OSI参考模型虽然被看好,由于没把握好时机,技术不成熟,实现困难;相反,TCP/IP参考模型虽然有许多不尽人意的地方,但还是比较成功的。

3、五层协议

3.1 简介

五层协议只是OSI和TCP/IP的综合,实际应用还是TCP/IP的四层结构。为了方便可以把下两层称为网络接口层。

3.2 内容

五层体系结构包括:应用层、运输层、网络层、数据链路层和物理层。
三种体系架构的对应图如下所示:
在这里插入图片描述
对应的网络协议如下所示:
在这里插入图片描述

3.3 每层的作用

  1. 第五层——应用层(application layer)
    应用层(application layer):是体系结构中的最高。直接为用户的应用进程(例如电子邮件、文件传输和终端仿真)提供服务。
    在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议,DNS,POP3,SNMP,Telnet等等。
  2. 第四层——运输层(transport layer)
    运输层(transport layer):负责向两个主机中进程之间的通信提供服务。由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能
    复用,就是多个应用层进程可同时使用下面运输层的服务。
    分用,就是把收到的信息分别交付给上面应用层中相应的进程。
    运输层主要使用以下两种协议:
    (1) 传输控制协议TCP(Transmission Control Protocol):面向连接的,数据传输的单位是报文段,能够提供可靠的交付。
    (2) 用户数据包协议UDP(User Datagram Protocol):无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付”。
  3. 第三层——网络层(network layer)
    网络层(network layer)主要包括以下两个任务:
    (1) 负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报。
    (2) 选中合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。
    协议:IP,ICMP,IGMP,ARP,RARP
  4. 第二层——数据链路层(data link layer)
    数据链路层(data link layer):常简称为链路层,我们知道,两个主机之间的数据传输,总是在一段一段的链路上传送的,也就是说,在两个相邻结点之间传送数据是直接传送的(点对点),这时就需要使用专门的链路层的协议。
    在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点之间的链路上“透明”地传送帧中的数据。
    每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。典型的帧长是几百字节到一千多字节。
    注:”透明”是一个很重要的术语。它表示,某一个实际存在的事物看起来却好像不存在一样。”在数据链路层透明传送数据”表示无力什么样的比特组合的数据都能够通过这个数据链路层。因此,对所传送的数据来说,这些数据就“看不见”数据链路层。或者说,数据链路层对这些数据来说是透明的。
    (1)在接收数据时,控制信息使接收端能知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。
    (2)控制信息还使接收端能检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续传送下去白白浪费网络资源。如需改正错误,就由运输层的TCP协议来完成。
  5. 第一层——物理层(physical layer)
    物理层(physical layer):在物理层上所传数据的单位是比特。物理层的任务就是透明地传送比特流。

计算机网络

阅读数 207

计算机网络 物理层笔记

博文 来自: fengzhongdezhi
没有更多推荐了,返回首页