一、网络概述
1.1、什么是网络?
1、网络的本质就是实现资源共享2、将各个系统联系到一起,形成信息传递、接收、共享的信息交互平台
1.2、典型的园区网拓扑
1.3、网络历史发展,ARPA和ARPANET
1、1969年,美国国防部高级研究计划局ARPA( Advanced Research Projects Agency )以军用目的建立了名 为ARPANET的计算机网络,它是世界上第一个封包交换网络,誉为互联网始祖。最初的“阿帕网”只连接了 4个节点:
2、不过,“阿帕网” 问世之际,大部分电脑还互不兼容。于是,如何使硬件和软件都不同的电脑实现真正的互 联,就是人们力图解决的难题。这个过程中,文顿·瑟夫为此做出首屈一指的贡献,从而被称为“互联网之 父”。
1.4、网络历史发展, Internet的由来
1985年,美国国家科学基金会NSF(National Science Foundation)开始建立计算机网络NSFNET。NSFNET成为 Internet上主要用于科研和教育的主干部分,代替了 ARPANET的骨干地位。1989年MILNET实现和NSFNET连接后,就开始采用 Internet这个名称。自此以后,其他部门的计算机网络相继 并入Internet,ARPANET宣告解散。20世纪90年代初,商业机构开始接入Internet,使Internet 开始了商业化的新进程,成为Internet大发展的强大推动力。1995年,NSFNET停止运作,Internet已彻底商业化了。
二、OSI参考模型
2.1、OSI产生背景
1、计算机网络市场刚刚兴起的时候,许多计算机生产厂商都积极推出自己公司独创的网络体系架构,像IBM, DEC等,各个公司的网络体系结构各不相同,不同公司之间的网络不能互联互通,导致使用某种网络的用 户如果在后继时刻扩展网络则必须继续使用原计算机厂家的设备,而如果换一家计算机,则必须放弃原来 的所有设备,因为生产厂商之间的设备不兼容,而且网络相互都是不共享,导致市场上各自保护现象很严 重。
2、因此国际标准化组织(ISO)于1977年设立了专门的机构研究解决上述问题,并于不久后提出了一个是各种 计算机都能够互联的标准框架——开放式系统互连参考模型(OSI),简称OSI参考模型。
2.2、OSI参考模型简介
1、为什么使用分层结构?
- 降低复杂性
- 提高设备的兼容性
- 提供标准化的接口
- 促进模块化工作
- 简化教学和学习
- 易于实现与维护
2、OSI模型将数据通讯过程分割为7个层次,每个层次都负责各自的 功能,并设计了对应的协议实现这些功能,各个层次之间有标准化 的接口。
2.3、协议数据单元(PDU)
2.4、OSI参考模型各层次的功能 – 应用层
- 提供应用程序间通信。
2.5、OSI参考模型各层次的功能 – 表示层
- 数据表示、加密、解密。
2.6、OSI参考模型各层次的功能 – 会话层
- 会话建立维护管理。
2.7、OSI参考模型各层次的功能 - 传输层
- 建立主机端到端连接。
- 应用程序到应用程序的端到端。
2.8、OSI参考模型各层次的功能 – 网络层
- 寻址和路由。
2.9、OSI参考模型各层次的功能 - 数据链路层
- 介质访问、链路管理等。
2.10、OSI参考模型各层次的功能 – 物理层
- 二进制传输。
2.11、报文封装与解封装
2.12、数据在不同网络设备之间转发
1、发送方对原始数据进行封装,通过介质发送到下一跳设备。2、中间的网络设备对数据包进行解封装,查看对应信息,根据表项进行转发。3、数据经过中转达到目的设备,解封装后到达目标应用程序。
三、TCP/IP协议栈
3.1、TCP/IP协议栈简介
与OSI模型的区别:
1、TCP/IP总共定义了4层2、OSI的1、2层合并为网络接入层3、OSI的5、6、7层合并为网络应用层4、OSI模型与TCP/IP模型都是描述网络设备之间通讯标准流程5、TCP/IP模型是Internet的基本协议
3.2、应用层
3.3、传输层
1、TCP/UDP端口号范围是0~65535,其中0~1023是熟知端口号,已固定分配给常用应用程序
2、用于在主机系统中区分不同的应用程序,数据传输最终是程序之间的互相访问
- 例1:主机A远程登录主机B,随机端口1028作为源端口,主机B的23端口作为目的端口
- 例2:主机A通过浏览器发起HTTP访问,随机端口作为源端口,主机C的80端口作为目的端口
3.4、TCP/UDP 常见协议端口号
3.5、传输层的区别
1、UDP报文结构简单,传输效率高,但不具备排序功能以及重传机制,数据包到达目的地时,有可能因为网络问题,出现乱序或者丢包现象。
- 常用在视频、语音应用等。
1、TCP报文结构相对复杂,具备序列号、确认号、窗口大小等字段,使其具备排序功能、重传机制、滑动窗 口机制,确保数据传输的可靠性,使得数据能够准确按序到达目的地
- 常用在HTTP、FTP等可靠传输
3.6、传输层
1、基于TCP协议
- 传输数据前:由TCP建立连接
- 传输过程中:由TCP解决可靠性、有序性,进行流量控制
- 传输结束后:由TCP拆除连接
2、TCP头部字段
- 端口号:源端口标识发送方的进程,目的端口标识接收方的进程
- 序列号:保证数据传输的有序性,确认号对收到的数据进行确认
- 窗口大小:传输阶段,每次连续发送数据的大小
- Flag字段:
- ACK:确认号标志,置1表示确认号有效,表示收到对端的特定数据
- RST:复位标志,置1表示拒绝错误和非法的数据包,复位错误的连接
- SYN:同步序号标志,置1表示同步序号,用来建立连接
- FIN:结束标志,置1表示连接将被断开,用于拆除连接