互联网协议入门
物理拓扑分类
1.总线拓扑
总线拓扑结构是将网络中的所有设备通过相应的硬件接口直接连接到公共总线上,结点之间按广播方式通信,一个结点发出的信息,总线上的其它结点均可“收听”到。优点:结构简单、布线容易、可靠性较高,易于扩充,是局域网常采用的拓扑结构。缺点:所有的数据都需经过总线传送,总线成为整个网络的瓶颈;出现故障诊断较为困难。最著名的总线拓扑结构是以太网(Ethernet)。
2.星型拓扑
每个结点都由一条单独的通信线路与中心结点连结。优点:结构简单、容易实现、便于管理,连接点的故障容易监测和排除。缺点:中心结点是全网络的可靠瓶颈,中心结点出现故障会导致网络的瘫痪。
3.环形拓扑
各结点通过通信线路组成闭合回路,环中数据只能单向传输。优点:结构简单、容易实现,适合使用光纤,传输距离远,传输延迟确定。缺点:环网中的每个结点均成为网络可靠性的瓶颈,任意结点出现故障都会造成网络瘫痪,另外故障诊断也较困难。最著名的环形拓扑结构网络是令牌环网(Token Ring)
4.树型拓扑
是一种层次结构,结点按层次连结,信息交换主要在上下结点之间进行,相邻结点或同层结点之间一般不进行数据交换。优点:连结简单,维护方便,适用于汇集信息的应用要求。缺点:资源共享能力较低,可靠性不高,任何一个工作站或链路的故障都会影响整个网络的运行。
5.网状拓扑
又称作无规则结构,结点之间的联结是任意的,没有规律。优点:系统可靠性高,比较容易扩展,但是结构复杂,每一结点都与多点进行连结,因此必须采用路由算法和流量控制方法。目前广域网基本上采用网状拓扑结构。
OSI模型
开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型
层次划分
根据建议X.200,OSI将计算机网络体系结构划分为以下七层,标有1~7,第1层在底部。 现“OSI/RM”是“Open Systems Interconnection Reference Model”的缩写。
第7层 应用层
主条目:应用层
应用层(Application Layer)提供为应用软件而设的接口,以设置与另一应用软件之间的通信。例如: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等。
第6层 表达层
主条目:表达层
表达层(Presentation Layer)把数据转换为能与接收者的系统格式兼容并适合传输的格式。
第5层 会话层
主条目:会话层
会话层(Session Layer)负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接。
第4层 传输层
主条目:传输层
传输层(Transport Layer)把传输表头(TH)加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。例如:传输控制协议(TCP)等。
第3层 网络层
主条目:网络层
网络层(Network Layer)决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成分组。网络表头包含了网络数据。例如:互联网协议(IP)等。
第2层 数据链路层
主条目:数据链路层
数据链路层(Data Link Layer)负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形成帧。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链表尾(DLT)是一串指示数据包末端的字符串。例如以太网、无线局域网(Wi-Fi)和通用分组无线服务(GPRS)等。
分为两个子层:逻辑链路控制(logic link control,LLC)子层和介质访问控制(media access control,MAC)子层。
第1层 物理层
主条目:物理层
物理层(Physical Layer)在局部局域网上传送数据帧(data frame),它负责管理计算机通信设备和网络媒体之间的互通。包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机适配器等。
数据封装
OSI的核心思想:
1) 通信两端的主机能够理解对方的语言
这是要求主机使用相同协议格式来发送数据
2) 希望通信系统模块化,每个模块提供标准接口
每个模块给和直接耦合的模块提供标准化的流程接口,每个模块内部无论怎样实现没有硬性规定,但外在的接口一定是标准件,这样耦合的模块可以无缝对接起来。
这样做的好处有:
(1) 由于使用标准接口,每个通信模块可以独立开发,增加自由度,提高生产效率
(2) 增加代码的重复利用率,由于通信模块的标准化的外在接口,应用程序可以直接使用现成的通信模块,而无需重新编码,这大大减轻了开发者的负担,间接地提供了生产效率。
OSI参考模型 | 各层的解释 |
---|---|
应用层 | 为应用程序提供服务 |
表示层 | 数据格式转化,数据加密 |
会话层 | 建立,管理和维护回话 |
传输层 | 建立,管理和维护端到端的连接 |
网络层 | IP选址及路由选择 |
数据链路层 | 提供介质访问和链路管理 |
物理层 | 物理层 |
以上七道工序最终产生了二进制流,除了物理层之外,每道工序都会在原始数据前添加一串属于自己的协议头,每个协议头有源主机的每层工序产生,自然有理解这些协议头的对端,举例来说:
链路层协议头,这个协议头只有源主机、端接路由器可以理解,只会存活在源主机与其端接的中继路由器,换句话说,其生命周期只限于一根链路,只要端接路由器能顺利接收,其使命就算完成了,那路由器会将其从二进制流剥离掉,剩下打头阵的就是网络层的协议头。
网络层协议头,其中包含了目的地网络地址,用于指示沿途的路由器,这一串二进制流的目的地是哪里,路由器查询自己的网络地址表,决定再发给更靠近目的地的下一跳路由器。假如找到了一个出接口与下一跳路由器直连,则又要考虑如何添加链路层的协议头了,依据不同的接口类型,添加了适合此链路的链路层协议头,然后再依据物理层介质的不同,物理层将其以光、电、电磁波的信号发送出去。
依照上面类似的步骤,一串二进制流每经过沿途一跳路由器,变换一次链路特有的协议头,但网络层协议头一直不会变,最终这一串二进制流到达了终点。
至此,网络层协议头也完成了其使命,剥离掉网络层协议头,剥离掉之前,先读出网络层协议头的传输层协议代码,把这一串二进制流发给传输层,剩下打头阵的就是传输层的协议头。
传输层协议,依据传输层协议头里会话层协议代码,先剥离掉传输层协议头,把这一串二进制流发给会话层,剩下打头阵的就是会话层协议头。
会话层协议,依据会话层议头里表示层协议代码,先剥离掉会话层协议头,把这一串二进制流发给表示层,剩下的头阵的就是表示层协议头。
表示层协议,依据表示层议头里应用层协议代码,先剥离掉表示层协议头,把这一串二进制流发给应用层,剩下的头阵的就是应用层协议头。
应用层协议,经过以上一跳一跳路由器的中继、终点主机的一层层协议头的剥离,源主机发给终点主机的数据终于到达终点了,至于数据是文字、图片、音频、视频,则由应用层协议来最终解释。
PUD :
PDU: Protocol Data Unit,协议数据单元是指对等层次之间传递的数据单位
物理层的 PDU是数据位 bit
数据链路层的 PDU是数据帧 frame
网络层的PDU是数据包 packet
传输层的 PDU是数据段 segment
其他更高层次的PDU是消息 message
三种通讯模式
单播:一对一
广播:一对多
组播:多对多
网络设备
Hub集线器
Hub:多端口中继器
Hub并不记忆该信息包是由哪个MAC地址发 出,哪个MAC地址在Hub的哪个端口
Hub的特点:
共享带宽
半双工
以太网桥
交换式以太网的优势
• 扩展了网络带宽
• 分割了网络冲突域,使网络冲突被限制在最小的范围内
• 交换机作为更加智能的交换设备,能够提供更多用户所要求的功能:优先级、 虚拟网、远程检测……
以太网桥工作原理
以太网桥监听数据帧中源MAC地址,学习MAC,建立MAC表
对于未知MAC地址,网桥将转发到除接收该帧的端口之外的所有端口
当网桥接到一个数据帧时,如果该帧的目的位于接收端口所在网段上,它就过 滤掉该数据帧;如果目的MAC地址在位于另外一个端口,网桥就将该帧转发到 该端口
当网桥接到广播帧时候,它立即转发到除接收端口之外的所有其他端口
HUB和交换机
集线器属于OSI的第一层物理层设备,而网桥属于OSI的第二层数据链路层设备
从工作方式来看,集线器是一种广播模式,所有端口在一个冲突域里面。网桥 的可以通过端口隔离冲突
Hub是所有共享总线和共享带宽。网桥每个端口占一个带宽
路由器
为了实现路由,路由器需要做下列事情:
分隔广播域
选择路由表中到达目标最好的路径
维护和检查路由信息
连接广域网
路由
把一个数据包从一个设备发送到不同网络里的另一个设备上去。这些工 作依靠路由器来完成。路由器只关心网络的状态和决定网络中的最佳路径。 路由的实现依靠路由器中的路由表来完成
VLAN
• 分隔广播域
• 安全
• 灵活管理
资料来源:
[1] 拓扑
https://baike.baidu.com/item/%E6%8B%93%E6%89%91
[2]OSI模型
https://zh.wikipedia.org/wiki/OSI%E6%A8%A1%E5%9E%8B
[3] 如何生动形象、切中要点地讲解 OSI 七层模型和两主机传输过程? - 车小胖的回答 - 知乎