分层

TCP/IP协议族是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层次协议系统。

  • 链路层(数据链路层或网络接口层):通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。用于处理与传输媒介物理接口细节。
  • 网络层:处理有关通信媒介的细节,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包含IP协议(网际协议),ICMP(Internet互联网控制报文协议,Internet Control Message Protocol),以及IGMP协议(Internet组管理协议,Internet Group Management Protocol)。
  • 运输层:为两台主机上的应用程序提供端到端的通信。包含TCP(传输控制协议,Transmission Control Protocol )和UDP(用户数据报协议,User Datagram Protocol)。
    • TCP为两台主机提供高可靠性的数据通信。它所做的工作包括将应用程序交给他的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最终确认分组的超时时钟等。(传输层提供了可靠的端到端的通信)
    • UDP则为应用层提供了一种非常简单的服务。它只把称为数据报的分组从一台主机发送到另一台主机,但不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。
  • 应用层: 负责处理特定的应用程序细节。 
    • Telnet远程登录(Telnet是常用的远程控制Web服务器的方法)
    • FTP文件传输协议
    • SMTP简单邮件传送协议
    • SNMP简单网络管理协议(simple network management protocol)
TCP/IP协议族是一组不同的协议组合在一起构成的协议族,尽管通常称该协议为TCP/IP协议,但TCP和IP只是其中的两种协议而已。(该协议族的另一个名字为Internet协议族(Internet Protocol Suite))。如上图所示,FTP是一种应用层协议,TCP是一种运输层协议,IP是一种网络协议,而以太网协议应用于链路层。
一个互连网(internet)就是一组通过相同协议族互连在一起的网络。构建互连网最简单的方法就是把两个或多个网络通过路由器进行连接。它是一种特殊的用于网络互连的硬件盒。路由器(Router)的好处是为为不同类型的物理网络提供连接:以太网、令牌环网、点对点的链接和FDDI(光纤分布式数据接口)。从历史上说,这些盒子称为网关。但现在网关这个术语只用来表示应用层网关:一个连接两种不同协议族的进程,它为特定的应用程序服务。
对上面描述的互连网,我们可以划分出端系统(End system)(两边的主机)和中间系统( Intermediate system)(中间的路由器)。应用层和传输层使用端到端协议,只有端系统需要这两层协议。而网络层使用逐跳协议,两个端系统和中间系统都要使用它。
网络层和运输层的区别:
网络层IP提供的是一种不可靠的服务。也就是说,它只是尽可能快的把分组从源结点送到目的结点,但是并不提供任何可靠性保证。运输层TCP采用了超时重传、发送和接收端到端的确认分组机制,在不可靠的IP层上提供了一个可靠的运输层。

从定义上看,一个路由器具有两个或两个以上网络接口层(因为它连接了两个或多个网络)。互联网的目的之一就是在应用程序中隐藏所有的物理细节。因此,通过路由器进行互连不同类型的物理网络,对应用层而言,下层细节是被隐藏的。连接网络的另一途径是使用网桥。网桥是在链路层上对网络进行互连,而路由器是在网络层上对网络进行互连。网桥使得多个局域网(LAN)组合在一起,这样对上层来说就好像是一个局域网。

TCP/IP协议的分层

上图介绍了本书将主要讨论的协议。

