Skip to content

TCP/IP协议 #26

Description

@chengfengliu

TCP(Transmission Control Protocol 传输控制协议)是一个面向连接的协议,它保证了两台计算机之间数据传输的可靠性和顺序。
换句话说,TCP是一种传输层协议,它可以让你将数据从一台计算机完整有序地传输到另一台计算机。

TCP/IP详解

Internet地址结构

最初定义Internet地址结构时,每个单播IP地址都有一个网络部分,用于识别接口使用的IP地址在哪个网络中可被发现;以及一个主机地址,用于识别由网络部分给出的网络中的特定主机。
一种划分方法是基于当前或预计的主机数量,将不同大小的IP地址空间分配给不同的站点。

很难为接入Internet的新网段分配一个新的网络号。解决这个问题,主机部分进一步划分为一个子网号和一个主机号。

子网掩码

子网掩码只能由连续的1开头,子网掩码的1对应IP地址的网络/子网部分。
Internet路由系统其余部分不需要子网掩码的知识,因为站点之外的路由器做出路由决策只基于地址的网络号部分,并不需要网络/子网或主机部分。因此,子网掩码纯粹是站点内部的局部问题。

ARP Adress Resolution Protocol

IP地址转MAC地址
关于MAC地址
1.每台手机连入WIFI时都没有IP地址,需要路由器分配,分配好的IP地址放入DHCP响应报文传回去,传回去就需要MAC地址;
2.同一个IP地址,如果要更换服务器,即更换MAC地址也能把数据传输正确。

Internet协议

IPv4头部中的头部校验和字段仅计算IPv4头部。理解这一点很重要,因为这意味着IP协议不检查IPv4数据报有效载荷的正确性。为了确保IP数据报的有效载荷部分已正确传输,其他协议必须通过自己的数据完整性检验机制来检查重要数据。

防火墙和网络地址转换

NAT的工作原理就是重写通过路由器的数据包的识别信息。这种情况常发生在数据传输的两个方向上。在这种最基本的形式中,NAT需要重写往一个方向传输的数据包的源IP地址,重写往另一个方向传输的数据包的目的IP地址。这允许传出的数据包的源IP地址变为NAT路由器中面向Internet的网络接口地址,而不是原始主机的接口地址。因此,在互联网上的主机看来,数据包是来自于具备全局路由IP的NAT路由器,而不是位于NAT内部的私有地址的主机。

TCP:传输控制协议(初步)

每个TCP头部包含了源和目的端口号。这两个值与IP头部中的源和目的IP地址一起,唯一地标识了每个连接。在TCP术语中,一个IP地址和一个端口的组合有时被称为一个端点或套接字。每个TCP连接由一对套接字唯一地标识。

TCP连接管理

建立一个TCP连接需要3个报文段(3次握手),而关闭一个TCP连接需要4个报文段(4次挥手)。
一个报文段一定包含Seq序列号,返回的报文段同时包含ACK确认号,ACK是接收到的报文的Seq+1。

TCP接收方是累积确认,就是说只有前一个数据报被确认了,当前数据报才可被确认

流量控制服务:消除发送方使接收方缓存溢出的可能性。
拥塞控制:TCP发送方因为IP网络的拥塞而被抑制。

IP协议

一个IP地址技术上是与一个接口相关联的,即路由器每个接口都有一个IP地址。

同一个子网IP地址前缀相同。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions