作为TCP和UDP协议的学习前奏,简单的介绍一下运输层的相关内容,方便对TCP,UDP的学习。

1.概述
     运输层的任务主要是负责主机中两个进程之间的通信。
     运输层的基本功能:
    • 复用与分用
    • 差错控制(完整性控制)
    • 可靠传输(按序交付,无丢失,不重复)
    • 拥塞控制(收发双方的协调一致)
    • 流量控制(全局上的通信流量调节)
2.网络层与运输层的区别
  • 运输层为应用进程之间提供端到端的逻辑通信。

网络层为主机之间提供端到端的逻辑通信

  • 运输层对收到的报文进行差错检测,包括首部和数据部分。

网络层IP数据报首部中的检验和字段,只检验首部是否出现差错而不检验数据部分。

  • 运输层有两种不同的运输协议,即面向链接的TCP(传输控制协议)和无连接的UDP(用户数据报协议)。

网络层无法同时实现这两种协议。

3.一些应用和应用层协议主要是用的运输层协议,如图所示:
4.运输层和端口
  • 分用与复用
    • 分用(Demultiplexing):即将运输层的报文段中的数据交付到正确的套接字的工作。
    • 复用(Multiplexing):是在源主机的不同套接字中收集数据块,并为每个数据块封装上首部信息(将在分用的时候使用),从而生成报文段/数据报,然后将报文段/数据报传递到网络层工作。
  • 端口
    • 为了进行分用和复用,需要给应用层的每个进程赋予一个非常明确的标志,在协议层就采用了协议端口号,简称端口。
    • UDP和TCP都使用了与应用层接口处的端口与上层的应用进程进行通信。端口也就是运输层的服务访问点(TSAP),其作用就是让应用层的各种应用进程都能将其数据通过端口交付给运输层,以及让运输层知道将其报文中的数据向上通过端口交付给应用层相应的进程。
    • 端口的分类
      • 服务器端使用的端口号
        • 熟知端口或系统端口:其数值为0~1023
        • 登记端口:通过IANA通过登记分配给没有熟知端口号的应用程序使用。其数值为1024~65535
      • 客户端使用的端口号:其数值为49152~65535。客户端运行时动态选择,因此也叫短暂端口号。
    • 常用的熟知端口号如下所示:

TCP/IP详解学习笔记(7)-- 初识运输层的更多相关文章

  1. TCP/IP详解学习笔记

    TCP/IP详解学习笔记(1)-基本概念 TCP/IP详解学习笔记(2)-数据链路层 TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议 TCP/IP详解学习笔记(4)-ICMP协议, ...

  2. TCP/IP详解学习笔记 这位仁兄写得太好了

      TCP/IP详解学习笔记(1)-基本概念 为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣 ...

  3. TCP/IP详解学习笔记- 概述

    TCP/IP详解学习笔记(1)-- 概述1.TCP/IP的分层结构      网络协议通常分不同层次进行开发,每一层分别负责不同的同信功能.TCP/IP通常被认为是一个四层协议系统.      如图所 ...

  4. TCP/IP详解学习笔记 这位仁兄写得太好了.(转载)

    TCP/IP详解学习笔记   这位仁兄写得太好了   TCP/IP详解学习笔记   这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/20444 ...

  5. 【转】TCP/IP详解学习笔记(二)

    TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节 1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据 ...

  6. 【转】TCP/IP详解学习笔记(一)

      TCP/IP详解学习笔记   这位仁兄写得太好了. http://blog.csdn.net/goodboy1881/category/204448.aspx TCP/IP详解学习笔记(13)-T ...

  7. TCP/IP详解学习笔记(3)-- IP:网际协议

    1.概述      IP是TCP/IP协议族中最为核心的协议.所有的TCP,UDP,ICMP,IGMP数据都以IP数据报格式传输.      IP提供不可靠,无连接的数据报传送服务. 不可靠:它不能保 ...

  8. TCP/IP详解学习笔记(9)-TCP协议概述

    终于看到了TCP协议,这是TCP/IP详解里面最重要也是最精彩的部分,要花大力气来读.前面的TFTP和BOOTP都是一些简单的协议,就不写笔记了,写起来也没啥东西. TCP和UDP处在同一层---运输 ...

  9. TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节

    1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统 ...

随机推荐

  1. item30,最小的k个数

    剑指offer给出两类方法: 1,借助快排的思想,需要修改输入数组的元素,时间复杂度O(n) 2,借助STL中set或者multiset,因为它们的底层数据结构是红黑树实现的,插入数据时间复杂度为O( ...

  2. 黄聪:Discuz!的SEO优化策略一:如何设置标题 & 如何去掉Powered by Discuz!尾巴

    1.如何设置标题 进入 管理中心 -- 全局 -- SEO设置 -- 论坛 -- 标题 ,设置你的网站标题和描述. PS:有人问keywords要不要设置,其实现在keywords对SEO的影响已经微 ...

  3. Ignoring HTTPS certificates

    Our Development setups won't have valid or trusted certificates. When do you want test our webserver ...

  4. storm概念学习及流处理与批处理的区别

    在过去10 年中,随着互联网应用的高速发展,企业积累的数据量越来越大,越来越多.随着Google MapReduce.Hadoop 等相关技术的出现,处理大规模数据变得简单起来,但是这些数据处理技术都 ...

  5. 值不能为 null 或为空。参数名: linkText

    “/”应用程序中的服务器错误. 值不能为 null 或为空.参数名: linkText 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的 ...

  6. JavaScript笔记之数组 keyword(存储和释放&堆栈 & 按值 引用)

    1.数组创建及初始化 var obj=new Array(); var arr=[]; 可以延伸为长度一定的,字面量定义数组 2.堆栈 按值传递 引用类型 数组是引用类型,不是值传递, 栈:系桶自动分 ...

  7. Linux下SVN服务器安装配置及客户端安装说明

    原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...

  8. Good Sentences

    Wine in, truth out One is never too old to learn What is done can not be undone Time tries all thing ...

  9. 高级Java开发工程师

  10. Wex5案例使用JSON传输Thinkphp后端对接,以达成数据正常输出

    初步接触Wex5,操作起来还是觉得比较复杂!而且教程不多,让我着实比较烦躁! 因此自己动手丰衣足食!还是比较实在的! 采用版本:WeX5应用快速开发框架V3.5正式版 我们使用Wex5的仿淘宝APP案 ...