最近在阅读TCP/IP方面的东西,下面是一些简单的总结介绍,首先介绍一些概念:html
TCP/IP协议模型:TCP/IP模型是一系列网络协议的总称,这些协议的目的,就是使计算机之间能够进行信息交换。所谓"协议"能够理解成机器之间交谈的语言,每一种协议都有本身的目的。TCP/IP模型一共包括几百种协议,对互联网上交换信息的各个方面都作了规定。TCP/IP协议与OSI相对应web
互联网地址(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多个协议的定义,通常咱们须要学习的也就十多个。windows
端口号:注意,这个号码是用在TCP,UDP上的一个逻辑号码,并非一个硬件端口,咱们平时说把某某端口封掉了,也只是在IP层次把带有这个号码的IP包给过滤掉了而已。端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个16比特的数。服务进程一般使用一个固定的端口,例如,SMTP使用2五、Xwindows使用6000。这些端口号是‘广为人知’的,由于在创建与特定的主机或服务的链接时,须要这些地址和目的地址进行通信。服务器
应用编程接口:如今经常使用的编程接口有socket和TLI。而前面的有时候也叫作“Berkeley socket”,可见Berkeley对于网络的发展有多大的贡献。网络
OSI系统参考模型和TCP/IP系统对比:socket
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... |
具体以下图所示:tcp
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