zoukankan      html  css  js  c++  java
  • 计算机网络 5.6-5.8 TCP/UDP

    来看看传输层的位置##


    要点:

    传输层是为两个应用进程提供端到端的通信

    传输层的复用和分用

    传输层与应用层就是端口 (传输层的应用访问点 TSP)
    传输层与网络层之间就是协议字段(网络层的 NTSP)

    端口(port)#


    一共可以有 2^16 个

    服务器比作房子
    而把端口比作通向不同房间的门、

    端口扫描可以看好目标主机

    套接字###

    插口 或者 套接口 socket


    显得比较冗余了

    先来看一下UDP协议###

    用户数据报协议

    • 端口的复用和分用
    • 差错控制技术

    若果是UDP进行分片。那么只有第一个会有UDP

    UDP的首部(四个字段,每个字段各占两个字节)

    校验和字段:计算过程下一节介绍
    UDP的数据(不讲)

    UDP的差错控制方法###

    有一个首部校验和(只校验首部)

    节约了时间(尽力而为的思想)给高层留下了数据是否可靠的问题
    高层可以自己选择

    发送时计算一次
    接受时再计算一次
    包含三个部分
    首部,数据,伪首部

    增加了伪首部的方法
    要对完整点的通信双方的五元组的校验

    计算校验和
    数据长度是奇数的话 如果是偶数个就不填充了

    校验和置零
    反码求和再取反

    DNS DHCP 都是使用了UDP协议

    报文简单,实时应用

    TCP协议#

    双方建立TCP的有限状态机
    TCP不提供广播或多播的服务

    TCP报文段的首部格式


    前20个字节是固定的

    • 序号
      TCP传送点的报文可以看成连续的字节流
      数据部分的第一个字节的序号

    • 确认号
      期望收到的下一个报文段首部的 序号字段的值

    • 数据偏移(四字节为单位)

    +标记位

    URG: urgent 本报文中包含紧急数据
    ACK : 确认号字段有效
    PSH : 应尽快将报文给应用程序
    RSH : 表明TCP链接出现严重错误,必须重新建立连接
    SYN : (需要消耗序号)同步位

    FIN :需要释放链接(也消耗序号)

    窗口:允许发送方发送的数据量

    校验和字段 TCP的 首部 数据 伪首部
    TCP伪首部协议字段是6

    • 紧急指针
      在URG置1时有效
      紧急数据的字节数

    选项(长度可变,4字节的整数倍,MSS(TCP数据部分的最大长度): TCP报文段长度-TCP首部长度,)

    TCP的链接建立过程##

    SYN
    FIN
    需要消耗

    ACK不消耗

    三次握手###


    通信双方协商报文数据载荷最大长度
    MSS值表示后续数据的最大值


    避免

    分布式的拒绝服务攻击

    攻击方式的问题就出在三次握手


    SYN flood 攻击
    TCP是面向链接的传输层协议

    TCP链接释放的过程##


    TCP可靠传输###

    序号确认机制###




    若果没有差错,只是没有按序号
    (1) 将不按需的报文段丢弃
    (2) 先存到缓冲区 以待后用

    超时重传机制###

    在规定的时间内没得到ACK应答,就取出来重新发送
    RTO(retransfomationtimeout)
    过大或者过小都不好

    RTO=RTT+4*RTTD
    RTT:端到端的传输时延
    RTTD:传输往返时延的偏差值

    RTT的更新方法,在传输层是非常困难的事情
    TCP采取了一种自适应的算法
    发出的时间到受到确认的时间,在加权平均一下


    典型取7/8

    TCP中的定时器###

    (1)重传定时器
    在规定时间内没有受到应答就重发
    (2)持续定时器
    缓冲满了发一个窗口值是0的,
    有了缓冲,就发窗口更新报文(然而丢了)
    这下晚秋了
    超时了,就发一个探寻的消息
    (3)保活定时器
    查看通信的另一方是否在线,一般设置2个小时
    发出10个都没有应答就终止
    (4)时间等待定时器
    关闭后,一般设置为某一报文寿望寿命的2倍

    asa##


    端到端的流量控制
    通过选项通知对方
    可以随时动态的调整窗口
    由接受端控制发送端

    TCP的拥塞控制机制###


    造成核心的拥塞

    传输层的TCP当中实现的


    衡量网络的拥塞程度

    假定接受窗口足够大

    四种拥赛控制技术

    ssthresh
    是为了防止因为数据过大出现拥塞

    慢启动在开始的数值比较小
    设定一个门限值

    实例复习#


    题:


    解答


    (1)

    (2)

    (3)

    第一个SYN
    第二个SYN ACK
    第三个ACK


    分析的正确性

    小结#

  • 相关阅读:
    委托demo
    事件demo
    数据结构与算法分析表ADT
    数据结构与算法分析栈ADT
    Access的“自动编号”问题
    C#获取时间函数
    在load事件中关闭窗体
    panel里面显示form的问题
    将RichTextBox 的内容直接写入数据库
    利用反射来创建一个Form.
  • 原文地址:https://www.cnblogs.com/sfzyk/p/7464466.html
Copyright © 2011-2022 走看看