ICMP是IP协议的附属协议,IP层用它来与其他主机或路由器交换错误报文和其他重要信息。IGMP是Internet组管理协议,它用来把一个UDP数据报多播到多个主机。(注意广播(将一个UDP数据报发送到某个指定网络上的所有主机)和多播的区别)。ARP(地址解析协议)和RARP(逆地址解析协议)是某些网络接口(以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层使用的地址。

互联网的地址

这里介绍IPV4版本,IP地址长度为32bit,使用常见的点分十进制表示。
三类IP地址:单播地址(目的为单个主机),广播地址(目的端为给定网络上的所有主机)以及多播地址(目的端为同一组的所有主机) ,对于子网划分及NAT技术后面讨论。

域名系统(DNS)

在TCP/IP领域中,域名系统(DNS)是一个分布的数据库,由它来提供IP地址和主机名之间的映射信息。

封装

当应用程序使用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要添加一些首部信息(有的还要添加尾部信息)。TCP传给IP的数据单元称为TCP报文段或简称为TCP段(TCP segment),IP传给网络接口层的数据单元称为IP数据报(IP datagram),通过以太网传输的比特流称为帧。以太网数据帧的物理特性是其长度必须在46到15000字节之间。 
UDP数据与TCP数据基本一致,唯一不同的是UDP传给IP的信息单元称为UDP数据报(UDP  datagram),而且UDP的首部长度为8字节(TCP首部为20字节)。关于每一层添加的首部信息详细解释后面介绍。

分用

当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部,每次协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。同时为协议ICMP和IGMP定位存在着一些困难。在图1-4中,将它们与IP放在同一层上,那是因为它们是IP的附属协议。但在这里,将它们放在IP层上面,是因为ICMP和IGMP报文都被封装在IP数据报中。同时,对于ARP和RARP协议而言,将它们放在以太网设备驱动程序之上,是因为它们跟IP数据报一样,都有各自的以太网数据帧类型(通过帧首部的类型字段判断)。而在图1-4中,把ARP作为以太网设备驱动程序的一部分,放在IP层的下面,在逻辑上是合理的。

端口号

端口号用来标识互相通信的应用程序。对于每一个TCP/IP实现来说,FTP服务器的TCP端口号都是21,每个Telnet服务器的TCP端口号都是23,每个TFTP服务器的UDP端口号都是69。任何TCP/IP实现所提供的服务都要用知名的1~1023之间的端口号。客户端通常对它使用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以了。大多数TCP/IP实现给临时端口分配1024~5000之间的端口号。大于5000的端口号是为其他服务器预留的。

互联网

internet这个词的第一个字母是否大写决定了它具有不同的含义。internet意思是一个共用的协议族把多个网络连接在一起。而Internet指的是世界范围内通过TCP/IP相互通信的所有主机集合。Internet是一个internet,而internet不等于Internet。

应用编程接口

使用TCP/IP协议的应用程序通常采用两种应用编程接口:socket和TLI(运输层接口:Transport Layer Interface)。

《TCP/IP详解卷一:协议》 概述相关推荐

  1. 商业数据分析【一】概述及职业发展

    一. 商业数据分析概述 越来越多的公司在收集数据,并不仅仅局限于金融业和零售业等. 什么是商业分析?使用应用数学,统计学和计算机科学分析数据,洞察商业表现并采取行动. 商业分析包括金融分析.人力资源分 ...

  2. 创业商业模式设计与实务

    目录 一.课程内容介绍 二.课程内容思维导图 三.文字内容 一.课程内容介绍 "创业商业模式设计与实务"是在MBA课程中非常重要的一部分.创业指希望创造创新和价值,并为此投入时间. ...

  3. 云计算与分布式系统课程学习笔记(一)——云计算简介

    大数据对于系统架构的需求 显式的需求 海量计算和存储 快速计算 隐式的需求 数据的快速传输 灵活性 低成本 如何实现这些需求? 并行化(并行化的理念存在于计算机方方面面) 并行请求(分配给多个计算机) ...

  4. 基于金融知识图谱的会计欺诈风险识别方法

    点击上方蓝字关注我们 基于金融知识图谱的会计欺诈风险识别方法 陈强1, 代仕娅2 1 兴业银行信息科技部,上海 201201 2 蚂蚁科技国际事业群数据算法技术部,上海 200120 摘要:针对商业银 ...

  5. 《大数据》2021年第3期目次摘要

    点击上方蓝字关注我们 <大数据> 第7卷第3期 2021年5月 大数据2021年第3期 (点击原文链接在官网阅读完整文章) 目次 01 专题导读:基于大数据的知识图谱及其应用 靳小龙, 阮 ...

  6. 用python玩转数据测试与作业_大学mooc用Python玩转数据章节测试答案

    大学mooc用Python玩转数据章节测试答案 更多相关问题 某班有学生40人,女生人数与总人数右比是3:8,则男生有()人.A.15B.25C.30 某班有学生40人,女生人数与总人数右比是3:8, ...

  7. 中国共享经济行业前瞻及投资战略规划评估分析报告2022-2028年版

    中国共享经济行业前瞻及投资战略规划评估分析报告2022-2028年版 mmmmmm鸿**mmm晟&mmmmm信**mmmmm合&mmmmm研**mmmmmmm究&mmmmm院* ...

  8. 2022-2028年中国商业地产物业管理行业发展模式分析及市场需求预测报告

    本研究报告数据主要采用国家统计数据,海关总署,问卷调查数据,商务部采集数据等数据库.其中宏观经济数据主要来自国家统计局,部分行业统计数据主要来自国家统计局及市场调研数据,企业数据主要来自于国统计局规模 ...

  9. 2022-2027年中国数据银行市场竞争态势及行业投资前景预测报告

    [报告类型]产业研究 [报告格式]电子+纸介版 [出品单位]华经产业研究院 本报告由华经产业研究院重磅推出,对中国数据银行行业的发展现状.竞争格局及市场供需形势进行了具体分析,并从行业的政策环境.经济 ...

  10. 上海地铁行业运营模式与发展前景研究报告2022版

    上海地铁行业运营模式与发展前景研究报告2022版 HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS--HS-- [修订日期]:2021年11月 [搜索鸿晟信合研究院 ...

最新文章

  1. 一个 Mybatis 开发神器:Fast MyBatis 超好用
  2. BZOJ2115: [Wc2011] Xor
  3. “造车时代”多方笃定小米造车,网络营销外包专员如何看待这一波营销?
  4. 响应式编程RxJava (一)
  5. 合并多个word的代码_快速合并多个word文档内容,别再复制粘贴了!
  6. codeforces 909C. Python Indentation
  7. IMP导入报语句超过缓冲区长度
  8. Oracle中on和where的区别
  9. Uniswap 24h交易量约为10.6亿美元涨2.91%
  10. 手机php文件怎么修改,安卓手机上pdf文件怎么修改
  11. MPU6050-扫盲
  12. Python绘制bezier曲线
  13. python pyd_python pyd 加密相关
  14. 一天1个机器学习知识点(一)
  15. STM32产生固定频率和占空比可变的PWM
  16. 空间统计(三)聚类分布制图
  17. 淘宝店铺如何好评置顶,如何通过好评留住客户?
  18. python 基础文件操作
  19. Spring Security OAuth2 实现登录互踢
  20. Websphere8.5.5最新补丁包 :WebSphere Application Server V8.5.5 Fix Pack 15(8.5.5.15)

热门文章

  1. unify最新版_unify-v2.5_Bootstrap4模板
  2. 【C语言】链表的一般设计步骤
  3. 一文了解Python编程语言及安装
  4. Lightwave 3D 8 Cartoon Character Creation, Volume 1: Modeling Texturing
  5. PDM图纸文档管理系统还可以实现哪些功能?
  6. python头像转卡通_【Python】照片卡通化
  7. 有态度的前沿技术解析,第22期技术雷达
  8. 免费在线markdown转pdf
  9. Android VTS test
  10. OpenGL - HDR