为啥两台主机通讯时需要三个唯一的地址:mac、IP、端口?请说明理由,并对每个地址的作用进行说明。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥两台主机通讯时需要三个唯一的地址:mac、IP、端口?请说明理由,并对每个地址的作用进行说明。相关的知识,希望对你有一定的参考价值。
做计算机网络时遇到的一个题,希望有一个详细的回答啊....高分悬赏...好的话还可以再追加分数~
TCP/IP(Transmite Control Protocol 传输控制协议/Internet Protocol网际协议)已成为计算机网络的一套工业标准协议。Internet网之所以能将广阔范围内各种各样网络系统的计算机互联起来,主要是因为应用了“统一天下”的TCP/IP协议。在应用TCP/IP协议的网络环境中,为了唯一地确定一台主机的位置,必须为TCP/IP协议指定三个参数,即IP地址、子网掩码和网关地址。IP地址实际上是采用IP网间网层通过上层软件完成“统一”网络物理地址的方法,这种方法使用统一的地址格式,在统一管理下分配给主机。 Internet网上不同的主机有不同的IP地址,每个主机的IP地址都是由32比特,即4个字节组成的。为了便于用户阅读和理解,通常采用“点分十进制表示方法”表示,每个字节为一部分,中间用点号分隔开来。如10.67.53.5就是胜利油田计算中心WEB服务器的IP地址。每个IP地址又可分为两部分。网络号表示网络规模的大小,主机号表示网络中主机的地址编号。按照网络规模的大小,IP地址可以分为A、B、C、D、E五类,其中A、B、C类是三种主要的类型地址,D类专供多目传送用的多目地址,E类用于扩展备用地址。A、B、C三类IP地址有效范围如下表:
类别 网络号 主机号 A 1~126 0~255 0~255 1~254 B 128~191 0~255 0~255 1~254 C 192~223 0~255 0~255 1~254
在IP地址中,有几种特殊含义的地址:
广播地址 TCP/IP协议规定,主机号部分各位全为1的IP地址用于广播。所谓广播地址指同时向网上所有的主机发送报文,也就是说,不管物理网络特性如何,Internet网支持广播传输。如136.78.255.255就是B类地址中的一个广播地址,你将信息送到此地址,就是将信息送给网络号为136.78的所有主机。
有限广播地址 有时需要在本网内广播,但又不知道本网的网络号时,TCP/IP协议规定32比特全为1的IP地址用于本网广播,即255.255.255.255。
“0”地址 TCP/IP协议规定,各位全为0的网络号被解释成“本网络”。若主机试图在本网内通信,但又不知道本网的网络号,那么,可以利用“0”地址。
回送地址 A类网络地址的第一段十进制数值为127是一个保留地址,如127.1.11.13用于网络软件测试以及本地机进程间通信。
为了快速确定IP地址的哪部分代表网络号,哪部分代表主机号,以及判断两个IP地址是否属于同一网络,就产生了子网掩码的概念。子网掩码给出了整个IP地址的位模式,其中的1代表网络部分,0代表IP主机号部分,应用中也采用点式十进制表示。用它来帮助确定IP地址网络号在哪结束,主机号在哪开始。A、B、C三类网络的标准缺省掩码如下:
类别 子 网 掩 码 位 模 式 子网掩码 A 11111111.00000000.00000000.00000000 255.0.0.0 B 11111111.11111111.00000000.00000000 255.255.0.0 C 11111111.11111111.11111111.00000000 255.255.255.0
如果在Internet网上进行通信的两台主机的IP地址分别为192.83.192.10和192.83.192.32,那么子网掩码 255.255.255.0分别对两个IP地址进行与(and)运算后,得出网络号和主机号,并且结果一致,可以判断这两个IP地址属于同一个网络。
为了在网络分段情况下有效地利用IP地址,可以攫取主机号的高位部分作为子网号,从通常的八位界限中扩展子网掩码,用来创建某类地址的更多子网。但创建更多的子网时,在每个子网上的可用主机地址数目会减少。要确定更多子网的子网掩码,首先应确定传输IP信息流的网段的数目,然后再确定能够容纳网段数的最低子网掩码数目,记住不要使用包含全0或全1的网络地址。
若要使两个完全不同的网络(异构网)连接在一起,一般使用网关,在Internet中两个网络也要通过一台称为网关的计算机实现互联。这台计算机能根据用户通信目标计算机的IP地址,决定是否将用户发出的信息送出本地网络,同时,它还将外界发送给属于本地网络计算机的信息接收过来,它是一个网络与另一个网络相联的通道。为了使TCP/IP协议能够寻址,该通道被赋予一个IP地址,这个IP地址称为网关地址。
网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。
解决跨网关技术
现行的IPV4的IP地址是32位的,根据头几位再划分为A、B、C三类地址;但由于INTERNET的迅猛发展,IP资源日渐枯竭,可供分配的 IP地越来越少,跟一日千里的INTERNET发展严重冲突,在IPV6还远未能全面升级的情况下,惟有以代理服务器的方式,实行内部网地址跟公网地址进行转化而实现接入INTERNET。
中介作用的代理服务器就是一个网关,也就是这个网关带给现阶段的多媒体通讯系统无尽的烦恼。在IP资源可怜的情况下,惟有以网关甚至多层网关的方式接入宽带网,因为多媒体通讯系统的协议如H.323等要进行业务的双方必须有一方有公网的IP地址,但是现在的宽带有几个用户能符合这个要求?MICOSOFT的 NETMEETING等等多媒体通讯系统就是处于这种尴尬的位置;跨网关成为头疼的难题。
跨网关: 网络数据通过层层网关,受制于网关节点速度,网络速度大大降低。 跨网关技术基于底层网络协议,突破网关瓶颈,实现客户点对点交流。
——》1.子网掩码的概念
子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。
——》2.确定子网掩码数
用于子网掩码的位数决定于可能的子网数目和每个子网的主机数目。在定义子网掩码前,必须弄清楚本来使用的子网数和主机数目。
——》定义子网掩码的步骤为:
——》A、确定哪些组地址归我们使用。比如我们申请到的网络号为 “210.73.a.b”,该网络地址为c类IP地址,网络标识为“210.73”,主机标识为“a.b”。
——》B、根据我们现在所需的子网数以及将来可能扩充到的子网数,用宿主机的一些位来定义子网掩码。比如我们现在需要12个子网,将来可能需要 16个。用第三个字节的前四位确定子网掩码。前四位都置为“1”,即第三个字节为“11110000”,这个数我们暂且称作新的二进制子网掩码。
——》C、把对应初始网络的各个位都置为“1”,即前两个字节都置为“1”,第四个字节都置为“0”,则子网掩码的间断二进制形式为:“11111111.11111111.11110000.00000000”
——》D、把这个数转化为间断十进制形式为:“255.255.240.0”
这个数为该网络的子网掩码。
——》3.IP掩码的标注
——》A、无子网的标注法
对无子网的IP地址,可写成主机号为0的掩码。如IP地址210.73.140.5,掩码为255.255.255.0,也可以缺省掩码,只写IP地址。
——》B、有子网的标注法
有子网时,一定要二者配对出现。以C类地址为例。
——》1.IP地址中的前3个字节表示网络号,后一个字节既表明子网号,又说明主机号,还说明两个IP地址是否属于一个网段。如果属于同一网络区间,这两个地址间的信息交换就不通过路由器。如果不属同一网络区间,也就是子网号不同,两个地址的信息交换就要通过路由器进行。例如:对于IP地址为 210.73.140.5的主机来说,其主机标识为00000101,对于IP地址为210.73.140.16的主机来说它的主机标识为 00010000,以上两个主机标识的前面三位全是000,说明这两个IP地址在同一个网络区域中,这两台主机在交换信息时不需要通过路由器进行 10.73.60.1的主机标识为00000001,210.73.60.252的主机标识为11111100,这两个主机标识的前面三位000与011 不同,说明二者在不同的网络区域,要交换信息需要通过路由器。其子网上主机号各为1和252。
——》2.掩码的功用是说明有子网和有几个子网,但子网数只能表示为一个范围,不能确切讲具体几个子网,掩码不说明具体子网号,有子网的掩码格式(对C类地址)。
——》子网掩码的用处一
便于网络设备尽快地区分本网段地址和非本网段的地址。
主机A与主机B交互信息。
主机A: IP地址:202.183.58.11
子网掩码:255.255.255.0
路由地址:202.183.58.1
主机B: IP地址:202.183.56.5
子网掩码:255.255.255.0
路由地址:202.183.56.1
路由器从端口202.183.58.1接收到主机A发往主机B的IP数据报文后,
(1)首先用端口地址202.183.58.1与子网掩码地址255.255.255.0进行“逻辑与”,得到端口网段地址:202.183.58.0,
(2)然后将目的地址202.183.56.5与子网掩码地址255.255.255.0进行“逻辑与”,得202.183.56.0,
(3)将结果202.183.56.0与端口网段地址202.183.58.0比较,如果相同,则认为是本网段的,不予转发。如果不相同,则将该IP报文转发到端口202.183.56.1所对应的网段。
——》子网掩码的用处二
将子网进一步划分,缩小子网的地址空间。将一个网段划分为多个子网段,便于网络管理。
学校校园网信息中心可以将202.183.56.0(C类地址)分配给两个系,每个系约有120台计算机,则可以将子网掩码地址定义为:255.255.255.128
这样将原来的一个网段分成两个独立的子网段,便于网络管理。
系1的地址范围:202.183.56.1—202.183.56.126
子网地址:11001010 10110111 00111000 0xxxxxxx
系2的地址范围:202.183.56.129—202.183.56.254
子网地址:11001010 10110111 00111000 1xxxxxxx
IP地址、子网掩码、网关的关系
字体:大 中 小 发布于:2008-3-31 16:49:01 | 分类: 我的日志
子网掩码是每个网管必须要掌握的基础知识,只有掌握它,才能够真正理解TCP/IP协议的设置。以下我们就来深入浅出地讲解什么是子网掩码,就不能不了解IP地址的构成。互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络号和主机号两部分,以便于IP地址的寻址操作。
IP地址的网络号和主机号各是多少位呢?如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码. 子网掩码的设定必须遵循一定的规则。与IP地址相同,子网掩码为“255.255.255.0”的二进制对照。其中,“1”有24个,代表与此相对应的IP地址左边24位是网络号;“0”有8个,代表与此相对应的IP地址右边8位是主机号。这样,子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。
常用的子网掩码有数百种,这里只介绍最常用的两种子网掩码是“255.255.255.0”的网络:最后面一个数字可以在0~255范围内任意变化,因此可以提供256个IP地址。但是实际可用的IP地址数量是256-2,即254个,因为主机号不能全是“0”或全是“1”。2. 子网掩码设置不是任意的。如果将子网掩码设置得过小[F1] ,那么就会将本来属于同一子网内的机器之间的通信当做是跨子网传输,数据包都交给缺省网关处理,这样势必增加缺省网关的负担,造成网络效率下降。因此,子网掩码就可以了,现在大多数局域网都不会超过这个数字,因此“255.255.255.0”是最常用的IP地址子网掩码 在Windows 2000 Server中,如果给一个网卡指定IP地址,系统会自动填入一个默认的子网掩码。比如,局域网最常使用的IP地址“192.168.x.x”默认的子网掩码就可以了。网络管理之网关篇大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。什么是网关顾名思义,网关(Gateway)就是一个网络连接到另一个网络的“关口”。按照不同的分类标准,网关也有很多种。 TCP/IP协议里的网关是最常用的,在这里我们所讲的“网关”均指TCP/ IP协议下的网关。
那么网关到底是什么呢?网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据
什么是默认网关?如果搞清了什么是网关,默认网关也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。
如何设置默认网关 一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。
1。手动设置:手动设置适用于电脑数量比较少、TCP/IP参数基本不变的情况,比如只有几台到十几台电脑。因为这种方法需要在联入网络的每台电脑上设置 “默认网关”,非常费劲,一旦因为迁移等原因导致必须修改默认网关的IP地址,就会给网管带来很大的麻烦,所以不推荐使用。在Windows 9x中,设置默认网关的方法是在“网上邻居”上右击,在弹出的菜单中点击“属性”,在网络属性对话框中选择“TCP/IP协议”,点击“属性”,在“默认网关”选项卡中填写新的默认网关的IP地址就可以了。需要特别注意的是:默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址。
2. 自动设置:自动设置就是利用DHCP服务器来自动给网络中的电脑分配IP地址、
通过简单的实验深入透析子网掩码,网关与ARP协议的概念和工作原理是学习网络知识的初学者首先遇到的几个重要的知识点,其中子网掩码,网关与ARP协议的基本概念与工作原理。在对实验进行讲解之前,首先对子网掩码子网掩码的辅助。
但为了使系统在对A、B、C这三种主类网进行了子网的划分,或者采用无类别的域间选路技术(Classless Inte r-Domain Routing,CIDR)对网段进行汇总的情况下,也能对IP地址的网络及子网部分与主机部分作正确的区分,就必须依赖于
子网掩码为1的部分对应于IP地址的网络与子网部分,子网掩码和IP地址作"与"操作后,IP地址的主机部分将被丢弃,剩余的是网络地址和子网地址。例如,一个IP分组的目的IP地址为:10.2.2.1,若
在Internet中的网关一般是指用于连接两个或者两个以上网段的网络设备,通常使用路由器(Router)作为网关。在TCP/IP网络体系中,网关的基本作用是根据目的IP地址的网络号与子网号,选择最佳的出口对IP分组进行转发,实现跨网段的数据通信。在Semester 1中只需要对网关的基本作用有所了解,在Seme ster 2中还将对路由器的工作机理和配置过程作详细的论述。
--------------------------------------------------------------------------------
[F1]什么意思, 怎么比大小? 参考技术A 首先你所说的唯一的地址:mac,ip,端口,我不知道你说的这个唯一是什么意思,我理解的可能有两种意思,一是不可改变的地址或端口,但它们三个都可以更改,所以不是唯一,二是只需要它们三个,这就更不是了,出了这三个外还需要很多协议,例如三次握手等,所以也不是唯一,那你这个唯一是什么?
至于为什么需要这三个,就要从网络基础开始说起,OSI七层模型中就有详细的介绍,OSI七层模型分为:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层!两台机器之间的通信都要经过这七层,至于MAC在数据链路层,IP在网络层,端口在应用层,在传输的过程中还存在封装与解封装,二它们有都需要IP包头和MAC包头!
虽然OSI是虚拟的,但是却可以充分的说明网络传输的过程,如果想要彻底的明白缘由,你可以看一看有关CCNA的资料。在这是不能讲明白的!
希望能帮的到你@_@ 参考技术B 您好!
IP地址通常工作于广域网,路由器处理的就是IP地址。 MAC地址工作于局域网,局域网之间的互连一般通过现有的公用网或专用线路,需要进行网间协议转换。可以在Ethernet上传送IP信息,此时IP地址只是Ethernet信息包数据域的一部分,Ethernet交换机或处理器看不见IP地址,只是将其作为普通数据处理。
IP地址就如同一个职位,而MAC地址则好像是去应聘这个职位的人才,职位既可以让甲坐,也可以让乙坐,同样的道理一个结点的IP地址对于网卡是不做要求,基本上什么样的厂家都可以用,也就是说IP地址与MAC地址并不存在着绑定关系。本身有的计算机流动性就比较强,正如同人才可以给不同的单位干活的道理一样的,人才的流动性是比较强的。职位和人才的对应关系就有点像是IP地址与MAC地址的对应关系。比如,如果一个网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。当然MAC地址除了仅仅只有这个功能还是不够的,就拿人类社会与网络进行类比,通过类比,我们就可以发现其中的类似之处,更好地理解MAC地址的作用。无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始结点出发,从一个结点传递到另一个结点,最终传送到目的结点。数据包在这些节点之间的移动都是由ARP(Address Resolution Protocol:地址解析协议)负责将IP地址映射到MAC地址上来完成的。
以上为MAC、IP的关系,至于端口则是上层特定应用程序访问网络时使用的接口,本地操作系统会给那些有需求的进程分配协议端口(protocol port,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。当目的主机接收到数据包后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。说到这里,端口的概念似乎仍然抽象,那么继续跟我来,别走开。 端口其实就是队,操作系统为各个进程分配了不同的队,数据包按照目的端口被推入相应的队中,等待被进程取用,在极特殊的情况下,这个队也是有可能溢出的,不过操作系统允许各进程指定和调整自己的队的大小。 不光接受数据包的进程需要开启它自己的端口,发送数据包的进程也需要开启端口,这样,数据包中将会标识有源端口,以便接受方能顺利地回传数据包到这个端口。
希望能帮到您! 参考技术C 如果想深入的学习,就去看看《TCP/IP协议族》和一些计算机网络教程,我在这里只是通俗的解释一下。
一、mac地址:
mac地址是全世界唯一的,也就是说,理论上只要你发出一条信息就可以通过mac地址锁定你本机,所以在网络传输中mac地址是一个计算机在网络上的唯一标志,无论你上不上网,这个标志只属于你。
二、IP地址:
IP地址是你在加入互联网的时候,由别人分配给你的一个联络地址,虽然这个地址也是全世界唯一的,但是只有你在上网的时候,别人才有可能通过这个地址找到你,如果你没上网,那么这个地址属于别人。
三、端口:
端口的概念严格来讲不属于网络通信的内容,它是程序间通信的一部分,也就是说,即使没有网线,本机之间的程序也可以用端口通信。那么,在网络上,一个电脑只有一根网线,那么如何实现多个程序同时上网而数据又不会混淆呢?这个时候,只要让不同的程序注册不同的端口就可以实现。
综合来讲,端口是应用层的通信,IP是网络层的通信,MAC是数据链路层的通信。也就是说,网络层不知道什么叫端口,而数据链路层也不知道什么叫IP地址。
在网络的一个最小子网内(通常就是所谓的内网),计算机之间通过交换机进行通信,此时的通信完全是由MAC地址决定的。
由于在使用上,MAC地址总是对用户透明的,所以很多人都认为MAC地址没有,实际上并不是这样。 参考技术D MAC地址是物理地址,MAC是介质访问控制层,属于OSI模型中数据链路层下层子层--物理层
一般是唯一的,IP是Internet Protocol(互联网连接协议)IP地址现在的IPv4是32bit地址,IPv6
,即下一代IP地址是128bit,根据TCP/IP协议,要为每一个主机分配一个IP地址进行通信。事实上IPv4地址已经陷入枯竭,我们的主机如果只知道双方的MAC地址是可以通信的,端口是TCP/IP协议里的,你记住常见端口如80是HTTP,即我们见到的网页传输端口,8080时腾讯QQ的端口。如果你不懂,可以用百度Hi联系我
MAC地址分类
网卡MAC地址作为互联网设备在以太网中身份的唯一标识在以太网通讯中的作用比IP地址还要重要,MAC地址分成两部分,前24位是组织唯一标识符(OUI, Organizationally unique identifier),后24位由厂商自行分配。IP地址又称为逻辑地址而MAC地址就叫做物理地址,一台主机要给另一台主机发送数据只知道对方的IP地址是不可以的,比如路由器下的大部分设备的IP地址应该都是192.168.1.xxx的此时就可以看出MAC地址的作用,IP的的划分有一定的规则(A类,B类等)同样MAC地址也有对应的划分的规则不过相比IP地址的分类MAC地址的分类就很简单了。
规则:
- 发送的第一个字节的第一个比特如果为0则为单播地址,反之如果是1则可能会是广播或组播地址,他们的区别就是广播地址是每一个一个字节所有的BIT都是1,所以换句话说就是全为1的以太网地址为广播地址,第一个字节0xAB,的B如果为偶数则为单播地址反之如果为奇数则为组播地址。(2012-04-11)
- 第二个BIT表示MAC地址是全球唯一地址还是本地地址,0表示全球唯一地址,1表示本地唯一地址。这一位也叫G/L位。(2012-04-11)
举例:
如果MAC地址为00-50-BA-xx-xx-xx
第一个字节二进制表示为 0x00000000; 其中红色比特位的值就表示此MAC地址为单播地址。这里需要注意的是以太网上数据传输字节序是“Big Edian”的方式传输的,所以实际上 这里的00为MAC的6字节中最高字节,但是单字节的比特顺序是先传低位的所以在以太网上看到的数就是 0000 0000 ......;同理如果为组播或广播地址第一个bit就会是1。同时这还是一个全球唯一的MAC地址。
最后在别人博客看到这样一段话,记下来
2层的MAC地址是如何与3层的IP地址进行映射的呢?通过将MAC地址的前25位强行规定位0100.5E,而后23位对应IP地址的后23位,而组播IP地址的前4位均相同如:
IP地址:1110yyyy.yxxxxxxx.xxxxxxx.xxxxxxxx
MAC地址:00000001.00000000.01011110.0xxxxxxx.xxxxxxx.xxxxxxxx
例如:组播IP地址224.215.145.230应该映射到下列哪个组播MAC地址?( )
(A) 01-00-5e-57-91-e6 (B) 01-00-5e-d7-91-e6
(C) 01-00-5e-5b-91-e6 (D) 01-00-5e-55-91-e6
用二进制来换算,将215.145.230换算成1101,0111,1001,0001,1110,0110,取最后23位放到MAC地址中的23位可以计算得出答案是A。
显然有32个IP地址(有5个y可以不一样)对应一个MAC地址,所以要避免在同一网络中使用的多个组播IP地址对应一个MAC地址。
以上是关于为啥两台主机通讯时需要三个唯一的地址:mac、IP、端口?请说明理由,并对每个地址的作用进行说明。的主要内容,如果未能解决你的问题,请参考以下文章