一.网络的基本概念
-
网络:计算机网络是一组计算机或网络设备通过有形的线缆或无形的媒介如无线,连接起来,按照一定的规则,进行通信的集合。
通信:是指人与人、人与物、物与物之间通过某种媒介和行为进行的信息传递与交流。
网络通信:是指终端设备之间通过计算机网络进行的通信。
二.osl七层参考模型
- 国际标准化组织(LSP)
- 1984年颁布了开放系统互连(OSL)参考模型
- 一个开放式的体系结构,将网络分为七层
osl七层模型
分层 功能 应用层 网络服务器与最终用户的一个借口 表示层 数据的表示,安全,压缩 会话层 建立管理,中止会话 传输层 定义传输数据的协议端口号,以及流控和差错校验 网络层 进行逻辑地址寻址,实现不同网络之间的路径选择 数据链路层 建立逻辑连接,进行硬件地址寻址,差错校验等功能 物理层 建立维护,断开物理连接
应用层:提供与用户接口
表示层:1.定义传递信息的语义和语法
2.编码和解码压缩码,加密解密
会话层:建立用户之间的会话关系
传输层:1.用户进程间的通信
2.承上启下
网络层:1.数据包封装结构
2.源和目的方的逻辑地址
3.根据包头的逻辑地址选路
数据链路层:1.数据帧封装结构,帧是单位的意思
2.源和目的方的物理地址
3.数据校验功能
必背:1.osl七层模型分层结构
2.数据链路组的作用
3.网络的作用
三:OSL模型vsTCP/模型
应用层 | 应用层 | 应用层 |
传输层 | 传输层 | 表示层 |
网络层 | 网络层 | 会话层 |
网络接口层 | 数据链路层 | 传输层 |
物理层 | 网络层 | |
数据链路层 | ||
物理层 | ||
TCP/IP | TCP/IP | OSL |
2.端到端和点到点分别代表的是什么?
1.传输层的通信为端到端(端口到端口)
2.网络层及以下的通信为点到点通信(主机与主机)
四:TCP/IP协议族的组成
HTTP:超文本传输协议:是一个简单的请求-响应协议,现在主要的场景是web服务,就是网页的传输,默认使用tcp的80端口
- HTTPs:是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性,默认使用tcp的443端口
- FTP文件传输协议:FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限,默认使用tcp的20,21端口
- TFTP简单文件传输协议:是一个小而易于实现的文件传送协议,TFTP只支持文件传输,不支持交互,没有庞大的命令集。也没有目录列表功能,以及不能对用户进行身份鉴别,默认使用udp的69端口
- SNMP简单网络管理协议:是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,默认使用udp的161端口
- SMTP简单邮件传输协议:一组用于从源地址到目的地址传送邮件的规则,并且控制信件的中转方式,用于邮件的发送,默认使用tcp的25端口
- POP3邮局协议版本3:用于邮件的接收,默认使用tcp的110端口
- telnet远程登陆协议:一种字符模式的终端服务,可以使用户通过网络进入远程主机或网络设备,然后对远程主机或设备进行操作,默认使用tcp的23端口
- ssh安全的远程登陆协议,默认使用tcp的22端口
- DNS域名解析系统:将域名和IP地址相互映射,默认使用tcp和udp的53端口
- DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码,默认使用udp的67和68端口
五 数据封装过程
应用层 | 上层数据 | |||
⬇ | ||||
传输层 | TCP头部 | 上层数据 | ||
⬇ | ⬇ | |||
网络层 | IP头部 | TCP头部 | 上层数据 | |
⬇ | ⬇ | ⬇ | ||
数据链路层 | MAC头部 | IP头部 | TCP头部 | 上层数据 |
⬇ | ⬇ | ⬇ | ||
物理层 | ||||
数据解封装过程
数据封装的过程:
数据在各层之间是如何传输的:
1、应用层,数据被"翻译"为网络世界使用的语言—二进制编码数据。大家可以试想
一下,人们需要通过计算机传输数据
的形式千变万化、各式各样,有字母、数字、汉字、图片、声音等。这些信息对于单一通过弱电流传输的计算机来说太过于"复杂",因此这些人类方便识别的信息被应用层通过各种特殊的编码过程转换成二进制数据。这就是上面所描述的"翻译"过程,也是应用层在网络数据传输过程中最为核心的贡献。
2、传输层,上层数据被分割成小的数据段,并为每个分段后的数据封装TCP报文头部。它不可能看懂应用层传输具体数据的内容的,因此只能借助一种标识来确定接收到的数据对应的应用程序,这种标识就是端口。
3、网络层,上层数据被封装上新的报文头部—IP头部。值得注意的是,这里所说上层数据包括rcP头部,也就是说,这里的上层是指传输层。对于网络层而言,它是看不懂rcP报文头部中内容的,在IP头部中有一个关键的字段信息—IP地址,一组32位的二进制数组成的,用于标识网络的逻辑地址。网络层的传输过程与其很类似,在IP头部中包含目标I地址和源IP地址,在网络传输过程中的一些中间设备,如路由器,会根据目标IP地址来逻辑寻址,找到正确的路径将数据转发到目的端。如果中间的路由设备发现目标的IP地址根本是不可能到达的,它将会把该消息传回发送端主机,因此在网络层需要同时封装目标IP和源IP。
4、数据链路层,在数据链路层,上层数据被封装一个MAc头部,其内部有一个关键的字段信息—MAc地址,它由一组48位的二进制数组成。在目前阶段,我们先把它理解为固化在硬件设备中的物理地址,具有全球唯一性。网卡就有属于自己的唯一的MAc地址。和IP头部一样,在Mac头部也同时封装着目标Mac地址和源MAc地址。
5、物理层,传输过程无论在之前哪一层封装的报文头部还是上层数据信息都是由二进制数组成的,在物理层,将这些二进制数字组成的比特流转换成电信号在网络中传输
六:TCP和UDP的区别:
- TCP (传输控制协议) :协议号是6,面向连接的可靠的传输层协议
- 三次握手、 四次断开、分段重传、滑动窗口机制保证数据传输的可靠性
- 缺点是这些机制需要耗费大量时间, 因此效率较低
- UDP (用户数据报协议) :协议号是17,面向无连接的不可靠的传输层协议
- 优点是没有机制保证数据传输的可靠性, 但是效率很高。
- 缺点是可靠性不高
- 数据需要根据耗费流量大小及传输效率去选择哪些适合TCP,哪些适合UDP
- 常见的语音、视频等这些需要耗费很多流量并且需要效率更高,这样的场合适合用UDP
- 而一些应用服务对网络流量带宽要求并不高,可靠性要求较高的这样的场合适合用TCP