新手的很菜的问题,接口与IP地址的困惑?

上岸の鱼 2011-03-30 11:39:26
刚开始学习网络编程,看<<TCP/IP详解>>,里面说到:
1.互联网上每个接口必须有一个唯一的Internet地址(IP地址);
2.环回接口,用以允许运行在同一台主机上的客户程序和服务器程序通过TCP/IP进行通信;一般分配这个接口IP地址127.0.0.1;

看到这里,我就很纳闷,1中说的唯一的接口是否因不同主机而不同呢?
但2中的环回接口好像IP都是同样的,这让我又产生这样的理解:是不是每个主机上都有很多接口,不仅包括通常说的主机IP地址是一个接口,还有其他的IP地址都统一的接口呢,如环回接口?

望各位大虾指点迷津
...全文
335 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
上岸の鱼 2011-04-06
  • 打赏
  • 举报
回复
ok1234567说得很好。。我明白了。“并不一定对应一个程序,但是常常对应一个服务程序,权威机构建议1024以下的端口用于通用的服务程序,比如80对应web server,21对应ftp,25对应smtp...”

好久没来结贴了。。谢谢各位
ok1234567 2011-04-04
  • 打赏
  • 举报
回复
在网络上,说IP代表主机,port代表应用程序,都是从特例上讲的

主机不一定是计算机,只是网络上一个可以识别的节点,可能是微薄炉、路由器...
port是socket通讯发生时的一个主机内的识别标志,并不一定对应一个程序,但是常常对应一个服务程序,权威机构建议1024以下的端口用于通用的服务程序,比如80对应web server,21对应ftp,25对应smtp...
但是你完全可以不听他们的,用8080做http,2121做ftp,2525作简单邮件发送服务器,这样的化,客户端与你的古怪的服务器通信的时候就需要多一项设置(因为不是默认设置)

服务器要用固定的端口做监听(等待随机的造访者),但是真实的通信发生的时候(连接建立),使用的是其它空闲的端口与客户端会话,通讯结束(close),系统要收回端口,在繁忙的网络应用中,端口是稀缺的系统资源

当你打开新浪主页的时候, IE大概要与新浪的服务器建立十多个连接,这意味着,IE通过向新浪服务器80端口发起连接请求建立连接,而数据传输则在新浪另外的十多个端口与你电脑的十多个端口之间进行...
yaozhiyong110 2011-04-03
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 xx7330842 的回复:]
引用 18 楼 yaozhiyong110 的回复:
你还没理解....

你的机子有A和B程序 要和某网络上的程序通信 但你的机子IP只有一个? 怎么通信?

这是就要用端口号来区分 比方说 你们家的地址是 XX市XX街XX号 但是这个地址

是一栋房子 很多人都这个地址 所以 为每家每户又分了 101、102等等的房号

房号就叫端口 地址就是IP

恩。。port端口对……
[/Quote]

你的机子怎么需要2个FTP服务呢? 但你的理解是对的 一个程序用了21端口 另一个用21创建的时候
就会失败.....
上岸の鱼 2011-04-02
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 yaozhiyong110 的回复:]
你还没理解....

你的机子有A和B程序 要和某网络上的程序通信 但你的机子IP只有一个? 怎么通信?

这是就要用端口号来区分 比方说 你们家的地址是 XX市XX街XX号 但是这个地址

是一栋房子 很多人都这个地址 所以 为每家每户又分了 101、102等等的房号

房号就叫端口 地址就是IP[/Quote]

恩。。port端口对应应用程序(进程),如通常ftp知名端口是21,
但我想到一个问题,就是如果有两个不同的ftp应用程序,是不是一个指定了21端口,另一个就不能再是21了吧?。我问同事,他说是的。
yaozhiyong110 2011-04-01
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 xx7330842 的回复:]
引用 13 楼 ok1234567 的回复:
IP 地址识别主机(实际上是由网络段+主机段组成)
IANA(IP地址分配机构)指定了某些段为私有保留段,如192.168.0.0--192.168.255.255
127.0.0.1 被保留为代表本机

网络通讯在主机与主机之间进行,但是主机中又有多个通讯单元,对应不同的端口(port,0-65535)
实际上TCP/IP通讯是IP+PO……
[/Quote]

你还没理解....

你的机子有A和B程序 要和某网络上的程序通信 但你的机子IP只有一个? 怎么通信?

这是就要用端口号来区分 比方说 你们家的地址是 XX市XX街XX号 但是这个地址

是一栋房子 很多人都这个地址 所以 为每家每户又分了 101、102等等的房号

房号就叫端口 地址就是IP
sichuanwww 2011-04-01
  • 打赏
  • 举报
回复
一个网卡也可以配置多个IP,一个IP对应一个逻辑机器。
port端口对应应用程序(进程),网络中讲端口指的是这个,传输层利用这个来识别进程。
jamesjiangqian 2011-04-01
  • 打赏
  • 举报
回复
每一台计算机可以有一个或多个IP地址(如果只有一个网卡的话,就只能有一个IP地址了。)每一台计算机有成千个端口。

