一、计算机网络的两种模型

在计算机网络里,有两种常见的参考模型即:OSI参考模型和TCP/IP参考模型。TCP本身是传输层的协议, 而TCP/IP是一种网络参考模型。

1. OSI七层参考模型

主要是用来清晰的了解网络结构的分层。这一模型和相关的协议并没有被使用, 但它具有普遍的意义就是对于讨论网络的体系结构中的每一层的功能。它将服务,接口和协议的概念区分开来。每一层的接口都告诉它上面的进程如何访问本层。而且每层用到的对等协议是本层自己内部的事情,不影响上层。它同时支持面向连接和无连接的通信,但是传输层只支持面向连接的通信。

2. TCP/IP 模型:

分为四层协议,分别为链路层,网络层,传输层,应用层。它对服务,接口和协议没有明确的区分,下图也是人们对它进行了改进,使它更像OSI。它的网络层只支持一种面向无连接的服务, 但传输层同时支持TCP(面向连接)和UDP(面向无连接)两种通信模式。

二、TCP和UDP的区别和联系

1. 从理论看区别

TCP是面向连接的,在传输数据前必须建立连接,传输完成后必须关闭连接。且连接建立需要经过3次握手, 连接断开需要4次挥手。连接方式是点对点的, 无法做到多播。

UDP面向无连接,当一端需要发送报文时, 通过UDP套接字发送报文,UDP不保证有序, 不保证一定被接收端收到,且没有拥塞的控制。

2. 从编码上区别

二、TCP和IP的区别和联系

1. TCP协议

传输控制协议(Transmission Control Protocal),是一种基于IP协议的传输层协议。主要特点是3次握手建立连接,4次挥手断开连接。

2. IP协议

因特网协议(Internet Protocol),位于网络层,IP协议规定了数据传输时的基本单元(数据包)和格式,IP协议还定义了数据包的递交办法和路由选择。

总结:整个网络中的传输流程是,IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层—TCP层;相反,IP层也把从TCP接收来的数据包传送到更低层。也就是,IP提供基本的数据传送,而高层的TCP对这些数据包做进一步加工,如提供端口号等等。

三、HTTP和socket

1. HTTP协议

HTTP协议是应用层协议,HTTP协议是hypertexttransferprotocol(超文本传输协议)的简写。它是建立在TCP/IP协议之上的一种应用协议。

用于定义WEB浏览器和服务器之间交换数据的过程,客户端连上web服务器后,若想获得web服务器中的某个资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通讯的格式。

2. socket

套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。

创建Socket连接时,可以指定使用的传输层协议,Socket可以支持不同的传输层协议(TCP或UDP)。

3. 区分

Socket只是操作系统提供给应用程序进行网络通信的抽象API。Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。Socket连接中,点对点的两方是平等的,服务器也可以主动直接将数据传送给客户端。就是所谓的长连接,理论上客户端和服务器端一旦建立起连接,在通信双方中的任何一方主动关闭连接之前,不会主动断掉。

HTTP是基于TCP的应用层协议。大部分情况下,一次HTTP请求的完成经过了建立TCP链接->客户端发送报文->服务端返回报文->服务端或客户端关闭此连接这个过程,由于每次都要建立连接,并在完成一次请求响应后关闭连接,所以大家称为“短连接”。若双方建立的是HTTP连接,则服务器需要等到客户端发送一次请求后才能将数据传回给客户端,因此,客户端定时向服务器端发送连接请求,不仅可以保持在线,同时也是在“询问”服务器是否有新的数据,如果有就将数据传给客户端。

HTTP是轿车,提供了封装或者显示数据的形式,是一种格式;socket是发动机,提供了网络通信的能力,是一套接口。

转载于:https://www.cnblogs.com/kikis/p/10710959.html

