网络学习之OSI七层协议和TCP协议
OSI七层简单介绍
- 应用层:提供操作系统和应用程序的接口
- 表示层:表示数据如何加密、如何压缩的
- 会话层:将不同应用程序数据分离
- 传输层:提供可靠和不可靠的数据传输和重传、纠错的功能
- 网络层:提供IP地址,通过IP地址路由器能选择数据从哪一条路径走是最优的
- 数据链路层:将数据分组拆分成字节,合并成数据帧
- 物理层:在设备与设备之间传输比特流
OSI七层详解
应用层
作用:用户可以通过应用程序和操作系统通信
协议:HTTP、SMTP、FTP、Telnet
表示层
作用:数据以何种方式表示,由于计算机只识别0和1,比如我们想存储word文档和图片、视频之类的数据,就需要表示层对数据进行转码让计算机识别
会话层:
作用:负责表示层实体之间的建立、管理和终止会话,对不同类型的数据进行分离(比如QQ和YY的数据进行分离),它提供了单工、半双工、全双工
单工:
半双工:我发数据给你,等我发完 你才能发数据给我
全双工:你即可以发数据给我,我也可以发数据给你
传输层:
作用:提供可靠和不可靠的数据传输和重传、纠错的功能
TCP
UDP
网络层:
作用:提供IP地址,通过IP地址路由器能选择数据从哪一条路径走是最优的
数据链路层:
物理层:将数据转换成比特流通过网线传输出去
TCP三次握手建立连接和四次握手断开连接
1.主机A发送SYN同步报文给主机B,这是主机A进入SYNsend状态等待主机B确认
2.主机B收到SYN同步报文后,发送ACK确认报文给主机A
3.主机A收到主机B发来的ACK确认报文后,主机A再发送一个ACK确认报文给主机B
4.这时TCP三次握手建立连接成功
1.主机A发送一个FIN结束报文给主机B,用来关闭主机A到主机B的连接
2.主机B收到这个FIN结束报文后,然后发送给主机A一个ACK确认报文
3.主机B再发送一个FIN结束报文给主机A,用来关闭与主机A的连接
4.主机A发送一个ACK确认报文给主机B
5.这是TCP四次握手断开连接
TIME_WAIT状态原理
如图四次握手断开连接
通信双方建立TCP连接后,主动关闭连接的一方就会进入TIME_WAIT状态
主机A主动关闭连接时,会发送最后一个ACK确认报文给主机B,然后就会进入TIME_WAIT状态,在等待两个MSL时间,进入closed状态
MSL时间是什么
MSL就是maximum segment lifetime(最大分节生命期),这是一个IP数据包能在互联网上生存的最长时间,超过这个时间IP数据包将在网络中消失 。MSL在RFC 1122上建议是2分钟,而源自berkeley的TCP实现传统上使用30秒。
网络学习之OSI七层协议和TCP协议的更多相关文章
- 计算机网络【1】—— OSI七层协议和TCP/IP四层协议
新开一贴,专门用来记录计算机网络相关知识. 一.OSI七层协议 物理层.数据链路层.网络层.传输层.会话层.表示层.应用层 二.TCP/IP四层协议 网络接口层.网际层.运输层.应用层 三.五层协议 ...
- OSI七层协议和TCP/IP四层协议
1. OSI七层和TCP/IP四层的关系 1.1 OSI引入了服务.接口.协议.分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型. 1.2 OSI先有模型,后有协议,先有标准,后进行 ...
- 网络基础:OSI 七层模型、TCP/IP 四层模型
1.Internet历史 1. 1968年由美国ARPA机构提出"资源共享计算机网络”,让ARPA的计算机互联起来,叫做阿帕网;2. 1974年,第一个TCP协议详细说明发布了.3. 一个 ...
- OSI 七层模型和 TCP/IP 协议比较
OSI (Open System Interconnection), 开放式系统互联参考模型.从下到上七层模型功能及其代表协议: 物理层(Physical) :规定了激活.维持.关闭通信端点之间的 ...
- OSI七层模型与TCP/IP五层模型-(转自钛白Logic)
OSI七层模型与TCP/IP五层模型 博主是搞是个FPGA的,一直没有真正的研究过以太网相关的技术,现在终于能静下心学习一下,希望自己能更深入的掌握这项最基本的通信接口技术.下面就开始 ...
- OSI 七层参考模型与 TCP/IP 四层协议
OSI 七层参考模型 OSI (Open System Interconnect,开放系统互连参考模型)是由 ISO(国际标准化组织)定义的,它是个灵活的.稳健的和可互操作的模型,并不是协议,常用来分 ...
- OSI七层模型及TCP/IP四层模型
1) OSI七层模型及TCP/IP四层模型 OSI七层模型:是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系.它是一个七层的.抽象的模型,不仅包括一系列抽象的术语或概念,也包 ...
- OSI七层模型对应的协议
osi七层模型对应的协议 author:headsen chen 2017-10-21 11:44:47 个人原创,转载请注明作者,出处.否则依法追究法律责任 1,物理层:带信号的,同轴电缆, ...
- OSI七层模型与TCP/IP四层模型
OSI七层模型与TCP/IP四层模型 OSI模型(Open System Interconnection Reference Model,缩写为OSI),全名“开放式系统互联通信参考模型”,是一个试图 ...
随机推荐
- xamarin 学习笔记01-环境配置
1.安装AndroidSDK 参考 2.安装NDK NDK下载地址:http://dl.google.com/android/ndk/android-ndk-r10e-windows-x86_64.e ...
- 微信小程序中的图形验证码
可以在utils中新建一个mcaptcha.js 代码如下: module.exports = class Mcaptcha { constructor(options) { this.options ...
- jQuery 返回顶部效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- jvm中的内存溢出与内存泄露
内存溢出: 就是我们通常遇到的OutOfMemoryError异常,它俗理解就是内存不够,通常在运行大型程序时发生,当程序所需要的内存远远超出了JVM内存所承受大小,就会报出OutOfMemoryEr ...
- CAD参数绘制线型标注(com接口)
主要用到函数说明: _DMxDrawX::DrawDimRotated 绘制一个线型标注.详细说明如下: 参数 说明 DOUBLE dExtLine1PointX 输入第一条界线的起始点X值 DOUB ...
- java混淆工具Jocky和Proguard
java混淆工具有很多种,这里介绍Jocky和Proguard 一:Jocky是金蝶中间件技术领袖袁红岗先生的个人作品(旧有名称JOC).原本是方便Apusic 应用服务器的开发,现在开放出来,供大家 ...
- [Python3网络爬虫开发实战] 6.3-Ajax结果提取
这里仍然以微博为例,接下来用Python来模拟这些Ajax请求,把我发过的微博爬取下来. 1. 分析请求 打开Ajax的XHR过滤器,然后一直滑动页面以加载新的微博内容.可以看到,会不断有Ajax请求 ...
- 零基础入门学习Python(13)--元组:戴上了枷锁的列表
前言 这节课我们讨论主题是元祖:我们有个小标题戴上了枷锁的列表 我们都知道早在300多年前,孟德斯鸠在变法的时候说过,一切拥有权力的人都容易被滥用权力,这是万古不变的一条经验.但是呢,凡是拥有大权利的 ...
- Oracle 数据库实例启动关闭过程
Oracle数据库实例的启动,严格来说应该是实例的启动,数据库仅仅是在实例启动后进行装载.Oracle数据启动的过程被划分为 几个不同的步骤,在不同的启动过程中,我们可以对其实现不同的操作,系统修复等 ...
- Python 3安装体验篇(win10)
一.下载 1.打开官网https://www.python.org/downloads/windows/,点击Python 3版本链接 2.点击win10 64位安装链接,即可下载Python安装 二 ...