TCP/IP协议与OSI七层模型

  • TCP/IP协议
    • TCP分层
    • 细分TCP/IP协议族
    • TCP与UDP之间的区别
    • TCP三次握手
  • OSI七层模型
    • OSI七层模型以及各层作用
    • OSI 七层模型中每一层的协议数据单元
    • OSI 七层模型中每一层的相对应的主要设备
    • 数据的解封装
  • 总结
    • TCP/IP总结
    • OSI七层模型总结

TCP/IP协议

网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如 T C P / I P,是一组不同层次上的多个协议的组合。 T C P / I P通常被认为是一个四层协议系统,如图所示。

TCP分层

每一层负责不同的功能:

  1. 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。

  2. 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在T C P / I P协议族中,网络层协议包括 I P协议(网际协议),I C M P协议(I n t e r n e t互联网控制报文协议),以及I G M P协议(I n t e r n e t组管理协议)。

  3. 运输层主要为两台主机上的应用程序提供端到端的通信。在 T C P / I P协议族中,有两个互不相同的传输协议:T C P(传输控制协议)和U D P(用户数据报协议)。
    T C P为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。
    而另一方面,U D P则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。

  4. 应用层负责处理特定的应用程序细节。几乎各种不同的 T C P / I P实现都会提供下面这些通用的应用程序:
    • Telnet 远程登录。
    • FTP 文件传输协议。
    • SMTP 简单邮件传送协议。
    • SNMP 简单网络管理协议

细分TCP/IP协议族

在T C P / I P协议族中,有很多种协议。

T C P和U D P是两种最为著名的运输层协议,二者都使用 I P作为网络层协议。
虽然T C P使用不可靠的 I P服务,但它却提供一种可靠的运输层服务。

U D P为应用程序发送和接收数据报。一个数据报是指从发送方传输到接收方的一个信息单元(例如,发送方指定的一定字节数的信息)。但是与T C P不同的是,U D P是不可靠的,它不能保证数据报能安全无误地到达最终目的。

I P是网络层上的主要协议,同时被 T C P和U D P使用。T C P和U D P的每组数据都通过端系统和每个中间路由器中的I P层在互联网中进行传输。

I C M P是I P协议的附属协议。I P层用它来与其他主机或路由器交换错误报文和其他重要信息。尽管I C M P主要被I P使用,但应用程序也有可能访问它。我们将分析两个流行的诊断工具,P i n g和Tr a c e r o u t e,它们都使用了I C M P。

I G M P是I n t e r n e t组管理协议。它用来把一个 U D P数据报多播到多个主机。A R P(地址解析协议)和R A R P(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换 I P层和网络接口层使用的地址。

TCP与UDP之间的区别

1.TCP 是面向连接的、可靠的传输协议,适用于对安全性和稳定性要求高的数据传输。
2.UDP 是面向无连接的,不可靠的传输协议。适用于网络负担重、对传输时延要求低的数据传输。

TCP三次握手

假设网络中两台机器分别是 客户端A、服务器B 之间建立 TCP 连接。

首先一次握手,客户端A建立传输控制模块 TCB(传输控制块的数据结构把发给不同设备的数据封装起来),发送SYN报文包( 报文段首部的同步位 SYN=1表示请求服务器B建立连接,以及一个序列号 seq=x表示数据段的序号),此时客户端A进入syn_send状态,等待服务器 B的确认。

第二次握手,当服务器B收到客户端A的syn报文包,需要给客户端发送ACK确认报文包,同时服务器B也要向客户端A发送一个SNY报文包,所以也就是向客户端发送SYN报文包加ACK报文包(同步位SYN=1表示同步位等于1代表收到了客户端A的请求,确认位ACK=1表示确认位为1代表服务器B同意建立连接,序列号seq=y 表示服务器B发送的数据段序号,确认号ack=x+1表示确认号,希望客户端A回复的报文序号为x+1),此时服务器B进入syn_rcvd的状态

第三次握手,客户端A收到SYN报文包加ACK报文包,向服务器B发送ACK确认包(确认位ACK=1表示服务器B同意连接,序列号seq=x+1表示数据段的序号+1,确认号ack=y+1表示在正式传输数据时,第一个包的序号为y+1),客户端A进入Established的状态待服务器B收到客户端A发送的ACK包,也会进入Established的状态,完成三次握手
(ack表示确认号,ACK表示确认位)

OSI七层模型

开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model),一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。定义于ISO/IEC 7498-1。

