首页 > 其他分享 >第一章 网络基础(一)

第一章 网络基础(一)

时间:2024-11-22 16:28:39浏览次数:1  
标签:子网 封包 主机 基础 网络 第一章 地址 IP地址 端口号

 

在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC位址。

 

IP地址中: IPv4是32位, IPv6是128位

MAC地址是48位

===========================================================

本节内容:

一、网络程序寻址方式

       编写网络程序,必须要有一种机制来表示通信的双方,所以了解寻址方式,以及相关的寻址协议是必须的

      

1. MAC地址

              网络通信的最边缘便是LAN了,先来卡看LAN中的寻址: LAN寻址 一个LAN就是一个共享媒体访问系统。每个节点都有一个MAC(媒体接入控制)地址,该地址是工厂编程到NIC(网络接口卡)中的。一个节点在电缆中传输,而其他所有节点则收听。帧或者分配到某个节点, 或者分配到所有节点,如在广播时

 

1.1.1MAC子层和MAC地址:

       ①MAC子层功能:

              解决当网络通信存在竞争关系时,谁来使用通道.MAC子层在LAN中很重要,因为广播通信时由它来控制的.

       ②MAC地址

              MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。由IEEE管理。MAC地址长度48位

 

1.1.2局域网通信

       适配器想要发送一个帧到其他适配器时,会将目标适配器的MAC地址插入到封包中,然后通过广播方式发送到LAN中的每一台主机(除了它自己)。其他主机会自主查看是不是自己的MAC地址,匹配上了会处理,匹配不上则直接丢弃。

       当发送适配器想要LAN中所有主机都接收并处理该帧时,秩序在目的地址域插入特定的MAC广播地址即可.对于6-Byte地址的LAN来说,广播地址时48位全部设为1,即FF-FF-FF-FF-FF-FF.

 

1.1.3广域网通信

       MAC地址仅应用在LAN中,一旦封包从LAN的网关出来进入Internet,链路层地址就用不到了,这时候就需要依靠网络层的IP地址来寻找目标主机或者目标主机所在的LAN了.

 

 

2 IP地址

互联网上的每台主机和路由器都由IP地址,它将网络号和主机号编码在一起,次组合时唯一的。一个网络接口对应一个IP地址.

       网络地址时32位的数字,IP地址中: IPv4是32位,采用”点分十进制”, IPv6是128位采用冒分十六进制.

       值0和-1(即所有位都是1)有特殊的意义,0表示本地网络或者主机,-1被用作广播地址来指定网络中的所有主机.

 

IP地址0,0,0,0由主机在引导时使用,网络号为0的IP地址表示当前网络,这些地址使得网络内的机器在不知道网络号的情况下就可以引用自己所在的网络(但是他们必须知道它的类,以便知道包含多少个0)

 

完全包含1的地址允许在本地网络(通常是LAN)上广播

 

带有恰当网络号和主机域全为1的地址,允许机器发送广播包到Internet上的任何远程LAN(不过,大部分网管都禁止这种情况)

 

最后,所有127.xx.yy.zz形式的地址都被保留用作回环测试,发送到这个地址的封包不会被输出到线路上,他们被当作到来的封包直接在本地处理.这允许封包发送到本地网络而发送者不必需要知道网络号

 

3子网寻址

       1.3.1 子网概念

ip地址的组成

 IP地址 = 网络地址 + 主机地址 (又称:网络号和主机号)

 或者,

 IP地址 = 网络地址 + 子网地址 + 主机地址

              IP分类编址方案(已经弃用)将IP分为了5个类,单个A、B或者C类网络地址表示的是一个网络而不是一组LAN。为了更有效地利用IP地址,人们又将当个网络分成几个部分在内部使用,网络(这里指以太网)中的每个部分成为子网(subnet),一个LAN就可以是一个子网。

       一个网络分为几个子网之后,对外面世界而言,它仍然是一个单独的网络.比如校园网。当一个封包到达主路由器时候,是如何知道要传递给哪个子网呢?有两个方案:

 

方法一:

       在主路由器中存放一个包含65636个入口的表,记录校内的每个主机都使用哪个路由器.

