传输层

socket与http

南楼画角 提交于 2020-01-02 20:53:00
参考文档: http://blog.csdn.net/zeng622peng/article/details/5546384 1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一个TCP连接需要经过“三次握手”: 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求,断开过程需要经过“四次握手”(过程就不细写了,就是服务器和客户端交互,最终确定断开) 2、HTTP连接 HTTP协议即超文本传送协议

http webservice socket的区别

*爱你&永不变心* 提交于 2020-01-02 20:52:36
自我理解:   socket是传输层协议   http是应用层协议   webService是基于http协议对数据对象进行封装成SOAP协议(simple object /xml)(xml格式)的服务   例子:    socket: request请求:http://127.0.0.1:8080/gjj 参数可POST可GET    http: request请求:http://127.0.0.1:8080/gjj 参数可post可url (api接口服务)    webService: request请求:http://172.100.100.110:8000/trader/services/TraderService?wsdl 参数xml格式 (webService服务) webService的服务声明: 代码: ------------------------------------------------------------------------------------------------------------------------------ 1 数据传输方式 1.1 socket传输的定义和其特点 所谓socket通常也称作"套接字",实现服务器和客户端之间的物理连接,并进行数据传输,主要有udp和tcp两个协议。socket处于网络协议的传输层。

TCP UDP socket http webSocket 之间的关系

半腔热情 提交于 2020-01-02 20:43:38
---恢复内容开始--- OSI&TCP/IP模型 要弄清 tcp udp socket http websocket 之间的关系,首先要知道经典的 OSI 七层模型,与之对应的是 TCP/IP 的四层模型。 OSI 模型包括了七层,而 TCP/IP 模型只有四层。虽然它们具有功能相当的网络层、传输层和应用层,但其它层并不相同。   我们一般使用的网络数据传输由下而上共有七层,分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,也被依次称为 OSI 第一层、第二层、⋯⋯、 第七层。   TCP/IP 模型中没有专门的表示层和会话层,它将与这两层相关的表达、编码和会话控制等功能包含到了应用层中去完成。另外,TCP/IP 模型还将 OSI 的数据链路层和物理层包括到了一个网络访问层中。   OSI 模型在网络层支持无连接和面向连接的两种服务,而在传输层仅支持面向连接的服 务。TCP/IP 模型在互联网层则只支持无连接的一种服务,但在传输层支持面向连接和无连 接两种服务。   TCP/IP 由于有较少的层次,因而显得更简单,并且作为从因特网(INTERNET)上发展起来的协议,已经成了网络互连的事实标准。但是,目前还没有实际网络是建立在 OSI 七层模型基础上的,OSI 仅仅作为理论的参考模型被广泛使用。 从图中可以看出, tcp udp 工作在传输层, http

TCP/IP、Http、Socket的区别

若如初见. 提交于 2020-01-02 20:42:25
网络由下往上分为   物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。   通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层,   三者从本质上来说没有可比性,   socket则是对TCP/IP协议的封装和应用(程序员层面上)。   也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,   而HTTP是应用层协议,主要解决如何包装数据。   关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:   “我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容。   如果想要使传输的数据有意义,则必须使用到应用层协议。   应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。   WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”   而我们平时说的最多的socket是什么呢,实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API)。   通过Socket,我们才能使用TCP/IP协议。   实际上,Socket跟TCP/IP协议没有必然的联系。   Socket编程接口在设计的时候,就希望也能适应其他的网络协议。

TCP和Http和Socket區別

回眸只為那壹抹淺笑 提交于 2020-01-02 20:42:08
Today,A colleague ask me a question about the different between Webservice and Socket. i am also a little excursive. I search a good article and i think it can resolve my confuse. i share it in here. 相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过自己的浅显理解能对初学者有所帮助。 1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一个TCP连接需要经过“三次握手”: 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态

网络通讯

若如初见. 提交于 2020-01-01 13:02:16
首先应用软件的构架:1、C/S(client === server) 2、B/S(browser ===server)。在不同的计算机上 一个安装客户端 另一个安装服务端 通过网络来通讯 那什么是网络通讯呢?1、要完成通讯必须具备的条件:物理连接介质(网线,wifi,光纤),2、必须遵循相同的标准。 在计算机网络中同样需要具备以上两个条件,作为应用软件开发者,不需要关心第一步 重点是通讯的标准(通讯的协议) 网络协议:   open system interconnection   OSI七层模型 应用(表示和会话都属于应用层,应用层没有固定的协议 需要双方程序员商量) 表示 会话 传输(TCP/UDP port端口号 用于唯一标识一个应用程序) 网络(ip协议 找到一个唯一的局域网 再找到局域网的一台计算机) 数据链路层(以太网协议 发送二级制的格式 mac标识唯一一台计算机) 物理 (发送二进制) osi 七层协议 我们需要关注的是传输层的协议 ,但是像TCP这种协议原理还是很复杂的,为了简化这些复杂操作,在传输层之上封装了socket抽象层,就可以在完成网络通讯时直接使用socket封装好的功能 所以说学习网络编程 其实就是在学socket socket是什么???   socket翻译过来称为套接字 是对底层的 TCP、 IP、 UDP等网络协议进行封装

网络通讯

