计算机网络端口详解

网络端口
网络技术中,端口(Port)有好几种意思。 集线器交换机路由器的端口指的是连接其他 网络设备接口,如 RJ-45端口、Serial端口等。我们 这里所指的端口 不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口
电脑运行的系统程序,其实就像一个闭合的圆圈,但是电脑是为人服务的,他需要接受一些指令,并且要按照指令调整系统功能来工作, 于是系统程序设计者,就把这个圆圈截成好多段,这些线段接口就叫端口(通俗讲是断口,就是中断) ,系统运行到这些端口时,一看端口是否打开或关闭,如果关闭,就是绳子接通了,系统往下运行,如果 端口是打开的,系统就得到命令,有外部数据输入,接受外部数据并执行

网络端口分类
TCP端口:TCP是一种面向 可连接的,可靠的,基于字节流的 传输层通信协议.
UDP端口:UDP是一种面向无连接的, 提供面向事务的简单不可靠信息传送服务

协议端口详解
如果把IP地址比作成一栋房子的话,那 端口就类似这栋房子的门,一般实际上房子只有几扇门,但是IP地址确有65536(2^16)个门,每个端口用整数来表示,范围: 0~65535
ip能锁定一台物理机器,对应着一张网卡,外界发来的数据包网卡都会接收。但是问题来了,网卡给程序提供了接口,你监听一下我,要是有消息来了,我就转发给你。这样应用程序就能收到数据了。但是问题来了,程序A和程序B都需要监听网卡接发数据,网卡说那我把接到的数据都发给你两,你们自己看着办吧。好,小A小B都接受了。但是又来了CDEF......,不行了,每个包都被发到了所有应用程序,每个应用程序都累得不行,最终垮了。

好,那网卡说我给你们加个表示吧,我们之间可以用一个号码来作为标识,我和小A之间就用1来标识,如果外界发给1号标识的数据我就转发给你,你监听我的时候得告诉我你监听的时1,我就转发1的数据包给你。好了其他的BCD...都自己弄一个标识号,只要不重复就行。这样大家都省事了。
最后设计到安全,一个标识号只能被一个应用程序监听,因为如果小A程序和小B同时监听一个标识号号,那就坏了,我传的数据都被AB接到,这样数据安全性就没办法保证了。(参考来自知乎https://www.zhihu.com/question/22577025,楼主)
端口机制的由来
在不同的机器上实现数据传输依靠的是TCP/IP协议,将数据从源机器根据IP地址送到目的机器,在现在大多数的机器上都支持多线程(程序)的运行,那么这么多程序,又是由哪一个程序负责接收数据包呢,由此端口机制就应运而生

端口的作用
本地机器会根据有需求的程序分配协议端口(也就是我们常说的端口),这些端口号是随机从1024~65535之间产生的,接着源机器给目的机器发送数据,目的机器收到数据后,会根据报文的端口地址,把数据送到对应的端口处,消息进入端口就相当于进入了一支队伍,排着队,等待被处理。同样的道理,源机器端口处也是一支队伍,消息等待被发送。
刚刚我们提到端口号的随机分配,可为什么是大于1024呢, 原因是端口号0~1023是分配给固定特殊的网络服务的,如:  WWW 选择 80 而 FTP 则以 21 为正常的联机信道!

显然我们知道一台IP地址上的机器可以提供不同的服务,那么我们怎么能通过IP地址来判断我们需要什么服务呢,显然不能,实际上是以 IP地址+端口号的形式来确定的,
需要注意的是,不同机器使用同一种服务的端口号可能不同,当我需要使用WWW服务时,WWW服务器提供的端口号是80,但是我的请求机器有可能使用的端口号是4433

面向连接服务和无连接服务
可以先了解 面向连接和无连接协议 (Connection-Oriented and ConnectionlessProtocols)
面向连接服务 的主要特点有:面向连接服务要经过三个阶段: 建立连接,传输数据,释放连接 。面向连接服务, 可确保数据传送的次序和传输的可靠性
无连接 服务的特点是: 无连接服务只有传输数据阶段 。消除了除数据通信外的其它 开销 。只要发送实体是活跃的,无须接收实体也是活跃的。它的优点是 灵活方便、迅速 ,特别适合于传送少量零星的报文,但无连接服务不能防止报文的丢失、重复或失序。
区分"面向连接服务"和"无连接服务"的概念
区分特别简单、形象的例子是:打电话和写信。两个人如果要通电话,必须先建立连接--拨号,等待应答后才能相互传递信息,最后还要释放连接--挂电话。写信就没有那么复杂了,地址姓名填好以后直接往邮筒一扔,收信人就能收到。 TCP/IP协议在网络层是无连接的(数据包只管往网上发,如何传输和到达以及是否到达由网络设备来管理)。而"端口",是传输层的内容,是面向连接的。 协议里面低于1024的端口都有确切的定义,它们对应着 因特网 上常见的一些服务。



























































































  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值