方法二:

       原来单独的B类地址中14位是网络号,16位是主机号,现将主机号中拿出几位以创建子网号。

 

       为了实施子网,主路由器需要子网掩码,它制定了”网络+子网+主机”的各个部分,如:子网掩码可以写成255.255.252.0,也可以写成/22,比哦是子网掩码有22位长

 

1.3.2子网的工作方式

       为了弄搞懂子网是如何工作的,有必要先了解以下IP封包是如何在路由器中进行处理的:

              每个路由器有一个表,列出了这样的IP地址(网络, 0) 和一些这样的的IP地址(本地网络, 主机)。第一种说明封包是如何进入远程网络;第二种说明了封包如何到达本地主机。与每个表相关联的是到达目的地要使用的网络接口和其他一些信息。

 

              当封包到达时,路由器在路由表中查找它的目的地

à如果封包是远程网络的,它就会在表中记录的接口上被传送到下一个路由器。如果封包是到本地主机的(例如,在路由器的LAN上),就会被直接发往目的地。

à如果表中没有记录,就会被转发到有着更大路由表的默认路由器上.

       这种方法意味着,每个路由器仅需要知道其他网络和本地主机,而不是(网络, 主机),这就极大的缩小了路由表的大小。

 

引入子网划分后,路由表也要改变,添加表的入口---(本地网络, 子网掩码, 0) 和(本网络, 本子网掩码, 主机)。这样一来,在子网K上的路由器便知道如何到达所有其他的子网,也知道如何到达子网K上的主机,而不需要知道其他子网的主机详细信息。去掉其他子网的主机信息,

 

解析:

将IP地址和子网掩码转为二进制做AND操作,得到网络标识(检查IP是否同一网段)

把子网掩码取反后与二进制的IP地址做AND操作,得到主机标识

 

4. 端口号

网络层的IP地址用来寻址指定的计算机或者网络设备,而传输层的端口号用来确定运行再目标设备上的哪个应用程序应该接收这个封包.

许多公共服务都使用固定端口号,例如

       万维网: 80     FTP: 21  E-mail:25              邮局协议:110       自定义: 大于1024

 

5. 网络地址转换(NAT)

       IP地址是短缺资源,长期的解决方案便是迁移到Ipv6,它有128字节地址。过渡手段最佳解决方案便是NAT,

       原理:

              IP封包大多携带TCP或者UDP净荷(第8章),其中包含源端口号和目标端口号

的协议头。端口号是16位整型,它表示TCP连接是从哪里开始和结束,即这些端口号提供了NAT工作需要的域。

              当进程想和远程进程建立TCP连接时,它在自己机器上绑定一个没有使用的TCP端口(源端口号),用来告诉TCP代码,这个封包是哪里发来的;同时,进程还会提供目标的端口号,用来告诉TCP代码,这个封包是发给谁的。每个外出的TCP消息都包含源端口号和目标端口号,如此就能标识两个终端使用连接的进程。端口号0~1024预留给服务,1024以上的端口才是自定义端口号。

              同一个子网有可能使用同一个端口号外发封包,这说明,端口号本身不足以表示发送的进程。故替换远端口号是非常有必要的.这就使用到了NAT盒了。

 

具体流程为:

①每一个外发封包进入NAT盒子被转换为真是IP地址,另外,TCP源端口号被一个索引替换,该索引指向NAT中的65536个表项的转换表。表中的表项包含了原来的IP地址和原来的源端口号。最后,IP头和TCP头的校验和都会被重新计算并插入到封包中。

②接收封包时,封包从ISP到达NAT盒子时,TCP头中的源端口号被提取出来,用来在NAT盒子的映射表中当索引。从找到的表项中,内部IP地址和原来的TCP源端口号被提取出来,并插入到封包。然后IP和TCP的校验和又被重新计算,并插入到封包。最后,封包被传递到同一个局域网的内部路由器,使用虚拟地址发放到目标上。

 

标签:子网,封包,主机,基础,网络,第一章,地址,IP地址,端口号
From: https://www.cnblogs.com/bin84351689/p/18563126

