当前位置: 首页 > news >正文

计算机网络 二、网络协议

一、定义

网络协议是计算机网络中互相通信的对等实体间交换信息时必须要遵守的规则的集合


 

二、划分层次

 

 

 

 

 

 三、计算机的体系结构

 3.1 、具有五层协议的体系结构

具有五层协议的体系结构具、、有五层协议的体系结构

 (1) 应用层(application layer) 应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网 络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指主机中正在 运行的程序。对于不同的网络应用需要有不同的应用层协议。在互联网中的应用层协议很 多,如域名系统 DNS ,支持万维网应用的 HTTP 协议,支持电子邮件的 SMTP 协议,等 等。我们把应用层交互的数据单元称为报文(message)

(2) 运输层(transport layer) 运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。应用 进程利用该服务传送应用层报文。所谓"通用的",是指并不针对某个特定网络应用,而是 多种应用可以使用同一个运输层服务。由于一台主机可同时运行多个进程,因此运输层有复 用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用和复用相 反,是运输层把收到的信息分别交付上面应用层中的相应进程。 运输层主要使用以下两种协议: • 传输控制协议 TCP (Transmission Control Protocol)一一提供面向连接的、可靠的数 据传输服务,其数据传输的单位是报文段(segment) • 用户数据报协议 UDP (User Datagram Pr ocol)-- 提供无连接的、尽最大努力 (best-efIort) 的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用 户数据报。 顺便指出,有人愿意把运输层称为传输层,理由是这一层使用的 TCP 协议就叫做传输 控制协议。从意思上看,传输和运输差别也不大。但 OSI 定义的第 层使用的是 Transport. 而不是 Transmission 。这两个字的含义还是有些差别。因此,使用运输层这个译 名较为准确。

(3) 网络层(network layer) 网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输 层产生的报文段或用户数据报封装成分组或包进行传送。在 TCP!I 体系中,由于网络层使 • 31 • IP 协议,因此分组也叫做 IP 数据报,或简称为数据报。本书把"分组"和"数据报"作 为罔义词使用。 请注意:不要将运输层的"用户数据报 UDP" 和网络层的 "IP 数据报"弄混。此外, 无论在哪一层传送的数据单元,都可笼统地用"分组"来表示。 网络层的另一个任务就是要选择合适的路由,使源主机运输层所传下来的分组,能够 通过网络中的路由器找到目的主机。 这里要强调指出,网络层中的"网络"二字,己不是我们通常谈到的具体网络,而是 在计算机网络体系结构模型中的第 层的名称。 互联网是由大量的异构(heterogeneous) 网络通过路由器(router) 相互连接起来的。互联网 使用的网络层协议是无连接的网际协议 IP (Intemet Protocol)和许多种路由选择协议,因此互 联网的网络层也叫做网际层或 IP 层。网络层、网际层和 IP 层都是同义语。

(4) 数据链路层(data link layer) 数据链路层常简称为链路层。我们知道,两台主机之间的数据传输,总是在一段一段 的链路上传送的,这就需要使用专门的链路层的协议。在两个相邻结点之间传送数据时,数 据链路层将网络层交下来的 IP 数据报组装成帧(企aming) ,在两个相邻结点间的链路上传送 帧(企ame) 。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。 在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结 束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。 控制信息还使接收端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层 就简单地丢弃这个出了差错的帧,以免继续在网络中传送下去白白浪费网络资源。如果需要 改正数据在数据链路层传输时出现的差错(这就是说,数据链路层不仅要检错,而且要纠 错),那么就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层的协议复 杂些。

(5) 物理层(physicallayer) 在物理层上所传数据的单位是比特。发送方发送 (或 0) 时,接收方应当收到 (或 0) 而不是 (或1)。因此物理层要考虑用多大的电压代表 "1" "0" ,以及接收方如何识 别出发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少根引脚以及各引脚应 如何连接。当然,解释比特代表的意思,就不是物理层的任务。请注意,传递信息所利用的 一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内而是在物 理层协议的下面。因此也有人把物理层下面的物理媒体当作第 层。 在互联网所使用的各种协议中,最重要的和最著名的就是 TCP IP 两个协议。现在人 们经常提到的 TCPIIP 并不一定是单指 TCP IP 这两个具体的协议,而往往是表示互联网 所使用的整个 TCP/I 协议族(protocol suite)

概要
应用层
任务: 通过 应用进程间的交互来完成特定网络应用。
协议: 定义 的是 应用进程 间通信和交互的规则。
把应用层交互的数据单元称为 报文 (message)
例如: DNS HTTP SMTP
运输层
任务 负责向两台主机中 进程 之间的通信提供通用的数据传输服务。
具有复用和分用的功能。
TCP (Transmission Control Protocol)
提供 面向连接 的、 可靠 的数据传输服务。
数据传输的单位是 报文 ( segment)
UDP (User Datagram Protocol)
提供无连接的 尽最大努力 (best-effort) 的数据传输服务( 不保证数据传输的可靠性 )。
数据传输的单位是 用户数据报。
网络层
分组交换网上的不同 主机 提供通信服务
两个 具体 任务:
路由选择: 通过 一定的算法,在互联网中的每一个路由器上, 生成 一个用来转发分组的 转发表。
转发: 一个路由器在接收到一个分组时,要依据转发表中指明的路径把分组 转发 到下一个路由器
  • 互联网使用的网络层协议是无连接网际协议 IP  (Internet Protocol) 许多种路由选择协议,因此互联网的网络层也叫做网际层IP 层。
  • IP 协议分组叫做 IP 数据报或简称为数据报。
数据链路层
常简称为 链路层
任务: 实现两 相邻节点 之间的 可靠通信。
在两个相邻节点间的链路上传送 frame )。
如发现有差错 ,就 简单地 丢弃 出错帧。
如果 需要 改正出现 差错,就要 采用 可靠传输协议 纠正 出现的差错。这种方法会使 数据链路层协议复杂。
物理层
任务: 实现 比特 0 1 )的传输。
确定连接 电缆的 插头 应当有多少根 引脚 ,以及 各引脚应如何 连接
注意传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面

 

 

 

 

 

 

 3.1、实体、协议、服务和服务访问点

体、协议、服务和服务访问点

 

 

 

 3.2、TCP/IP的体系结构

 

 

 

 

声明:以上皆为我的学习笔记,用于记录个人学习

 

 

相关文章:

  • 容器编排工具鉴赏- docker-compose 、Kubernetes、OpenShift、Docker Swarm
  • 【论文笔记】—低光图像增强—Supervised—URetinex-Net—2022-CVPR
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • 12c++呵呵老师【变量,定时器和事件】
  • 元宇宙地产演化史:从文本时代到区块链时代
  • Linux搭建开源企业云盘Seafile,私有文件同步云盘及基本使用
  • 【推荐系统】推荐系统基础算法-基于矩阵分解的推荐方法、隐语义模型
  • celery apply_async定时任务重复执行问题
  • 接口测试基本知识点
  • C++学习记录4
  • JSP企业内部交流系统myeclipse开发mysql数据库bs框架java编程jdbc
  • 关于获得淘宝商品评论的那些事
  • 资深工程师整理2022年最新面试题汇总
  • 打破程序员“中年危机”8年测试工程师经验之谈
  • 资深架构师必备知识:Netty+MySQL+并发+JVM+多线程
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • JAVA并发编程--1.基础概念
  • REST架构的思考
  • supervisor 永不挂掉的进程 安装以及使用
  • ViewService——一种保证客户端与服务端同步的方法
  • 高性能JavaScript阅读简记(三)
  • 工作中总结前端开发流程--vue项目
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 手写双向链表LinkedList的几个常用功能
  • 网络应用优化——时延与带宽
  • 微信小程序实战练习(仿五洲到家微信版)
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • HanLP分词命名实体提取详解
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # 飞书APP集成平台-数字化落地
  • #100天计划# 2013年9月29日
  • (3)nginx 配置(nginx.conf)
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (十六)一篇文章学会Java的常用API
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .net Application的目录
  • .NET Core引入性能分析引导优化
  • .NET 分布式技术比较
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .Net的C#语言取月份数值对应的MonthName值
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)
  • ::什么意思
  • @cacheable 是否缓存成功_让我们来学习学习SpringCache分布式缓存,为什么用?
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [AHOI2009]中国象棋 DP,递推,组合数
  • [Angularjs]asp.net mvc+angularjs+web api单页应用之CRUD操作
  • [BZOJ] 3262: 陌上花开
  • [Bzoj4722]由乃(线段树好题)(倍增处理模数小快速幂)