本节书摘来自异步社区《OSPF网络设计解决方案(第2版)》一书中的第1章,第1.4节,作者 【美】Thomas M. Thomas II, CCIE #9360,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.4 TCP/IP协议簇

OSPF网络设计解决方案(第2版)
所谓协议,是指管理网络中设备之间交换信息的规则约定的集合。本节将对最为常用的一个协议簇——TCP/IP进行讨论,但并不涉及TCP/IP深层次的内容。即便如此,为了更好地掌握全面的网络协议原理,你依然需要对TCP/IP有较为深刻地理解;这些深入的内容会在后续OSPF章节中进行穿插。

TCP/IP协议簇也被称为TCP/IP栈,它是当今被最为广泛实施的互联网络标准之一。TCP/IP的全称为传输控制协议/互联网络协议,其中TCP和IP是TCP/IP协议簇中的两个核心协议。下面的内容将阐述它们在TCP/IP协议栈中的地位。

TCP/IP最初是为美国政府分组交换WAN——ARPAnet所开发的,拥有超过25年的历史。尽管在当时,Internet还是专用网络,而TCP/IP被设计用于专门服务该网络。但是随后,TCP/IP不断朝着流行化的趋势发展,成为了如今网络中最为开放的公有协议簇之一。这主要归功于TCP/IP能够连接不同的网络,并且消除网络中不同物理硬件的差异。也正是因为如此,TCP/IP才成为了今天Internet的标准,被当今几乎所有的大型和小型网络所使用。

TCP/IP与OSI参考模型并非绝对兼容;但是,TCP/IP能够运行在遵循OSI模型的下层层面上,如OSI模型的数据链路层及物理层,而网络层则使用IP进行通信。从本质上来说,OSI参考模型的第3层及以下层面和TCP/IP的层面结构非常相似。图1-5描绘了OSI模型和TCP/IP协议簇层面之间的映射关系。


1.4.1 TCP/IP功能

鉴于OSI模型已然成为了标准的网络构架,那么你可以把TCP/IP视为网络的一种语言。当两者相互结合,便创造出了强大且多变的Internet。本节将对TCP/IP的主要功能进行一般性的阐述,然后再分别讨论TCP和IP协议。

在TCP层面中的数据单元,被称之为段(segment)。而在IP层面中,则称之为包(packet)。在数据链路层中,被称之为帧(frame)。以上名称都在图1-3中进行了说明。

如果传输的数据单元对于当前网络拓扑而言过大的话,那么IP层面将负责把数据报进行分段处理。例如,在令牌环网络中,可接受的以太网帧的大小是不定的。因此,IP将对数据的大小进行处理,从而保证传输所需。

在Internet中,从源到目的地的路径通常拥有多条可选。因此,被分段的数据报很有可能会选择不同的路径进行传输。最终,当分段信息到达目的站点后,IP协议栈必须对其进行排序,然后重组成原始的数据报。其中,每个被分段的数据报都拥有完整的IP头部信息,并且它们在第2层是以帧的形式进行传输的。

注意
除了2个网络层协议(IP和Internet控制消息协议[ICMP])及2个传输层协议(TCP和UDP)以外,TCP/IP协议簇还包括运行于上层层面的一系列协议,如FTP、Telnet等。
在TCP/IP的上层协议中,一些是TCP/IP所特有的;一些则源自于其他的协议栈,但是能够运行在TCP/IP上。本书并不打算对这些TCP/IP的上层协议进行讨论,因为这些内容已经超出了本书的范围。
关于TCP/IP更为详细的内容,推荐阅读由Richard Stevens所著的TCP/IP Illustrated,Volume I。虽然书中的实例略显陈旧,但正文内容却翔实清晰。在读者选择阅读时,相信该书已经重版。希望在新版中,第一版内高质量的内容能够得到保留。唯一遗憾的是,原书作者Stevens已经去世,无法亲自参与修订。

1.4.2 TCP概述

在TCP/IP协议簇中,TCP作为传输层内的重要协议,可提供面向连接的传输服务。TCP从位于上层层面的协议接收数据消息,然后为远程设备的TCP层面提供公认可靠的,及面向连接的数据内容。在TCP/IP协议簇内,TCP具备以下5种重要功能:

提供标准的数据格式,并在两台计算机之间交互确认信息,以达成可靠性传输;
能够确保数据正确地到达;
能够在一台设备上区分不同的会话;
定义了如何进行差错恢复;
定义了如何对数据流的传输过程进行初始化,及何时完成传输过程。

1.4.3 IP概述

IP协议是网络层的主要协议,它提供了不可靠的、无连接的服务。但是,如果使用了TCP,那么IP协议便能够依靠TCP对丢失的数据包进行检测和恢复。当使用UDP时,由于UDP没有相应的功能,那么此时 IP协议便无法对丢包进行恢复。在TCP/IP协议簇内,IP协议具备以下3种重要功能。

