TCP协议中的端口指什么,为什么要有端口
2017-10-13 18:19
483 查看
ip能锁定一台物理机器,对应着一张网卡,外界发来的数据包网卡都会接收。但是问题来了,网卡给程序提供了接口,你监听一下我,要是有消息来了,我就转发给你。这样应用程序就能收到数据了。但是问题来了,程序A和程序B都需要监听网卡接发数据,网卡说那我把接到的数据都发给你两,你们自己看着办吧。好,小A小B都接受了。但是又来了CDEF……,不行了,每个包都被发到了所有应用程序,每个应用程序都累得不行,最终垮了。
好,那网卡说我给你们加个表示吧,我们之间可以用一个号码来作为标识,我和小A之间就用1来标识,如果外界发给1号标识的数据我就转发给你,你监听我的时候得告诉我你监听的时1,我就转发1的数据包给你。好了其他的BCD…都自己弄一个标识号,只要不重复就行。这样大家都省事了。
最后设计到安全,一个标识号只能被一个应用程序监听,因为如果小A程序和小B同时监听一个标识号号,那就坏了,我传的数据都被AB接到,这样数据安全性就没办法保证了。
这个标识号就是端口,最初设计网络数据交换的设计者不知道是怎么想的。这是我的理解。
其实网卡都是被系统层封装了,端口和进程之间的关系也是系统封装好的。我们只需要用socket就行,给定一个端口号就行了。其他的事都交给操作系统去做。
有个很有意思的事情就是流量跳转的问题,我把本地往外出到某个端口的流量给屏蔽掉,这样就造成了相关的应用无法访问网页。(PS:为什么我不屏蔽掉本机的某些端口呢,因为屏蔽本机端口没有用,本机的端口都是随机分配的,我们说的固定端口都是指服务器的端口)
这就是我的理解,希望大家指正拍砖。
好,那网卡说我给你们加个表示吧,我们之间可以用一个号码来作为标识,我和小A之间就用1来标识,如果外界发给1号标识的数据我就转发给你,你监听我的时候得告诉我你监听的时1,我就转发1的数据包给你。好了其他的BCD…都自己弄一个标识号,只要不重复就行。这样大家都省事了。
最后设计到安全,一个标识号只能被一个应用程序监听,因为如果小A程序和小B同时监听一个标识号号,那就坏了,我传的数据都被AB接到,这样数据安全性就没办法保证了。
这个标识号就是端口,最初设计网络数据交换的设计者不知道是怎么想的。这是我的理解。
其实网卡都是被系统层封装了,端口和进程之间的关系也是系统封装好的。我们只需要用socket就行,给定一个端口号就行了。其他的事都交给操作系统去做。
有个很有意思的事情就是流量跳转的问题,我把本地往外出到某个端口的流量给屏蔽掉,这样就造成了相关的应用无法访问网页。(PS:为什么我不屏蔽掉本机的某些端口呢,因为屏蔽本机端口没有用,本机的端口都是随机分配的,我们说的固定端口都是指服务器的端口)
这就是我的理解,希望大家指正拍砖。
相关文章推荐
- TCP协议中的端口具体指的是什么,为什么要有端口
- TCP协议中的端口具体指的是什么,为什么要有端口,你是怎么理解的?
- QQ使用了什么通讯协议?为什么要这样做?为什么采用 UDP 协议,而不采用 TCP 协议实现?
- QQ使用了什么通讯协议?为什么要这样做?为什么采用 UDP 协议,而不采用 TCP 协议实现?
- TCP协议的作用?三次握手是通过什么方法来保证通信双方确认的正确?
- 为什么MOBA、“吃鸡”游戏不推荐用tcp协议——实测数据
- 为什么TCP建立连接协议是三次握手,而关闭连接却是四次握手呢?
- 什么是TCP 三次握手及为什么进行三次握手?
- 什么是Tcp Checksum Offload,WireShark中为什么会出现Tcp Checksum Offload
- TCP和UDP协议有什么不同?
- 黑马程序员_温习 网络编辑一 (个人笔记)摘要(网络概述---网络参考模型---网络传输要素---IP地址---端口----传输协议(UDP -- TCP)---Socket机制 )
- 防火墙放开any,查看是什么协议端口
- TCP协议常用端口
- TCP server 为什么一个端口可以建立多个连接?
- TCP——什么是“端口”?
- 什么是TCP 三次握手及为什么进行三次握手?
- TCP为什么是个可靠的协议
- TCP协议中为什么三次握手,四次挥手(详解)!!!
- Python 写的TCP Server端口转发,可用于协议分析
- QQ 为什么以 UDP 协议为主,以 TCP 协议为辅?