TCP/IP详解01-概述

TCP/IP详解01-概述

  • TCP/IP详解01-概述
    • 1. 分层
    • 2. 封装和分用
      • 2.1 封装
      • 2.2 分用
    • 3. 网络设备
    • 4. 章节结构
    • 5. 相关协议文档
    • 参考

1. 分层

TCP/IP详解01-概述_第1张图片
TCP/IP 通常被认为是一个四层协议系统:

  • 1) 链路层,有时也称作数据链路层网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。
    • 物理层定义与传输媒体的接口有关的一些特性,即机械特性、电气特性、功能特性、过程特性,并需要完成并行传输和串行传输之间的转换。
    • 数据链路层向该层用户提供透明的和可靠的数据传输服务。透明性是指该层上传输的数据的内容、格式及编码没有限制,也没有必要解释信息结构的意义;可靠性是指在传输过程中将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,其具体的方法有帧同步、差错控制、流量控制、链路管理。
    • 数据链路层中的主要协议有点对点协议PPP,CSMA/CD协议,以太网802.3。
  • 2) 网络层,有时也称作互联网层。网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网际层不提供服务质量的承诺,即所传输的分组可能出错、丢失、重复和失序,当然也不保证分组交付的时限。
    • 在 TCP/IP 协议族中,网络层协议包括 IP 协议(网际协议),ICMP 协议(Internet 互联网控制报文协议),以及 IGMP 协议(Internet组管理协议)。
  • 3)运输层为应用进程之间提供端到端(进程到进程)的逻辑通信,并具有复用和分用的功能,即发送方不同的应用进程都可以使用同一个运输层协议传送数据;接收方的运输层在剥去报文的首部后能够把这些数据正确交付到目的应用进程。
    • 在 TCP/IP 协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。
  • 4) 应用层负责处理特定的应用程序细节。
    TCP/IP详解01-概述_第2张图片

我们注意到应用程序通常是一个用户进程,而下三层则一般在(操作系统)内核中执行。

路由器它是一种特殊的用于网络互连的硬件盒。路由器的好处是为不同类型的物理网络提供连接:以太网、令牌环网、点对点的链接和 FDDI(光纤分布式数据接口)等等

连接网络的另一个途径是使用网桥。网桥是在链路层上对网络进行互连, 而路由器则是在网络层上对网络进行互连

2. 封装和分用

2.1 封装

TCP/IP详解01-概述_第3张图片
当应用程序用 TCP 传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程如上图所示。TCP 传给 IP 的数据单元称作 TCP 报文段或简称为 TCP段(TCP segment)。IP 传给网络接口层的数据单元称作 IP数据报(IP datagram)。通过以太网传输的比特流称作帧(Frame)

更准确地说,IP 和网络接口层之间传送的数据单元应该是分组( packet)。分组既可以是一个IP数据报,也可以是IP数据报的一个片(fragment)

UDP 数据与 TCP 数据基本一致。唯一的不同是 UDP 传给 IP 的信息单元称作 UDP 数据报(UDP datagram),而且UDP的首部长为 8 字节。

2.2 分用

当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识, 以确定接收数据的上层协议。这个过程称作分用( Demultiplexing)

3. 网络设备

1)物理层用到的设备是中继器集线器

  • 中继器的主要功能是对接收到的信号进行再生整形放大以扩大网络的传输距离(从一个网络电缆中接收信号, 放大它们, 然后将其送入下一个电缆)。
  • 集线器(HUB)就是将网线集中到一起的机器,也就是多台主机和设备的连接器。集线器的主要功能是对接收到的信号进行同步整形放大(同中继器),以扩大网络的传输距离; 与中继器的区别在于集线器能够提供多端口服务,也称为多端口中继器。