TCP和UDP和IP和HTTP和socket相关推荐

  1. TCP、UDP及IP协议总结

    TCP协议常见知识 TCP协议特点 和 首部格式 源端口(Source Port),目标端口(Destination Port) 各2字节 源端口号,标识主机上发起传送的应用程序:目的端口标识主机上传 ...

  2. 关于网络编程中MTU、TCP、UDP、IP

    名词解释: MTU(Maxium Transmission Unit)最大传输单元 TCP (Transmission Control Protocal)传输控制协议 UDP (Usage Datag ...

  3. TCP、UDP、IP 协议分析

    http://blog.chinaunix.net/uid-26833883-id-3627644.html 互连网早期的时候,主机间的互连使用的是NCP协议.这种协议本身有很多缺陷,如:不能互连不同 ...

  4. TCP、UDP、IP头部结构

    数据传输在TCP/IP网络模型中,经过一层便会添加一层头部,其中TCP(网络传输协议),UDP处于传输层,IP(网间协议)处于网络层. 数据进入协议栈的封装过程 TCP/IP协议族 TCP 传输控制协 ...

  5. Linux网络知识详解以及demo(Centos6、7)——OSI、TCP、UDP、IP、子网掩码/划分、网关、路由、广播、虚拟网络、网卡、交换机、DNS、ARP

    ip地址:网络通讯标识信息 子网掩码:在局域网中可以有多少个主机 网关:从一个局域网到另一个局域网的必经之路 网络号:主机位全为0 广播地址:主机位全为1 子网掩码:网络位全为1,主机位全为0 虚拟软 ...

  6. TCP、UDP、IP、以太网报文格式以及重要字段详解

    TCP报文格式: ​ ​ 源端口号和目的端口号: ​ 用于寻找发端和收端应用进程.这两个值加上ip首部源端ip地址和目的端ip地址唯一确定一个tcp连接. ​ 序号字段: ​ 序号用来标识从T C P ...

  7. TCP、UDP、IP 协议分析(转)

    http://blog.chinaunix.net/uid-26833883-id-3627644.html

  8. JavaSE(十四)——网络编程(IP地址、端口号、TCP、UDP)

    文章目录 1. 概述 2. InetAddress类 3. 端口 4. TCP协议 4.1 传输消息 4.2 文件上传 5. UDP协议 6. TCP与UDP区别 7. URL 8. 下载资源 9. ...

  9. http协议相关内容,C/S与B/S,ip报文,TCP,UDP

    目录 HTTP技术架构 HTTP协议功能 工作原理 HTTP协议的主要组成部分 HTTP协议 Status C/S与B/S的比较: 服务器与Web服务器的差别 浏览器与客户端的差别 浏览器与Web服务 ...

最新文章

  1. soc 设计soc设计 uml实务手册_采用 USB4 技术升级 SoC 设计
  2. python统计窗口函数怎么处理_python时间序列:移动窗口函数前篇
  3. TensorFlow 1.2正式发布,新增Python 3.6支持
  4. 多个Activity关闭问题
  5. IOS开发基础之socket的使用
  6. android动画之布局动画,Android动画--布局动画 LayoutAnimation
  7. 微信小程序框架探究和解析
  8. 联想服务器没有安装iis组件,win10没有iis怎么安装_手把手教你安装iis的详细步骤...
  9. 8.声卡驱动02-自己实现alsa驱动-虚拟声卡-匹配
  10. springboot+cxf框架 WebService
  11. msvcr71.dll等dll丢失的解决方法
  12. 数据可视化--实验四:地理数据可视化
  13. 【数据库考试】考研复试必备数据库试题
  14. 基于pytorch卷积人脸表情识别--毕业设计
  15. python自然语言学习之处理原始文本中3.1访问2554文本《罪与罚》出现问题解决
  16. 脚本之家电子书下载:https://www.jb51.net/books/
  17. 深度学习、目标检测相关博客链接
  18. css 文本属性 文本两端对齐 单行文本间距 首行缩进
  19. ArcGIS二次开发基础教程(01):打开mxd文件,添加(.shp),(.lyr),(.mdb),(.tif;.img)等多种类型数据
  20. 学习笔记(1):Java面试:核心考点突击大串讲-JavaSE开胃面试题介绍

热门文章

  1. hdu 5100 n*n棋盘放k*1长方条最多覆盖面积
  2. 大型电子商务网站架构之--分布式可扩展数据库架构
  3. 将图片序列压缩成视频
  4. css背景渐变的技巧与方法
  5. CentOS 终端显示中文异常解决办法
  6. 微软的日历控件为什么从1753年开始?Sqlserver数据库不能插入1753年之前的数据?...
  7. 一个时代的结束:微软盖茨的人生掠影(组图)
  8. 深度学习指南:基于Ubuntu从头开始搭建环境
  9. 使用OpenGL Shader实现放大镜效果
  10. 洛谷P4199 万径人踪灭(manacher+FFT)