• 网络知识学习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地址和端口号,而不显式域名和服务名

  • 相关阅读:
    assign()与create()的区别
    ES6对象扩展——部分新的方法和属性
    ES6对象扩展——扩展运算符
    rest operater剩余操作符
    深拷贝和浅拷贝
    for in和for of的简单区别
    查询ES6兼容的网站
    ES6扩展——对象的扩展(简洁表示法与属性名表达式)
    滚动条设置样式
    marquee横向无缝滚动无js
  • 原文地址:https://www.cnblogs.com/xumenger/p/4508039.html
Copyright © 2020-2023  润新知