目录

初识网络

网络通信基础

IP地址

端口号

认识网络协议

五元组

协议分层

封装和分用


初识网络

网络互连

随着时代发展,需要计算机之间相互通信,共享软件和数据,即多台计算机相互协同工作来完成某个业务,就有了网络互联

网络互联:将多台计算机连接在一起,完成数据共享

数据共享的本质是网络数据传输,也称网络通信,即计算机之间通过网络来传输数据

根据网络互联的规模不同,可以划分为局域网和广域网

局域网LAN

局域网(Local Area Network),简称LAN,即局部组建的一种私有网络

局域网又称内网,局域网内的主机之间可以方便的进行网络通信,但是当局域网与局域网之间没有连接的时候,是无法进行通信的

局域网组建网络的方式有很多种:

  • 基于网线直连

  • 基于集线器组建

  • 基于交换机组建

  • 基于交换机和路由器组建

广域网WAN

广域网,(Wide Area Network),简称WAN,即通过路由器将多个局域网连接起来,在物理上组成很大范围的网络,就形成了广域网,广域网内部的局域网都属于其子网

网络通信基础

网络互联的目的是进行网络通信,也就是网络数据传输,具体的说是网络主机的不同进程间,基于网络进行数据的传输

那么在组建的网络中,如何判断是从哪台主机的哪个进程,将数据传输到哪台主机的哪个进程呢?

IP地址

IP地址主要用于标识网络主机,或其他设备(如路由器)的网络地址

IP地址的格式

IP地址是一个32位的二进制数,通常被分割为4个8位二进制数,如:01100100.00000100.00000101.00000110

IP地址通常用“点分十进制”的方式来表示,即a.b.c.d的形式(a,b,c,d都是0~255之间的十进制整数),如:100.4.5.6

特殊的IP地址

127.*用于本机环回测试,通常是127.0.0.1

本机环回主要用于本机到本机的网络通信(系统内部为了性能,不会选择网络的方式传输)

端口号

端口号用于定位主机中的进程

格式:端口号为0~65535之间的数字

在网络通信中,进程可以绑定一个端口号,来发送和接收数据

注意:不同的进程不能绑定同一个端口,但是多个端口可以被同一个进程绑定

认识网络协议

为什么需要有网络协议?

有了IP地址和端口号可以定位网络中唯一的进程,但是网络通信是基于二进制01数据来进行传输,而网络通信传输的数据类型可能有很多种,如图片,文本,视频等,并且同一种类型可能格式也不同,如发送“你好!”,如何确定发送的数据是文本类型,及文本的编码格式呢?

基于网络传输数据,需要使用网络协议来规定双方的数据格式

网络协议的概念

网络协议为网络通信经过的所有设备都必须遵从的一组约定,如怎样建立连接,怎样互相识别等,只有遵守这个约定,计算机之间才能相互通信交流

组成网络协议的三要素:

  • 语法: 数据与控制信息的结构或格式

类似打电话双方需要使用同样的语言

  • 语义:需要对方发出何种控制信息,完成何种动作及做出何种回应

类似问你吃饭了吗?需要回答吃了或者没吃

  • 时序:事件实现顺序的详细说明

时序定义了何时进行通信,先讲什么,后讲什么,讲的速度等

网络协议最终体现为网络传输数据包的格式

知名协议的默认端口

端口号范围为0~65535,其中0~1023为知名端口号,这些端口号预留给服务端程序绑定广泛使用的应用层协议,如:

  • 22端口:预留给SSH服务器绑定SSH协议
  • 21端口:预留给FTP服务器绑定FTP协议
  • 23端口:预留给Telnet服务器绑定Telnet协议
  • 80端口:预留给HTTP服务器绑定HTTP协议
  • 443端口:预留给HTTPS服务器绑定HTTPS协议

说明:0~1023范围知名端口号用于绑定知名协议,但是某个服务器也可以使用其他1024~65535范围内的端口来绑定知名协议

如:餐厅vip包房,是给会员使用,会员也可以不坐vip包房,坐普通包房

五元组

在TCP/IP协议中,用五元组来标识一个网络通信

五元组:

  • 源IP:标识源主机
  • 源端口号:标识源主机中发送数据的进程
  • 目的IP:标识目的主机
  • 目的端口号:标识目的主机中接收数据的进程
  • 协议名:标识此次发送进程和接收进程遵守的约定格式

