小白一枚,今天魔怔了,对端口号这个概念彻底混了

SuPerQAQ 2017-05-18 05:42:35
下面是我对网络通信的基本认知:
1、所有网络通信最高只到达网络层,即看到IP首部;
2、互联网中,在各个路由器中只会被解封装到网络层这个地步,也就是【IP首部】+【数据1】,这是一个数据包;
3、在路由器上可以写扩展ACL,其中可以对端口号和网络协议进行过滤,这时路由器需要检查数据包中的特定协议类型和端口号,这里的理解没有问题吧~

下面就是我这个刚接触网络不久的小白的自我理解:

上面对于ACL中路由器需要检查数据包中的协议和端口号,这是需要对网络层数据包中【数据1】解封装为【TCP/UDP首部】+【数据2】,然后在【TCP/UDP首部】中看到端口号,这里才有端口号吧!
那岂不是配了对协议或端口过滤的ACL的路由器都需要涉及到传输层上嘛?
那这样来一个包,路由器就会拆开一个包后看【TCP/UDP首部】里面的端口,再进行过滤后转发,这是正确的理解嘛?

另外一个问题是关于NAT的问题:
我在查看我们这边学校的出口上的NAT表中,outside global和outside local是相同的对端ip+端口号,那这个outside local有什么意义呢?

向大佬低头(。﹏。),求教~
...全文
1608 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
EINPROGRESS 2018-08-04
  • 打赏
  • 举报
回复
我们现在常用的四层网络模型中,在链路层代表属性是MAC地址,在网络层代表有ipv4 ipv6,代表属性ip地址。再往上的就是传输层,代表有tcp,udp。代表属性是端口号,端口可以用来区分报文要发往到哪个套接字。其实跟什么门牌号的作用是一个意思。我套接字A的端口是80.短接字B的端口是8080。当我传输层收到报文时,解析head中的目标端口。这样我就知道这条报文是发给哪个套接字的。如果此时套接字注册到epoll中了,我就通知那个套接字有读事件产生。
meepyou 2018-08-02
  • 打赏
  • 举报
回复
1)端口号(TCP/IP)对应的是应用层而不是传输层;
2)端口号是为了区分不同的应用,上文已经说了,比如HTTP常用80端口;
3)ACL如果根据端口过滤的话当然需要解析,所以会有额外的开销,因此打开ACL会对路由器性能有所影响;
Main_csdn_String 2018-07-30
  • 打赏
  • 举报
回复
我理解中,端口号应该是系统提供的一个开放访问- 好比一栋楼。ip 详细描述了你所在楼层。端口描述了所在的房间比如 701 702
而每部分的端口 锁开放的意义也不同。 相当于每层居住的租客也不同。
weixin_41981864 2018-07-04
  • 打赏
  • 举报
回复
端口对应的是应用。
a2885112 2018-04-19
  • 打赏
  • 举报
回复
发送请求的时候端口号和IP是一起发送的
ipqtjmqj 2017-05-19
  • 打赏
  • 举报
回复
类似的问题我提过:http://bbs.csdn.net/topics/392028290

1,737

社区成员

发帖
与我相关
我的任务
社区描述
网络协议与配置相关内容讨论专区
网络协议网络安全tcp/ip 技术论坛(原bbs)
社区管理员
  • 网络协议与配置社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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