一、运输层做什么事情,通过什么协议实现,

  • 运输层做什么

    为相互通信的应用提供逻辑通信

    通过端口号来确定应用,提供端到端的服务;

  • 为什么需要运输层,IP层不是就实现了传输数据吗

    从IP层来说,是两台主机之间的通信,但是真正进行通信的实体是在主机中的进程,是这台主机中的一个进程和另一台主机中的一个进程在交换数据,既两台主机进行通信就是两台主机中的应用进程互相通信。

  • 通过什么协议实现

    TCP面向连接和UDP无连接

  • 运输层的原理

    主机中的进程,把信息交给IP层变成IP数据报,传输给目的主机后,将提取出来传递给目的进程。

    可能是一对一,可能是一对多,可能是多对一,可能是多对多。这表明运输层有一个很重要的功能——复用multiplexing和分用demultiplexing

  • 运输层的执行步骤

    多个进程传输的数据复用,装上源端口和目的端口,将数据装进去,向下传到网络层,网络层传递到对应主机后,将数据取出来,将数据传到目的端口,将数据取出来,分发给各个进程。

二、为什么要设置端口,端口是什么,端口怎么设定

  •   为什么要有端口

    因为不同操作系统的应用进程的进程标识符不一样,所以TCP/IP体系需要规范进程的标志,并且能够通用。

    解决办法就是运输层使用协议端口号protocol port number,通过将报文传输到目的主机中的某个端口(软件),然后TCP和UDP来搞事。

  • 端口是什么

    TCP/IP用16位的端口号来标志一个端口。为了标志本计算机应用层中的各个进程在运输层交互时的层间接口。

    在不同的互联网中,相同的端口号时没有关联的。

  • 端口怎么设定
  • 端口在协议中的使用

    TCP/IP的端口号,只具有本地意义。所以,两个计算机的进程要通信,不仅必须知道对方的IP,而且要知道对方的端口号。

  • 端口的类别

    服务器端使用的端口号

    客户端使用的端口号

二、UDP和TCP的区别

  UDP在传输钱不需要先建立连接。

  TCP则需要提供面向连接的服务。

三、UDP用户数据报协议

  • 特点

    无连接的,尽最大努力交付,面向报文(给什么报文我就传什么报文),没有拥塞控制(允许拥塞时丢失数据),支持一对一,一对多,多对一和多对多的通信,首部开销小

  • 实现了什么

       只在IP的数据报服务之上增加了很少的功能:复用,分用,差错检测。

四、TCP的实现细节

  •   特点:

    面向连接的运输层协议,每一条TCP连接只能由两个端点,可靠交付,全双工通信,面向字节流

  • TCP端点:

    • 一个TCP连接有两个端点,端点也叫套接字,表示方法是socket=(IP地址:端口号)
    • 每一条TCP连接唯一的被通信两端的两个端点所确定
    • 同一个IP地址可以有多个不同的TCP连接,同一个端口号也可以再多个不同的TCP连接中
  • 连续ARQ协议
    • 分组按照序号发送
    • 发送方维持发送窗口,窗口大小按照拥堵情况和接收方的接受窗口大小来商定
    • 接收方累积确认,对按序到达的最后一个分组发送确认
  • 三次握手
    •  在建立连接时产生的
    • 1.client请求server连接,发送syn(seq=x)
    • 2.server回复syn(seq=y) ack (x+1)
    • 3.client 确认+1,seq=x+1;ack=y+1
  • 四次挥手
    •  在释放连接时产生
    • 1.A释放请求,开启计时器;
    • 2.B回送确认ack,A收到后释放连接
    • 3.B继续发送释放DR,启动定时器,A收到后回复ack
    • 4.B收到后释放连接
  • 四次挥手是为了杀死办断开的连接
  • TCP的传输策略
    •   发送序列号和数据
    • 返回确认接收的序列号,和窗口大小
    • 发送序列号和数据
    • 返回确认接受的序列号,和窗口剩余大小(0)
    • 返回确认接受的序列号,和窗口剩余大小(数据处理完毕,有空余的窗口)
    • 发送序列号和数据

