计算机网络基础
1.分层思想
将复杂的流程分解为几个功能相对单一的子过程
整个流程更加清晰,复杂问题简单化
更容易发现问题并针对性地解决问题
2.OSI参考模型 VS TCP/IP参考模型
2.1 OSI参考模型
应用层: 网络服务与用户的一个接口(用户操作)人机交互窗口
把我们 (人)的语言输入到计算机当中。Eg:微信 qq(终端设备:pc,平板,手机)
表示层: 把人的语言翻译成机器语言
(计算机语言)将我们接收到的数据翻译成二进制数组成的计算机语言,并且对数据进行压缩和解压和数据加密解密
等工作。(终端设备:pc,平板,手机)
会话层: 建立、管理、终止会话(软件的建立会话 qq、vx)管理是否允许不同的机器上用户之间建立会话连接的关系
。(终端设备:pc,平板,手机)
传输层:(eg:防火墙
工作在传输层)定义传输数据的协议端口号(eg:几0几室 即:地址)、流控、差错校验
(端到端 eg:门卫同意你进去你才能进)。将上层的数据以分片
的形式 并加上端口号进行封装,成数据段
,或者通过对报文头部的端口识别,实现网络中不同的主机上用户进程之间的数据。如果校验错误会停止校验,重新发送。(终端设备:pc,平板,手机)用户进程之间的通信,承上启下。
网络层:(eg:路由器
工作在网络层)进行逻辑地址(IP地址
随时随地会变所以叫逻辑地址)实现不同的网络之间的路径选择。将上层的数据加上源和目标的逻辑地址(即IP地址)封装成数据包
,实现数据从源端到目的端的传输。(点对点 )(终端设备:网关,路由器)根据包头的逻辑地址选路径。
数据链路层:(eg:网桥,交换机、网卡)建立逻辑链接、进行硬件地址寻址、差错校验等功能。(交换机、网卡)将上层的数据加上源和目的地址(物理地址 即Mac地址
用来标识网卡的物理地址(全球唯一))封装成数据帧
。
物理层: (eg:网卡、网线、中继器、集线器、光纤、同轴电缆、双绞线)建立、维护、断开物理链接把报文头部和上层数据信息都是二进制数组成,物理层将这些二进制数字组成的比特流
(位)转换成电信信号在网络中传输。
2.1.1 OSI分层模型的案例
vx qq是如何进行OSI分层的
应用层:对话窗口 输入:你吃过了吗 人机交互窗口
表示层:机器收到你输入的信息,立马翻译成计算机识别的语言,并进行压缩加密
会话层:建立与对方的链接 即 会话,两端需要建立关系才能使用(互联、找到对方的实体,即qq、vx进程)
传输层:我这边把qq进程给你,然后我到另外一头需要找到对方的端口 也就是qq、vx传输信息的端口(端到端)
网络层:负责通过路由器找到对方的IP地址(网络地址)
数据链路层:要通过物理地址找到对方的主机Mac地址
物理层:负责二进制比特流来传输
2.1.2 端到端与点到点的区别
点到点:主机a与主机b
端到端:进程与进程之间 端口对端口,你的窗口与我的窗口,南京到上海
2.2TCP/IP参考模型
2.2.1 TCP/IP协议族的组成
1.应用层: HTTP(超文本传输协议) 80
HTTPS 加密的 443
FTP(文件传输协议) 21端口用于连接,20端口用于传输数据
TFTP(简单文件传输协议) 69
SMTP(简单管理协议)
DNS(域名解析) 53
2.传输层:TCP(传输控制协议) 只适合 邮件 传输 稳定安全
UDP(用户数据报协议) 高效 不校验 eg:qq
3. 网络层:ICMP(国际控制报文协议)ICMP报文是在IP数据报内部传输
IGMP(国际组织管理协议)
IP(网际协议):IP协议是不可靠协议
ARP(地址解析协议):IP地址解析MAC地址
RARP(逆地址解析):(相反)逆向解析
4.网络接口层:由底层网络定义的协议
IEEE 802.3 有线局域网(以太网)标准
IEEE 802.11 无线局域网标准
2.2.2 PDU协议族的组成 与 各层之间的通信及设备
协议数据单元PDU(Protocol Data Unit)是指**对等层次之间传递的数据单位
**。等层之间的传输叫pdu协议数据单元(Protocol Data Unit )物理层的 PDU是数据位(bit),数据链路层的 PDU是数据帧(frame),网络层的PDU是数据包(packet),传输层的 PDU是数据段(segment),其他更高层次的PDU是数据(data)。
设备与层的对应关系:
2.2.3通信模式
我们在串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,按照数据流的方向可分成三种基本的传送方式:单工通信、全双工、半双工。
3.封装与解封装
3.1封装
封装:从上往下 上层数据、数据段、数据包、数据帧、比特流
1.应用层 通过人机交互之后产生上层数据,把上层数据
封装到传输层
2.到传输层,端到端,看端口号是否一致,把源端口号和目标端口号
进行封装,封装成tcp头部,把tcp头部和上层数据打包成数据段
。
3.在到网络层,是根据逻辑寻址,把源ip地址和目标ip地址
进行封装,封装成ip头部,把tcp头部和上层数据以数据包
的形式,传输到数据链路层。
4.数据链路层是进行建立逻辑链接,根据硬件地址寻址,即Mac地址,源mac地址和目标Mac地址
进行封装,成Mac头部,然后将Mac头部和ip头部和tcp头部和上层数据以数据帧的形式传送到物理层。
5.物理层,通过比特流
转换为电信号
。
3.2解封装
从下往上 比特流、数据帧、数据包、数据段、上层数据
1.先是物理层的比特流
2.数据链路层:解析Mac地址(分为源mac和目的mac地址,看目的地址是不是我的,是否一致,是我的我拆掉Mac头部,不是我的就不动。)
3.网络层:看是不是我的ip地址,源ip地址和目标ip地址
是我的我就拆掉ip头部,不是我的我就不动他。
4.传输层:看端口号是不是我的,传输层是端到端,源端口号和目的端口号是不是我的,是我的就拆掉tcp头部,不是我的我不动。
5.最后 到达应用层传数据。
总结:
OSI参考模型的七层协议;
早期TCP/IP模型是一个四层结构后来演变成新的五层结构;
TCP报文段首部长度为20-60字节,其首部格式中有6哥重要的控制位,而UDP的首部格式要简单的多;
数据的封装与解封装过程;