[Linux]运输层的端口

原创 2017年06月24日 09:44:34

既然提到端口,我们就来分析一下为什么要使用端口的缘由吧。我们首先要知道的是,运输层有复用和分用的功能。应用层所有的应用进程都可以通过运输层再传送到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,这类端口号在客户进程运行时动态选择,因此称为短暂端口号。当服务器进程收到客户进程的请求报文时,就知道客户进程的端口号,因而把数据发送给客户进程。通信结束后,客户端口号就不存在,此端口号也可以分配给其他客户进程使用。

版权声明:本文为博主原创文章,未经博主允许不得转载。

运输层概述与运输层的端口

运输层协议概述                 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。当网络的边缘部分中的两个主...
  • xu_ya_fei
  • xu_ya_fei
  • 2015年06月13日 10:20
  • 1916

linux下的各种端口用途

linux下的各类端口及用途
  • fyping_1
  • fyping_1
  • 2016年11月26日 16:00
  • 2762

传输层有关概念

传输层有关概念 目录 位置 TCP/IP 体系传输层协议 端到端通信 进程逻辑通信 数据分段 进程标识符 端口 流量控制 拥塞控制 随机早期检测 RED 套接字...
  • zhangyuan19880606
  • zhangyuan19880606
  • 2016年04月21日 17:49
  • 171

16位端口号及端口号如何分类情况?

TCP报文段首部格式表明端口号的占16位。一:端口和端口号端口: 逻辑端口:是指逻辑意义上用于区分服务的端口,通过不同的逻辑端口来区分不同的服务,如TCP/IP 协议中的服务端口,比如用于浏览...
  • uagvdu
  • uagvdu
  • 2017年03月10日 22:38
  • 733

linux 下各个端口及他们的作用

# /etc/services: # $Id: services,v 1.48 2009/11/11 14:32:31 ovasik Exp $ # # Network services, In...
  • u012422541
  • u012422541
  • 2014年07月28日 19:38
  • 10468

网络端口的作用及分类

1.什么是网络端口? 2.网络的端口的范围及其作用 3.常见网络端口列举
  • dream_1996
  • dream_1996
  • 2017年06月20日 11:35
  • 2046

端口分类调研

端口分类调研 1. 基本概念 背景介绍 网络中传输层具有复用和分用功能,应用层所有的应用进程都可以通过传输层送到IP层(复用),传输层从IP层收到数 据报必须交付给指明的应用进程(分用),所以...
  • step_ma
  • step_ma
  • 2017年07月11日 09:05
  • 149

Android:这是一份很详细的Socket使用攻略

前言 Socket的使用在Android的网络编程中非常重要 今天我将带大家全面了解Socket及其使用方法 目录1.网络基础1.1 计算机网络分层计算机网络分为五层:物理层、数据链路层、网络层、运输...
  • carson_ho
  • carson_ho
  • 2016年11月27日 21:09
  • 24850

各个端口的作用

端口:0 服务:Reserved 说明:通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果。一种典型的扫描,使用IP地址为...
  • zhang434
  • zhang434
  • 2013年10月10日 21:25
  • 1195

关于linux socket 编程 端口复用的理解

端口复用的理解在linux socket网络编程中,大规模并发TCP或UDP连接时,经常会用到端口复用: int opt = 1; if(setsockopt(sockfd, SOL_SOCKET,...
  • libinbin_1014
  • libinbin_1014
  • 2016年03月06日 13:26
  • 2910
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Linux]运输层的端口
举报原因:
原因补充:

(最多只允许输入30个字)