定义了在整个协议簇中进行数据传输时所使用的基本格式和规范。
为等待发送的数据选择去往所需目的地的相应路径,即提供路由功能。
除此以外,IP协议还提供不可靠的数据包传输服务。
从本质上来说,这些功能涵盖了数据包的处理方法、错误消息参数的定义及数据包丢弃等内容。

《OSPF网络设计解决方案(第2版)》一1.4 TCP/IP协议簇相关推荐

  1. 网络基础之计算机网络参考模型(OSI参考模型与TCP/IP协议簇)

    文章目录 前言 一.OSI七层参考模型 1.OSI简介 2.OSI参考模型各层的功能 二.TCP/IP协议簇 1.TCP/IP 2.常用的网络协议 三.数据封装和解封装 1.数据封装过程 2.数据解封 ...

  2. 《OSPF网络设计解决方案(第2版)》一第2章 介绍OSPF

    本节书摘来自异步社区<OSPF网络设计解决方案(第2版)>一书中的第2章,第2.1节,作者 [美]Thomas M. Thomas II, CCIE #9360,更多章节内容可以访问云栖社 ...

  3. 在哪里查看计算机配置的网络协议簇,tcp/ip协议簇

    TCP/IP协议簇是Internet的基础,也是当今最流行的组网形式.TCP/IP是一组协议的代名词,包括许多别的协议,组成了TCP/IP协议簇.其中比较重要的有SLIP协议.PPP协议.IP协议.I ...

  4. 【网络】网络的基础知识--TCP/IP协议、IP分组、TCP传输

    1.OSI参考模型: OSI(Open System Interconnect),即开放式系统互联.一般都称为OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互联模型.该体系结构标 ...

  5. 网络、如何通信、TCP/IP协议

    认识网络 *网络的发展史:网络发展之初,每台主机都是相互独立的-->随着发展,出现计算机需要相互联通的需求,引出网络互连以此达到多个计算机共享数据的目的-->不同主机通过网络传输数据: 1 ...

  6. Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手)...

    Python进阶----网络通信基础 ,OSI七层协议() ,UDP和TCP的区别 , TCP/IP协议(三次握手,四次挥手) 一丶CS/BS 架构 C/S: 客户端/服务器 定义:       这里 ...

  7. 【网络基础】TCP/IP协议详解

    TCP/IP协议定义 TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是在多个不同网络间实现信息传输的通信协议.是 ...

  8. 《自顶向下网络设计(第3版)》——2.7 适应性

    本节书摘来异步社区<自顶向下网络设计(第3版)>一书中的第2章,第2.7节,作者:[美]Priscilla Oppenheimer,更多章节内容可以访问云栖社区"异步社区&quo ...

  9. TCP/IP协议,网络工程部分

    这个博客参考了许多up主的视频和网上其他的博主的文章,还有我老师的ppt 这里是目录 一.osi七层模型(参考模型) 1.物理层 2.数据链路层(数据一跳一跳进行传递) 3.网络层(端到端传输) 4. ...

  10. TCP/IP协议(一)网络基础知识

    参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...

最新文章

  1. SQL Server 2016 查询存储性能优化小结
  2. synchronized关键字原理
  3. 【bitset 技巧 分块】bzoj5087: polycomp
  4. 双系统linux进了grub,windows linux双系统开机后进去grub如何修复
  5. 职场怪谈:技术面试过了一般HR多久联系?
  6. Axure制作微信APP原型(一)四大模块:消息、通讯录、发现、我
  7. 三种技术类型的3D摄像头大体总结 3D人脸识别
  8. 购物直播系统搭建 新型电商开发方案
  9. 群晖虚拟机VMM定时开启
  10. 三七互娱U3D面试记录
  11. 卷积和反卷积输出的计算公式
  12. Todd's Matlab讲义第5讲:二分法和找根
  13. HoloLens2语音指令实现
  14. 一键重装系统win7旗舰版系统教程
  15. Linux之LVM篇
  16. mysql删除不彻底,mysql删除不彻底的解决方法
  17. 大数据分析与实践 数据预处理-主成分分析
  18. 企业微信全员群关闭是什么意思?如何开启全员群?
  19. 帆软报表等于空的时候不显示_web报表工具FineReport使用中遇到的常见报错及解决办法(三)...
  20. 动作识别0-10:mmaction2(SlowFast)-源码无死角解析(6)-模型构建总览

热门文章

  1. 微信小程序电商实战-购物车(上)
  2. inotify java maven_Maven
  3. Layui 数据表格复杂表头
  4. oracle文件名乱码,如何rename datafile name中存在乱码的数据文件
  5. go语言php编译,golang怎么编译
  6. plesk 打不开php,如何在 Plesk 中管理 PHP
  7. 犯罪与健康的统计关系
  8. CSDN博文分类全部删除了?
  9. 解决办法:configure: error: You requested SRTP (requires libsrtp) but not found...die
  10. LINUX下载编译libspeex/libspeexdsp