一、基础知识

计算机网络
计算机网络是一个非常复杂的系统,涉及许多组成部分:
主机(hosts)、路由器(routers)、各种链路(links)、应用( applications)、协议( protocols)硬件、软件
网络体系结构的特点
1.网络体系结构是从功能上描述计算机网络结构计算机网络体系结构简称网络体系结构(network architecture)是分层结构,每层遵循某个/些2.网络协议完成本层功能。
3.计算机网络体系结构是计算机网络的各层及其协议的集合
4.体系结构是一个计算机网络的功能层次及其关系的定义
5.体系结构是抽象的
为什么采用分层结构?
1.结构清晰,有利于识别复杂系统的部件及其关系
·分层的参考模型(reference model )模块化的分层易于系统更新、维护
·任何一层服务实现的改变对于系统其它层都是透明的
2.有利于标准化
基本概念

实体(entity)表示任何可发送或接收信息的硬件或软件进程。
协议是控制两个对等实体进行通信的规则的集合,协议是“水平的”任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,服务是“垂直的”。
下层协议的实现对上层的服务用户是透明的。
同系统的相邻层实体间通过接口进行交互,通过服务访问点 SAP(Service Access Point),交换原语,指定请求的特定服务。

二、OSI模型


自顶向下分别是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
表示层
处理两个系统间交换信息的语法与语义问题
1.数据表示转化 ·转换为主机独立的编码
2.加密/解密
3.压缩/解压缩

会话层
负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接。

接下来我们将会在五层因特网协议栈重点介绍其余5个层次的功能和特点。

三、五层因特网协议栈

因特网协议栈共有五层:应用层、传输层、网络层、链路层和物理层。不同于OSI七层模型这也是实际使用中使用的分层方式
(1)应用层(网络应用)
功能:应用层是网络应用程序及其应用层协议存留的地方。
提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如: HTTP(web文档的请求),HTTPS,FTP(文件的传送),TELNET,SSH,SMTP,POP3等。
一个端的应用程序使用协议与另一个端系统的应用程序交换信息分组
(2)传输层(端-端)
功能:在应用程序端点之间传送应用层报文。
把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议(TCP)等。
传输层有两种协议,即TCP和UDP,二者根据不同规则向应用程序提供不同的服务。其中TCP协议的服务包括向目的地的确保传递和流量
控制,TCP也将长报文划分为短报文,并提供拥塞控制机制。
a.流量控制(Flow control)·避免淹没接收端
b.差错控制(Error control)·检测并重传损坏或丢失帧,并避免重复帧
c.访问(接入)控制(Access control)·在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用权


1.TCP向上层提供面向连接的可靠服务 ,UDP向上层提供无连接不可靠服务。
2.虽然 UDP 并没有 TCP 传输来的准确,但是也能在很多实时性要求高的地方有所作为
3.对数据准确性要求高,速度可以相对较慢的,可以选用TCP

(3)网络层(源主机-目的主机)
功能:将称为数据报的网络层分组从一台主机移动到另一台主机。
因特网的网络层包括IP协议,该协议定义了在数据报中的各个字段以及端系统和路由器如何运作这些字段。所有网络层的组件必须运行IP协议。
因特网的网络层也包括路由协议(顾名思义,该协议可以决定路由的选择),他根据该路由将数据报从源传输到目的地。因特网有很多路由选择协议。

(4)数据链路层(点-点)
功能:将分组从一个节点(路由、主机)移动到下一个节点。
数据链路层负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形成帧。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链表尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网(Wi-Fi)和通用分组无线服务(GPRS)等。
由链路层提供的服务取决于应用于该链路的特定链路层协议,与TCP协议不同的是,TCP提供一个端到另一个端的交付,在此过程中可能会经过多条链路,每条链路都有不同的链路层协议。
通俗来讲TCP提供的协议是一个起始地点到目的地的寻址,然而这条路上会遇到不同的站点(路由),每个站点间的传输需要链路层协议来完成。

(5)物理层(点-点)
功能:物理层将帧中的一个个比特从一个节点移动到另一个节点(对比链路层将整个帧从一个网络元素移动到邻近的网络元素)
在局部局域网上传送数据帧(data frame),它负责管理计算机通信设备和网络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机适配器等。

完整流程图如下:

如图所示,链路层交换机完成了第一层和第二层(物理层、链路层),路由器实现了第一层到第三层(物理层、链路层、网络层)。
上图也具化了该体系的封装概念。在发送主机端,一个应用层报文M被传输给传输层(运输层),运输层收到报文并附上附加信息Ht(首部信息),该首部将被接收端的传输层使用。应用层报文和传输层首部信息构成了传输层报文(Ht + M)。在网络层增加了如源和目的端系统地址等网络首部信息Hn生成了网络数据层报。在链路层生成链路层帧,由上至下一步一步封装,构成首部字段+有效载荷字段的结构。

四、IP地址、mac地址和端口号

在利用TCP/IP协议族进行通信的时候,有三个比较关键的确认身份的信息:mac地址、IP地址和端口号。

1.IP地址:(基于计算机或路由器)在网络层的IP头部里,用于识别网络中互联的主机和路由器,其实主要是确认子网,通过子网掩码确认某个IP地址所在的子网,而后再在子网内部确认mac地址就能找到准确的用户了。(32位,全球唯一)
2.MAC地址(物理地址):(基于网卡或路由器)在数据链路层包裹在以太网头部中的,它主要用来识别同一个链路中的不同计算机。Mac地址即网卡号,每块网卡出厂的时候,都有一个全世界独一无二的 MAC 地址,长度是 48 个二进制位,通常用 12 个十六进制数表示。(全球唯一,局部使用)
3.端口号:在传输层包含在TCP/UDP头部中的,用于识别应用程序。一台主机上能运行多个程序,那么接收到的消息到底是哪个程序的呢?就需要端口号来确认。(主机中唯一)
端口号有两种:
  固定的端口号,是形如http,telnet,ftp等广为使用的应用协议所使用的端口号是固定的
  动态分配的端口号,这个时候服务端要确定监听端口号,接受服务的客户端没必要确定端口号

