没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
第一章、网络基础
一、网络基础
1、协议的概念
1.1、什么是协议
从应用的角度出发,协议可理解为“规则”,是数据传输和数据解释的规则。
假设,A、B 双方欲传输文件。规定:
第一次,传输文件名,接收方接收到文件名,应答 OK 给传输方;
第二次,发送文件的尺寸,接收方接收到该数据再次应答一个 OK;
第三次,传输文件内容。同样,接收方接收到数据完成后应答 OK 表示文件接收成功。
由此,无论 A、B 之间传递何种文件,都是通过三次数据传输来完成。A、B 之间形成
了一个最简单的数据传输规则。双方都按此规则发送、接收数据。A、B 之间达成的这个相
互遵守的规则即协议。
这种仅在 A、B 之间被遵守的协议称之为原始协议。当此协议被更多的人采用,不断地
增加、改进、维护、完善。最终形成一个稳定的、完整的文件传输协议,被广泛应用于各种
文件传输过程中。该协议就成为一个标准协议,最早的 ftp 协议就是由此衍生而来。
TCP 协议注重数据的传输。http 协议着重于数据的解释。
1.2、典型协议
传输层:常见协议有 TCP/UDP 协议。
应用层:常见协议有 HTTP 协议、FTP 协议。
网络层:常见协议有 IP 协议、ICMP 协议、IGMP 协议。
网络接口层:常见协议有 ARP 协议、RARP 协议。
TCP 传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。
UDP 用户数据报协议是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简
单不可靠信息传送服务。
HTTP 超文本传输协议是互联网上应用最广泛的一种网络协议。
FTP 文件传输协议。
ICMP 协议是 Internet 控制报文协议,它是 TCP/IP 协议族的一个子协议,用于在 IP 主
机、路由器之间传递控制消息。
IGMP 协议是 Internet 组管理协议,是因特网协议家族中的一个组播协议。该协议运行
在主机和组播路由器之间。
ARP 协议是面向地址解析协议,通过已知的 IP,寻找对应主机的 MAC 地址。
RARP 是反向地址转换协议,通过 MAC 地址确定 IP 地址。
2、网络应用程序设计模式
2.1、C/S 模式
传统的网络应用设计模式,客户机(client)/服务器(server)模式。需要在通讯两端各自部
署客户机和服务器来完成数据通信。
2.2、B/S 模式
浏览器(browser)/服务器(server)模式。只需在一端部署服务器,而另一端使用每台 PC 都
默认配置的浏览器即可完成数据的传输。
2.3、优缺点
对于 C/S 模式来说,其优点明显。客户端位于目标主机上可以保证性能,将数据缓存至
客户端本地,从而提高数据传输效率。且,一般来说客户端和服务器程序由一个开发团队创
作,所以他们之间所采用的协议相对灵活。可以在标准协议的基础上根据需求裁剪及定制。
例如,腾讯公司所采用的通信协议,即为 ftp 协议的修改裁剪版。
因此,传统的网络应用程序及较大型的网络应用程序都首选 C/S 模式进行开发。如,知
名的网络游戏魔兽世界。3D 画面,数据量庞大,使用 C/S 模式可以提前在本地进行大量数
据的缓存处理,从而提高观感。
C/S 模式的缺点也较突出。由于客户端和服务器由一个开发团队来完成开发。工作量将
成倍提升,开发周期较长。另外,从用户的角度出发,需要将客户端安装在用户主机上,对
用户主机的安全性构成威胁。这也是很多用户不愿意使用 C/S 模式应用程序的重要原因。
B/S 模式相对于 C/S 模式而言,由于它没有独立的客户端,使用标准浏览器作为客户端,
其工作开发量小,只需开发服务器端即可。另外由于采用浏览器显示数据,因此移植性非常
好,不受平台限制。如早期的偷菜游戏,在各个平台上都可以完美运行。
B/S 模式的缺点也较明显。由于使用第三方浏览器,因此网络应用支持受限。另外,没
有客户端放到对方主机上,缓存数据不尽人意,从而传输数据量受到限制。应用的观感大打
折扣。第三,必须与浏览器一样,采用标准 http 协议进行通信,协议选择不灵活。
因此在开发过程中,模式的选择由上述各自的特点决定。根据实际需要选择应用程序设
计模式。
3、分层模型
3.1、OSI 七层模型
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
应用层
传输层
网络层
网络接口层
1
2
3
4
5
6
7
1
2
3
4
OSI参考模型
TCP/IP模型
OSI 模型
1. 物理层:主要定义物理标准设备,如网线的接口类型、光纤的接口类型、各种传输
介质的传输速率等。它的主要作用是传输比特流(就是由 1,0 转化为电流强弱来
进行传输,到达目的地后再转化为 1,0,也就是我们常说的数模转换和模数转换)。
这一层的数据叫做比特。
2. 数据链路层:定义了如何让格式化数据以帧为单位进行传输,以及如何让控制对物
理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。如:
串口通信中使用到的 115200、8、N、1。
3. 网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。
Internet 的发展使得从世界各站点访问信息得用户数大大增加,而网络层正是管理
这种连接的层。
4. 传输层:定义了一些传输数据的协议和端口号(www 端口 80 等),如:TCP(传输
控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP
(用户数据报协议,与 TCP 协议特性恰恰相反,用于传输可靠性要求不高,数据量
小的数据,如 QQ 聊天数据就是通过这种方式传输得)。主要是将从下层接收得数
据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段。
5. 会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要
在你的系统之间发起会话或者接收会话请求(设备之间需要互相认识可以是 IP 也
可以是 MAC 或者主机名)
6. 表示层:可确保一个系统的应用层所发送的信息可以被另一个系统应用层读取。例
如,PC 程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换
码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。
如有必要,表示层会通过使用一种通用格式来实现多种数据格式之间的转换。
7. 应用层:是最靠近用户的 OSI 层。这一层为用户的应用程序(例如电子邮件、文件
传输和终端仿真)提供网络服务。
3.2、TCP/IP 四层模型
TCP/IP 网络协议栈分为应用层、传输层、网络层、网络接口层。
一般在应用开发过程中,讨论最多的是 TCP/IP 模型。
4、通信过程
两台计算机通过 TCP/IP 协议通讯的过程。
TCP/IP 通讯过程
上图对应两台计算机在同一网段中的情况,如果两台计算机在不同的网段中,那么数据
从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。
链路层有以太网、令牌环网等标准链路层负责网卡设备的驱动、帧同步(即从网线上检
测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错检验等
工作。交换机是工作在链路层的网络设备,可以在不同的链路层网络之间转发数据帧(比如
10M 以太网和百 M 以太网之间、以太网和令牌环网之间),由于不同链路层的帧格式不同,
交换机要将进来的数据包拆掉链路层首部重新封装后再转发。
网络层的 IP 协议是构成 Internet 的基础。Internet 上的主机通过 IP 地址来表示,Internet
上有大量路由器负责根据 IP 地址选择合适的路径转发数据包,数据包从 Internet 上的源主机
到目的主机往往要经过十多个路由器。路由器是工作在第三层的网络设备,同时兼有交换机
的功能,可以在不同的链路层接口之间转发数据包,因此路由器要将进来的数据包拆掉网络
层和链路层两层首部并重新封装。IP 协议不保证传输的可靠性,数据包在传输过程中可能
丢失,可靠性可以在上层协议或应用程序中提供支持。
网络层负责点到点的传输(这里的“点”指主机或路由器),而传输层负责端到端的传
输(这里的“端”指源主机和目的主机)。传输层可选择 TCP 或 UDP 协议。
TCP 是一种面向连接的、可靠的协议,有点像打电话,双方拿起电话互通身份之后就
建立了连接,然后说话就
5、协议格式
5.1、数据包封装
传输层及其以下的机制由内核提供,应用层由用户进程提供,应用程序对通讯数据的含
义进行解释,而传输层及其以下处理通讯的细节,将数据从一台计算机通过一定的路径发送
到另一台计算机。应用层数据通过协议栈发到网络上,每层协议都要加上一个数据首部,成
为封装。
TCP/IP 数据包封装
剩余71页未读,继续阅读
资源评论
洪蛋蛋
- 粉丝: 21
- 资源: 334
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- html动态爱心代码一(附源码)
- c40539bc-071a-486c-9d52-9d0c18d62dac 4.html
- 基于物理的非视域成像(NLOS)算法,利用了nerf+python源码+文档说明
- yuluer知更鸟.7z(1).001
- 基于Qt实现医院信息管理系统c++源码+文档说明+数据库(期末大作业)
- 基于python实现的医院信息管理系统完整源码+sql数据库+详细注释(高分课程设计)
- 基于python的眼底图像视杯视盘分割项目源码+文档说明+截图演示+详细注释(高分课程设计)
- ImageBasedModellingEdu-贰壹贰叁零
- DFFmeasurement-数据预处理
- ImageBasedModellingEdu-回文素数c语言
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功