【计算机网络】网络通信协议
文章目录
- 1、协议
- 2 、网络协议
- 3、 协议分层
- 3.1、 OSI 七层模型
- 3.2 TCP/IP 五层模型
- 4 、数据封装与分用
1、协议
“协议” 是一种约定。计算机之间的传输媒介是光信号和电信号. 通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息. 要想传递各种不同的信息, 就需要约定好双方的数据格式。
2 、网络协议
计算机生产厂商有很多,计算机操作系统也有很多,计算机网络硬件设备 还是有很多,如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 就需要有人站出来, 约定一个共同的标准,大家都来遵守, 这就是网络协议。
3、 协议分层
协议分层的好处在于便于封装。
3.1、 OSI 七层模型
OSI是网络当中理想的参考模型,分为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。虽然OSI七层模型将服务、接口和协议三个概念明确区分开来,但是复杂又不实用。
3.2 TCP/IP 五层模型
物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层。
数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层。
网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层。
传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机。
应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层。
4 、数据封装与分用
(1)不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame);
(2)应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation);
(3)首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息;
(4)数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理。
【计算机网络】网络通信协议相关推荐
- java 网络通信协议_JAVA-基础-网络通信协议
通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样.在计算机网络中,这些连接和通信的规则被称为网络通 ...
- 网络编程懒人入门(二):快速理解网络通信协议(下篇)
1.前言 本文上篇<网络编程懒人入门(一):快速理解网络通信协议(上篇)>分析了互联网的总体构思,从下至上,每一层协议的设计思想.基于知识连贯性的考虑,建议您先看完上篇后再来阅读本文. 本 ...
- 网络编程懒人入门(一):快速理解网络通信协议(上篇)
1.写在前面 论坛和群里常会有技术同行打算自已开发IM或者消息推送系统,很多时候连基本的网络编程理论(如网络协议等)都不了解,就贸然定方案.写代码,显得非常盲目且充满技术风险. 即时通讯网论坛里精心整 ...
- 基于TCP/UDP的P2P网络通信协议研究与实现
此章节是理论知识,下个章节会奉献源码 摘 要 对等式网络(peer-to-peer,简称P2P),又称点对点技术,是一种实现网络中不同主机直接通信的技术.在物联网的应用中,大量的设备需要能进行点 ...
- 计算机网络——网络基础知识
摘要 随着Internet技术的迅速发展,越来越多的计算机连入了Internet.很多公司也将自己公司的局域网接入了Internet.如何快速地访问Internet站点,提高网络的安全性,成为了当今的 ...
- java 网络通讯用什么流_Java中打印流,网络通信协议,TCP通信的基础介绍
1-1.打印流 java.io.PrintStream:打印流 PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式. PrintStream特点: 1).只负责数据 ...
- 什么是网络通信协议?
网络通信协议: 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样.在计算机网络中,这些连接和通信的 ...
- 网络通信协议(IP地址,端口号,InetAddress,UDP与TCP)
一.计算机网络: 通过某种方式将多台计算机进行连接,实现多台计算机彼此之间的互联以及数据的交换.即在不同的计算机上编写一些实现了网络连接的程序,这些程序可以实现位于同一个网络中的计算机之间的数据的交换 ...
- 22.1 网络编程:软件结构、网络通信协议、UDP与TCP协议、(网络编程三要素:协议、ip地址、端口号)、查看ip地址、检测网络是否连通、判断ip是否可用
目录 网络编程 软件结构 网络通信协议 TCP/IP协议 协议分类 UDP TCP 网络编程三要素 协议 IP地址 列:查看本机ip地址 检查网络是否连通.判断ip是否可用 端口号 网络编程 软件结构 ...
- Java网络编程,使用Java实现UDP和TCP网络通信协议,以及基于UDP的在线聊天室。
文章目录 前言 一.网络编程概念 1.网络 2. 网络编程的目的 3.想要达到这个效果需要什么 4.网络分层 二.网络编程Java类 1.IP地址:InetAddress 2.端口 3.TCP连接 3 ...
最新文章
- 采用矩阵+深度优先算法解决迷宫问题
- VM上安装Linux找不到硬盘
- 清华镜像:zookeeper
- 闲谈“个人核心竞争力”与“危机感” !!!
- [2020-11-30 contest]数列(矩阵加速),秘密通道(dijkstra最短路)小X游世界树(换根dp),划分(数学)
- jsp+servlet+java 实现统计在线人数
- 用mysql建立商城数据字典_把mysql数据库生成数据字典,直接可用
- 内置auth 的使用,用超级用户创建
- 中国摊铺机(车辆)市场趋势报告、技术动态创新及市场预测
- 脱离极域电子教室软件控制策略(实测有效)
- 路由器无线模式与信道检测
- 友达37寸长条液晶屏P370IVN04.1-原厂长条屏
- 什么是DAO,DAO是什么?DAO全面解析
- 模拟一个简单的购房商贷月供计算器,按照总利息和每月还款金额
- python两列时间间隔计算器_计算两列之间的Pandas DataFrame时间差异(以小时和分钟为单位)...
- python一对一辅导教程:PyGeM Tutorials 解析 1
- Ural1671 Anansi's Cobweb 并查集
- apache zip java_java中ant包中的org.apache.tools.zip实现压缩和解压缩
- 给开源社读者的一份信
- 什么微型计算机出世,你不知道的秘密 手机屏幕类型全解析