zoukankan      html  css  js  c++  java
  • 网络知识学习3---(端口原理的讲解)

    1.端口的作用

        在传输层一方面需要确认是使用TCP还是UDP,另一方面是要确定发送方和接收方的端口号。(当然还有差错校验和流量控制的功能)

        端口号是什么

            IP地址是用来区别网络(互联网)中的不同主机

            端口是用来区别计算机中服务(比如QQ服务、HTTP服务、FTP服务……)

            常用的服务的端口应该是固定的,当然可以改,但是改了之后,服务段对于客户端就变成隐身的了。所以服务如果是对外提供服务的,给普通用户客户端使用的,这个时候它的端口号就应该是固定的。比如网页服务的端口号是80,一旦你改了,那么用户就无法访问你的服务器,就没办法打开网页(这显然不是我们做服务器想看到了)

        TCP协议包头

            如图

                可以看出首先标出的是源端口(0~15bit),然后时目的端口(16~31bit)

        UDP协议包头

            如图

                明显UDP协议包头包含的信息比TCP包头少,但是和TCP一样的是:可以看出首先标出的是源端口(0~15bit),然后时目的端口(16~31bit)

        端口号的分类

            端口号长度是16bit,所以有2^16个端口数,即0~2^16-1(也激就是0~65535)

            1000以内的端口号是给系统使用的,10000以上的端口号是给开发者使用的

        需要注意的是,UDP和TCP的端口是分开的,比如,TCP有端口号10101,那么UDP也有自己的端口号10101。但是在真实的环境中,因为端口号本身的数量也是足够多的,所以,一般并不进行这样的区分,比如FTP是TCP的一个应用协议,它的端口号是20,这个时候往往就不在为UDP分配20的端口,就是为了防止造成混淆

        常见的端口号

            FTP(文件传输协议):端口号是 20 21

            SSH(安全Shell协议):端口号是 22

            telnet(远程登陆协议):端口号是 23

                但是小心,现在的不管是windows还是linux,都禁止开启23 端口,因为这个协议的传输是明文方式,没有加密,所以只要截获数据包就可以直接的获取信息,所以很不安全,所以目前linux 常用的远程管理方式是 SSH(这更安全)

            DNS(域名协议):端口号是 53

            http(超文本传输协议):端口号是 80

            SMTP(简单邮件传输协议):端口号是 25

            POP3(邮局协议3代):端口号是 110

        常用的关于端口的命令

            netstat -an:查看本机启动的端口号

                -a:查看所有连接和监听端口

                -n:显示IP地址和端口号,而不显式域名和服务名

  • 相关阅读:
    WCF中关于可靠会话的BUG!!
    控制并发访问的三道屏障: WCF限流(Throttling)体系探秘[下篇]
    《天使之恋》,一部重口味的纯美爱情电影
    一个关于解决序列化问题的编程技巧
    [转]Design Rules for ModelViewPresenter
    你知道Unity IoC Container是如何创建对象的吗?
    只在UnitTest和WebHost中的出现的关于LogicalCallContext的严重问题
    使命必达: 深入剖析WCF的可靠会话[原理揭秘篇](上)
    回调与并发: 通过实例剖析WCF基于ConcurrencyMode.Reentrant模式下的并发控制机制
    如何编写没有Try/Catch的程序
  • 原文地址:https://www.cnblogs.com/xumenger/p/4508039.html
Copyright © 2011-2022 走看看