作为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. MVC entity

    1>MVC entity 1)Employee public string Id{get;private set;} public string Name{get;private set;} p ...

  2. FindViewByMe插件

    FindViewByMe 是一个自动生成 FindViewById 代码的 IDEA/Android Studio 插件, 支持 Activity.Fragment 和 ViewHolder 中的 f ...

  3. Android: 触屏fling/scroll/drag的区别及其详细过程

    Google了一下,终于搞清了touch screen下的几种操作模式(对应的是事件). 对于一个view, 常用的操作有点击(click)和长按(long press)二种.实际上,这些操作类型是A ...

  4. CLR via C#笔记

    第一部分 CLR基础 CLR和JIT “运行时”如何解析类型引用 第二部分 设计类型 使用C#的is和as操作符来转型 运行时的相互联系 基元类型.引用类型和值类型 值类型的装箱和拆箱 哈希码 dyn ...

  5. C++模板元编程 - 3 逻辑结构,递归,一点列表的零碎,一点SFINAE

    本来想把scanr,foldr什么的都写了的,一想太麻烦了,就算了,模板元编程差不多也该结束了,离开学还有10天,之前几天部门还要纳新什么的,写不了几天代码了,所以赶紧把这个结束掉,明天继续抄轮子叔的 ...

  6. 转载—— android 瀑布流的实现详解,附源码

    介绍 参考自:https://github.com/dodola/android_waterfall,因为原来的代码封装不好,所以,我根据源码的思路,重新写了一遍,所以有了现在这个项目:https:/ ...

  7. stdlib

    system(pause): int cmp(const void *a ,const void *b) { return *(int *)a - *(int *)b ;          //从小到 ...

  8. Android牟利之道(一)--界面嵌入有米广告

    经过了一番折腾,忙忙碌碌了一下午,终于搞明白了Android软件界面嵌入广告的方法,以下我以嵌入有米广告为例小结一下: 我的新浪微博(wind瑞):http://weibo.com/tianrui19 ...

  9. 91、sendToTarget与sendMessage

    Message msg = handler.obtainMessage();               msg.arg1 = i;               msg.sendToTarget(); ...

  10. C++学习37 string字符串的访问和拼接

    访问字符串中的字符 string 字符串也可以像字符串数组一样按照下标来访问其中的每一个字符.string 字符串的起始下标仍是从 0 开始.请看下面的代码: #include <iostrea ...