http socket tcp/ip 区别与联系


http://blog.csdn.net/fightper/article/details/9715913


关于,http socket tcp/ip 区别与联系.我们首先应该了解一些基础知识.


OSI:

是Open System Interconnect的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型。这个模型把网络通信的工作分为7层,分别是物理层数据链路层网络层传输层会话层表示层应用层

TCP/IP:

Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。

从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层网络层传输层应用层

与OSI功能相比:

应用层对应着OSI的 应用层  表示层 会话层
传输层对应着OSI的传输层
网络层对应着OSI的网络层
网络接口层对应着OSI的 数据链路层物理层 


socket:

通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。

SOCKET连接过程

根据连接启动的方式以及本地 套接字要连接的目标, 套接字之间的连接过程可以分为三个步骤: 服务器监听, 客户端请求,连接确认。
服务器监听:是 服务器套接字并不定位具体的 客户端 套接字,而是处于等待连接的状态,实时监控网络状态。
客户端请求:是指由 客户端套接字提出连接请求,要连接的目标是 服务器端的套接字。为此, 客户端套接字必须首先描述它要连接的 服务器的套接字,指出 服务器端套接字的 地址端口号,然后就向 服务器端套接字提出连接请求。
连接确认:是指当 服务器套接字监听到或者说接收到 客户端套接字的连接请求,它就响应 客户端套接字的请求,建立一个新的线程,把 服务器端套接字的描述发给 客户端,一旦客户端确认了此描述,连接就建立好了。而 服务器套接字继续处于 监听状态,继续接收其他 客户端套接字的连接请求。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------


我们平时说的最多的socket是什么呢,实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。 实际上,Socket跟TCP/IP协议没有必然的联系。Socket 编程接口在设计的时候,就希望也能适应其他的网络协议。所以说,Socket的出现只是使得程序员更方便地使用TCP/IP协议栈而已,是对TCP/IP协议的抽象,从而形成了我们知道的一些最基本的函数接口,比如create、 listen、connect、accept、send、read和write等等。网络有一段关于socket和TCP/IP协议关系的说法比较容易理 解:

“TCP/IP只是一个协议栈,就像操作 系统的运行机制一样,必须要具体实现,同时还要提供对外的操作接口。这个就像操作系统会提供标准的编程接口,比如win32编程接口一样,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。” 

 
“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如 果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”

实际上,传输层的TCP是基于网络层的IP协议的,而应用层的HTTP协议又是基于传输层的TCP协议的,而Socket本身不算是协议,就像上面所说,它只是提供了一个针对TCP或者UDP编程的接口。

参考:

http://baike.baidu.com/view/113948.htm

http://baike.baidu.com/view/13870.htm
http://baike.baidu.com/view/7649.htm?fromId=7729

http://www.cnblogs.com/riacool/archive/2010/12/14/1905404.html

http://www.2cto.com/net/201206/137852.html










  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值