计算机网络通关学习(二)

ops/2024/11/17 5:48:57/

TCP/IP

OSI七层模型,注意TCP/IP为协议簇,即TCP/IP并不单单指TCP、IP两个协议,其也包括了ARP,RARP,ICMP,SNMP,DNS等等一系列协议。

注:路由器仅有三层。

分类

网络中传输方式:

  • 面向有连接型:在发送数据前,需要在收发主机之间连接一条通信线路。
  • 面向无连接型:不要求建立和断开连接。发送端可于任何时候自由发送数据。

接收端数量分类:

  • 单播: 1对1
  • 多播:与广播类似,将消息发送给多个主机,不同之处在于多播要限定某一组主机作为接收端
  • 广播:将消息从一台主机发送给与之相连的所有其他主机
  • 任播:在特定多台主机中任选一台作为接收端

  TCP/IP

数据链路层

数据链路层的协议定义了通过通信媒介互联设备之间的传输规范。(双绞电缆,同轴电缆,光纤...)

这里涉及到了一个网络拓扑的知识,网络拓扑分为三类:总线型,星型,混合型

IP

位于OSI网络

  • 主机:配置有IP地址,但不能进行路由控制的设备
  • 节点:主机与路由器统称

IP分为三大作用模块:

  1. IP寻址
  2. 路由(最终节点为止的转发)
  3. IP分包与组包

路由控制表:

为了将数据包发送给目标主机,所有主机都维护了一张路由表控制表。该表记录IP数据在下一步应该发给哪个路由器。

数据链路的抽象化:

IP是实现多个数据链路之间通信的协议。数据链路根据种类不同各有各的特点,针对这些不同的数据链路的相异性,进行抽象化也是IP重要的作用之一。

IP是属于面向无连接型:

  • 简化
  • 提速

IP地址的基础知识

IPv4由32位整数来表示。TCP/IP 要求将这样的一个地址分配给每一个参与通信的主机。

IP地址由网络地址主机地址两部分标识组成。

IP地址分类存在新旧两种方式,第一种就是分ABCD类,第二种采用子网掩码标识。第二种方式兼容了第一种方式。

第一种分类方式:
  • A类:首位以“0”开始,从1~8位是其网络地址。(即: 0.0.0.0 ~ 127.0.0.0) A类后24位相当于主机标识,因此一个网段可以容纳 2^{24}-2 (1677726 减去一个全1广播地址,一个全0表示对应网络或IP地址不可获知)
  • B类:前两位为“10”的地址。从1~16位都是网络标识。(128.0.0.0 ~ 191.255.0.0) B类后16位相当于主机标识。因此一个网段内可容纳的主机数目位2^{16}-2
  • C类:前三位为“110”的地址。从1~24位都是网络标识。(192.0.0.0 ~ 223.255.255.0) C类后8位相当于主机标识。因此一个网段内可容纳的主机数目位2^{8}-2
  • D类:前三位为“1110”的地址。从1~24位都是网络标识。(224.0.0.0~ 239.255.255.255) D类只有网络地址,没有主机地址,多被用于多播。
第二种分类方式:  

子网掩码:将原来ABCD可u分级中的主机地址部分用作子网地址,可以将原网络分为多个物理网络的一种机制。

ip地址与子网掩码取与可以得到网络地址,网络地址减二就得到了主机地址范围。

IP分割与在构成处理

不同数据链路的MTU都是不同的,所以在传输过程中我们需要进行IP报文的分片与重组。任意主机都有必要对IP分片进行响应的处理,分片往往在网络上遇到比较大的报文无法一下子发出时就会进行处理。(路由器负责分片,目的主机负责重组)

路径MTU的发现

  • 目的:为了减少路由器的负担
  • 方法:取发送端与主机端间需要分片时最大MTU然后发送主机端按照该大小发送分片报文

DNS:

  • 一个可以有效管理主机名和IP地址之间对应关系的系统。(类似于分布式数据库)