相关文章

  • C#基础while循环语句
    语法:while(条件表达式){    循环体}“条件表达式”是一个布尔表达式,他决定了循环是否继续执行。当条件表达式的值为true时,循环体中的语句就会被执行,当条件表达式为false时,循环结束,程序继续执行循环后面的语句演示:特点:先判断后执行:while循环会先判断条件表达式......
  • 线性神经网络模型
    一、基本组成        线性神经网络的结构相对简单,主要由输入层、权重、偏置和输出层组成。图1线性神经网络的结构输入层:负责接收外部输入数据,这些数据通常以向量的形式表示。权重:连接输入层和输出层的参数,决定了输入数据对输出结果的影响程度。权重矩阵(W)中的每个......
  • Java基础知识(八)
    文章目录异常Exception和Error有什么区别?CheckedException和UncheckedException有什么区别?Throwable类常用方法有哪些?try-catch-finally如何使用?finally中的代码一定会执行吗?如何使用`try-with-resources`代替`try-catch-finally`?异常使用有哪些需要注意的......
  • Java基础知识(七)
    文章目录泛型什么是泛型?有什么作用?泛型的使用方式有哪几种?项目中哪里用到了泛型?反射何谓反射?反射的优缺点?反射的应用场景?注解何谓注解?注解的解析方法有哪几种?SPI何谓SPI?SPI和API有什么区别?SPI的优缺点?序列化和反序列化什么是序列化?什么是反序列化?如果有些字......
  • 2024大湾区网络安全大会,AOne来了!
    近日,2024大湾区网络安全大会暨第二十六期花城院士科技会议在广州启幕。学者专家、高校院长、政府相关负责人及行业大咖齐聚一堂,围绕网络安全的前沿话题与挑战展开深入交流与探讨。天翼云科技有限公司网络安全领域高级产品经理刘寿浩在教育行业信息网络安全论坛发表演讲,阐述了天翼......
  • 网络管理(期末复习)
    1.交换机1.功能:工作在数据链路层,高速缓存中保存着MAC地址与端口的映射表,实现数据交换功能(地址学习功能,数据转发)地址学习功能:源MAC地址学习、端口移动机制、地址老化机制数据包转发功能:查看数据包的源MAC地址和目的MAC地址所在的交换机是否相同,相同则丢弃,不同就广播。2.广播......
  • 【AutoCAD 2025基础版下载与安装教程】
    ‌AutoCAD基础版‌是AutoCAD软件的一个版本,主要针对日常的基础绘图和编辑需求。它提供了绘制、编辑、查看和输出等基本功能,操作界面直观,工具按钮明确,便于用户快速上手。相较于高级版本,基础版去除了某些复杂功能,使得操作更为简洁‌。主要功能和特点‌功能简洁明了‌:AutoCAD基础......
  • 20222428 2024-2025-1 《网络与系统攻防技术》实验五实验报告
    1.实验内容1.1实验任务(1)从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取相关信息。(2)尝试获取BBS、论坛、QQ、MSN中某一好友的IP地址,并查询获取该好友所在的具体地理位置。(3)使用nmap开源软件对靶机环境进行扫描,回答相关问题。(4)使用Nessus开源软件对......
  • 网络安全应急响应及其发展方向
    计算机信息系统和网络已经成为社会重要的基础设施,而网络安全始终是笼罩在Internet天空的一片乌云,对社会的威胁也与日俱增。自1988年莫里斯蠕虫事件以来,网络安全事件逐年上升,所造成的损失越来越大。自从CERT/CC成立以来,世界各地成立了各种类型的应急响应组,在我国应急响应也得到......
  • 网络安全面试题整理 - 甲方类(一)
    1.简述一下目前主流编程语言的相关漏洞答:这个题的相关思路就是聊一聊目前主流语言的漏洞,你可以从两个方面进行阐述:Java、Python、PHP(漏洞大户)的相关漏洞,其实也是那几个;聊聊你知道的框架-比如Apache基金会框架、PHPAdmin、Python主流Web架构-jinjia2、Django等;Pyth......