概述:

tcp和ip 是互联网很多协议中最著名的 这一章 重点介绍tcp/ip的发展历程和有关协议概况

tcp/ip出现的背景及其历史

1,首先是ARPANET  阿帕网的诞生

起先是美国国防部DoD为中心的组织研究军事方面的问题如何保证一处收到打击的情况下其他点也可以在迂回的线路中通信,完成军事指挥。于是分组交换技术出现了。为了验证分组交换技术的实用性 研究人员搭建了 一套网络 就是ARPANET  全球互联网的鼻祖。 起初该网络之链接了美国的西海岸大学和研究所的额四个节点(基本都是大学研究所)

2.TCP/IP 的诞生

在ARPANET 的实验中,几所大学构成了主干网为了实现可靠的传输研究机构一并研发了TCP/IP 协议,这其实是一个比较漫长的过程 几乎是十年以后才在1982年确定下来,期间实在不断的实践应用中进行不断的尝试和修改才最后形成了TCP/IP 所以一开始这套协议就是从实际应用中被磨练出来的。

3,UNIX系统主机的普及和 NSFnet

当时TCP/IP 还是很小范围内研究室在使用,后来能够大面积普遍应用其实还需要归功于 unix 系统。当时很多研究机构的计算机使用的是 unix 系统 所以unix 系统便在很多应用上支持了TCP/IP。等到后来更多的大学 研究室  或者个人 使用unix 计算机时 自然就支持了tcp/ip 协议。就这样随着unix 大量使用tcp/ip 得以普及  慢慢的 ARPANET 也连入到了 NSFnet 网络 形成范围更广 使用更普及的网络。

4,商用互联网服务的开始

到了九十年代 新的网络 逐渐被引入到公司和家庭,很多公司开始看到了网络的巨大商机加入了进来,同时也出现了专门提供接入互联网服务的公司 称为 ISP   互联网服务提供商  也就是我国的联通 电信  移动等公司

tcp/ip标准化

1.TCP/IP具体的含义

就表面来看 TCP/IP 分别表示两个协议, tcp 传输控制协议和 ip 网际协议,但实际上TCP/IP是以这两个协议为主的众多协议个协议簇。其实TCP/IP中包含很多相关协议。所以我们把TCP/IP 叫做网际协议簇。

2.TCP/IP标准化精髓

主要指的是TCP/IP的两大特点,开放性和实用性。

开放性是由于TCP/IP 是由IETF机构讨论制定的,而这个组织本身就是允许任何人加入并讨论的组织,采用电子邮件形式沟通交流。

实用性指的是TCP/IP的制定过程很特点 协议规范弱化 更注重的是使用性,必须在实际应用的检验,大家都认为可以没有什么问题了 这样才能定理为标准,所以在整个过程中其实是经过了很多人在实践中遇到问题修改再实践再修改慢慢磨练出来的。

3.TCP/IP规范和标准化流程

TCP/IP 标准化之后 被人们列入到 RFC 文档中 并在互联网上公布  RFC 除了规范内容 还包含协议的实现和运用。也就是说一旦变为标准就不允许随便修改。

那么我们通常的协议如果想要成为标准是什么流程呢 其实这个过程也是相当繁琐的他i自由一套严格的流程 大体可以概括为 将协议提出来 提议为标准(提出议案)——草案标准(组织讨论)——标准(定为标准),其实再提议和草案阶段都是 6到 4个月时间 这期间还要经过很多实践中的测试 如果测试不通过也不行。必须各个阶段 各个测试都通过了 个方面使用都没问题 才可以最终被定为标准

互联网的基础知识

1.互联网的概念

Internet 就是互联网的英文表示。 internet 的意思是将多个网络连接使其成为一个更大的网络,即为网际网。所以两个局域网连接起来就叫互联网,或者两个企业 两个城市   两个国家连接起来都叫互联网。但我们今天的互联网 Internet 却是特别专指 全球范围的互联网络。就是将全世界无数个局域网连起来就构成了互联网。

2.互联网的结构和 于TCP/IP的关系

如果我们要把互联网拆开看的化可以分为 骨干网(BackBone) 和 末端网(Stub) 每个网络之间通过 NOC  网络操作中心连接。如果是不同的网络,也就是我们说的异构网之间需要 ILX 网络交换中心,做一些协议或者设备上的转换。

互联网得以实现的协议就是TCP/IP , TCP/IP 协议簇 就是专门为互联网而设计的。

TCP/IP 协议分层模型

1.TCP/PI与 OSI参考模型

关于OSI 和TCP/IP 关系我们看一张图