windows操作系统下,可以使用netstat -ano | findstr "查询字符串",查看五元组信息
linux操作系统下,可以使用netstat -anp | grep "查询字符串",查看五元组信息

说明:通过源IP和源端口找到唯一的源进程,源进程根据应用层协议将数据构造成约定协议的格式,发送数据,目的IP接收到交给目的端口,目的端口接收到,目的进程使用相同的应用层协议进行解析获取到对应数据

协议分层

OSI七层模型

OSI:Open System Interconnection即开放系统互联

层级 分层名称 功能
7 应用层 针对特定应用程序的协议
6 表示层 设备固有数据格式和网络标准数据格式的转换
5 会话层 负责建立和断开通信连接
4 传输层 负责数据传输的可靠
3 网络层 地址管理与路由选择
2 数据链路层 识别数据帧(发送数据报到下一个网络硬件设备)
1 物理层 使用网线或电磁波来传输0,1数据

OSI七层模型既复杂又不实用,所以OSI七层模型没有落地实现,实际组建网络时,使用的是下面TCP/IP五层(四层)模型

TCP/IP五层(四层)模型

TCP/IP是一组协议的代名词,它还包含了许多协议,组成了TCP/IP协议簇

TCP/IP协议采用了5层结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求

  • 应用层:负责应用程序间的沟通,如电子邮件传输(SMTP),文件传输协议(FTP),网络远程访问协议(Telnet)等
  • 传输层:负责两台主机之间的数据传输,如传输控制协议(TCP),能够确保数据可靠的从源主机发送到目的主机
  • 网络层:负责地址管理和路由选择,如IP协议,路由器工作在网络层
  • 数据链路层:负责设备之间数据帧的识别和传送,交换机工作在数据链路层
  • 物理层:负责网线或电磁波来传输0,1数据,集线器工作在物理层

物理层考虑的较少,所以很多时候去掉物理层也叫TCP/IP四层模型

网络设备所在分层

  • 对于一台主机,它的操作系统内核实现了从传输层到物理层的内容,即TCP/IP五层模型的下四层
  • 对于一台路由器,它实现了从网络层到物理层,即TCP/IP五层模型的下三层
  • 对于一台交换机,它实现了从数据链路层到物理层,即TCP/IP五层模型的下两层
  • 对于一台集线器,它只实现了物理层

注意:这里说的是传统意义的交换机(二层交换机)路由器(三层路由器),随着网络设备技术的发展,也出现了很多三层四层交换机,四层路由器,我们说的都是传统意义的交换机和路由器

网络分层对应

在进行网络数据传输时,经过不同的网络结点(主机,路由器)时,网络分层需要对应

同一个网段内两台主机进行文件传输,通过TCP/IP协议通信的过程如下:

跨网段的主机进行文件传输,数据从一台主机到另一台主机传输要经过一个或多个路由器,通过TCP/IP协议通信的过程如下:

封装和分用

  • 不同的协议层对数据包有不同的称谓,传输层叫作段,网络层叫作数据报,链路层叫作帧
  • 应用层数据通过协议发到网络上时,每层协议都要加一个数据首部
  • 首部信息中包含了一些类似于首部有多长,载荷有多长,上层协议是什么等信息
  • 数据封装成帧后发送到传输介质上,到达目的主机后每层协议再去掉相应的首部,根据首部中的“上层协议字段”将数据交给对应的上层协议处理

封装:一个网络设备按照从高到低的顺序,使用对应分层的协议一层一层包装数据再发送

封装过程如图所示:

分用:一个网络设备,按从低到高的顺序,使用对应分层协议解析数据再使用

