网络基础

网络发展

  • 独立模式: 计算机之间相互独立 ; 网络互联: 多台计算机连接在一起, 完成数据共享
  • 因为人和人之间数据要互相协作,所以网络的出现是必然的,同时随着网络发展,必然会产生新的物理级别的设备

协议

"协议"是一种约定,计算机协议就是计算机之间的约定,目的是减少通信时的沟通成本

网络分层结构

  • 软件分层
    软件分层是一种常用的组织代码的方式,它将一个软件系统分解成多个层次,每个层次都有自己的职责和功能。层与层之间是松耦合的,可以随时替换,方便维护。

  • 网络分层(为什么要存在网络协议?为什么要协议分层?)
    因为互联网通信双方的距离变远了,必定会引发新的问题:
    1.如何使用数据的问题
    2.可靠性问题(数据丢包或顺序不一致)
    3.主机定位的问题
    4.数据包局域网转发的问题
    为了解决这些问题,有人提出了网络协议,所以网络协议本质是一个解决方案,如何衡量一个方案的好与坏?好的方案一定要方便维护且可扩展,所以网络协议就是层状结构

  • OSI七层模型

分层名称功能每层功能概览
应用层针对特性应用的协议针对每个应用的协议
表示层备固有数据格式和网络标准数据格式的转换接收不同表现形式的文件,如文字流、图像、声音等
会话层通信管理。负责建立和断开通信连接。管理传输层以下的分层何时建立连接,合适断开连接以及保持多久的连接
传输层管理两个节点之间的数据传输负责可靠传输(确保数据被可靠的传送到目标地址)是否有数据丢失
网络层地址管理与路由选择经过哪个路由传递到目标地址
数据链路层互联设备之间传送和识别数据帧数据帧与比特流之间的转换
物理层用‘0’和‘1’表示高低电压,灯光的闪灭比特流与电子信号的转换、连接器与网线的规格

因为OSI七层模型复杂又不实用,所以实际中用的是TCP/IP五层(或四层)模型

  • TCP/IP五层模型

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

在这里插入图片描述
互联网因为通信双方距离变远,引发的问题:
1.如何使用数据的问题 ------ 应用层
2.可靠性问题(数据丢包或顺序不一致) ------ 传输层
3.主机定位的问题 ------- 网络层
4.数据包局域网转发的问题 ------- 数据链路层

物理层我们考虑较少,因此很多时候也可以称为TCP/IP四层模型

  • 网络和OS之间的关系

在这里插入图片描述
在这里插入图片描述
windows和linux操作系统在系统上可能有很多差别,但在网络上,双方必须使用相同的数据类型,所以经过传输,对方一定认识每个字段的大小,含义,这样不同系统之间就可以进行网络通信了。
世界上所有的操作系统只要想入网,就必须遵守TCP/IP协议,保证不同主机之间的数据通信
所以站在语言角度,协议就是双方都能识别的结构体数据类型

局域网通信

局域网中的任意两台主机可以直接通信
每台主机都有网卡,每张网卡都有自己的地址,即MAC地址,MAXC地址标示网卡的唯一性

  • 以太网
    任何时刻只允许一台主机在局域网中发送消息,通过碰撞域和碰撞检测来完成通信的。

OS和网络一统:局域网是一个临界资源

应用层数据通过协议栈发送到网络上时,报文不断被自顶向下交付的过程中,要添加每一层的协议报头,叫做封装。
不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。
在这里插入图片描述
解包和分用:任何协议(特殊情况暂不考虑)

  • 1.同层协议将包头和有效载荷进行分离
  • 2.将有效载荷交付给上层协议,所以协议中要有表明上层协议的字段

在这里插入图片描述
逻辑上,同层协议都可以认为自己在和对方直接通信
在这里插入图片描述
所有的主机协议在数据链路层可能不一致,但只要到了网络层以上,所有协议都是一样的,网络层屏蔽掉底层的差异,所以在互联网中只需要使用IP地址即可,所以互联网也叫做IP网

IP地址和MAC地址

我们所讲的IP,但凡没有说明,默认都是IPv4

  • IP地址在IP协议中,用来标示网络中不同主机的地址
  • 对于IPv4来说,IP地址是一个4字节的32位整数
  • 通常也使用点分十进制的字符串表示IP地址

MAC地址用来识别数据链路层中相连的节点
长度为48位6个字节,一般用16进制数字加上冒号的形式来表示
MAC地址通常是唯一的,且MAC地址只在局域网中使用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LRBORRR

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

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

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

打赏作者

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

抵扣说明:

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

余额充值