TCP/IP与OSI

最近在阅读TCP/IP方面的东西,下面是一些简单的总结介绍,首先介绍一些概念:

TCP/IP协议模型:TCP/IP模型是一系列网络协议的总称,这些协议的目的,就是使计算机之间可以进行信息交换。所谓"协议"可以理解成机器之间交谈的语言,每一种协议都有自己的目的。TCP/IP模型一共包括几百种协议,对互联网上交换信息的各个方面都做了规定。TCP/IP协议与OSI相对应

互联网地址(IP):网络上每一个节点都必须有一个独立的Internet地址(也叫做IP地址),IP地址是网络号+主机号的组合。现在,通常使用的IP地址是一个32bit的数字,也就是我们常说的IPv4标准,这32bit的数字分成四组,也就是常见的255.255.255.255的样式。IPv4标准上,地址被分为五类,具体分类和参考http://blog.csdn.net/panjunnn/article/details/5653388,我们常用的是B类地址。

域名系统:域名系统是一个分布的数据库,它提供将主机名(网址)转换成IP地址的服务。

RFC:RFC是tcp/ip协议的标准文档,现在它一共有4000多个协议的定义,一般我们需要学习的也就十多个。

端口号:注意,这个号码是用在TCP,UDP上的一个逻辑号码,并不是一个硬件端口,我们平时说把某某端口封掉了,也只是在IP层次把带有这个号码的IP包给过滤掉了而已。端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进程通常使用一个固定的端口,例如,SMTP使用25、Xwindows使用6000。这些端口号是‘广为人知’的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯。

应用编程接口:现在常用的编程接口有socket和TLI。而前面的有时候也叫做“Berkeley socket”,可见Berkeley对于网络的发展有多大的贡献。

OSI系统参考模型和TCP/IP系统对比:

OSI七层模型 TCP/IP四层模型 对应网络协议
应用层(Application) 应用层 TELNET,FTP,TFTP,SMTP,HTTP,DNS...
表示层(Presentation) 文本:ASCII,EBCDIC 图形:TIFF,JPEG,GIF,PICT 声音:MIDI,MPEG,QUICKTIME...
会话层(Session) NFS,SQL,RPC,ASP,SCP...
传输层(Transport) 传输层 TCP,UDP...
网络层(Network) 网际层 IP,ICMP,ARP,RARP,AKP
数据链路层(Data Link) 网络接口 SDLC,HDLC,PPP,STP,帧中继..
物理层(Physical) EIA/TIA RS-232,V.35...

具体如下图所示:

OSI各层功能详解:参见博客http://blog.csdn.net/htyurencaotang/article/details/11473015

(1)物理层:

提供建立、维护和拆除物理链路所需的机械、电气、功能和规程的特性;提供有关在传输介质上传输非结构的位流及物理链路故障检测指示。在这一层,数据还没有被组织,仅作为原始的位流或电气电压处理,单位是比特。

(2)数据链路层

 负责在两个相邻结点间的线路上,无差错地传送以帧为单位的数据,并进行流量控制。每一帧包括一定数量的数据和一些必要的控制信息。与物理层相似,数据链路层要负责建立、维持和释放数据链路的连接。在传送数据时,如 果接收点检测到所传数据中有差错,就要通知发方重发这一帧。

(3)网络层

 为传输层实体提供端到端的交换网络数据传送功能,使得传输层摆脱路由选择、交换方式、拥挤控制等网络传输 细节;可以为传输层实体建立、维持和拆除一条或多条通信路径;对网络传输中发生的不可恢复的差错予以报告。 网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息——源站点和目的站点 地址的网络地址。

(4)传输层

 为会话层实体提供透明、可靠的数据传输服务,保证端到端的数据完整性;选择网络层的最适宜的服务;提供建 立、维护和拆除传输连接功能。传输层根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间提供建立、维护和取消传输连接的功能,并以可靠和经济的方式传输数据。在这一层,信息的传送单位是报文。

(5)会话层

为彼此合作的表示层实体提供建立、维护和结束会话连接的功能;完成通信进程的逻辑名字与物理名字间的对应; 提供会话管理服务。

(6)表示层

为应用层进程提供能解释所交换信息含义的一组服务,即将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法,提供格式化的表示和转换数据服务。数据的压缩,解压缩,加密和解密等工作都由表示层负责。

(7)应用层

提供OSI用户服务,即确定进程之间通信的性质,以满足用户需要以及提供网络与用户应用软件之间的接口服务。

简而言之各层的作用为:

物理层:在物理媒体上传输原始的数据比特流。

数据链路层:将数据分成一个个数据帧,以数据帧为单位传输。有应有答,遇错重发。

网络层:将数据分成一定长度的分组,将分组穿过通信子网,从信源选择路径后传到信宿。

传输层:提供不具体网络的高效、经济、透明的端到端数据传输服务。

会话层:进程间的对话也称为会话,会话层管理不同主机上各进程间的对话。

表示层: 为应用层进程提供格式化的表示和转换数据服务。

应用层:提供应用程序访问OSI环境的手段。

相应的TCP/IP的各层功能可总结如下:

网络接口:负责建立电路连接,是整个网络的物理基础,典型的协议包括以太网、ADSL等等;

网际层:负责分配地址和传送二进制数据,主要协议是IP协议;

传输层:负责传送文本数据,主要协议是TCP协议;

应用层:负责传送各种最终形态的数据,是直接与用户打交道的层,典型协议是HTTP、FTP等。

常用协议及其端口号:

所在TCP/IP层 关键字 协议名 端口号
应用层 FTP 文件传输协议(TCP:ftp的数据传输) 20
HTTP 超文本传输协议(TCP:访问web网站) 80
DNS

域名服务器协议

(UDP:域名解析服务,客户端进行域名查询

TCP:Domain Name Server ,DNS服务器间域名复制)

53
SMTP 简单邮件传输协议(TCP:邮件的传输) 25
NFS 网络文件系统协议(文件共享TCP和UDP) 2049
传输层 TCP 控制传输协议

端口号一般用来区分一台主机的各种服务,

如web,ftp服务。使用端口号可以找到一

台设备中唯一的程序。所以如果需要和某

台计算机建立连接的话,只需要知道IP地址

或域名即可,但是如果想和该台计算机上的

某个程序交换数据的话,还必须知道该程序

使用的端口号。

 

UDP 用户数据报协议
网际层 IP 网际协议
ICMP 网际控制消息协议
ARP 地址解析协议
RARP 反向地址解析协议
网络接口 HDLC 高级链路控制协议
PPP 点对点协议
SLIP 串行线路接口协议

参考博客:http://www.ruanyifeng.com/blog/2009/03/tcp-ip_model.html

             http://blog.csdn.net/htyurencaotang/article/details/11473015

posted @ 2015-09-21 16:19  菜鸟小童  阅读(425)  评论(0编辑  收藏  举报