醉酒当歌 提交于 2020-01-01 13:02:00
文章来自于: https://www.cnblogs.com/onepixel/p/7092302.html        http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html 1.网络通讯协议:    TCP/IP:以其两个主要协议:传输控制协议(TCP)和网络互联协议(IP)而得名,实际上是一组协议;通俗而言:TCP负责发现传输的问,一有问题就发出信号,要求重新传输,直到所有数据安全的到达目的地。而IP是给因特网的每一台联网设备规定的IP IP 协议的网络层的主要协议,支持网络间互连的数据通信; TCP/IP协议模型从更实用的角度出发,形成了高效的四层体系结构,即物理链路层. IP(网络层)。传输层和应用层。 网络通信就好比送快递,商品外面的一层层包裹就是各种协议,协议包含了商品信息、收货地址、收件人、联系方式等,然后还需要配送车、配送站、快递员,商品才能最终到达用户手中。 1.链路层的主要工作就是 对电信号进行分组并形成具有特定意义的数据帧,然后以广播的形式通过物理介质发送给接收方。 2.网络层的主要工作是 定义网络地址,区分网段,子网内MAC寻址,对于不同子网的数据包进行路由。 3.传输层的主要工作是 定义端口,标识应用程序身份,实现端口到端口的通信

计算机网络(传输层)

送分小仙女□ 提交于 2019-12-30 02:48:23
概述 网络层时为主机之间提供逻辑通信 传输层向应用层提供进程间端到端的逻辑通信服务(U形通信路路线) 运输层向上层用户屏蔽了下面网络核心的细节,使应用进程看到的就是好像在两个运输层实体之间有一条端到端的逻辑通信通道。 传输的数据单位:运输协议数据单元TPDU 用户数据报协议UDP(User Datagram Protocol) 传送的数据单元是UDP数据报 无需建立连接 传输控制协议TCP(Transmission Control Protocol) 提供面向连接的服务,先建立连接在传输数据,最后释放连接 传输层端口 复用:应用层的所有应用进程都可以通过传输层在送到网络层 分用:传输层从IP层收到数据后,交付给指定的进程 前提:在本地计算机系统中的进程使用进程描述符标志运行在操作系统中的多个进程,而在互联网环境下,运行在应用层的各种应用进程不可以用进程标识符,因为不同计算机使用的操作系统千差万别,需要用统一的方式去使得不同操作系统的计算机应用可以通过互联网通信。 在运输层使用协议端口号(port)可以解决这个问题,通信的终点是应用程序进程,但我们把数据交给目的主机某个合适端口,剩下的交付过程交给TCP 区分,硬件端口是不同硬件设备进行交互的接口,软件端口是应用层的各种协议进程与运输实体之间进行层间交互的一种地址。 传输层收到IP层交上来的传输层报文

浅析 Nginx 网络事件

浪尽此生 提交于 2019-12-29 14:41:22
Nginx 是一个事件驱动的框架,所谓事件主要指的是网络事件,Nginx 每个网络连接会对应两个网络事件,一个读事件一个写事件。在深入了解 Nginx 各种原理及在极端场景下的一些错误场景处理时,需要首先理解什么是网络事件。 网络传输 好看的小说 www.shupu.org 接下来看上面这张图,比如主机 A 就是一台家里的笔记本电脑,那么主机 B 就是一台服务器,上面跑着 Nginx 服务。从主机 A 发送一个 HTTP 的 GET 请求到主机 B,这样的一个过程中主要经历了哪些事件?通过上图数据流部分可以看出: 应用层 里发送了一个 GET 请求 -> 到了 传输层 ,这一步主要在做一件事,就是浏览器打开了一个端口,在 windows 的任务管理器中可以看到这一点,他会把这个端口记下来以及把 Nginx 打开的端口比如 80 或者 443 也记到传输层 -> 然后在 网络层 会记下我们主机所在的 IP 和目标主机,也就是 Nginx 所在服务器公网 IP -> 到 链路层 以后 -> 经过 以太网 -> 到达家里的路由器( 网络层 ),家中的路由器会记录下所在运营商的一些下一段的 IP -> 通过 广域网 -> 跳转到主机 B 所在的机器中 -> 报文会经过 链路层 -> 网络层 -> 到 传输层 ,在传输层操作系统就知道是给那个打开了 80 或者 443 的进程

使用wireshark分析SSL/TLS

痴心易碎 提交于 2019-12-29 07:36:18
一、基本概念   SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。 TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握手协议。 SSL/TLS位于传输层和应用层之间,应用层数据不再直接传递给传输层,而是传递给SSL层,SSL层对从应用层收到的数据进行加密,并增加自己的SSL头。 1、不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。 (1) 窃听风险(eavesdropping):第三方可以获知通信内容。 (2) 篡改风险(tampering):第三方可以修改通信内容。 (3) 冒充风险(pretending):第三方可以冒充他人身份参与通信。 2、SSL/TLS协议是为了解决这三大风险而设计的,希望达到: (1) 所有信息都是加密传播,第三方无法窃听。 (2) 具有校验机制,一旦被篡改,通信双方会立刻发现。 (3) 配备身份证书,防止身份被冒充。 3、SSL/TLS协议的基本过程是这样的: (1)