1. 计算机网络体系结构
相互通信的两个计算机系统必须高度协调工作才行,而这种 “ 协调 ” 是相当复杂的。
• “ 协调 ” 衍生出网络体系结构
• 定义:层次结构和各层协议的集合
计算机网络是采用层次性的结构模型,将网络分为若干层次,每个层次负责不同的功能。
每一个层次中通信双方都要共同遵守相应的约定,我们将这个约定叫做协议。
各功能层之间,上一层向下一层提出服务的要求,下一层则完成上一层提出的要求。
物 理层
为它的上一层提供一个物理连接,以及它们的机械、电气、功能和过程特性
– 机械特性:主要定义物理连接的接插装置的形状和尺寸、引脚数量和排列、固定和锁定装置等等。
– 电气特性 :规定传输二进制位时,线路上信号的电压高低范围、阻抗匹配、传输速率和距离限制。
– 功能特性 :主要定义各条物理线路的功能(如某一电平表示何种意义)。
– 规程特性 :主要定义各条物理线路的工作规程和事件的时序关系
数 据链 路 层
在两个相邻结点间的线路上,无差错的传送以帧为单位的数据帧( FRAME )。
MAC 地址:
网 络层
选择合适的网间路由和交换结点,确保数据及时传送 。
IP 报文:
IP 地址 A , B , C , D , E 五类地址。
子网掩码:
传 输层
根据通信子网的特性最佳的利用网络资源,并以可靠和经济的方式,为两个端系统(也就是源站和目的站)的会话层之间,提供建立、维护和取消传输连接的功能,负责可靠地传输数据。
会 话层
提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制
表 示层
主要解决拥护信息的语法表示问题,数据的压缩和解压缩,加密和解密。
应 用层
多种协议 WEB 、 FTP 、 SMTP 。
2.TCP/IP 层次结构
在 TCP/IP 协议体系中, TCP 和 IP 是两个核心的协议 ,IP 协议是把数据包从一个地方传递到另一个地方 ,TCP 协议是对数据进行管理和校核,保证数据包的在传输过程中的正确性。
应用层
• 虚拟终端协议 TELNET
• 文件传输协议 FTP
• 电子邮件传输协议 SMTP
• 域名系统服务 DNS
• 网络新闻传输协议 NNTP
• HTTP 协议
传输层
• TCP
– 可靠的面向对象的连接
• 为了实现可靠性, TCP 采用确认与超时重传的机制
• 为实现顺序的报文流, TCP 采用滑动窗口机制
• 为保证数据的正确性, TCP 采用差错检验,报告等机制
• UDP
– 不可靠的传送
网络层及其以下各层又称为通信子网,只提供点到点通信,没有程序或进程的概念。而传输层实现的是
"
端到端
"
通信,引进网间进程通信概念,同时也要解决差错控制,流量控制,数据排序(报文排序),连接管理等问题,为此提供不同的服务方式:面向连接(虚电路)或无连接。
面向连接服务是电话系统服务模式的抽象,即每一次完整的数据传输都要经过建立连接,使用连接,终止连接的过程。在数据传输过程中,各数据分组不携带目的地址,而使用连接号(
connect ID
)。本质上,连接是一个管道,收发数据不但顺序一致,而且内容相同。
TCP
协议提供面向连接的虚电路。
无连接服务是邮政系统服务的抽象,每个分组都携带完整的目的地址,各分组在系统中独立传送。无连接服务不能保证分组的先后顺序,不进行分组出错的恢复与重传,不保证传输的可靠性。
UDP
协议提供无连接的数据报服务。
网际层
• IP 协议
• ARP 协议
Arp 命令
• ICMP 协议
Ping,tracert 命令
网络接口层
• 把 TCP/IP 包放入网络介质上并且从网络介质上接收 TCP/IP 包
应用层
应用层的任务:
应用层是原理体系结构中的最高层,因此应用层的任务不是为上层提供服务,而是为最终用户提供服务。每个应用层协议都是为了解决某一类应用问题,而问题的解决又是通过位于不同主机中的多个进程之间的通信和协同工作来完成的。
应用进程:为了解决具体的应用问题而彼此通信的进程就称为 “ 应用进程 ” 。而应用层的具体内容就是规定应用进程在通信时所遵循的协议。
应用层的重要特点:就是它的 " 可扩展性 " 。某个具体的应用层协议所提供的服务往往不能满足用户所有的需要,在此情况下,协议的制定者必须为用户提供对协议进行扩展的手段,使得用户可通过二次开发来满足自己的特殊需求。
3.TCP/IP 体系中应用进程的通信模式
TCP/IP 体系采用了 客户 - 服务器模式 使两个应用进程能够进行通信。
主要的特征:客户是主叫方,服务器是被叫方。
客户软件的特点 :
在进行通信时临时成为客户,但它也可在本地进行其他的计算。
被用户调用,在用户的 PC 机上运行,在打算通信时主动向远地服务器发起通信。
可与多个服务器进行通信。
不需要特殊的硬件和很复杂的操作系统
服务器软件的特点 :
是一种专门用来提供某种服务的程序,可同时处理多个远地客户的请求。
在共享计算机上运行。当系统启动时即自动调用,且不断地运行着。
被动地等待并接受来自多个客户的通信请求。
一般需要强大的硬件和高级的操作系统支持。
客户 - 服务器通信关系的建立
客户 - 服务器建立通信关系是客户首先发起连接建立请求,而服务器接受连接建立请求。客户与服务器的通信关系一旦建立,通信就可是双向的,客户和服务器都可以发送和接受信息。对于大多数的应用进程都是使用 TCP/IP 协议进行通信。