热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux下OSI七层模型与TCP/IP协议栈及每层结构详解

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

学习Linux,就算是像小编我这样的小萌新,也知道OSI模型。什么?!你不知道!!! 好吧,这篇秘籍拿走,不谢~~~

两个协议

1)OSI 协议模型(7层)国际协议    PDU:协议数据单元对等层次之间传递的数据单位

OSI协议(7层

国际协议

PDU

单位

功能

实例

7   应用层

application

message

为应用程序进程(例:mail、终端防伪)提供网络服务;提供用户访问界面

提供用户身份验证

HTTP

Telnet

6   表示层

presention

message

确保接受系统可以读出该数据

格式化数据;编码

构建数据、提供加密解密压缩解压缩

协商用于应用层的数据传输语法

ASCLL、EBCDIC

JPEG

5   会话层

session

消息

message

建立、管理和终止在应用程序之间的会话session

操作系统

应用读取

4   传输层

transport

数据网

segment

终端对终端;确保数据传输的可靠性

建立、维护和终止虚拟电路

通过错误检测和恢复

信息流控制来保障可靠性

TCP、UDP

3   网络层

network

数据包

packet/package

支持逻辑寻址和路径选择

路由选择

选择传递数据和路径选择

IP

2  数据链路层

data link

帧frame

MAC(物理)地址访问媒介、错误检测和修正

802.3/802.2

HDLC

1   物理层

physical

数据位

byte

二进制传输;为启动、维护和关闭物理链路定义了电器规范、机械规范、过程规范和功能规范

EIA/TIA-232

V.35

运作模型:

#

 

2TCP/IP 协议栈(4层),既是局域网又是互联网的默认主流协议

cat /etc/protocols  查询系统上存在的协议(linux)

 #

 

(3)相同点

  两者都是以协议栈的概念为基础

  协议栈中的协议彼此相互独立

  下层对上层提供服务,每层都有区分上层类型的标签

不同点

  OSI是先有模型;TCP/IP是先有协议,后有模型

  OSI适用于各种协议栈;TCP/IP只适用于TCP/IP网络

  层次数量不同

(4)每层有自己的结构,下面会详解,下表是个简例

数据链路层    帧

Internet   IP协议

传输层    TCP协议

应用层

目标mac

地址

源 mac

地址

源IP

地址

目标IP

地址

源端

目标端口

app

数据

date

 #

更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2017-11/148273p2.htm


推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
author-avatar
lingdong369
一个脱离低级趣味的高级动物。
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有