网络原理初识

首先了解协议

协议:就是一种规范      eg:http协议组成(4个组成信息):首行信息/head/空行/body

思考:只要通信的两台主机,约定好协议就可以了吗?它为什么会出现

  • 计算机生产厂商有很多;
  • 计算机操作系统, 也有很多;
  • 计算机网络硬件设备, 还是有很多;
  • 如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 就需要有人站出来, 约定一个共同的标准, 大家都来遵守, 这就是 网络协议

 网络分层协议:

  1. OSI七层模型

  • 应用层。也称为应用实体,一般指的是应用程序,该层主要确定通信对象,并确保有足够的资源用于通信。常见应用层协议有:SSH,FTP,HTTP,DNS,SNMP.
  • 表示层。我将其理解为一位翻译,一般负责数据的编码及转换,确保应用层能够正常工作,是界面与二进制代码互相转换的地方,同时该层负责进行数据的压缩解压,加密解密等操作,也可根据不同的应用目的将数据处理成不同格式,表现出来就是各种各样的文件扩展名。
  • 会话层。主要负责在网络中的两个结点之间建立,维护,控制会话 ,区分不同的会话,以及提供单工,半双工,全双工三种通信模式的服务。NFS(Network File System网络文件系统),RPC(Remote Procedure Call 远程过程调用)和Xwindows等都工作在该层。
  • 传输层。传输层是osi模型中最重要的一层,主要负责分割,组合数据,实现端到端的逻辑连接。数据在上三层是整体的,到了这一层开始被分割,这一层被分割后的数据称为段。三次握手,面向连接或非面向连接的服务,流量控制等都发生在这一层。常见的传输层协议:TCP,UDP,SPX(序列分组交换协议).
  • 网络层。作用是将网络地址翻译成物理地址,并决定如何将数据从发送方路由到接收方,主要负责管理网络地址,定位设备,决定路由。路由器就工作在该层。上层的数据段在这层被分割,封装后叫做包(packet),包有两种:用户数据包,上层传下来的用户数据。路由更新包,和其他路由器进行路由信息的叫换,有路由器直接发出。常见的网络层协议有:IP,RIP(Routing Information Protocol路由信息协议)
  • 数据链路层。控制物理层与网络层之间的通信,主要负责物理传输的准备(物理地址寻址,CRC校验,错误通知等)。MAC地址和交换机都工作在这一层。上层传下来的包在这一层分割封装后叫做帧(Frame),常见数据链路层协议:SDLC,STP,帧中继等
  • 物理层。实实在在的物理链路,不多说。

注:传输层5个关键要素:目标IP,目标端口号,源地址IP,源端口号,协议。
UDP报头只有四个域:源端口号,目的端口号,数据报长度和检验和。

2.TCP/IP四层(或五层协议)

  • 应用层
  • 传输层 (TCP/UDP)
  • 网络层(IP)
  • 数据链路层
  • 物理层

 我们在传输层重点关注的协议为UDP和TCP,因为会有一个问题,TCP和UDP有什么区别?

  • TCP(Transfer Control Protocol) 是一种面向连接的,可靠的,传输层通信协议。

举个栗子:好比是打电话,面向连接的,点对点的通信,效率比较低,占用的系统资源比较多

  • UDP(User Datagram Protocol)是一种无连接,面向数据报(Datagram),不可靠的,传输层通信协议。

举个栗子:好比是广播,不需要连接,发送方不管接收方有没有准备好,直接发消息。可以进行广播(广泛播报)发送的,传输不可靠,可能会丢失消息(如果没听到),效率比较高,协议较简单,占用系统资源较少。

  • 数据包的封装和分用(⭐过程)
  • 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame).
  • 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation).
  • 首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息.
  • 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的"上层协议字段" 将数据交给对应的上层协议处理.

举个简单的栗子:

  • 网络中的地址管理

  • 认识IP地址 IP协议有两个版本, IPv4和IPv6. 我们整个的课程, 凡是提到IP协议, 没有特殊说明的, 默认都是指IPv4
  • IP地址是在IP协议中, 用来标识网络中不同主机的地址;
  • 对于IPv4来说, IP地址是一个4字节, 32位的整数;
  • 我们通常也使用 "点分十进制" 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;

2.认识MAC地址

  • MAC地址用来识别数据链路层中相连的节点;
  • 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)Linux 中mac格式是以:分隔的,windows中是以-分隔的
  • 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址).



 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

little-peter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值