计算机基础:计算机网络-chapter5 运输层的更多相关文章

  1. Java学习之计算机基础(一)

    阅读本文大概需要 4 分钟 想要开始学习Java开发,需要掌握一些必要的计算机基础.如果你是计算机专业的人或者已经学过类似的课程,可以跳过这篇文章的阅读.计算机基础课程有很多,小编在大学里学过的课程就 ...

  2. day01<计算机基础知识&Java语言基础>

    计算机基础知识(计算机概述) 计算机基础知识(软件开发和计算机语言概述) 计算机基础知识(人机交互) 计算机基础知识(键盘功能键和快捷键) 计算机基础知识(如何打开DOS控制台) 计算机基础知识(常见 ...

  3. [Java 教程 00] 计算机基础

    前言 我想,来到这的朋友肯定是想学习JAVA或者想要进入IT这个行业的.考虑到大家的基础可能不一样,有些人可能还是用着新买的电脑,为了让大家在后续的学习中更加顺畅.在学习一门全新的计算机语言之前,我需 ...

  4. 【java基础】01 计算机基础知识

    一.计算机基础知识 1. 计算机 1. 什么是计算机? 计算机在生活中的应用举例 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设 ...

  5. Java学习1——计算机基础知识

    本文包含了一些计算机基础知识:计算机组成:Windows常用快捷键:DOS常用命令:计算机语言发展史.

  6. 计算机基础--Java中int char byte的关系

    计算机基础--Java中int char byte的关系 重要:一个汉字占用2byte,Java中用char(0-65535 Unicode16)型字符来存字(直接打印输出的话是字而非数字),当然要用 ...

  7. 计算机基础-Day1

    计算机基础-Day1 一.计算机基础 首先Python是一门编程语言 语言: 那什么是语言?语言就是一种事物与另一种事物沟通的介质. 所以说编程语言是程序员跟计算机沟通的介质,那么为什么要跟计算机沟通 ...

  8. python计算机基础-Day1

    计算机基础-Day1 一.计算机基础 首先Python是一门编程语言 语言: 那什么是语言?语言就是一种事物与另一种事物沟通的介质. 所以说编程语言是程序员跟计算机沟通的介质,那么为什么要跟计算机沟通 ...

  9. Python之旅_计算机基础入门

    一.计算机基础 1.Python是编程语言 语言:一种事物与另一种事物沟通的介质. 编程语言:程序员与计算机沟通的介质. 什么是编程:程序员用编程语言把自己的逻辑思想下来,编程的结果就是一堆文件. 为 ...

随机推荐

  1. float数组转字符串实施方案小记

    float[] floats = {1.2f , 3.5f , 6.4f}; Double[] doubles = IntStream.range(0, floats.length).mapToDou ...

  2. [BZOJ 2705] [SDOI 2012] Longge的问题

    Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数 \(N\),你需要求出 \(\sum gcd(i, N)(1\le i \le N ...

  3. nginx压测工具--wrk

    基本使用 命令行敲下wrk,可以看到使用帮助 Usage: wrk <options> <url> Options: -c, --connections <N> C ...

  4. Codeforces Round #507 Div. 1

    D:类似于noip2018d1t3,子树内的链应该贪心的尽量合并而不是拆开.则设f[i]为i子树内满足选的链尽量多的情况下根所在的链的最长长度即可.于是可以线性对某个k求得答案. 注意到长度为k的链不 ...

  5. P1427 小鱼念数字

    P1427 题目描述 小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字(长度不一定,以0结束,最多不超过100个,数字不超过2^32-1),记住了然后反着念出来(表示结束的数字0就不要念出来了) ...

  6. Elasticsearch 中数据类型 text 与 keyword 的区别

    随着ElasticSearch 5.X 系列的到来, 同时也迎来了该版本的重大特性之一: 移除了string类型. 这个变动的根本原因是string类型会给我们带来很多困惑: 因为ElasticSea ...

  7. Python小练习

    1.计算x的n次方 2.计算x的阶乘 3.计算1x1 + 2x2 + 3x3 ...+ NxN之和 def fun(n): s=0 while n > 0: s = s + n*n n = n ...

  8. 大学jsp实验4include,forword

    一.实验目的与要求 1.掌握常用JSP动作标记的使用. 二.实验内容 1.include动作标记的使用 编写一个名为shiyan4_1.jsp的JSP页面,页面内容自定,但要求使用include动作标 ...

  9. HBase读取与写入流程

    写入流程 读取流程 https://yq.aliyun.com/articles/670748?spm=a2c4e.11153940.blogcont684011.28.427e4648CTtaPL

  10. Iroha and a Grid AtCoder - 1974(思维水题)

    就是一个组合数水题 偷个图 去掉阴影部分  把整个图看成上下两个矩形 对于上面的矩形求出起点到每个绿点的方案 对于下面的矩形 求出每个绿点到终点的方案 上下两个绿点的方案相乘后相加 就是了 想想为什么 ...