首页 运维 网络学院 查看内容

用图说明白TCP/IP协议栈

2017-1-22 18:11 4104 0

摘要: 协议要想让两台计算机进行通信,必须使它们采用相同的信息交换规则。计算机网络中用于规定信息的格式以及如何发送和接收信息的一套规则称为网络协议(network protocol)或通信协(communication protocol),简称协 ...

协议

要想让两台计算机进行通信,必须使它们采用相同的信息交换规则。计算机网络中用于规定信息的格式以及如何发送和接收信息的一套规则称为网络协议(network protocol)或通信协(communication protocol),简称协议(Protocol)其实就是用来说明网络中传输的二进制数据具体含义和作用的上下文

网络协议三要素:

语法:即数据与控制信息的结构或格式

语义:即需要发出何种控制信息,完成何种动作以及做出何种响应

时序:即事件实现顺序的详细说明

PDU:Protocol Data Unit 协议数据单元

即协议对应的具体二进制数据

分层模型

为了减少网络协议设计的复杂性,网络设计者并不是设计一个单一、巨大的协议来为所有形式的通信规定完整的细节,而是采用把通信问题划分为许多个小问题,然后为每个小问题设计一个单独的协议的方法,这样做使得每个协议的设计、分析、编码和测试都比较容易。

分层模型(layering model)是一种用于开发网络协议的设计方法。本质上,分层模型描述了把通信问题分为几个小问题(称为层次)的方法,每个小问题对应于一层。

网络中同等层之间的通信规则就是该层使用的协议,如有关第N层的通信规则的集合,就是第N层的协议。

而同一计算机的不同功能层之间的通信规则称为接口( i n t e r f a c e),在第N层和第(N+ 1)层之间的接口称为N /(N+ 1)层接口。

总的来说,协议是不同机器同等层之间的通信约定,而接口是同一机器相邻层之间的通信约定。

分层的优势:

各层之间是独立的。下层对于上层而言是个黑匣子,上层不需要知道下层是如何实现的,只需要知道下层提供什么功能怎么使用功能。

灵活性好。当任何一层发生变化时,只要层间接口保持不变,则其它层不受影响。

结构上可分割开。各层都可以采用最合适的技术来实现。

易于实现和维护。使得实现和调试一个庞大而又复杂的系统变得易于处理。

能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明。

通常各层需要完成的功能包括以下一种或几种任务:

差错控制:使得通信更加可靠

流量控制:发送速率和接收速率基本同步

分段和重装:将数据分组发送,接收端再还原

复用和分用:复用底层连接,在接收端再进行分用

连接建立和释放:逻辑连接的建立和释放

TCP/IP

TCP:Transmission Control Protocol,传输控制协议

IP:Internet Protocol,因特网互联协议

这两个协议是因特网最核心的协议.因特网中传输层、网际层所有协议的统称,也叫TCP/IP协议族或TCP/IP协议栈,简称TCP/IP

注:协议栈——几个层次叠在一起很像一个栈结构

TCP/IP只有四层结构:

应用层:直接为用户的应用进程提供服务

运输层:负责两个主机中进程之间的通信

网际层:负责不同主机之间的通信

网络接口层:没有具体内容

计算机科学中为了研究方便一般采用5层协议模型研究TCP/IP

TCP/IP四层模型

TCP/IP原始模型与OSI七层模型

TCP/IP五层模型

应用层:直接为用户的应用进程提供服务

传输层:负责两个主机中进程之间的通信

网络层:负责不同主机之间的通信

数据链路层:负责相邻设备间的通信

物理层:负责传输比特流

网络体系结构对比:

TCP/IP数据组织

典型的C/S结构模型:

物理层

主要功能:研究怎样才能在连接计算机的传输媒体上传输比特流,而不是指具体的传输媒体。网络设备、传输媒体多种多样,通信方式也各自不同,物理层正是尽可能地屏蔽掉这些差异,而让上层数据链路层无须顾虑,专心完成自己的协议和服务。

物理层的协议也称为物理层规程

主要任务是确定与传输媒体的接口有关的一些特性。

机械特性:指明接口所用接线器的形状、尺寸、引脚数目等等。

电气特性:指明在接口电缆的各条线上出现的电压范围

功能特性:指明每条线上出现的某一电平的电压表示何种意义

过程特性:指明对于不同功能的各种可能事件的出现顺序

数据链路层

链路:即Link指从一个结点到相邻结点的一段物理线路,中间没有任何其他的交换结点

又称为物理链路。

数据链路:

即Data Link,又称逻辑链路

当需要通过一条线路传输数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制数据的传输。

把实现这些协议的硬件和软件加到链路上就构成了数据链路。数据链路的典型实现——网络适配器(俗称网卡)

网络层

网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。

网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。

如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的传输层负责(包括差错处理、流量控制等)。

网络层的协议:

网际协议 IP 是 TCP/IP 体系中最主要的协议之一,也是网络层的核心协议,与 IP 协议配套使用的还有四个协议:

地址解析协议 ARP(Address Resolution Protocol):根据IP地址获取物理地址

逆地址解析协议 RARP(Reverse Address Resolution Protocol):根据物理地址获取IP地址

网际控制报文协议 ICMP(Internet Control Message Protocol):用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用

网际组管理协议 IGMP(Internet Group Management Protocol):在ip主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。所谓组播:一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包

IP地址

就是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围唯一的32位的标识符(指在Internet核心网)

由因特网名字与号码指派公司ICANN (Internet Corporation for Assigned Names and Numbers)进行分配

ICANN对IP地址进行分类管理,每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。

IP 地址 ::= { <网络号>, <主机号>} 注: ::=代表定义为

路由器的工作方式:

传输层

从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务。

当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时,只有位于网络边缘部分的主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能

传输层为相互通信的应用进程提供端到端的逻辑通信

传输层的两个主要协议

用户数据报协议 UDP (User Datagram Protocol):提供面向无连接的服务。在传送数据之前不需要先建立连接。接收方的运输层在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式

传输控制协议 TCP (Transmission Control Protocol):提供面向连接的服务。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。

应用层

每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议。

应用层的许多协议都是基于客户服务器方式。客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务请求方,服务器是服务提供方。

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除
1

路过

雷人

握手

鲜花

鸡蛋

刚表态过的朋友 (1 人)

  • 路过

    匿名

最新评论

返回顶部