在网络通信中,通信的实体是计算机端口之间的通信。比如计算机A和计算机B进行通信,IP地址的功能在于寻找到通信的计算机,而真正接受信息的是这个IP地址的某个特定的端口。实际上,源地址的IP地址+端口号、目的IP地址+端口号唯一地标识了计算机在传输层的通信。

据我所知,出了127.0.0.1之外,还有其它的环回地址。但我还没有确认过,知道的朋友请赐教。
上岸の鱼 2011-03-31
  • 打赏
  • 举报
回复
感觉自己这次理解的好像更通顺了点,应该是正确的吧,可惜我给的分太少了。。不知道能不能多散点,想把好些象征着我的感谢的浮云散给大家
上岸の鱼 2011-03-31
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 ok1234567 的回复:]
IP 地址识别主机(实际上是由网络段+主机段组成)
IANA(IP地址分配机构)指定了某些段为私有保留段,如192.168.0.0--192.168.255.255
127.0.0.1 被保留为代表本机

网络通讯在主机与主机之间进行,但是主机中又有多个通讯单元,对应不同的端口(port,0-65535)
实际上TCP/IP通讯是IP+PORT <--->ip+port 完成的
[/Quote]

哦。。这样呀。。就是说每个接口有唯一IP地址并没有错,只是环回是个特殊的IP地址,代表本机,网络通讯在不同主机进行,依靠不同的IP地址识别,而主机内部层级间通信并不依靠接口,即IP地址,而是依靠端口
ok1234567 2011-03-31
  • 打赏
  • 举报
回复
IP 地址识别主机(实际上是由网络段+主机段组成)
IANA(IP地址分配机构)指定了某些段为私有保留段,如192.168.0.0--192.168.255.255
127.0.0.1 被保留为代表本机

网络通讯在主机与主机之间进行,但是主机中又有多个通讯单元,对应不同的端口(port,0-65535)
实际上TCP/IP通讯是IP+PORT <--->ip+port 完成的
fishion 2011-03-30
  • 打赏
  • 举报
回复
IP地址就相当于识别一个人的身份证,所以要唯一的
而第2个问题的回路一般就是同一机器上测试服务器跟客户端程序的时候使用的
Eleven 2011-03-30
  • 打赏
  • 举报
回复
一台主机也可能插又多个网卡的
zk0233 2011-03-30
  • 打赏
  • 举报
回复
1中说的唯一的接口是否因不同主机而不同呢?(就是这样的,但一台处于局域网中的主机可能会有内、外网两个IP地址,外网地址是通过其它方式指定的)
127.0.0.1这是个特殊地址,它指的是本机。
mayudong1 2011-03-30
  • 打赏
  • 举报
回复
互联网上的每个接口,可不是说的每台机器啊
上岸の鱼 2011-03-30
  • 打赏
  • 举报
回复
好像理解了。。“互联网上每个接口必须有一个唯一的Internet地址(IP地址);”是指对外网络上用于识别的唯一IP地址,跟网卡有关,一个网卡接口就是指一个IP地址。

而本机自生内部各层级间的一些通信也拥有着各自用途的接口,环回接口就是这样一种类型的接口;

但每个接口有一个地址,这句话应该是对的吧,就像127.0.0.1。

而我原本的理解将本机内通信的一些接口都当成互联网上的接口了,所以错了。。
不知道我现在的理解是否有误?
jwybobo2007 2011-03-30
  • 打赏
  • 举报
回复
外网通信需要唯一地址,不然就IP冲突
环回是本地地址,每台都有
西湖秀才 2011-03-30
  • 打赏
  • 举报
回复
几个接口你可以理解成几块网卡,而ip只是使用中的网卡才有的,禁用网卡没ip
yaozhiyong110 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xx7330842 的回复:]
引用 1 楼 mayudong1 的回复:
互联网上的每个接口,可不是说的每台机器啊

能否说成:
(1).互联网上的所有接口是由互联网上每台机器的每个接口组成的呢?
和你的机子无关
(2).通常说的IP地址,每台机器都有互联网上一个唯一识别的IP地址接口

可是
(3).每台机器都有环回接口,这样理解不知道对不?
只要是发往127.0.0.1的数据 本机会接收
(4).要是(3)正确,这么多机器的环回接口都相同,与互联网所要求的每个接口唯一……
所以它是特例 不仅仅是127.0.0.1 还有其他一些特例
[/Quote]
yaozhiyong110 2011-03-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zk0233 的回复:]
1中说的唯一的接口是否因不同主机而不同呢?(就是这样的,但一台处于局域网中的主机可能会有内、外网两个IP地址,外网地址是通过其它方式指定的)
127.0.0.1这是个特殊地址,它指的是本机。
[/Quote]

不是因主机不用而不同 是在网络上要标示自己的身份 ip的发放是有国际组织管理的

你只要申请到ip 你的任何机子 都可以用这个ip(当然同一时刻只能用一个,路由等共用ip技术除外)
ok1234567 2011-03-30
  • 打赏
  • 举报
回复
环回接口,就是自己搞自己,可以理解为检查自己的对外器官是否有效,在PC上,可以想象为网卡通讯状态检测
加载更多回复(1)

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