作为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. 一个 IT 青年北漂四年的感悟

    转载自:http://www.codeceo.com/article/it-man-beijing-4-years.html 工作这几年,每年都会有朋友离开北京,每次朋友跟我告别的时候总是让我有很多感 ...

  2. 获取URL参数

    function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]*)( ...

  3. JavaScript中Eval()函数的使用

    Eval()常用的几种形式 1.我们预先不知道要执行什么语句,只有当条件和参数给时才知道执行什么语句,这时候eval就派上用场了. function output(a, b) { var tmpa, ...

  4. JavaScript正则详谈

    JavaScript RegExp 基础详谈   前言: 正则对于一个码农来说是最基础的了,而且在博客园中,发表关于讲解正则表达式的技术文章,更是数不胜数,各有各的优点,但是就是这种很基础的东西,如果 ...

  5. 单选按钮选中js的处理

    function FinancialinfosetController($scope, $http, $timeout, $location, $rootScope, $routeParams) { ...

  6. spark MapOutputTrackerMaster

    最近用了一个RowNumber() over()函数 进行三张4000万数据的关联筛选,建表语句如下: create table CiCustomerPortrait2 as SELECT ROW_N ...

  7. BEvent_客制化BusinessEvent通过PLSQL Procedurer接受消息传递(案例)

    2014-06-27 Created By BaoXinjian

  8. 从千分位格式化谈JS性能优化

    所谓的千分位形式,即从个位数起,每三位之间加一个逗号.例如“10,000”.针对这个需求,我起初写了这样一个函数: // 方法一function toThousands(num) {var resul ...

  9. 拥抱高效、拥抱 Bugtags 之来自用户的声音

    小编按:这是一篇 Bugtags 用户来稿,主要是介绍了 Bugtags 使用的方法及其带来的效率的提升,谢谢介博同学对 Bugtags 的信赖和支持.小编在这里诚邀各位热心用户向我们投稿,说出你使用 ...

  10. 90、 Android UI模板设计

    第一步:自定义xml属性 新建一个android项目,在values文件夹中新建一个atts.xml的文件,在这个xml文件中声明我们一会在使用自定义控件时候需要指明的属性.atts.xml < ...