网站速度优化工具,网站能否做二维码,外贸之家,视频网站代理文章目录 前言一. 计算机网络发展局域网和广域网 二. 网络协议三. OSI七层模型四. TCP/IP四层#xff08;五层#xff09;模型五. 计算机体系结构与网络协议栈六. 协议形式及局域网通信数据包封装与分用 七. 跨网络通信八. MAC地址与网络通信的理解结束语 前言
本系列文章是… 文章目录 前言一. 计算机网络发展局域网和广域网 二. 网络协议三. OSI七层模型四. TCP/IP四层五层模型五. 计算机体系结构与网络协议栈六. 协议形式及局域网通信数据包封装与分用 七. 跨网络通信八. MAC地址与网络通信的理解结束语 前言
本系列文章是计算机网络学习的笔记欢迎大佬们阅读纠错分享相关知识。希望可以与你共同进步
本篇文章是网络学习的一些前景认识基本都是概念性的知识
一. 计算机网络发展
最开始计算机之间是彼此独立工作的各自处理自己的业务 接着因为一个人的业务可能会影响另一个人的业务所以需要数据共享于是尝试将多台计算机连接在一起 然后需要链接的计算机越来越多就出现了局域网LAN通过交换机和路由器连接在一起 最后为实现全球互联网化相隔千里的计算机也能互相通信使用路由器将各个局域网连接构成广域网 局域网和广域网
局域网
局域网缩写LLAN是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网是封闭型的可以由办公室内的两台计算机组成也可以由一个公司内的上千台计算机组成
广域网 广域网缩写WAN又称外网公网指的是连接不同地区局域网或城域网计算机通信的远程网。通常跨接很大的物理范围所覆盖的范围从几十公里到几千公里能连接多个地区城市国家或横跨几个洲并能提供远距离通信形成国际性的远程网络。 平常所指的互联网是属于一种公共型的广域网
局域网和广域网的区别
目前看来二者的区别是范围大小并且广域网内包含许多的局域网
另外在之后的学习中我们会理解
广域网上的每一台电脑都有一个或多个广域网IP广域网IP一般要付费申请且不能重复局域网上的每一台电脑都有一个或多个局域网IP局域网IP是内部分配的两个局域网内的电脑可能有相同的IP不会影响
二. 网络协议
要想连接多台计算机实现数据共享就要保证彼此传送数据的完整和一致 但计算机生产厂商各有不同操作系统各有不同计算机网络硬件设备各有不同如此多的不同势必影响数据的正确传输 如何解决呢就是通过共同的标准——协议
就以打电话为例
简单将通行分为两层语言层和通信设备层 可见要想正常沟通语言层需要协议统一数据传送也需要协议统一 而语言层和通信设备层之间为低耦合可以有不同语言或通信设备
三. OSI七层模型
OSIOpen System Interconnection开放系统互连七层网络模型称为开放式系统互联参考模型是一个逻辑上的定义和规范把网络从逻辑上分为了7层每一层都有相关的物理设备比如路由器交换机OSI七层模型是一种框架性的设计方法其最主要的功能就是帮助不同类型的主机实现数据传输OSI将服务接口协议这三个概念明确地区分开来通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠通讯
但是OSI是最初的理论模型较为复杂后续出现了TCP/IP这一四层模型 后续也主要研究TCP/IP模型
OSI七层模型 四. TCP/IP四层五层模型
TCP/IP是一组协议的代名词它包括许多协议组成立TCP/IP协议簇 TCP/IP通讯协议采用了5层的层级结构但最后一层物理层多数不考虑所以是TCP/IP4层模型 每一层都呼叫它的下一层所提供的网络来完成自己的需求 应用层负责应用程序间沟通如简单电子邮件传输SMTP文件传输协议FTP网络远程访问协议Telnet等。网络编程主要针对应用层传输层负责两台主机之间的数据传输。如传输控制协议TCP能够确保数据可靠的从源主机发送到目标主机网络层互联网层负责地址管理和路由选择、例如在IP协议中通过IP地址标识一台主机并通过路由表的方式规划出两台主机之间的数据传输的线路路由。路由器工作在网络层数据链路层网卡层负责设备之间的数据帧的传送和识别。例如网卡设备的驱动帧同步从网线上检测到什么信号算作新帧的开始冲突检测冲突则重发数据差错校验等。有以太网令牌环网无线LAN等标准交换机工作在数据链路层物理层了解负责光/电信号的传递方式比如现在以太网通用的网线双绞线早期以太网采用的同轴电缆光纤WIFI无线网使用电磁波等都属于物理层概念。物理层的能力决定了最大传输速率传输距离抗干扰性等。集线器工作在物理层
对于一台主机操作系统内核实现从传输层到物理层的 对于一台路由器其实现了从网络层到物理层 对于一台交换机它实现了从数据链路层到物理层 对于集线器它只实现了物理层
但并不绝对有些交换机也实现了网络层的转发有些路由器也实现了部分传输层的内容比如端口转发
参考博客TCP/IP四层模型和OSI七层模型的概念
五. 计算机体系结构与网络协议栈 可以看到网络协议栈是贯穿计算机体系结构的层层对应。 并且传输层和网络层是在操作系统内部的实际是属于文件系统的一部分。虽然不同操作系统的具体实现有所不同但网络的这部分必须达成一致才可以在大环境中实现通信。 数据链路层是驱动可以有不同比如以太网和令牌环网 用户这里指的不是所有人而是会使用语言的工程师等
六. 协议形式及局域网通信
讲协议形式前我们先举个例子方便大家理解
我们在网购时比如购买一个键盘快递员最后并不是直接将键盘送达而是将包裹送达。而包裹外有快递单上面有我们的地址电话用户名等等信息。网络通信的数据就像一个个商品从发送方开始就需要包裹并且附带目的地址快递是商品快递单而网络数据是有效载荷协议报头
接下来我们从协议栈角度讲述“在吗”这一消息有效载荷如何通过网络协议栈上传到网络又如何从网络中抓取解包的 这是简化的收发双方的网络协议栈每层各自举例比较有代表性的协议 可以看到
每一层都会给有效载荷添加自己的协议报头每一层都将上层所交付的数据当成有效载荷每一层也要能将自己的协议报头和有效载荷分离并向上交付从协议层来看每层都是跟对方的协议层直接通信同层协议能够互相认识对方的报头
其中最为重要的两点是 每个协议层都要
能将自己的报头和有效载荷分离能将有效载荷向上交付
这两点分别称为解包和分用
后续具体协议层的学习我们也会围绕这两点展开
数据包封装与分用
不同的协议层对数据包有不同的称谓在传输层叫做段segment在网络层叫做数据报datagram在链路层叫做帧frame应用层数据通过协议栈发到网络上时每层协议都要加上一个数据首部header称为封装Ebcapsulation首部信息中包含了一些类似于首部有多长载荷payload有多长上层协议是什么等信息数据封装成帧后发到传输介质上到达目的主机后每层协议再剥掉相应的首部根据首部中的“上层协议字段”将数据交给对应的上层协议处理
下图为数据封装的过程
下图为数据分用的过程 局域网通信
举例 就像在课堂上王老师在讲台上问张三昨天作业交了没这个消息其实全班同学都听到了但是因为对象不是自己所以就忽略丢弃这个消息了。只有张三会捕获这个消息给出答复。 如果同时有多个人说话那么彼此之间的话语就会影响导致传输异常
所以在局域网通行中任何时刻只允许一个人向局域网中发送消息
七. 跨网络通信
图中为跨一个路由器的两个局域网子网 此处故意让双方主机使用不同的数据链路层上面也说过数据链路层不在操作系统中可以不同
可以看到路由器是级联两个不同局域网主机的媒介 路由器也是一台主机节点其有1.物理层 2.链路层 3.网络层 路由器因为要连接不同局域网所提至少要级联两个子网至少要有两个网络接口 主机A想要和主机B通信需要先将数据发送给路由器然后由路由器转发给主机B
首先面临的第一个问题是如何定位路由器。 因为路由器也是主机在局域网中如何定位呢 方法就是标识所有主机——IP地址表示公网中主机的唯一性公网公网公网
IP地址实际是一个整数 IPV4下IP是一个4字节的整数 IPV6下IP是一个16字节的整数 使用点分十进制表示常见的有192.168.X.Y 范围是0.0.0.0 ~ 255.255.255.255 字符串风格的点分十进制IP地址是给人看的计算机中是如此实现
struct ip
{int part1:8;int part2:8;int part3:8;int part4:8;
}int srcIPXXX;//一个IP地址//转化成结构体
struct ip *p(struct ip*)srcIp;
//如此就按比特位填充并且知道每8个比特位的数值
p-part1...
p-part2...在IP层会维护一个路由表其中记录了该主机所属局域网的所有主机IP所以可以知道目的地址是不是本局域网的主机。如果目的IP地址不是本局域网的就会将数据转发给路由器路由器再转发给主机B。 路由器也需要解包然后匹配目的IP是否是自己的 注意局域网中是上述的广播即所有主机都会收到但是因为其中的目的IP不是自己所以将报文丢弃 就像大家在学校的学号我们知道自己的学号以及其中组成。面对一个陌生的学号我们可能不知道这个学号是谁的具体哪个学院的但可以根据自己的学号确定是不是和自己一个学院的
另外路由器还会根据将要转发的数据链路层的协议重新添加链路层的报头这样就避免了不同链路层无法通信的问题。 只要通过IP地址就可以找到对应主机。IP协议及以上的协议没有看到任何网络方面的差异IP地址屏蔽了底层子网机制的差异
其中运用的思想就是软件工程的核心思想 任何软硬件问题都可以通过添加一层软件层解决
八. MAC地址与网络通信的理解
MAC地址
MAC地址用来识别数据链路层中相连的节点长度为48位及6个字节一般用16进制加上冒号的形式表示例如08:00:27:03:fb:19在网卡出厂时MAC地址就确认了不能修改。MAC地址通常是全球唯一的虚拟机中的mac地址不是真实的可能会冲突也有些网卡支持用户配置MAC地址
网络通信的理解
在跨网络通信中我们只举例了一个路由器连接的两个子网通信实际上真实的网络通信有许许多多的路由器和子网所以路上一定途径多个路由器进行了多次路由转发
可能路径如下 线性如下 因为路由器只需要交付到网络层IP即可所以向上的线段较短
结束语
网络基础1的内容到此就结束了感谢看到此处 欢迎大家纠错和补充 如果觉得本篇文章对你有所帮助的话不妨点个赞支持一下博主拜托啦这对我真的很重要。