OSI七层模型以及各层作用

层次模型 作用
应用层 网络服务与最终用户的一个接口
表示层 数据的表示、压缩、格式化、加密
会话层 建立、管理、终止会话
传输层 定义传输数据的协议端口号,以及流量与差错校验
网络层 进行逻辑地址寻址,实现不同网络的路径选择
数据链路层 进行硬件地址寻址,差错校验等功能
物理层 建立、维护、断开物理连接

OSI 七层模型中每一层的协议数据单元

层次模型 数据单元
传输层 数据段
网络层 数据包
数据链路层 数据帧
物理层 比特流

OSI 七层模型中每一层的相对应的主要设备

层次模型 主要设备
传输层 防火墙
网络层 路由器
数据链路层 交换机
物理层 网卡

数据的解封装

当应用程序用 T C P传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程如图所示。T C P传给I P的数据单元称作 T C P报文段或简称为 T C P段(T C P s e g m e n t)。I P传给网络接口层的数据单元称作 I P数据报(IP datagram)。通过以太网传输的比特流称作帧(Fr a m e )。

如图中帧头和帧尾下面所标注的数字是典型以太网帧首部的字节长度。

以太网数据帧的物理特性是其长度必须在 4 6~1 5 0 0字节之间。

更准确地说,图中I P和网络接口层之间传送的数据单元应该是分组( p a c k e t)。分组既可以是一个I P数据报,也可以是I P数据报的一个片(f r a g m e n t)。

U D P数据与T C P数据基本一致。唯一的不同是 U D P传给I P的信息单元称作 U D P数据报(UDP datagram),而且U D P的首部长为8字节。

由于T C P、U D P、I C M P和I G M P都要向I P传送数据,因此I P必须在生成的I P首部中加入某种标识,以表明数据属于哪一层。为此, I P在首部中存入一个长度为8 b i t的数值,称作协议域。

许多应用程序都可以使用 T C P或U D P来传送数据。运输层协议在生成报文首部时要存入一个应用程序的标识符。 T C P和U D P都用一个1 6 b i t的端口号来表示不同的应用程序。T C P和U D P把源端口号和目的端口号分别存入报文首部中。

总结

TCP/IP总结

T C P / I P协议族分为四层:链路层、网络层、运输层和应用层,每一层各有不同的责任。在T C P / I P中,网络层和运输层之间的区别是最为关键的:网络层( I P)提供点到点的服务,而运输层(T C P和U D P)提供端到端的服务。

一个互联网是网络的网络。构造互联网的共同基石是路由器,它们在 I P层把网络连在一起。第一个字母大写的I n t e r n e t是指分布在世界各地的大型互联网,其中包括 1万多个网络和超过1 0 0万台主机。

在一个互联网上,每个接口都用 I P地址来标识,尽管用户习惯使用主机名而不是 I P地址。域名系统为主机名和 I P地址之间提供动态的映射。端口号用来标识互相通信的应用程序。服务器使用知名端口号,而客户使用临时设定的端口号。

OSI七层模型总结

