Linux系统学习 五、网络基础—网络通信协议
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系统学习 五、网络基础—网络通信协议的更多相关文章
- Linux系统常用升级的基础包
Linux系统常用升级的基础包 yum -y install lrzsz gcc gcc-c++ make flex autoconf automake vixie-cron libjpeg libj ...
- Linux系统学习笔记:文件I/O
Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...
- Linux系统学习 三、网络基础—虚拟机网络配置
Linux网络基础 Linux的ip地址配置 Linux网络配置文件 常用网络命令 虚拟机网络参数配置 1.配置Linux的IP地址 首先配置一个IP地址,让IP生效. ifconfig查看当前网络配 ...
- Linux 系统下10个查看网络与监听的命令
下面列出来的10个基础的每个linux用户都应该知道的网络和监控命令.网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslook ...
- Linux 系统应用编程——进程基础
一.Linux下多任务机制的介绍 Linux有一特性是多任务,多任务处理是指用户可以在同一时间内运行多个应用程序,每个正在执行的应用程序被称为一个任务. 多任务操作系统使用某种调度(shedule)策 ...
- 网工的Linux系统学习历程
偶遇篇作为一名通过思科CCNP认证的网络工程师,专注于网络技术.但在日常的工作中,难免不接触到服务器,对于大多数服务器来说,鉴于稳定性等因素的考虑,基本使用的都是Linux系统,包括RHEL.Cent ...
- 老司机浅谈linux系统学习技巧
Linux起源于20世纪70年代,是一种优秀的操作系统系统.初次接触到linux这个系统是在大学期间,这样才发现除了windows外的另外一个有趣系统.开始抱着好奇的心态去了解,随着深入学习,笔者被它 ...
- 说一说本人对linux系统学习的方法和经验
摘要: 相信大伙都听说过linux系统,然而对于这个系统,总使让新手感觉茫然,诺达的系统.下面是一段百度中的介绍: 相信大伙都听说过linux系统,然而对于这个系统,总使让新手感觉茫然,诺达的系统.下 ...
- Linux 系统学习梳理_【All】
第一部分---基础学习 00.Linux操作系统各版本ISO镜像下载 00.Linux系统下安装Vmware(虚拟机) 00.Linux 系统安装[Redhat] 00.Linux 系统安装[Cent ...
随机推荐
- 最近学习了Http连接池
起因 6.1大促值班发现的一个问题,一个rpc接口在0~2点用户下单高峰的时候表现rt高(超过1s,实际上针对性优化过的接口rt超过这个值也是有问题的,通常rpc接口里面即使逻辑复杂,300ms应该也 ...
- mysql-两种方式安装
一.数据库版本 MySQL 常见版本 MySQL Community Server 社区版本,开源免费,但不提供官方技术支持. MySQL Enterprise Edition 企业版本,需付费,可以 ...
- C# Monitor and transfer or copy the changed or created file to a new location
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Tex ...
- JavaWeb入门——在Windows环境下安装Tomcat服务器
JavaWeb入门——在Windows环境下安装Tomcat服务器 摘要:本文主要学习如何在Windows环境中下载并安装Tomcat服务器. 下载 获取安装包 推荐去官网上下载Tomcat: htt ...
- .NET Core项目与传统vs项目的细微不同
我不是什么资深专家,但是我在观察.NET Core创建的控制台程序与普通控制台程序的csproj文件时,发现了一个不同 csproj本质上是一个XML,其中的一个节点<PropertyGroup ...
- 页面中加入地图map
1.首先要有密钥AK ,可以自己注册获取或复制别人的 .搜索百度地图API (http://lbsyun.baidu.com/apiconsole/key) 2.地图示例 <head> & ...
- mybatis中查询结果为空时不同返回类型对应返回值
今天在别人的代码基础上实现新需求,看到对于mybatis查询结果的判断不是很正确,如果查询结果为空就会异常,不知道大家有没有这样的疑惑:mybatis中resultType有多种返回类型,对于每种不同 ...
- yml和properties的加载顺序和区别
正常的情况是先加载yml,接下来加载properties文件.如果相同的配置存在于两个文件中.最后会使用properties中的配置.最后读取的优先集最高. 两个配置文件中的端口号不一样会读取prop ...
- jQuery入门和DOM对象
jQuery入门和DOM对象 1.开发准备 1. 下载的版本: jquery-3.3.1.min.js :压缩版,发布版84.8KB jquery-3.3.1.js :常规版,开发版265KB 2. ...
- 洛谷 UVA1328 Period
洛谷 UVA1328 Period 洛谷传送门 题目描述 PDF 输入格式 无 输出格式 无 题意翻译 题意描述 对于给定字符串S的每个前缀,我们想知道它是否为周期串.也就还是说,它是否为某一字符串重 ...