OSI/ISO七层模型和TCP/IP四层模型

网络层协议和IP划分

OSI的七层框架

物理层:设备之间的比特流的传输、物理接口、电气特性等。

数据链路层:成帧、用MAC地址访问媒介、错误检测与修正。

网络层:提供逻辑地址、选路。

传输层:可靠与不可靠的传输、传输前的错误检测、流量控。

会话层:对应用会话的管理、同步。

表示层:数据的表现形式、特定功能的实现(如:加密)。

应用层:用户接口。

TCP/IP协议4层模型

应用层:应用层对应于OSI模型的高层,为用户提供所需的各种服务。

传输层:传输层对应OSI参考模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送以及数据的完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据协议(UDP),

网络互联层:网络互联层对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上的逻辑传输。该层有三个主要协议:网络协议(IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。

网络接口层:网络接入层与OSI参考模型中的物理层和数据链路层相对应。它负责监视数据在主机和网络之间的交换。事实上,TCP/IP本身并未定义该层的协议,而由参与互联的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行连接。地址解析(ARP)工作在此层,即OSI参考模型的数据链路层。

TCP/IP模型与OSI模型对应

netstat –a  查看端口

数据封装过程

TCP/IP模型与OSI模型的比较:

共同点:

OSI参考模型和TCO/IP参考模型都采用了层次结构的概念;都能够提供面向连接和无连接的通信机制。

不同点:

TCP/IP是四层模型,OSI是七层模型;对可靠性要求不同;OSI模型是在协议开发前设计的,具有通用性,TCP/IP是先有协议集然后建立的模型,不适用于非TCP/IP网络;实际是市场应用不同(OSI模型只是理论上的模型,并没有成熟的产品,二TCP/IP已经成为“实际上的国际化标准”)。

网络层协议和IP地址划分

网络层协议:

网络协议(IP)

互联网控制报文协议(ICMP)

IP包头

IP地址的分类

私有IP地址,内网IP地址不用购买,可以重复,但在同一个网段内不能重复;内网IP不能直接访问公网。

子网掩码

变长子网掩码以及子网规则

子网掩码的二进制必须是连续的1,否则就不能用。

网络地址:IP地址与子网掩码做与运算

ICMP协议

ICMP消息通过IP数据报传送,被用来发送错误和控制信息。

ICMP定义了很多信息类型,如:目的不可达、TTL超时、信息请求、信息应答、地址请求、地址应答

Linux系统学习 五、网络基础—网络通信协议的更多相关文章

  1. Linux系统常用升级的基础包

    Linux系统常用升级的基础包 yum -y install lrzsz gcc gcc-c++ make flex autoconf automake vixie-cron libjpeg libj ...

  2. Linux系统学习笔记:文件I/O

    Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...

  3. Linux系统学习 三、网络基础—虚拟机网络配置

    Linux网络基础 Linux的ip地址配置 Linux网络配置文件 常用网络命令 虚拟机网络参数配置 1.配置Linux的IP地址 首先配置一个IP地址,让IP生效. ifconfig查看当前网络配 ...

  4. Linux 系统下10个查看网络与监听的命令

    下面列出来的10个基础的每个linux用户都应该知道的网络和监控命令.网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslook ...

  5. Linux 系统应用编程——进程基础

    一.Linux下多任务机制的介绍 Linux有一特性是多任务,多任务处理是指用户可以在同一时间内运行多个应用程序,每个正在执行的应用程序被称为一个任务. 多任务操作系统使用某种调度(shedule)策 ...

  6. 网工的Linux系统学习历程

    偶遇篇作为一名通过思科CCNP认证的网络工程师,专注于网络技术.但在日常的工作中,难免不接触到服务器,对于大多数服务器来说,鉴于稳定性等因素的考虑,基本使用的都是Linux系统,包括RHEL.Cent ...

  7. 老司机浅谈linux系统学习技巧

    Linux起源于20世纪70年代,是一种优秀的操作系统系统.初次接触到linux这个系统是在大学期间,这样才发现除了windows外的另外一个有趣系统.开始抱着好奇的心态去了解,随着深入学习,笔者被它 ...

  8. 说一说本人对linux系统学习的方法和经验

    摘要: 相信大伙都听说过linux系统,然而对于这个系统,总使让新手感觉茫然,诺达的系统.下面是一段百度中的介绍: 相信大伙都听说过linux系统,然而对于这个系统,总使让新手感觉茫然,诺达的系统.下 ...

  9. Linux 系统学习梳理_【All】

    第一部分---基础学习 00.Linux操作系统各版本ISO镜像下载 00.Linux系统下安装Vmware(虚拟机) 00.Linux 系统安装[Redhat] 00.Linux 系统安装[Cent ...

随机推荐

  1. Android OkHttp + Retrofit 断点续传

    本文链接 前面我们已经知道如何使用OkHttp+Retrofit下载文件. 下载文件时,可能会遇到一些意外情况,比如网络错误或是用户暂停了下载. 再次启动下载,如果又要从头开始,会白白浪费前面下载好的 ...

  2. U8隐藏的配置项

    数据表:accinformation 我使用了一个是否自动审核库存生成的单据,看看是否能解决调拨单自动生成的其他出入库单自动审核的功能.

  3. EntityFramework中实体类到表名的批量映射

    在使用EntityFramework做CodeFirst开发时,经常需要将实体类映射到数据库表,但是C#实体类和数据库表中的命名遵循的是不同的规范,这就需要为每个实体类做一个到数据库表名的映射.大多情 ...

  4. Python中:dict(或对象)与json之间的互相转化

    在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作. 在Python中自带json库.通过import json导入. 在json模块有2个方法, loads():将 ...

  5. 获取zabbix上所有主机的IP和主机名

    #coding:utf-8 #获取zabbix上所有主机的IP和主机名 import requests import json import csv import time def get_token ...

  6. November 24th, Week 48th, Sunday, 2019

    Once you replace negative thoughts with positive ones, you will start having positive results. 淘汰消极思 ...

  7. Vue.js中 watch(深度监听)的最易懂的解释

    <div> <p>FullName: {{fullName}}</p> <p>FirstName: <input type="text& ...

  8. [C]表达式结合规律和运算符优先级

    表达式结合规律 如果运算符具有相同的优先级(precedence)有些表达式的结合方式是从左往右,有些则是从右往左结合的(例如赋值运算符): 表达式 结合律 组合方式 a/b%c 从左往右 (a/b) ...

  9. CF1062F Upgrading Cities

    题意 由于这是个\(DAG\),我们考虑拓朴排序,求某个点能到的和能到它的点,这是两个问题,我们可以正反两边拓朴排序,这样就只用考虑它能到的点了 设\(f[x]\)表示\(x\)能到的点数\(+\)能 ...

  10. Linux & Go & Vscode & 插件

    Linux Deepin 安装Go 安装Go环境 sudo apt-get install golang 验证一下: 输入 $ go env 输出 GOARCH="amd64" G ...