分用过程如图所示:

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

  1. OSI七层与TCP/IP四/五层网络架构

    一.模型 (1)OSI七层模型 开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统 ...

  2. OSI七层与TCP\IP协议

    网络基础 网络基础 osi七层与TCP\IP协议 1为什么要分层? 2OSI七层模型 3七层总结 4数据封装的过程 5TCP/IP协议族的组成 总结 网络基础 什么是网络 网络:计算机网络是一组计算机 ...

  3. 详解OSI七层网络模型 TCP/IP四层模型

    @TOC这里对OSI七层网络模型和TCP/IP四层模型及其下的各层和TCP协议的设计核心做出总结供大家参考,如有错误欢迎指出讨论! OSI七层网络模型 & TCP/IP四层模型 OSI七层模型 ...

  4. OSI七层与TCP/IP五层

    OSI七层与TCP/IP五层网络架构详解 OSI和TCP/IP是很基础但又非常重要的网络基础知识,理解得透彻对运维工程师来说非常有帮助.今天偶又复习了一下: (1)OSI七层模型 OSI中的层 功能 ...

  5. OSI七层与TCP/IP四层模型

    2.层次关系 一.物理层:    目的:保证原始数据比特流的无误传输.    任务:物理层定义电压.接口.线缆标准.传输距离等.物理层协议定义接口的四个基本功能特性:     机械特性:说明了接口所用 ...

  6. 网络:IP地址5大分类 CIDR OSI七层模型、MAC、DHCP

    OSI七层模型:应用层-表示层-会话层-传输层-网络层-数据链路层-物理层 TCP/IP四层:应用层-传输层-网际层-网络接口层 参考模型 解释 对应设备 协议 应用层 为应用提供服务 计算机 DHC ...

  7. OSI七层与TCP/IP五层网络架构详解

    http://network.51cto.com/art/201310/413853.htm 1. IP 网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议. IP层接收由更低层(网络接口层例 ...

  8. 计算机网络参考模型(OSI七层与TCP/IP协议)

    目录 1 为什么要分层 1.1 层次划分的必要性 1.2 层次划分的方法 1.2 层次划分的优点 2 七层和四层的定义 2.1 七层的介绍 2.1.1 OSI七层参考模型 2.1.2 OSI七层工作原 ...

  9. 【计算机网络】计算机网络概述 : 总结 ( 概念 | 组成 | 功能 | 分类 | 性能指标 | OSI 七层参考模型 | TCP/IP 模型 | 五层参考模型 )★★★

    文章目录 一.计算机网络概念 ★ 二.计算机网络组成 ★ 三.计算机网络功能 ★ 四.计算机网络分类 ★ 五.性能指标 ★★ 六.分层架构 ★★ 一.计算机网络概念 ★ 计算机网络 是 互连的 , 自 ...

  10. Linux下套接字详解(补充)--OSI七层与TCP/IP五层网络架构详解

    OSI七层模型 OSI是Open System Interconnect的缩写,意为开放式系统互联. OSI是Open System Interconnect的缩写,意为开放式系统互联. OSI七层参 ...

最新文章

  1. php 怎么分布式,php分布式怎么部署
  2. TensorFlow中的对象检测教程:实时对象检测
  3. 他开发了基因界的百科全书,贡献却少有人知
  4. 【转载】老鸟程序员总结的这些小技巧
  5. Flask项目常见面试问题
  6. java实现c#的datetime.ticks_java的Date.getTime()转换成C#的Datetime.ticks | 学步园
  7. php单文件压缩的功能函数的实现
  8. C++ Primer 第五版 第6章 6.1——函数及函数定义及调用习题答案
  9. java web 启动时执行_java Web 启动时自动执行代码的几种方式
  10. Bootstrap 折叠插件Collapse 调用方式
  11. getelementsbyname谷歌浏览器兼容_常用的浏览器内核有哪些?常用浏览器及其内核介绍...
  12. 95-24-030-Future-ChannelFuture
  13. android cmake 打印_Android NDK 开发:CMake 使用
  14. MySQL 得到数据库的大小
  15. 步步为营-92-空格变成问号的怪问题
  16. 美式期权损益图matlab,期权损益图的画法
  17. POI 模板生成word PDF——牛X神器
  18. Triple-Speed Ethernet(tse)FPGA软核MAC测试
  19. c++(标准模板库STL)
  20. 风控人不能不知的黑产大揭秘

热门文章

  1. 单机存储引擎到mysql的思考三
  2. Redis——》内存淘汰策略
  3. 计算机网络连接设备不见了,为什么电脑网络连接中不存在本地连接 找不到本地连接是为什么...
  4. mysql官网安装步骤_MySQL的安装与配置——详细教程
  5. 2022的你了解几种疫情防控好物?
  6. GLFore声学成像仪对家电行业的应用
  7. 基于Python的简单课堂点名器V1
  8. android 生成debug.keystore,自定义Android debug keystore
  9. 轻量级数据库访问框架FastSQL
  10. CSS鼠标样式【cursor】