Linux之网络基础

一、网络基础

  • 路由器的产生伴随着局域网的产生。

1.网络的分类

  • 以覆盖范围进行划分:局域网(LAN,计算机数量多,把分布在数公里范围内不同物理位置的计算机设备通过交换机和路由器连接在一起。) 、城域网(MAN,一个城市范围内所建立的计算机通信网。)、广域网(WAN,将远隔千里的计算机都连在一起。)
  • 国内的:互联网。 全球的:因特网。
  • 局域网的分类:以太网、令牌环网、FDDI网(光纤分布式数据接口)、ATM网(异步传输模式)
  • 以拓扑结构划分为:总线型拓扑、星型拓扑、环型拓扑、树型拓扑、网状拓扑、混合型拓扑。

二、网络中的地址管理

1.IP地址

  • IP地址分为IPV4和IPV6,IPV4:uint32_t类型的一个整数,用于在网络中唯一标识一台主机。IPV6:128位,但是IPV6不向前兼容IPV4,因此没有推广起来。
  • DHCP动态地址分配技术 ---- 谁上网就给谁分配地址(因为IPV4地址不够用),但是同时上网的人也特别多,IP地址还是不够用。
  • NAT地址转换技术(为了解决DHCP动态地址分配技术IP地址依旧不够用的问题)---- 大家使用同一个IP地址上网(经过路由器时,把数据的原IP地址改成当前路由器的地址)、
  • 目前解决IP地址不够用的问题的方式:DHCP + NAT,但是根本的解决方式是IPV6。
  • 端口:uint16_t类型的一个整数 ---- 用于在主机上标识进程。
  • 端口号的范围是64k ----- 0~65535。一个端口号只能标识一个进程,即一个端口号只能被一个进程占用,但是一个进程可以使用多放个端口。
  • 一个客户端主机上面最多可以使用多少个客户端? ---- 一块网卡的情况下,最多为64k个客户端。

2.MAC地址

  • MAC地址用来识别数据链路层中相连的节点;
  • 长度为48位,即是6个字节,一般用十六进制数字加上冒号的形式来表示(如:09:01:22:04:bc:26);
  • 在网卡出厂时就确定了,不能修改,MAC地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址,可能会冲突,也有些网卡支持用户配置mac地址)。

三、网络协议

  • 协议:即约定。
  • 通信协议:通信双方在通信过程中的数据格式约定,只有使用同一种标准网络通信协议,才能实现网络互联。
  • 通信中的五元组:源IP地址、目的IP地址、源端口、目的端口、协议。

1.协议分层

  • 作用:在通信环境中按照每一层所提供的服务,以及所使用的的接口,以及所使用的的协议,对网络通信环境进行分层,是网络通信更加简单灵活。
  • OSI七层参考模型:开放网络互联模型。应用层、表示层、会话层、运输层、网络层、链路层、物理层。
    (1)TCP/IP五层参考模型:(两个主机之间通过IP地址来定位,相邻设备之间通过MAC地址来定位。)
五层作用
物理层负责光电信号的传输(以太网协议:负责限定传输设备的长度,可达到的距离等。)典型的设备:集线器
链路层负责相邻设备的数据传输(以太网协议(Ethernet):负责相邻设备的数据传输以及数据帧(冲突)的检测等。)典型设备:交换机
网络层负责地址管理与路由选择(IP协议等。)典型设备:路由器
传输层负责进程之间的数据传输(TCP/UDP协议等。)
应用层负责进程之间的数据沟通,应用层的协议都是程序员自己及定义的(HTTP/FTP/SSH协议等。)

2.网络通信传输中数据的封装与分用

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

在这里插入图片描述

四、网络字节序

  • 字节序:CPU从内存中对数据进行存取的顺序。
  • 主机字节序的分类:大端字节序(低地址存高位)和小端字节序(低地址存低位)。
  • 决定一个主机字节序是大端还是小端的关键在于:CPU架构(英特尔的架构是X86是一个小端字节序,MIPS架构是一个大端字节序,免费的一个架构Risc架构)。
  • 主机字节序对网络通信的影响:不同主机字节序的两台主机进行通信的时候可能会造成数据二义性。
  • 因此作出规定,在网络通信中统一使用大端字节序作为网络字节序进行通信。
  • 主机字节序会对哪些数据造成影响?---- 对按多个字节存取的数据类型:short/int/long/float/double。char a【64】。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值