Linux---网络基础(上)

简单的背景介绍:在没有网络之前,每一台电脑都是独立的,数据是不能直接传输共享的,只能都过U盘等硬件设施进行数据的拷贝移动,效率很低。为了实现多台电脑之间的分工合作,我们要让电脑连接在一起,渐渐地就形成了网络。注意:网路的发展不仅仅是软件方面的发展,还有底层硬件设施的更新迭代。

相关概念: 

局域网(LAN):是一种在一个特定区域内(如一个学校、工厂和机关内)将各种计算机、外部设备和数据库等互相连接起来,实现高速通信的网络系统。

广域网(WAN):是一种连接不同地区局域网或城域网计算机通信的远程网。它通常跨接很大的物理范围,覆盖从几十公里到几千公里的区域,能够连接多个地区、城市和国家,甚至横跨几个洲,提供远距离通信,形成国际性的远程网络。

网络的数据传输和计算机内部的数据传输,在一定程度上很类似,只是距离长短的问题。而距离变长无疑会产生很多问题,如数据丢包怎么处理?如何到达目的地(即路径选择)?等等,为了解决网络间的数据传输的各种问题,我们有了协议。

什么是协议?协议本质就是一种约定。就好比两个人交流,如果语言不通,我们就不能理解/无法正确理解对方在说什么,就会出问题,所以在交流之前要约定好使用某种语言。

当然网络协议需要解决很多其他的问题。从硬件上来说,如何传输0/1序列,如何将光电信号转化为01序列等,从软件上来说,如何将发来的01序列正确的翻译和上交给相应的进程等。所以网络协议是涉及方方面面的,很全面。

一、认识网络协议

为了解决上诉问题,我们设计了网络协议,如下

1、网络协议的作用

  • 物理层:负责光/电信号的传递方式,比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆 (现在主要用于有线电视)、光纤,现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等,集线器(Hub)工作在物理层
  • 数据链路层:负责设备之间的数据帧的传送和识别,例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网, 无线LAN等标准。交换机(Switch)工作在数据链路层
  • 网络层:负责地址管理和路由选择,例如在IP协议中,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的线路(路由),路由器(Router)工作在网路层
  • 传输层:负责两台主机之间的数据传输,如传输控制协议 (TCP),能够确保数据可靠的从源主机发送到目标主机
  • 应用层:负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等,我们的网络编程主要就是针对应用层

2、网络协议和操作系统

3、如何理解网络协议

对网络协议的描述还是过于抽象,现在我们结合现实中的例子来更好的理解网络协议。

相信大家都有收过快递的经历,网上下单,然后快递员送到你家。我们收到的快递都会有快递单号,上面记录了一些地址信息,用户信息等,如下

很多时候其实我们并不关心快递单上写了什么,我们只关心买的东西,那么快递单有啥用呢?它主要的作用是给快递小哥看的,快递小哥根据上面的信息就能将快递送达,而快递单上会记录哪些信息,是约定好的。

这个功能就相当于网络协议,我们在发送数据时,会给数据加上报头,用来记录一些信息用于传递数据。报头是用结构体实现的,不同的协议规定了内部需要哪些字段,然后两台主机都遵守该协议内容,所以能进行通讯

二、网络中的地址管理

IP地址

  • IP地址是在IP协议中,用来标识网络中不同主机的地址
  • 对于IPv4来说,IP地址是一个4字节,32位的整数
  • 我们通常也使用 "点分十进制" 的字符串表示IP地址, 例如 192.168.0.1,用点分割的每一个数字表示一个字节,范围是 0 - 255

(IP协议有两个版本,IPv4IPv6,两者之间的区别还蛮大的,有兴趣可以了解一下)

Mac地址

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

总结:IP地址和Mac地址都能标识网络中的唯一一个主机,IP地址主要用于逻辑上的寻址和通信,而Mac地址则用于物理层面的设备标识和网络通信。在传输报文时,IP地址用来表示目的地址(保持不变),Mac地址记录下一跳的地址(随着数据转发在不停的变化)。

以太网和令牌环都是链路层的协议,有兴趣可以去了解一下。

  • 11
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值