首页 > 代码库 > TCP/IP,HTTP,Socket初识
TCP/IP,HTTP,Socket初识
在大学时候学过网络通信这一块,奈何已经还给老师,苍天饶过谁,该拾起来看看学学的还是要学,先简单了解了下这方面的知识,后续会继续通过看书来充实这方面的知识。
手机能够联网是手机底层实现了TCP/IP协议,可以使手机通过无线网建立TCP连接,TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在无差别的网络之上。
建立起一个TCP连接需要经过“三次握手”
第一次:客户端发送syn包到服务器,等待服务端确认。
第二次:服务端收到syn包,确认客户的syn,同时发送一个自己的syn,即syn+ack包
第三次:客户收到服务器的syn+ack包,向服务器发送确认包ack,此包发送完毕完成三次握手。
握手过程中传送的包里不含数据,三次握手完毕才开始正式传输数据,TCP连接一旦建立,在通信双方任何一方主动关闭连接之前,TCP连接将一直保持下去,断开需要四次握手。
TCP/IP协议族(OSI七层协议模型和TCP/IP四层模型)
从上往下:
应用层:应用层决定了向用户提供应用服务时通信的活动,TCP/IP协议族内预存了各类应用服务,FTP文件传输协议,DNS域名系统协议,HTTP协议也位于该层
传输层:提供处于网络连接中的两台计算机之间的数据传输。TCP传输控制协议和UDP用户数据报协议。
网络层:用来处理网络上流动的数据包。数据包是网络传输的数据单位。
数据链路层:用来处理连接网络的硬件部分,包括操作系统,硬件的设备驱动,网络适配器等等
Socket介绍:
又称套接字,应用程序通过套接字向网络发出请求或者应答网络请求。
套接字是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,它是网络通信中端点的抽象表示,包含网络通信必须的信息:连接使用的协议,本地主机的IP,本地进程的协议端口,远程主机的IP,远地进程的协议端口。
应用层与传输层进行数据通信的时候,TCP可能会遇到同时为多个应用程序提供并发服务的问题。多个TCP连接或者多个应用程序进程可能需要同一个TCP协议端口传输数据,为了区分这些TCP连接或者应用程序,应用层和传输层通过socket接口来区别。
建立socket连接至少需要一对套接字,客户端clientSocket,服务端的serverSocket。套接字之间的连接过程分为三步:
1.服务器监听
2.客户端请求
3.连接确认
常说的Socket实际上就是对TCP/IP协议的封装,socket本身并不是一个协议,只是一个调用接口
TCP/IP,HTTP,Socket初识
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。