既然提到端口,我们就来分析一下为什么要使用端口的缘由吧。我们首先要知道的是,运输层有复用和分用的功能。应用层所有的应用进程都可以通过运输层再传送到IP层,这就是复用。运输层从IP层收到数据后必须交付到指明的应用进程,这就是分用。我们知道,单个进程是用进程标识符来标志的,但在计算机操作系统指派的进程标识符标志运行在应用层的进程是不行的,因为不同的操作系统使用不同的进程标识符。为了让不同操作系统间也实现进程间通信,因此得用一种方法对TCP/IP体系的应用进程进行标志。同时,我们在进行通信的时候,必须知道起点和终点,即通信的一方和另一方,那么我们如何识别终点呢,这里就要使用到协议端口号(端口)。虽然通信的终点是应用进程,但我们要传送的报文交到目的主机的某一个合适的目的端口,剩下的工作就由TCP来完成。

关于端口,分为软件端口和硬件端口。

软件端口:在协议栈层间的抽象的协议端口,应用层的各种协议进程与运输实体进行层间交互的一种地址

硬件端口:不同硬件设备进行交互的接口

在TCP/UDP的首部格式中,都有源端口和目的端口。当运输层收到IP层交上来的运输层报文时,就能根据其首部中的目的端口把数据交付应用层的目的应用进程。

TCP/IP的运输层用一个16位端口号来标志一个端口,端口号只具有本地的意义。

注:不同的计算机具有相同的端口是没有关联的

16位的端口号可允许有65535个不同的端口号。

端口号的分类:

服务器端使用的端口号:分为两类,(1)熟知端口号(系统端口号):数值为0-1023;这些数值在www.iana.org中可查到。常用的熟知端口号为:

  1. FTP: 21
  2. TELNET: 23
  3. SMTP: 25
  4. DNS: 53
  5. TFTP: 69
  6. HTTP: 80
  7. SNMP: 161
  8. SNMP(trap): 162

(2)登记端口号,数值为1024-49151,这类端口号是为没有熟知端口号的应用程序使用的。使用这类端口号需在IANA按照规定的手续登记,防止重复。

客户端使用的端口号:数值为49152-65535,这类端口号在客户进程运行时动态选择,因此称为短暂端口号。当服务器进程收到客户进程的请求报文时,就知道客户进程的端口号,因而把数据发送给客户进程。通信结束后,客户端口号就不存在,此端口号也可以分配给其他客户进程使用。

[Linux]运输层的端口相关推荐

  1. Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口

    Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口 >>>>>>>>>& ...

  2. linux攻击端口,Linux 常见攻击端口封杀表

    Linux常见攻击端口封杀表 # Vi /etc/sysconfig/iptables # INPUT -A INPUT -p tcp --dport 135 -j REJECT -A INPUT - ...

  3. linux修改ssh端口和禁止root远程登陆设置

    linux修改ssh端口22 vi /etc/ssh/ssh_config vi /etc/ssh/sshd_config 然后修改为port 8888 以root身份service sshd res ...

  4. Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序

    文章目录: 1 linux查看那端口监听情况 2 Linux查看某个端口对应的进程号和程序 1 linux查看那端口监听情况 linux中可以使用netstat命令查看端口监听情况,首先来看一下该命令 ...

  5. 利用iptables来配置linux禁止所有端口登陆和开放指定端口

    原文地址:http://www.2cto.com/Article/201109/103089.html 利用iptables来配置linux禁止所有端口登陆和开放指定端口 1.关闭所有的 INPUT ...

  6. 查看ubuntu linux开放的端口以及控制端口范围

    在讨论这个问题前,我们先来了解一下物理端口.逻辑端口.端口号等计算机概念. 端口相关的概念: 在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型.物理端口指的是物理存在的端口,如ADSL M ...

  7. linux查看主机端口进程命令

    linux查看主机端口进程命令 1.查看主机信息 #more /etc/hosts #Do not remove the following line, or various programs #th ...

  8. linux端口命令是什么意思,cmd和linux的查看端口命令是什么?

    Linux系统的端口命令 Linux系统和Windows系统有很大的不同,不仅仅是它本身的操作界面和操作方式,系统的运行机制也不一样.因此我们在使用Linux系统的时候可以使用netstat命令来进行 ...

  9. linux端口被攻击,Linux 常见攻击端口封杀表

    Linux常见攻击端口封杀表 # Vi /etc/sysconfig/iptables # INPUT -A INPUT -p tcp --dport 135 -j REJECT -A INPUT - ...

最新文章

  1. 02HTML标签(上)
  2. [论文泛读] QoS论文两篇(Elsevier09, IEEE05)
  3. Hyper-V 怎样拷贝文件至虚拟硬盘并附加到虚拟机上
  4. JSP、Servlet、Tomcat、JDK、J2EE版本比较
  5. 台式电脑怎么找不到计算机在哪,台式机没有蓝牙怎么办
  6. 给你揭密一个爆款文案套路,各行各业,谁用谁火
  7. c语言输出所有英文字母,菜鸟求助,写一个随机输出26个英文字母的程序
  8. windows VC++获取磁盘名称和序列号
  9. uri和url的区别与联系(一看就理解)
  10. 微信怎么开直播卖货?
  11. Qt进阶-汉字转拼音/全拼
  12. android手机密码怎样删掉,手机密码忘了怎么解锁 删除密码解锁教程
  13. linux14.04设置DNS,Ubuntu 16.04修改配置静态IP和DNS
  14. 东华OJ第85题 计算多项式的值
  15. QGIS-创建QGIS项目
  16. 语音识别—实现百度语音识别
  17. python用三重引号_python三引号
  18. 云原生周报 | 2021下半年CNCF开源项目发展总结;Cilium 1.11发布;BFE Server及控制面更新
  19. 联想Filez助力企业知识管理 构建知识管理平台
  20. Tinymce 编辑器中字数统计问题,统计所有字符(包括数字,字母。。。)

热门文章

  1. thinkphp 在接口开发或者接入三方时解决跨域
  2. 转载大神的一篇文章----【如何选择开源许可证?】
  3. Python学习笔记----基础篇10----模块2
  4. Python selenium web UI之Chrome 与 Chromedriver对应版本映射表及下载地址和配置(windows, Mac OS)...
  5. 洛谷 P1795 无穷的序列_NOI导刊2010提高(05)
  6. elk系列1之入门安装与基本操作
  7. java 对象的上转型对象(父类)
  8. Sharepoint 2013 发布功能(Publishing features)
  9. Cassandra1.2文档学习(7)—— 规划集群部署
  10. 大学生应当趁早谋划未来(二)--给表弟的建议