可以看出TCP/IP分层只有四层,网卡曾  互联网曾 传输层和应用层。OSI 注重的是 通信协议必要的功能是什么,而 TCP/IP 强调的是 在计算机上实现协议应该开发那种程序

2.硬件(物理层)和网络接口层(数据链路层)

硬件主要指的是网卡设备,解决的是如何传输信号的问题,包括安全性 可靠性  带宽  速率等问题。

网络接口层 实际上就是七层里面的数据链路层 这一次主要是物理地址的寻址,也就是前面讲的网卡地址的寻址,还有链路的建立 维护和拆除  数据校验 流量控制等问题  主要设备就是交换机设备来实现

3.互联网层(网络层)

互联网层 也就是七层中的 网络层 ,这层也是寻址 不过是逻辑地址ip 地址的寻址。路径的选择。主要设备就是路由器设备。这一层包含了很多协议 比如

ip 网际协议   用来转发数据包的

icmp网络控制报文协议   主要用来检查网络的通断

arp 地址解析协议   将 ip 地址解析为mac 地址

4.传输层

主要功能是让应用程序之间实现通信,实现同种应用或者程序之间的互通。计算机内部有很多程序,必须知道那个程序与那个程序通信 或者简单点说 微信发出去的对方微信接受,而不是对方qq接受,虽然都是腾讯的。传输层通过一个叫做端口号的东西识别不同的应用。

传输层有两个著名的协议 TCP 和 UDP

TCP 传输控制协议,一种面向连接的传输协议  可以保证两端主机可达 确定收到

UDP 用户数据报协议  一种面向无连接的协议  就是我这边只管发送,至于你此时在不在 收不收我都不管。就像发离线消息一样。

5.应用层

TCP/IP 的应用层包含了七层里的上三层,也就是说应用层同时实现了表示和会话的功能。应用层关键实现各自的应用所以一般是我们的软件或者手机app  像浏览器  电子邮件客户端 下载软件 在在线视频软件等。

应用层的协议也是最多的几乎每一个服务就是一个协议

www  万维网服务  就是我们通常将的网页 通过http 超文本传输协议通信

电子邮件服务   通过 smtp 简单的邮件传输协议和 pop3 邮政协议 实现

文件传输  FTP  本身就是一个协议,可以实现文件的上传和下载

远程登陆服务 (telnet 与ssh)   两者的区别在于 telnet 铭文传输  ssh 加密传输

网络管理 snmp 通过简单的网络管理协议 实现。

TCP/IP协议的通信示例

1.数据包的首部

那么TCP/IP的通信到底是如何实现的呢我们看下图:

也就是说数据在每一层中都会加上这一层能够读取和识别的数据头部然后交给下一层。

为了表述方便我们将每一层的数据个别起个名字, 应用层的数据我们称之为 数据   传输层我们叫数据段   网络层叫数据包   数据链路层叫 数据帧  到物理层我们叫比特流。下面我们通过发送数据和接受数据来看数据的通信过程如何实现

2.发送数据包

比如我们甲发一份邮件给乙

应用程序处理

启动邮件客户端软件 甲写入邮件点击返送,邮件客户端程序会将邮件数据转换为 二进制编码 如果需要加密就加密 压缩  将数据交给下一层TCP模块

TCP模块处理

TCP模块收到后在数据的基础上加上端口号和其他tcp 头部信息形成数据段再交给下一层 IP 模块

IP模块处理

IP模块收到后在接受的数据基础上加上ip 包头,里面包含 目标逻辑地址和源逻辑地址 就是目标和源的ip 地址信息 和上次协议号信息 等 变成数据包 交给下一层

网络接口处理

在这一层将接受的数据再加上自己的帧头部包含 校验信息 源端和目标端的mac地址信息 上层协议 等

经过数据链路的包是这样的

3.数据包接受处理

数据包接收之后的处理其实就是 发送处理的逆过程

网络接口处理

收到以太网帧 首先找到mac 地址部分看目标mac 是不是发给自己的r如果是接受 拆除掉帧头部交给上一层

IP模块处理

ip模块收到数据包之后查看包头的目标ip 地址是不是自己的如果是拆掉包头 将数据交给上一次

TCP模块处理

TCP模块收到后查看端口号确定是给那个应用的 然后拆掉 tcp 头部 交给上一次层应用软件

应用程序处理

应用程序收到后主要是讲编码转换为我们能够看懂的内容,利用软件呈现给我们。

整个发送和接受如图

好这一章主要讲的是tcp/ip 协议的 由来  特点 标准化 和网络 和它的通信实现 以及互联网的基本概念。重点还在于那几个协议,大家要知道叫什么名字认识它 之后很多协议我们都会详细解释。今天就到这里下一我们和大家聊一聊数据链路层的内容。

第二章 TCP/IP 基础知识相关推荐

  1. 一篇经典的TCP/IP基础知识英文文章

    一篇经典的TCP/IP基础知识英文文章 INTRODUCTION When you configure the TCP/IP protocol on a Microsoft Windows compu ...

  2. 计算机的指令合成为,第二章计算机操作基础知识doc

    第二章计算机操作基础知识doc (29页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 23.9 积分 第二章  计算机操作基础知识第一节  计算机基础知识 ...

  3. tcp丢包率_网络编程 | TCP/IP基础知识

    在2017年10月深圳 Cocos 沙龙上,有幸结识了社区中大名顶顶的Colin,Shawn在论坛上第一次看到Colin的团队用CocosCreator制作的<热血暗黑>时就被深深地震撼到 ...

  4. 第一篇第二章火灾的基础知识

    沿外墙面蔓延的情况 需要注意:层高要足够高 要不下层着火会直接蔓延到上层 喷头系统必须在轰然之前进行灭火 否则灭火失败 2019/1/3 [录播]2018一消精华班-实务-一级消防工程师-环球网校 h ...

  5. python语言中、用来表示赋值的符号是_第二章Python语言基础知识

    第二章Python语言基础知识 2.1 Python语言基础知识 2.1.1标识符与关键字 在Python语言中,对程序中各个元素命名加以区分,这种用来标识变量.函数.类等元素的符号称为标识符. Py ...

  6. TCP/IP 基础知识总结

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 要说我们接触计算机网络最多的协议,那势必离不开 TCP/I ...

  7. TCP/IP协议(二)tcp/ip基础知识

    转载:http://www.cnblogs.com/imyalost/p/6139191.html 一.TCP/IP的标准化 1.TCP/IP的含义 一般来说,TCP/IP是利用IP进行通信时所必须用 ...

  8. TCP/IP基础知识复习

    /* 2018-11-14 09:06:39 基本的准备工作,需要注意的点 在windows环境下 */ 头文件:winsock2.h 链接库:ws2_32.lib 预处理器 加上下面这个 _WINS ...

  9. TCP IP基础知识的复习

    TCP/IP网络协议栈分为应用层(Application).传输层(Transport).网络层(Network)和链路层(Link)四层.如下图所示 两台计算机通过TCP/IP协议通讯的过程如下所示 ...

最新文章

  1. 漫谈时序设计(1)跨时钟域是设计出来的,而非约束出来的!
  2. ubuntu下如何设置apache的启动和重启
  3. Kafka : kafka无法消费的情况
  4. JUnit5 @RepeatedTest注解示例
  5. 【报告分享】线上汉服消费洞察报告.pdf(附下载链接)
  6. Zabbix监控内存
  7. DialogPlus
  8. 每周更新:Markdown1.1.7 、Nacos1.0.0 GA 、CKFinder3.5、Apache POI 4.1.0等新版本发布
  9. 百度AI攻略:货币识别
  10. 史上最牛最全android开发知识汇总
  11. 使用js实时统计text、textarea等输入框的字数,并进行字数限制
  12. 转载一篇过来人谈的大学期间关于课外学习的意见lt;出自左飞老师笔记gt;
  13. C# 读取或修改文件后缀
  14. 今天那个服务器有无限火力,无限火力即将登陆,测试服已出,这次的无限火力有什么不一样?...
  15. firefox/safari/chrome浏览器模拟iPad的userAgent的方法
  16. gradient设置上下渐变_CSS3 渐变
  17. 1000瓶无色无味的药水,其中有一瓶毒药,10只小白鼠拿过来做实验
  18. 卓有成效的管理者总结与思考
  19. db107s-ASEMI整流桥堆怎么测量好坏,万用表测量DB107S四脚
  20. Iis写权限漏洞认识 2010-10-13 10:47:20

热门文章

  1. mysql 命令行 dump_MySQL命令行导出数据库:
  2. vue框架下的TodoMVC
  3. 营销就是花架子?看一家餐厅是如何利用一场活动,赚到大钱的?
  4. 计算机里的文件弄不到桌面怎么办,笔记本电脑文件另存时找不到桌面选项怎么处理...
  5. NOKIA 中文论坛
  6. 统计图表-BigDecimal-换算百分比-加一起不满足100%
  7. 计算机无法连接苹果手机软件,iPhone无法连接到iTunes Store怎么办?
  8. 在Linux上安装Scheme解释器
  9. 解决Android 9 无法连接网络问题
  10. 简谈PMC在企业中的作用与意义