网络基础
一、传输技术
计算机网络就是利用各种各样的传输技术,实现主机之间的通信和信息的交换。
传输是对信息的作用和变化,使之跨洲越洋,并设法使信息尽量保持原样。从信息类型来讲,传输分为光信息传输和电信息传输;从传输技术本身的特征来讲,传输分为模拟信息传输和数据信息传输;从计算机网络的角度来看,分为广播和点到点传输。
二、网络模型
协议,在通信中,指双方为完成通信而预先作的一些关于控制方面的规定。
一台机器上的第n层与另一台机器上的第n层进行对话,对话的规则被称为第n层上的协议。
层和协议的结合称为网络体系结构。
某系统所使用的协议列表,每层一个协议,被称为协议栈。
协议分层的较低层次通常以硬件或固件的形式实现,以提高信息的处理速度。
计算机网络的某些关键问题在好几层的设计中都会实现:1. 每一层都需要识别发送方和接收广播机制;2. 所有的进程都应该能接受任意长的报文。
实体:每一层的活动元素通常被称为实体,实体可以是软件实体(如一个进程),也可以是硬件实体(如智能输入/输出芯片)。不同机器上同一层的实体叫对等实体。
服务和服务接入点:服务是服务接入点SAP(Service Access Point)提供给上层使用的。
协议数据单元:为了传递SDU(Service Data Unit),n层实体可能将SDU分成几段,每一段加上一个报头后就构造协议数据单元(PDU:Protocol Data Unit).
连接和非连接:面向连接的服务和面向无连接的服务。
因n层实体实现的服务为n+1层所利用,故n层被称为服务提供者,n+1层被称为服务用户。
开放系统互联参考模型(ISO/OSI RM),简称OSI模型,分为以下七层:
1. 根据不同层次的抽象分层;
2. 每层应当实现一个定义明确的功能;
3. 每层功能的选择应当有助于指定网络协议的国际标准;
4. 各层的边界的选择应当尽量减少跨过接口的通信量;
5. 层数应该足够多,以避免不同的功能混杂到同一层里。
物理层
物理层涉及到通信在信道上传递的原始比特流。物理层仅仅接收和传输比特流,而不关心它的结构和意义。
数据链路层
数据链路层的主要功能是加强物理层传输原始比特流的功能,使之对网络层显现为一条无错链路。
数据链路层要解决由于帧的破坏、丢失和重复而造成的问题,也要防止由于调整的发送方的数据把低速的接收方的数据“淹没”,即所谓的差错控制和流量控制。
网络层
网络层关系到子网的运行控制,其中一个关键问题是确定分组从源端到目的端如何选择路由。路由即可以选择网络中固定的静态路由表,也可以在每一次会话开始时决定,还可以根据当前网络的负载状况,调试灵活地为每一个分组决定路由。
在广播网络中,路由的选择很简单,因此网络层很弱,甚至不存在。
传输层
传输层的基本功能是从会话层接收数据,并在必要时把它分为较小的单元,传递给网络层,并确保到达对方的各段信息正确无误。传输层使会话层不受硬件技术的影响。
传输层也要决定向会话层,最终向用户提供什么样的服务。
传输层是真正从源到目的“端到端”的层。
会话层
会话层允许不同的机器上的用户建立会话关系。会话层允许进行类似传输层的普通数据传输,并提供了对某些应用有用的增强服务会话,也可用于远程登录分时系统或在两台机器间传递文件。
会话层的服务之一是管理会话。会话层允许信息同时进行双向传输,或任一时刻只能单向传输。
另一会话服务是同步。
表示层
表示层以下各层只关心可靠的传输比特流,而表示层关心的是所传输信息的语法和语义。
应用层
应用层包含大量人们普遍需要的协议,如文件传输。
三、TCP/IP网络
TCP/IP:Transmission Control Protocol/Internet Portocol。
TCP相当于OSI参考模型中的传输层的服务;IP提供网络层的服务。
网络层IP提供的是一种不可靠的服务,主要负责在主机间寻址,并为IP数据包设定路由。
TCP协议在不可靠的IP层上提供了一个可靠的面向连接的传输层。
TCP/IP是一个协议族,分为四层,从下到上分别为网络接口层、网络层、传输层和应用层:
底层网络(网络接口层)对应于ISO/OSI中的数据链路层和物理层。
IP层相当ISO/OSI中的网络层:
1. ICMP(Internet Control Message Protocol)是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文或其他重要信息;
2. ARP(Address Resolution Protocol,地址解析协议)和RARP(Reverse Address Resolution Portocol,逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层所使用的地址,其中,ARP将IP地址转化成网络接口层地址,RARP反之;
3. IP(Internet Portocol)是TCP/IP协议族中最为核心的协议,所有的TCP、UDP、ICMP数据都以IP数据报格式传输,IP提供不可靠、无连接的数据报传递服务。不可靠(unreliable)指的是它不能保证IP数据报能成功地到达目的地,无连接(connectionless)是指IP并不维护任何关于数据报的后续信息。每个数据报的处理是独立的,这也说明,IP数据报可以不按顺序传输。
传输层相当于ISO/OSI模型中的传输层:
1. 传输层主要为两台主机上的应用程序提供端到端的通信。
2. TCP(Transmission Control Protocol,传输控制协议)/UDP(User Datagram Portocol,用户数据报协议),TCP是面向连接的,它为两台主机提供高可靠性的数据通信,正因为此,应用层可以忽略这些细节。UDP是无连接的,它为应用层提供一种非常简单的服务,它只把称作数据包的分组从一台主机发送到另一台主机,但并不保证该数据包能到达另一端。
应用层相当于ISO/OSI模型中的应用层
1. 远程登录协议TELNET:使用户的终端可以很方便地接入远程分时系统;
2. 文件传输协议FTP(File Transfer Portocol):用于主机之间文件的交换;
3. 简单邮件传送协议SMTP(Simple Mail Transfer Portocol):电子邮件传输协议;
4. 域名服务DNS(Domain Name Service):提供URL名字到IP地址的转换。
IP地址采用点分十进制表示法(dotted decimal notation)。
多接口主要(如有两个以太网网卡)具有多个IP地址,每个接口对应一个IP地址,而且每个接口必须有一个IP地址,在某些操作系统中,一个接口还可以有多个IP地址。
域名系统(DNS)是一个分布的数据库,由它来提供IP地址和主机名之间的映射。
当应用程序用TCP协议传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络,其中每一层对收到的数据都要加一些首部信息(有时还增加一些尾部信息)。
TCP传给IP的数据单元称为TCP报文段或简称TCP段(TCP segment),IP传给底层网络的数据单元称作IP数据报(IP datagram),通过以太网传输的比特流称作帧(frame)。