我开发了一个基于 Beancount 的账本托管服务 HostedBeans,欢迎大家来了解纯文本复式记账并试用我的服务。
归档 2012 年 11 月

TCP/IP 笔记(2.TCP/IP模型)

上一篇提到的TCP/IP模型:

下面是四层模型,和每一层上所传输的数据的术语.

  • 网络访问层 – 帧(frame)
  • 网际层 – 数据报(datagram)
  • 主机对主机传输层 – TCP:段(segment) UDP:包(packet)
  • 应用层 – TCP:流(stream) UDP:消息(message)

网络访问层

与OSI模型的前三层对应,隐藏物理设备的细节,相当于物理设备的驱动.

将IP数据报封装成适合物理设备传输的帧.

将IP地址转换为物理地址(ARP协议,Address Resolution Protocol,地址解析协议), 为传送IP数据报提供基础.

网际层

本层最重要的是IP协议,目前被广泛应用的是IPv4, 还有它的替代品IPv6. 本系列笔记暂时只涉及IPv4.

无论是上层协议(TCP/UDP), 还是下层协议(ARP), 都使用IP来传输数据, TCP/IP模型中所有的数据包必定经过IP.

术语数据包在这里,以及以后,笼统地表示一段自成整体的数据.

主机对主机传输层

简称传输层,本层最重要的是TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议).

  • TCP提供可靠的数据传输服务,而且能侦测、更正端点之间的错误.
  • UDP提供低成本、非连接式的数据传输服务.

应用层

应用层就是应用程序实际交流数据的层次,协议有很多种,取决于具体的应用程序,很多应用程序都会定义属于自己的应用层协议.

常见的开放协议有SMTP, FTP, HTTP, DNS, Telnet等等.

HTML5 新的语义化标记

它们的行为和<div>几乎是相同的,只是被赋予了语义.

通过使用语义化标记,可以提高代码的可读性,让浏览器更好地优化你的网页(尤其在移动终端), 以及让搜索引擎爬虫更好地理解你的网页.

  • <section>

段落,一个网页可以有多个这样的段落,多个段落之间可能有联系也可能没有联系.

<section&gt;中通常会有<header>(标题)和<footer>(页脚).

  • <article>

文章,自成整体的内容,如新闻、日志的正文. 它也可能包含标题和页脚,可以认为是<section>的一种特殊形式.

  • <header>

标题,还可以是页眉,包含Logo, 搜索框等.

  • <nav>

主导航栏,通常每个页面只有一个,包含指向各个<section>的导航.

  • <aside>

侧边栏.

  • <figure>

图表、图片、视频等,用于辅助理解文章,在某些情况下被移除也不影响原文的其他信息.

  • <footer>

页脚,包括版权信息、相关链接等,提供额外的数据。

TCP/IP 笔记(1.概述)

TCP/IP代表一套数据通讯协议的组合. TCP(Transmission Control Protocol, 传输控制协议)和IP(Internet Protocol, 网际协议)是其中最重要的两种协议. 它们是目前使用最广泛的协议组合,全球性Internet的基础.

TCP/IP是统一的开放标准,不受制于特定的硬件或操作系统.

Internet协议多由IETF(Internet Engineering Task Force,互联网工程任务小组)以RFC(Request For Comments,征求修正意见书)的形式发表.

OSI参考模型(Open System Interconnection Reference Model,开放式通信系统互联参考模型)

(由底层至上层)

更多信息:http://zh.wikipedia.org/wiki/OSI%E6%A8%A1%E5%9E%8B

  • 物理层(Physical Layer)

定义传输数据的物理规格(电平、电压、接口和引脚等),物理层传输的是原始比特流,物理层需要保证对方能够正确地解析比特流,如约定哪个引脚发送的多少电压表示0或1, 一个bit持续多少微秒.

  • 数据链路层(Data Link Layer)

保证数据能在物理层正确地被传输.

  • 网络层(Network Layer)

管理网络间的连接、寻址,屏蔽底层的细节. IP通常被认为在这一层.

  • 传输层(Transport Layer)

保证接收方能够正确无误、按顺序接到发送方的数据. TCP通常被认为在这一层.

  • 会话层(Session Layer)

配合应用层管理会话式,某些协议允许在一个连接中进行多个会话. 而在某些协议中(如HTTP/1.0)连接和会话并无区别.

  • 表示层(Presentation Layer)

双方就数据的格式达成共识,如压缩和加密.

  • 应用层(Appliction Layer)

应用程序交互的实际内容.

TCP/IP模型

(由底层至上层)

更多信息:http://zh.wikipedia.org/wiki/TCP/IP%E5%8D%8F%E8%AE%AE

TCP/IP并没有一个标准的模型,通常认为它有四层,但不同资料对四层的划分并不相同.

  • 网络访问层(Network Access Layer)
  • 网际层(Internet Layer)
  • 主机对主机传输层(Host-to-Host Transport Layer)
  • 应用层

无论是OSI还是TCP/IP, 数据都是逐层传输的.

发送方的数据,由应用层,逐层向下,经过每层时被加上该层的报头或进行封装.

接收方由下至上,每层剥离报头与数据,并将数据交给正确的上层应用.

精子生于 1995 年,英文 ID jysperm.

订阅推送

通过 Telegram Channel 订阅我的博客日志、产品和项目的动态:

王子亭的博客 @ Telegram


通过邮件订阅订阅我的博客日志、产品和项目的动态(历史邮件):

该博客使用基于  Hexo  的  simpleblock  主题。博客内容使用  CC BY-NC-ND  授权发布。最后生成于 2023-12-20.