网络学习之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),全名“开放式系统互联通信参考模型”,是一个试图 ...
随机推荐
- MySQL——sql注入
https://blog.csdn.net/lin_tuer/article/details/54809330 https://github.com/mysqljs/mysql#escaping-qu ...
- Android源码之陌陌源码
本源码是一个老版本的陌陌源码,翻了翻代码,发现有完整的登陆注册功能(基于本地)其余都是静态页面.有需要的朋友可以拿去研究一下.其中登陆账号是86930007密码为123456. 这个项目源码我也上 ...
- html5开发移动混合App系列1-开发环境搭建
最近公司准备开发门店收银系统,是基于IPAD的程序,决定采用基于 Ionic + Cordova + AngularJS技术混合开发模式. 准备 一台mac(安装了mac os的虚拟机也可以),nod ...
- swift 使用计算属性+结构管理内存
class GooClass { deinit { print("aaaaaaaa") } var str = "gooClass" } struct GooS ...
- CREATE TABLE - 定义一个新表
SYNOPSIS CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name ( { column_name data_ty ...
- 给SVN控制的项目添加忽略文件/文件夹
忽略目录其实有些像建立一个文件夹,但却不放入版本控制.如果不加入版本控制又会在svn status命令中显示出来,很不方便,所以可以设置本文件夹属性,让它既加入版本控制,又忽略其变化 未加入控制的文件 ...
- zabbix4.2学习笔记--新建用户组和用户
新建用户组 zabbix中管理机器是以用户组划分,这里新建一个只读用户群组和只读用户 新建用户组 点击 管理-用户组-创建用户群组,如下图 点击创建之后,有三列设置,分别是用户群组.权限和标签过滤器, ...
- Spring.Boot.1 -- 概览
Spring Boot 是如何简化Java 开发的 SpringBoot的一些重要特征 长久以来,Spring 框架作为Java应用开发的框架地位稳固.最近在云计算.大数据.无结构数据持续化.函数式反 ...
- MapReduce实例——查询缺失扑克牌
问题: 解决: 首先分为两个过程,Map过程将<=10的牌去掉,然后只针对于>10的牌进行分类,Reduce过程,将Map传过来的键值对进行统计,然后计算出少于3张牌的的花色 1.代码 1 ...
- 实现基于pam认证的vsftpd
1 需求 使用指定虚拟用户Allen与Barry登录ftp,认证的源是mysql服务器: Allen可以上传文件,Barry不可以上传文件: 2 环境 [root@centos7 ~]# cat /e ...