网络互联模型
- 1977 年,国际标准化组织为适应网络标准化发展的需求,制定了开放系统互联参考模型(Open System Interconnection/Reference Model,OSI/RM),从而形成了网络架构的国际标准。OSI/RM 构造了由下到上的七层模型,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。口诀:“巫术忘传会飚鹰”。
- 互联网协议(Internet Protocol Suite)是一个网络通信模型,以及一整个网络传输协议家族,为互联网的基础通信架构。它常被通称为TCP/IP协议族(英语:TCP/IP Protocol Suite,或TCP/IP Protocols),简称TCP/IP。因为该协议家族的两个核心协议:TCP(传输控制协议)和IP(网际协议),为该家族中最早通过的标准。
- TCP/IP提供点对点的链接机制,将数据应该如何封装、定址、传输、路由以及在目的地如何接收,都加以标准化。它将软件通信过程抽象化为四个抽象层,采取协议堆栈的方式,分别实现出不同通信协议。协议族下的各种协议,依其功能不同,被分别归属到这四个层次结构之中,常被视为是简化的七层OSI模型。
层的名称 | 主要功能 | 详细说明 |
---|---|---|
应用层 | 处理网络应用 | 直接为端用户服务,提供各类应用过程的接口和用户接口。例如HTTP、Tenlent、FTP、SMTP、NFS等 |
表示层 | 数据表示 | 使应用层可以根据其服务解释数据的涵义。通常包括数据编码的约定、本地句法的转换。例如JPEG、ASCII、GIF、DES、MPEG等 |
会话层 | 互连主机通信 | 负责管理远程用户或进程间的通信,通常包括通信控制、检查点设置、重建中断的传输链路、名字查找和安全验证服务。例如:RPC、SQL等 |
传输层 | 端到端连接 | 实现发送端和接收端的端到端的数据分组传送,负责保证实现数据包无差错、按顺序、无丢失和无冗余的传输。其服务访问点为端口。代表性协议有TCP、UDP、SPX等 |
网络层 | 分组传输和路由选择 | 通过网络连接交换传输层实体发出的数据,解决路由器选择、网络拥塞、异构网络互联的问题。服务访问点为逻辑地址(网络地址)。代表性协议有IP、IPX等 |
数据链路层 | 传输以帧为单位的信息 | 建立、维持和释放网络实体之间的数据链路,把流量控制合并在一起。为MAC(媒介访问层)和LLC(逻辑链路层)两个子层。服务访问点为物理地址(MAC地址)。代表性协议有IEEE802.3/.2、HDLC、PPP、ATM等 |
物理层 | 二进制为传输 | 通过一系列协议定义了通行设备的机械的、电气的、功能的、规程的特征。代表性协议有RS232、V.35、RJ-45、FDDI等 |
常见的网络协议
- 应用层协议
在应用层中,定义了很多面向应用的协议,应用程序通过本层协议利用网络完成数据交互的任务。这些协议主要有 FTP、TFTP、HTTP、SMTP、DHCP、Telnet、DNS 和 SNMP 等。
FTP(File TransportProtocol,文件传输协议)是网络上两台计算机传送文件的协议,运行在 TCP 之上,是通过 Internet 将文件从一台计算机传输到另一台计算机的一种途径。 FTP 的传输模式包括Bin(二进制)和 ASCII(文本文件)两种,除了文本文件之外,都应该使用二进制模式传输。FTP 在客户机和服务器之间需建立两条 TCP 连接,一条用于传送控制信息(使用 21 号端口),另一条用于传送文件内容(使用 20 号端口)。
TFTP(Trivial FileTransfer Protocol,简单文件传输协议)是用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。TFTP 建立在 UDP(User Datagram Protocol,用户数据报协议)之上,提供不可靠的数据流传输服务,不提供存取授权与认证机制,使用超时重传方式来保证数据的到达。
HTTP(Hypertext TransferProtocol,超文本传输协议)是用于从 WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。HTTP 建立在 TCP 之上,它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示等。 - 传输层协议
传输层主要有两个传输协议,分别是 TCP 和 UDP(User DatagramProtocol,用户数据报协议),这些协议负责提供流量控制、错误校验和排序服务。
TCP 是整个 TCP/IP 协议族中最重要的协议之一,它在 IP 协议提供的不可靠数据服务的基础上,采用了重发技术,为应用程序提供了一个可靠的、面向连接的、全双工的数据传输服务。TCP 协议一般用于传输数据量比较少,且对可靠性要求高的场合。
UDP 是一种不可靠的、无连接的协议,可以保证应用程序进程间的通信,与 TCP 相比,UDP 是一种无连接的协议,它的错误检测功能要弱得多。可以这样说,TCP 有助于提供可靠性,而 UDP 则有助于提高传输速率。UDP 协议一般用于传输数据量大,对可靠性要求不是很高,但要求速度快的场合。 - 网络层协议
网络层中的协议主要有 IP、ICMP(Internet Control Message Protocol,网际控制报文协议)、IGMP(Internet Group Management Protocol,网际组管理协议)、ARP(Address Resolution Protocol,地址解析协议)和RARP(Reverse Address Resolution Protocol,反向地址解析协议)等,这些协议处理信息的路由和主机地址解析。
IP 所提供的服务通常被认为是无连接的和不可靠的,它将差错检测和流量控制之类的服务授权给了其他的各层协议,这正是 TCP/IP 能够高效率工作的一个重要保证。网络层的功能主要由 IP 来提供,除了提供端到端的分组分发功能外,IP 还提供很多扩充功能。例如,为了克服数据链路层对帧大小的限制,网络层提供了数据分块和重组功能,这使得很大的 IP 数据包能以较小的分组在网络上传输。
IP地址及其表示方法
IP(IPV4)地址是一个32位的二进制数的逻辑地址,为了表示方便,将32位二进制数划分成4个字节,每个字节间以“.”区分。例如,IP地址11000000 10101000 11001000 10000000,用十进制表示就是192.168.200.128IP地址由两个部分组成,网络号+主机号
IP地址及其表示方法
子网与子网掩码
三级IP地址:网络号+子网号+主机号
子网掩码也是32位二进制数,网络与子网标识全为1,主机标识全部为0。
A类地址的子网掩码:255.0.0.0
B类地址的子网掩码:255.255.0.0
C类地址的子网掩码:255.255.255.0
将IP地址和其对应的子网掩码逐位进行“与”运算,可得到对应的子网的网络地址。
例如:某主机的IP地址为136.34.5.56,子网掩码为255.255.255.0。进行与运算后,得出该主机所在子网的网络号为136.34.5.0
因此路由器在相互之间交换信息的时候,除了要给出目的地址和下一跳地址外,还需要给出该目的网络的子网掩码。
例如:IP地址:131.1.123.24/27与IP地址:131.1.123.43/27是否在同一网段?
解析:/27代表前27位都是网络号,主机号是5位,因此将24与43 分别转换成二进制:
000 11000
001 01011
IPV4数据报
版本 | IP协议的版本。这里版本号为4 |
首部长度 | 可表示的最大数值是15个单位(4 字节为一个单位),60字节。 |
区分服务 | 不同优先级服务质量不同,只有在使用区分服务(DiffServ)时有效。 |
总长度 | 首部与数据之和的长度,最大长度为2^16-1=65535字节。 |
标识 | 唯一标识数据报的标识符。 |
标志 | DF:不分片位,MF:片未完位。 |
片偏移 | 指明该段处于原来数据报中的位置。 |
生存时间 | 记为TTL(Time To Live),指示数据报在网络中可通过的路由器的最大值。 |
协议 | 数据报携带的协议(TCP、UDP、IGMP等) |
首部检验和 | 只检验首部,不检验数据。采用16位二进制反码求和算法。 |
可选字段 | 可记录时间戳 ,通过路径,安全信息等。 |
填充 | 填充为4的倍数 。 |
IPv6
- 互联网络能发展到当前的规模,IPv4 协议的建立功不可没。但同时它的缺点也已经充分显现出来,如地址空间耗尽、路由表急剧膨胀、缺乏对 QoS 的支持、本身并不提供任何安全机制、移动性差等问题。尽管采用了许多新的机制来缓解这些问题,如 DHCP 技术、 NAT 技术、CIDR 技术等,但都不可避免地要引入其他新的问题,问题没有得到根本解决。于是 IETF 从 90 年代起就开始积极探讨下一代 IP 网络,经过几年努力,在广泛听取业界和专家意见的基础上,终于在 1995 年 12 月推出了下一代网络的 RFC 文档——IPv6 协议,该协议最早叫做下一代 IP(IP Next Generation,IPng)。现在它的全称是“互联网协议第 6 版”,即下一代的网际协议。
- 下一代IP地址,共128位,以16位为一段,共为8段,每段的16位转换为一个4位的十六进制数,没段之间用“:”分开。
例如,2001:0da8:d001:0001:0000:0000:0000:0001,还可以表示为:2001:da8:d001:1:0:0:0:1与2001:da8:d001:
1::1与IPv4比,IPv6的优势:
IPv6有更大的地址空间 |
IPv6使用更小的路由表 |
IPv6增加了组播支持与对流支持 |
IPv6加入了自动配置的支持 |
IPv6具有更高的安全性 |
IPv4/IPv6 过渡技术有:
- 双协议栈技术:双栈技术通过节点对 IPv4 和 IPv6 双协议栈的支 持,从而支持两种业务的共存。
- 隧道技术:隧道技术通过在 IPv4 网络中部署隧道,实现在 IPv4 网络上对 IPv6
业务的承载,保证业务的共存和过渡。具体的隧道技术包括: 6to4 隧道;6over4 隧道;ISATAP 隧道。 - NAT-PT 技术:NAT - PT 使用网关设备连接 IPv6 和 IPv4 网络。 当 IPv4 和
IPv6节点互相访问时,NAT - PT 网关实现两种协议的转换翻译 和地址的映射。
IPV6数据报
版本 | IP协议的版本。这里版本号为6。 |
流量分类 | 通信类型,相当于IPV4服务类型字段。 |
流标签 | 从源点到终点的一系列数据报,同一个流上的数据报标签相同,保证服务质量。 |
有效负载长度 | 除基本首部以外的字节数(所有扩展首部都算在有效负载内),最大值64KB |
下一头部 | 相当于IPV4的协议字段或可选字段。 |
跳数限制 | 用于检测路由循环,路由器在转发数据报时对这个字段减1,变成0丢弃该数据报。 |
IPv6 数据报的目的地址可以是以下三种基本类型地址之一 ∶
(1 )单播(( unicast ) ∶ 传统的点对点通信。
(2 )多播/ / 组播( multicast ) ∶ 一点对多点的通信。
(3 )任播( anycast ) ∶ 这是 IPv6 增加的一种类型。任播的目的站是一组
计算机,但数据报在交付时只交付其中的一个,通常是距离最近的一个。
TCP与UDP
在 TCP/IP 协议簇中有两个传输协议,即传输控制协议( Transmission Control Protocol , TCP )和用户数据报协议( User Datagram Protocol , UDP )。 TCP是面向连接的,而 UDP 是无连接的。
TCP
传输控制协议( Transmission Control Protocol , TCP ) 是一种 可靠的 、 面向连接 的字节流服务。
TCP 建立在无连接的 IP 基础之上,因此使用了 3 种机制实现面向连接的服务。
- 使用序号对数据报进行标记。这种方式便于 TCP 接收服务在向高层传递数据之前调整失序的数据包 。
- TCP 使用确认、校验和定时器系统提供可靠性。当接收者按照顺序识别出数据报未能到达或发生错误时,接收者将通知发送者;当接收者在特定时间没有
发送确认信息时,那么发送者就会认为发送的数据包并没有到达接收方,这时发送者就会考虑重传数据 。 - TCP 使用窗口机制调整数据流量。并且窗口的大小并不是固定的,而是会随着网络的情况进行调整。
UDP
用户数据报协议(User Datagram Protocol,UDP)是一种不可靠的、无连接的数据报服务。源主机在传送数据前不需要和目标主机建立连接。
-
UDP 是无连接的,发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延。
-
UDP 使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
-
UDP 是面向报文的。 UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。 UDP 一次交付一个完整的报文。
-
UDP 没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。很适合多媒体通信的要求。
-
UDP 支持一对一、一对多、多对一和多对多的交互通信。
-
UDP 的首部开销小,只有8 8 个字节,比 TCP 的 20