ARP:

  • 是一种解决地址问题的协议,以目标地址的IP地址位线索,用来定位下一个应该接收数据分包的网络设备对应的MAC地址。
  • 工作机制:借助ARP请求与响应两种类型包确定MAC地址,即发包询问。
  • RARP:从MAC地址定位IP地址的一种协议

ICMP:

  • 确认网络是否正常工作
  • 遇到异常对进行问题进行诊断

DCHP:

  • 为了实现自动设置IP地址,统一管理IP地址分配。有了DHCP计算机只要连接到了网络就可以进行TCP/IP通信

NAT:用于本地网络中使用私有地址,而在连接互联网时使用全局IP地址的技术

TCP于UDP

端口号的定义:用来识别同一台计算机中进行通信的不同程序,故而也被称为程序地址。

DNS 53, HTTP 80, HTTPS 443

UDP不提供复杂的控制机制,利用IP提供的面向无连接的通信服务。

TCP通过检验和(类似于一个标记,接收方通过校验这个标志位来判断数据是否被损坏),序列号,确认应答(ACK),重发控制(超时重传),连接管理(三次握手,四次挥手),窗口控制来来实现可靠性传输。

同时还有部分TCP持久连接,管线化等知识就不过多赘述。


http://www.ppmy.cn/ops/117832.html

相关文章

GitLab分支使用revert回滚后导致合并请求时代码异常处理

一、问题原因 由于使用了revert进行回滚,导致分支保留了一次删除文件的git记录,若回滚数据中保含新增的文件,根据提交ID和对应的时间顺序,会导致合并时,文件被回滚记录异常删除。 二、GitLab回滚方式revert和reset …

Lucene 倒排索引原理详解:深入探讨相关算法设计

引言 随着互联网的快速发展,数据量呈现爆炸性的增长,如何从海量数据中快速准确地获取所需信息成为了一项挑战。全文搜索引擎的出现极大地解决了这个问题,而 Lucene 正是一款优秀的开源全文搜索引擎库。本文将深入探讨 Lucene 的核心技术之一…

Python爬虫bs4基本使用

一、bs4 1、bs4获得标记的子集或父集或兄弟节点 (1)子集: 通过contents和children可以获得子集,前者获得的是字符串列表,后者获得的是一个列表迭代器对象,需要遍历获得内容 比如我们有以下代码和数据&a…

STM32CUBEIDE FreeRTOS操作教程(五):mutex互斥信号量

STM32CUBEIDE FreeRTOS操作教程(五):mutex互斥信号量 STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例&am…

足球预测模型理论:足球数据分析——XGBoost算法实战

简介:本文将探讨如何使用XGBoost算法进行足球数据分析,特别是足球运动员身价估计。我们将通过实例和生动的语言,解释XGBoost算法的原理和实际应用,帮助读者理解复杂的技术概念,并提供可操作的建议和解决问题的方法。 足…

确保 App 跟踪透明度权限:Flutter 中的实践

确保 App 跟踪透明度权限:Flutter 中的实践 在数字广告领域,用户隐私保护已成为一个重要议题。随着 iOS 14 的发布,Apple 引入了 App Tracking Transparency (ATT) 框架,要求开发者在跟踪用户行为以提供个性化广告之前必须获得用…

对c语言中的指针进行深入全面的解析

1.普通的指针: 实际上指针就是存放地址的变量,eg: int a10; int *p&a; 拆分一下int *中的*说明p是一个指针,int是它所指向的类型; 2.字符串指针和字符串数组 char*str1"abcd"; 先看这一个,这个就是一个字符串…

金融EDI:你需要了解的银行与金融EDI的所有信息

对于银行和金融机构而言,对风险持谨慎态度是很正常的。任何需要将现有记录转换为新格式的新技术都可能会存在导致错误的情况。错误会带来不稳定性,银行始终权衡更快更高效的承诺以及出现损失的可能性。 然而,随着支付技术的不断发展&#xf…