计算机网络——分层的体系结构(OSI模型/五层协议栈)相关推荐

  1. java基础巩固-宇宙第一AiYWM:为了维持生计,四大基础之计网_Part_1-1(计算机网络体系_七层模型五层模型TCP/IP四层模型、TCPUDPIP的故事【TCP三握四挥】)整起

    PART1:计算机网络体系可以大致分为一下三种, 每一层有自己对应的协议,每一层都是向上一层提供服务,每个分层中所有的协议都称为协议栈 协议:网络中传输信息时的规范和规则 各层一些重要的协议 网络:通 ...

  2. 【TCP/IP】TCP/IP 四层分别有哪些协议|OSI四层/五层/七层协议

    五层协议模型 应用层:http dns TFTP .Telnet .FTP.SMTP.NFS.Rlogin. SNMP(UDP)-- 传输层:TCP.UDP 网络层: ICMP(ping tracer ...

  3. 计算机网络分层结构—OSI参考模型、TCPI参考模型、五层体系结构

    计算机网络分层结构 5层体系结构是在参考 OSI参考模型 与 TCP/IP参考模型 得出的. 一.OSI七层模型 OSI七层协议模型包括:应用层(Application).表示层(Presentati ...

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

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

  5. 【计算机网络】分层结构(OSI 7层模型、TCP/TP 4层模型、5层参考模型)

    [计算机网络]分层结构 一 概述 1.1 为什么要分层? 计算机网络是一个复杂的系统,采取分层的结构,可以将庞大而复杂的问题分为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理. 1.2 ...

  6. (王道考研计算机网络)第一章计算机网络体系结构-第二节体系结构与参考模型2:ISO/OSI模型

    文章目录 一:ISO/OSI参考模型简介 二:ISO/OSI参考模型通信流程 三:ISO/OSI参考模型各层功能及涉及协议(重点) (1)应用层(Application Layer) (2)表示层(P ...

  7. [转载] 计算机网络——OSI模型究竟忽悠了多少人

    来源:http://blog.c114.net/html/60/250760-60744.html 不了解历史的人,注定要重复历史. --J. Onions, RFC 1606 历史上OSI模型和TC ...

  8. 【计算机网络】计算机网络 OSI 参考模型 ( 计算机网络分层结构 | OSI 七层参考模型 | 应用层 | 表示层 | 会话层 | 传输层 | 网络层 | 数据链路层 | 物理层 )

    文章目录 一.计算机网络分层结构 二.OSI 七层参考模型 三.应用层 四.表示层 五.会话层 六.传输层 七.网络层 八.数据链路层 九.物理层 一.计算机网络分层结构 计算机网络分层结构 : ① ...

  9. 计算机网络基础(类别 | 性能指标 | OSI模型初识)

    目录 计算机网络类别 根据作用的范围分类 局域网(LAN) 广域网(WAN) 根据使用者分类 按照拓扑结构来分类 按照交换方式分类 按照工作方式分类 性能指标 什么是带宽 速率 吞吐量 时延 传播时延 ...

  10. 计算机网络原理和OSI模型与TCP模型

    计算机网络原理和OSI模型与TCP模型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.计算机网络的概述 1.计算机网络的定义 计算机网络是一组自治计算机的互连的集合 2.计算机 ...

最新文章

  1. h265webplayer
  2. EF支持复杂类型的实现
  3. php mysql数据库同步_实现MySQL数据库同步实例演示_MySQL
  4. VC下ctreectrl的使用方法及节点前图标添加方法
  5. LINUX SHELL多条件(与、或)if判断怎么写?
  6. c语言课外读书笔记谭浩强,谭浩强C语言读书笔记
  7. Javaweb的初级(Servlet接口)
  8. android_基础_修改系统背景(状态栏颜色、导航栏颜色、标题栏颜色等等)
  9. 怎么戒网瘾?一个玩了上百款游戏的程序员告诉你有多少废话
  10. tomcat安装以及部署jpress
  11. 日本某地(我猜应该是在米花町)发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。
  12. android 扫码枪 字符数少掉,BarTender条码字符数莫名变少是怎么回事?
  13. 异步FIFO设计:各个模块的作用及Verilog代码详解
  14. 彩色rgb图像拆分为rgb三个通道,并重新合并为彩色图像
  15. OCI--学习OCI编程
  16. php虚拟电话号码,虚拟运营商客服号确认 延续运营商号码规律
  17. 如果大家关注SOA的事务一致性的处理,那么不妨看看我们是怎么解决的
  18. 使用 easypoi 导出 excel 实现动态列,完美解决!
  19. 央行、外管局、银行业协会牵头银行区块链联盟,三驾马车齐攻国际金融市场...
  20. moi3d 4.0中文版使用教程说明

热门文章

  1. 网络安全 (九 缓冲区溢出metasploit)
  2. html怎么定义403页面,自定义 403 错误页面(示例代码)
  3. 如何在网页中插入视频
  4. openGL之API学习(七十)windows的opengl扩展wgl
  5. 国内外RTI产品调查情况
  6. android js 双指事件,移动端touch事件--点击、双指与拖拽
  7. 用向量求一个点到一条直线垂足的坐标
  8. c语言中sub是什么指令,汇编 – SUB指令的目的是什么?
  9. 神奇的BUG——MATLAB之1
  10. 龙之谷怎么进去服务器维护,龙之谷端游服务器爆满怎么进