2)数据链路层用到的设备是交换机网桥

  • 交换机是一种基于MAC识别,能完成封装, 转发数据包功能的网络设备。它可以“学习”MAC地址,并把其存放在内部地址表中,当一个数据帧的目的地址在MAC地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口。交换机将局域网分为多个冲突域,每个冲突域都是有独立的宽带,因此大大提高了局域网的带宽。
  • 网桥就是个硬件网络协议翻译器, 在网络互联中可起到数据接收、地址过滤与数据转发的作用, 可用来实现多个不同网络系统之间的数据交换。

3)网络层用到的设备是路由器

  • 路由器用于连接多个逻辑上分开的网络,具有路由和转发的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网(我们将在网络层对路由器有更详尽的描述)。

4)应用层用到的设备是网关

  • 网关(协议转换器)是在网络层之上的具有协议转换功能的设施,所以称为设施,是因为网关不一定是一台设备,有可能在一台主机中实现网关功能。
  • 网关分类:
    • 1)协议网关:协议网关通常在使用不同协议的网络区域间做协议转换。
    • 2)应用网关:应用网关是在使用不同数据格式间翻译数据的系统。
    • 3)安全网关:安全网关是各种技术的融合,具有重要且独特的保护作用,其范围从协议级过滤到十分复杂的应用级过滤。

4. 章节结构

TCP/IP详解01-概述_第4张图片

5. 相关协议文档

链路层

  • ARP相关:
    • RFC 826 - An Ethernet Address Resolution Protocol
  • Tunnel 相关的协议
    • RFC 1853 - IP in IP Tunneling
    • RFC 2784 - Generic Routing Encapsulation (GRE)
    • RFC 2661 - Layer Two Tunneling Protocol “L2TP”
    • RFC 2637 - Point-to-Point Tunneling Protocol (PPTP)

传输层

  • Transmission Control Protocol—最初的 TCP 标准定义,但不包括 TCP 相关细节。
  • Window and Acknowledgement Strategy in TCP—TCP 窗口与确认策略,并讨论了在使用该机制时可能遇到的问题及解决方法。
  • The TCP Maximum Segment Size and Related Topics—讨论 MSS 参数对控制 TCP 分组大小的重要性,以及该参数与 IP 分段大小的关系等。
  • Congestion Control in IP/TCP Internetworks—讨论拥塞问题和 TCP 如何控制拥塞。
  • TCP Congestion Control—描述用于拥塞控制的四种机制:慢启动、拥塞防御、快重传和快恢复。后面这个 RFC 被 RFC 5681 所更新。The NewReno Modification to TCP’s Fast Recovery Algorithm改进了快速恢复算法。
  • TCP Selective Acknowledgment Options—TCP的选择确认
    • 对应的改进An Extension to the Selective Acknowledgement (SACK) Option for TCP
  • Computing TCP’s Retransmission Timer讨论与 TCP 重传计时器设置相关的话题,重传计时器控制报文在重传前应等待多长时间。也就是经典的 TCP Karn/Partridge 重传算法。
  • Computing TCP’s Retransmission Timer—TCP Jacobson/Karels Algorithm 重传算法。
  • Congestion Avoidance and Control—拥塞控制论文
  • tcp - TCP protocol—TCP的manual

其他

  • Key words for use in RFCs to Indicate Requirement Levels—在 RFC 中用于指示需求级别的关键字
  • Date and Time on the Internet: Timestamps—互联网上的日期和时间:时间戳
  • Address Allocation for Private Internets—私有互联网的地址分配
  • Common DNS Operational and Configuration Errors—常见的 DNS 操作和配置错误
  • Internet Message Format—互联网邮件格式
  • Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content—超文本传输协议(HTTP/1.1):语义和内容

参考

在后续文档中将会参考的资料:

  • TCP 的那些事儿(上):https://coolshell.cn/articles/11564.html
  • TCP 的那些事儿(下):https://coolshell.cn/articles/11609.html
  • TCP/IP详解学习笔记:https://blog.csdn.net/goodboy1881?t=1
  • https://github.com/CyC2018/Interview-Notebook/blob/master/notes/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md
  • https://blog.csdn.net/zjf280441589/article/category/1854365

你可能感兴趣的:(TCP/IP详解)