TCP/IP协议与OSI七层模型相关推荐

  1. TCP/IP协议和OSI七层模型

    一.TCP/IP协议 标准TCP/IP协议是用于计算机通信的一组协议,通常被称为TCP/IP协议栈,以它为基础组建的互联网是目前国际上规模最大的计算机网络. 正因为互联网的广泛应用,使得TCP/IP成 ...

  2. Linux网络_从系统到网络(网络协议栈分层与功能,认识协议,OSI七层模型与TCPIP四层模型,网络通信流程(局域网,跨网络),MAC地址,IP地址)

    文章目录 1.网络在体系结构的位置与网络协议栈的层状结构 2.协议栈各层的功能 3.协议 4.OSI七层模型与TcpIp四层模型 5.网络通信的流程 局域网通信流程(以太网) MAC地址 跨网络通信 ...

  3. TCP/IP协议简述(OSI7层模型与TCP/IP协议)

    TCP/IP协议简述(OSI7层模型与TCP/IP协议) OSI7层模型与TCP/IP协议本身没有太直接的关联,从名字也不难看出.一个是作为标准体系.参考模型(这个参考模型中其实也是有一些具体协议的) ...

  4. 常用互联网协议之osi七层模型

    前言 互联网协议有很多,诸如具有代表性的IP.TCP.HTTP等."计算机网络体系结构"将这些网络协议进行了系统的归纳:TCP/IP就是这些协议的集合 osi及其七层模型 OSI由 ...

  5. tcp/ip四层和osi七层

    转载于:https://www.cnblogs.com/mountian-lion/p/6353819.html

  6. OSI七层模型TCP/IP五层模型

    目录 OSI七层模型 ​编辑 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 TCP/IP划分了四层网络模型 四层网络协议的作用 注:TCP/IP协议族 OSI七层模型 物理层 物理层是O ...

  7. OSI七层模型——会话层表示层应用层

    文章目录 OSI OSI简介 OSI之会话层功能 OSI之表示层功能 OSI之应用层功能 OSI OSI简介 TCP/IP是计算机最基本的一种网络通信协议,TCP/IP协议基于OSI七层模型的设计思想 ...

  8. TCP/IP OSI七层模型

    作者简介:一名在校云计算网络运维学生.每天分享网络运维的学习经验.和学习笔记.   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.OSI七层模型 1.什么是OSI七层 ...

  9. 【计算机网络】网络通信基础(IP地址,端口号,五元组,OSI七层模型,TCP/IP五层模型,封装和分用)

    目录 初识网络 网络通信基础 IP地址 端口号 认识网络协议 五元组 协议分层 封装和分用 初识网络 网络互连 随着时代发展,需要计算机之间相互通信,共享软件和数据,即多台计算机相互协同工作来完成某个 ...

最新文章

  1. 工资8000以下的程序员注意了:《零coding数据大屏实战宝典.pdf》
  2. 发现错误(Core Data 应用程序实践指南)
  3. Xshell更改命令提示符以及背景配色
  4. gdb set写text/code段错误的解决办法
  5. 因服务器升级维护 造成不便敬请谅解,《梦幻西游》2020年5月20日维护公告
  6. 字符串与指针,数组的关系与用途
  7. 2020.8.26广联达笔试第二题——魔法师四种元素平衡(Python)
  8. 多系统通讯-DotNetMQ
  9. sql优化基数和耗费_基数估计在SQL Server优化过程中的位置
  10. matlab2c使用c++实现matlab函数系列教程-save函数
  11. 霍夫变换 文本图片倾斜矫正 python实现
  12. MySQL工具【mysql 客户端连接工具】
  13. SAP中与物料BOM有关的表关联
  14. mysql 字符集 表情_MySQL字符集(表情包)
  15. python,人工智能,水果识别
  16. 线性代数1:向量、线性组合、张成的空间和基
  17. 【Demo】银行主数据的修改
  18. mysql安全性案例分析_MySQL实例crash的案例分析
  19. 买过的最离谱的东西---笑喷
  20. vue项目批量加载url文件并打包到zip下载

热门文章

  1. 探析我国中小企业融资难的成因和对策
  2. IOS- 即时通讯原理,使用XMPPFramework实现即时通信
  3. 特别行动队-斜率优化
  4. HTML常用标签及作用
  5. mybatis-结果集索引越界
  6. 2023-1-7作业
  7. 解决MySQL 5.6版的Function 'innodb' already exists错误
  8. 24年专转本想要成功我们一个怎样做
  9. 9月6号 网工学习 数字签名
  10. Java Web_JavaScript