OSI七层模型和TCP/IP五层模型详解
OSI是一个开放性的通信系统互连参考模型,他是一个定义得非常好的协议规范。OSI模型有7层结构,每层都可以有几个子层。 OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 ;其中高层(即7、6、5、4层)定义了应用程序的功能,下面3层(即3、2、1层)主要面向通过网络的端到端的数据流。
数据链路层又分为2个子层:逻辑链路控制子层(LLC)和媒体访问控制子层(MAC)。
MAC子层处理CSMA/CD算法、数据出错校验、成帧等;LLC子层定义了一些字段使上次协议能共享数据链路层。 在实际使用中,LLC子层并非必需的。
<7>物理层
在每一层都工作着不同的设备,比如我们常用的交换机就工作在数据链路层的,一般的路由器是工作在网络层的
在每一层实现的协议也各不同,即每一层的服务也不同.下图列出了每层主要的协议。其中每层中具体的协议,我会在后面的逐一学习
<1>应用层
应用层是我们经常接触使用的部分,比如常用的http协议、ftp协议(文件传输协议)、snmp(网络管理协议)、telnet (远程登录协议 )、smtp(简单邮件传输协议)、dns(域名解析),这次主要是面向用户的交互的。这里的应用层集成了osi分层模型中 的应用、会话、表示层三层的功能。
<2>传输层
传输层的作用就是将应用层的数据进行传输转运。比如我们常说的tcp(可靠的传输控制协议)、udp(用户数据报协议)。传输单位为报文段。
tcp(Transmission Control Protocol)面向连接(先要和对方确定连接、传输结束需要断开连接,类似打电话)、复杂可靠的、有很好的重传和查错机制。一般用与高速、可靠的通信服务
udp(user datagram protocol面向无连接(无需确认对方是否存在,类似寄包裹)、简单高效、没有重传机制。一般用于即时通讯、广播通信等
<3>网络层
网络层用来处理网络中流动的数据包,数据包为最小的传递单位,比如我们常用的ip协议、icmp协议、arp协议(通过分析ip地址得出物理mac地址)。
<4>数据链路层
数据链路层一般用来处理连接硬件的部分,包括控制网卡、硬件相关的设备驱动等。传输单位数据帧。
<5>物理层
物理层一般为负责数据传输的硬件,比如我们了解的双绞线电缆、无线、光纤等。比特流光电等信号发送接收数据。
最新文章
- No-args constructor for class X does not exist. Register an InstanceCreator with Gson for this type to fix this problem.
- Eclipse安装ZooKeeper插件
- 一张图看懂git push
- MFC与C#连接MYSQL乱码问题
- [Android]ListFragment.setEmptyText() 抛 java.lang.IllegalStateException
- angular router-ui
- mongodb 2.6 window 安装启动服务
- ie浏览器兼容性快速处理小招
- (转)Tomcat的目录结构
- 国外程序员整理的 C++ 资源大全
- dev checkedlistbox动态绑定数据
- linux学习初体验
- webstorm开发微信小程序
- java中几种常用的设计模式
- Visual Studio TFS Branching and Merging Guidance
- QDialog 使用Demo
- 使用Docker中国官方镜像的加速地址
- Django SimpleCMDB 项目
- [Arc081F]Flip and Rectangles
- VMware虚拟机安装linux7并设置网络