zoukankan      html  css  js  c++  java
  • 2019.3.7 IP通信基础

    TCP/IP协议族应用层协议:

    SMTP 简单电子邮件传输协议、FTP 文件传输协议(使用传输协议TCP在支持FTP的终端加 执行文件传输)、TFTP 简单文件传输协议(使用UDP提供服务,不可靠)

    Telnet 远程登录服务 、DNS 域名解析器 、SNMP 简单网络管理协议 、NFS 网络文件共享、 RPC 远程协议控制(teamviewer )

    ICMP ( Internet Control Message Protocol)控制消息是指网络通不通(ping)、主机是否可达、路由是否可用等网络本身的消息

    ARP 地址解析 (可查询本机ARP缓存中IP地址和MAC地址的对应关系)

    RARP与ARP类似

    TCP协议报文格式:由报文头部和数据组成

    报文格式:

    源端口,目的端口——端口是用于传输层与应用层的服务接口,传输层的复用和分用功能要通过端口才能实现

    序号字段——TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值是指本报文段所发送的数据的第一个字节的序号

    确认号字段——占四个字节,是期望收到对方的下一个报文段的数据的第一个字节序号

    首部长度——占四位,指出TCP首部共有多少个4字节字,首部长度在20-60字节之间,所以该字段的取值范围在5-15之间

    保留字段——占六位,保留为今后使用,但目前应置为0

    紧急URG——当URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)

    确认ACK——只有当ACK=1时确认号字段才有效

    推送PSH——接收TCP收到PSH=1的报文段,就尽快地交付接受应用进程,不用等到整个缓存填满了后再向上交付

    复位RST——当RST=1时,表明TCP连接中出现严重差错,接着再重新建立传输连接

    同步SYN——同步SYN=1表示这是一个连接请求或连接接受的报文

    FIN——用来释放一个来连接,FIN-1表明此文报段的发送端的数据已发送完毕,并要求释放传输连接

    窗口字段——占两字节,用来让对方设置发送窗口一句,单位为字节

    检验和——占两字节,检验和字段检验的范围暴扣首部和数据这两部分,在计算检验和时,要在TCP报文段的前面加上12字节的伪首部

    紧急指针字段——占16 位,指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)

    选项字段——长度可变,TCP最初只规定了一种选项,及最大报文段长度 MSS。MSS告诉对方TCP:“我的缓存所能接收的报文段的数据字段的最大长度是MSS个字节”

    填充字段——这是为了是整个首部长度是4字节的整数倍

    TCP的连接管理

    • 面向连接的传输需要3个阶段:建立连接、数据传输、连接终止。TCP连接的管理就是是传输连接的建立和释放都能正常的进行
    • 三次握手过程,采用客户/服务器方式
    • 服务器告诉自己的TCP已经准备好接受来凝结,成为被动打开请求(被动等待连接建立)
    • 客户程序发出请求叫做主动打开(主动发起连接的建立)

  • 相关阅读:
    Rafy 框架
    巧用拦截器:高效的扩展点设计
    Rafy 框架
    Rafy 框架
    Rafy 框架
    Rafy 框架-发布网页版用户手册
    Rafy 领域实体框架
    基金投资方法札记
    股票、基金投资方案总结
    BaaS API 设计规范
  • 原文地址:https://www.cnblogs.com/mreleshaw/p/10505264.html
Copyright © 2011-2022 走看看