网络七层协议、TCP/IP、UDP、HTTP、Socket 个人理解

2人阅读 评论(0) 收藏 举报

谈到任何联网的协议,我们就必须要谈到OSI(网络七层协议模型),必须遵循这个协议模型,我们的手机和电脑才可以联网通信,首先来看一下OSI

OSI

OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。

应用层

示例:TELNET,HTTP,FTP,NFS,SMTP等。

表示层

示例:加密,ASCII等。

会话层

示例:RPC,SQL等。

传输层

示例:TCP,UDP,SPX。

网络层

示例:IP,IPX等。

数据链路层

示例:ATM,FDDI等。

物理层

示例:Rj45,802.3等。

简单了解OSI之后我们来看一下我们手机与电脑通信,所能够使用的两种数据通信,一种是HTTP请求,一种是Socket通信,HTTP是属于短连接,适合新闻,订票信息等客户端发起请求,每一次请求结束,自动断开连接。而Socket是属于长连接,适合游戏,聊天等实时数据。

手机能够联网都是需要基于OSI协议模型,同时手机底层实现了TCP/IP协议。下面简单介绍一下TCP/IP协议

TCP/IP

建立起一个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连接的请求,断开过程需要经过“四次握手”(过程就不细写 了,就是服务器和客户端交互,最终确定断开)

同时Socket可以支持不同的传输层协议(UDP),那我们平时为什么不使用UDP呢,我们现在来看一下UDP与TCP的区别

TCP UDP

是否连接 面向连接 面向非连接

传输可靠性 可靠 不可靠

应用场合 传输大量数据 少量数据

速度 慢 快

顺便在片尾纠正一下我对于这些协议的理解。

1.我一直以为Http和Tcp是两种不同的,但是地位对等的协议,虽然知道TCP是传输层,而http是应用层今天学习了下,知道了 http是要基于TCP连接基础上的,简单的说,TCP就是单纯建立连接,不涉及任何我们需要请求的实际数据,简单的传输。http是用来收发数据,即实际应用上来的。

2.TCP是底层通讯协议,定义的是数据传输和连接方式的规范HTTP是应用层协议,定义的是传输数据的内容的规范HTTP协议中的数据是利用TCP协议传输的,所以支持HTTP也就一定支持TCP

3.HTTP支持的是www服务而TCP/IP是协议它是Internet国际互联网络的基础。TCP/IP是网络中使用的基本的通信协议。TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP是Internet协议族,而不单单是TCP和IP。

查看评论

浅谈TCP/UDP、IP 、Socket、HTTP

昨天在markdown重新整理了一下网络协议有关知识、再次更新 1.1 TCP/IP协议组 TCP/IP协议(传输控制协议)由网络层的IP协议和传输层的TCP协议组成 IP层负责...
  • u012439774
  • u012439774
  • 2016-12-14 11:02:45
  • 2085

网络七层协议和TCP/IP五层协议

[网络七层协议]                                    [TCP/IP 协议] 7.应用层:具体文字赋予动作能力,如HTTP,TELNET            ...
  • linda_sunO
  • linda_sunO
  • 2017-04-24 21:48:14
  • 550

TCP/IP、UDP、HTTP、websocket协议等网络相关

1.HTTP和WebSocket协议的区别: HTTP是无状态的短连接,就是经过一次一来一回的即断开连接。无法记录状态,所以引进session还有cookie弥补他无状态的缺陷。在HTTP上实现长连...
  • js8355081
  • js8355081
  • 2016-10-18 16:12:01
  • 919

HTTP、TCP、UDP,Socket,HTTPS(史上最强理解,没有之一)

TCP   HTTP   UDP三者的关系如下: TCP/IP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和...
  • WHB20081815
  • WHB20081815
  • 2017-03-28 19:45:40
  • 5187

android 网络编程--socket tcp/ip udp http之间的关系

网络通信协议概图: 
  • lanhuzi9999
  • lanhuzi9999
  • 2014-06-20 17:05:22
  • 13610

网络七层协议 五层模型 TCP连接 HTTP连接 socket套接字

socket(套接字)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程...
  • prl18353364833
  • prl18353364833
  • 2016-06-06 10:23:01
  • 7816

tcp/ip、http、udp等网络协议 区别

tcp和udp协议是传输协议,ip是网络层协议、http是应用层协议 TCP三次握手四次拜拜 三次握手:又叫建立连接协议 (1)客户 端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程...
  • yang3516793
  • yang3516793
  • 2016-07-27 10:08:20
  • 1877

TCP/IP、Http/Https、Socket理解学习

概述首先,WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。而我们平时说的最多的socket是什么呢,实际上socket是对TCP/IP协议的...
  • caonima0001112
  • caonima0001112
  • 2015-11-16 16:51:30
  • 1014

tcp ip http socket https 基本理解

网络七层:物数网传会表应.分别为物理层,数据链路层,网络层,传输层,会话层,表示层,应用层.其中,底层三层:物理层,数据链路层,网络层是网络工程师研究的对象,而其它四层,是用户面向和关心的问题.  ...
  • u011363981
  • u011363981
  • 2017-01-07 15:07:03
  • 677

OSI七层与TCP/IP五层网络架构,个人理解,通过一个http请求的全过程,分析在协议栈中的流转过程

OSI七层与TCP/IP五层网络架构,个人理解,通过一个http请求的全过程,分析在协议栈中的流转过程 例子: http://127.0.0.1:8080/testProject,客户pc机:A ...
  • Ideality_hunter
  • Ideality_hunter
  • 2017-08-30 16:55:04
  • 1040
    个人资料
    等级:
    访问量: 412
    积分: 190
    排名: 98万+
    文章分类
    文章存档