3.1.OSI 参考模型和 TCP/IP 协议

  • OSI 参考模型定义计算机通信每层的功能,不是协议。
  • TCP/IP 协议是具体的协议,实现了 OSI 参考模型规定的功能。
  • TCP/IP 协议将 OSI 的应用层、表示层、会话层整合为应用层,将 OSI 的数据链路层、物理层整合成网络接口层。

image.png

3.2.OSI 参考模型每层功能

应用层

  • 应用层,根据互联网中需要通信的应用程序的功能,定义客户端和服务端程序通信的规范,应用层向表示层发出请求。

    表示层

  • 表示层,定义数据格式、是否加密或压缩。例如,FTP 允许你选择以二进制或 ASCII 格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择 ASCII 格式,发送方将把文本从发送方的字符集转换成标准的 ASCII 后发送数据。在接收方将标准的 ASCII 转换成接收方计算机的字符集。

    会话层

  • 会话层,它定义了如何开始、控制和结束一个会话,包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的。

    传输层

  • 传输层,常规数据递送,面向连接或无连接。面向连接实现可靠传输,比如 TCP 协议,面向无连接,提供不可靠传输,比如 UDP 协议。

  • 传输层的TCP协议是可靠传输,通信的之前客户端需要服务器建立连接,通信结束释放连接。
  • 使用netstat –nob可以查看计算机建立的TCP连接。
  • 可以看到建立TCP连接的进程。
  • 如果怀疑中了木马,可以根据建立的可以连接找到可以进程。进而查杀木马。

image.png

网络层

  • 网络层,根据网络地址为数据包选择选择转发路径。网络层为传输层提供服务,只是尽力转发数据包,不保证不丢包,也不保证按顺序到达接收端。

    数据链路层

  • 数据链路层,数据链路层常简称链路层,两台主机之间的数据传输,总是在一段一段的链路上传送的,这就需要专门的链路层的协议。

    物理层

  • 物理层,在物理层上所传输的数据单位是比特。发送方发送 1(或0)时,接收方应该收到 1(或0),而不是0(或1)。因此物理层要考虑用多大电压代表“1”或“0”,以及接收方如何识别出发送方所代表的比特。物理层还要确定连接电缆的的插头应当有多少根引脚以及各条引脚应如何连接。

    3.3 网络设备和 OSI 七层模型

  • 计算机工作在应用层、传输层和网络层,计算机的网卡工作在数据链路层和物理层。

  • 集线器这种设备工作在物理层。
  • 路由器接口工作在物理层和数据链路层,路由器根据IP首部转发数据包,所以说路由器工作在网络层。
  • 交换机根据MAC地址转发帧,MAC地址属于数据链路层地址,所以所交换机工作在数据链路层。当然交换机的接口也有物理层功能。

image.png

3.4 用分层的思想考虑问题

  • 计算机通信按功能分层的好处就是当某一层有变换不会波及其他层。
  • 比如单位的网络IP地址重新规划,不会影响企业内外的服务的访问。
  • 要实现这个分层,就不要在应用层包含网络层的信息,比如开发的客户端程序连接服务器就不要写服务器的IP地址,而是写服务器的名称。如果将服务器的IP地址写进应用程序,就没有采纳OSI参考模型的分层思想。网络一旦调整,就需要修改客户端程序。这就是网络层变换引起应用层变化了。

    3.5.理解 OSI 参考模型

    3.5.1.IT 人员涉及的内容

  • 序员开发网络应用程序,他们负责解决应用程序之间如何通信,通信是否需要加密和压缩,避免出现乱码。从这个角度说程序员的工作是 OSI 参考模型的应用层、表示层和会话层

  • 网络工程师,调试路由器和交换机,路由器属于网络层设备,交换机属于数据链路层设备,从这个角度说网络工程师工作是 OSI 参考模型的网络层和数据链层。
  • 通信工程师,专门研究如何在链路上如何更快的速率通信,其工作可以可以认为是 OSI 参考模型的物理层

image.png

3.5.2.理解表示层

  • 如果客户端和服务端程序交换数据,使用的字符集不一样,会出现乱码,这类故障就属于OSI 参考模型的表示层故障。例如页面展示的数据,服务器传过来的数据是用UTF-8进行编码的,页面就需要用UTF-8进行解码,不然就会出现乱码

image.png

3.6 OSI 参考模型指导网络排错

OSI参考模型中底层为其上层提供服务,因此排除网络故障也应该从底层到高层依次排查。

3.6.1 物理层故障

网线接头损坏,网线破损或者电脑网卡损坏等等,都属于物理层故障。

在网络状态中,已发送或者已接收当中任何一个状态是 0,就表示网络是不通的。
image.png

3.6.2 数据链路层故障

MAC 地址问题

MAC 地址属于数据链路层范围。网线接口(物理层)都是正常的,MAC 地址有问题也是上不了网的。
交换机可以通过每台电脑的 MAC 地址限制那些电脑可以上网,那些电脑不可能上网。
MAC 地址是每个网卡都固定了的地址,虽然不能更改网卡的 MAC 地址,但计算机可以自行更改自己要用的 MAC 地址。
MAC 地址设置位置:
如果选择不存在,MAC 地址就会使用网卡上的地址
image.png
将计算机连接到错误的VLAN也属于数据链路层问题

网速问题

网速不一致会导致网络连接不通。
例如一个电脑是百兆带宽,交换机是千兆带宽,没办法协商成一致就会导致网络不通。
一般电脑和交换机的带宽都是自适应的。

3.6.3 网络层故障

检查网络层,输入Ipconfig /all查看IP地址、子网掩码、网关、DNS是否设置正确。
网络层主要任务是负责选择数据传输的路径。
网络地址子网掩码和网关配置错误造成的故障。
路由器路由表错误。

服务A发送消息到服务B 要经过3个路由器,如果其中一任何一个路由器出现故障都会导致消息发送失败。
例如网络地址设置错误,网关设置错误都是属于网络故障。
IPv4和默认网关的网段必须是一致的。下面截图中IP地址192.168.3.191和默认网关192.168.3.1都是在同一个网段下。
image.png
ping Internet上的网站域名,测试域名解析是否正常。

3.6.4 表示层

乱码问题,例如:字符集配置不一致

3.6.5 应用层

应用层,telnet 服务对应的端口,看看是否能够成功。
检查应用层,看看客户端软件的配置是否正确。
应用程序配置错误问题
例如病毒这是了一个无用的代理地址,导致网络不通
image.png

3.7 OSI 参考模型和网络安全

3.7.1 物理层安全

防止非法计算机接入公司网络, 物理层不安全

3.7.2 数据链路层安全

VLAN 实现、交换机端口安全、ADSL拨号账号密码、链接无线密码都是属于链路层安全。

3.7.3 网络层安全

在计算机上可以设置网络安全,在路由器可以设置ACL控制数据包转发

3.7.4 应用层安全

应用层、表示层、会话层、传输层统称为应用层安全,需要程序员开发出安全的应用程序