看这本书的目的:

  • 了解计算机之间是怎么通信的
  • 熟悉TCP/IP协议

后面就这两个目的进行展开,要达到这两个目的,读这本书,学到了哪些知识。

一、计算机之间是怎么通信的

先来了解下面几个概念,中继器,二层交换机,路由器,IP地址,Mac地址

1. IP地址和Mac地址

IP地址和Mac地址大家都非常熟悉了,到底在计算机的通信中,起到什么作用呢?
Mac地址是用来真正负责最终通信的地址。
IP地址用来寻址的。

下面想一个场景: 小明从上海到北京,假设没有火车直达。

  • 第一步: 小明知道自己的出发地是上海,目的地是北京。那IP路由转换表就相当于行程表,告诉小明,首先应该从上海到南京。拿到南京这个IP,小明来到了火车站,问售票员(arp)到南京怎么走,售票员给了小明一张到南京的火车票(mac地址),这样小明顺利的到达了南京。
  • 第二步: 到达南京后,行程表告诉小明,下一站到北京去,小明又来到了火车站,问售票员(arp),到北京怎么走,售票员给小明一张到北京的火车票(mac地址),这样小明就顺利的到达了北京。
    如果行程表(IP路由转发器),火车票(mac),两者少了一样,小明都到达不了北京。

问题:
为什么使用IP地址进行路由?
由于IP地址具有层次性,就像一棵树,寻址更快。而mac地址不具有这样的特性。

2. 中继器

在计算机诞生之前,中继器就已经诞生了。在电报机年代,尽管一些电报线使用高达300伏的电压能在300英里的范围内工作,长距离导线电阻的原因,导线还是不能无限延伸。这个时候,中继器诞生了。就是使用转发(中继)系统,也称为继电器系统,大约每200英里就让发报者通过中继器加强信号,再发出去。

原理(如下图):
输入电流激发电磁跌,电磁跌吸引一根有弹性的金属条作为开关,从而输出电流。

3. 二层交换机(网桥)

首先附上大神们在知乎上的回答
https://www.zhihu.com/question/50104637/answer/119837346
首先网桥是二层网络设备,是现代交换机的前身。一定程度上降低了冲突域的发生,另外提供简单的存储转发功能,如果产生冲突直接拒绝,没有现代交换机的缓存队列。

-冲突域:你说话的时候,别人不能说话,别人说话的时候你不能说话,同意时刻只能有一个人说话
-广播域:你喊了一嗓子,所有人都能听到。别人喊一嗓子,所有人也能听到。4. 网关 VS 路由器

4.网关

网关是一个概念,不具体指一类产品,只要连接两个不同网络的设备都可以叫做网关;而路由器需要将局域网的以太帧格式转换为串行通信的HDLC帧格式,使不同协议类型的接口能够通信,这是路由器的最早功能,现在还具有具有路由寻址和转发功能,所以路由器可以看做网关的一种实现,但不局限于网关的基本功能。

默认网关:
通常说的默认网关是默认的数据出口,当数据的目的IP没有响应的路由匹配规则,都走到默认网关,由默认网关进行路由转发。

5.相关协议

6.计算机之间的通信

二、TCP/IP协议

TCP/IP协议并不是单纯指TCP、IP协议,是指TCP/IP协议族,其中包括很多协议,比如tcp/udp、ip、arp、icmp等等

1.TCP协议

是面向连接的,可靠的、基于字节流传输层通信协议。有超时重传机制、阻塞控制机制等等保证通信的质量。更详细信息参考百科全书(https://zh.wikipedia.org/wiki/%E4%BC%A0%E8%BE%93%E6%8E%A7%E5%88%B6%E5%8D%8F%E8%AE%AE)

三次握手连接:

数据传输:

四次回收断开:

2.UDP

用户报文协议,与TCP相对,也是传输层协议。但不是面向连接的,不可靠,传输的速度比TCP快。

3.MTU MSS 滑动窗口

更详细参考车神的回答

3.1 MTU

MTU, 是 Maximum Transmission Unit 的缩写,最大传输单元,即物理接口(数据链路层)提供给其上层(通常是IP层)最大一次传输的数据的大小。

3.2 MSS

MSS,是Maximum Segement Size,TCP提交给IP层最大分段的大小,不包含TCP Header和TCP Option,只包含了TCP Payload,MSS是TCP用来限制application层最大的发送字节数。

MTU和MSS是就是为了避免在传输过程ip层分包。MTU是由最小MTU路径发现得到,然后根据MTU算出MSS即可,一般是MTU是1500,去掉IP和TCP Header各20字节,一般是1460字节。

3.3 滑动窗口

由于最传统的TCP IP通信,每次传输必须等ACK,否则发送端就一直阻塞在这里,不往下发送,通信的效率极低。滑动窗口设置一个传输范围,批量的发送,没必要等每次传输的ACK,极大的提高了传输效率。

3.4 端口

详见 http://www.cnblogs.com/beginmind/p/6517913.html

转载于:https://www.cnblogs.com/beginmind/p/6517934.html

《TCP/IP图解》读书笔记相关推荐

  1. 读书笔记 | 墨菲定律

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  2. 读书笔记 | 墨菲定律(一)

    1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...

  3. 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记

    <洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...

  4. 股神大家了解多少?深度剖析股神巴菲特

    股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...

  5. 2014巴菲特股东大会及巴菲特创业分享

     沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...

  6. 《成为沃伦·巴菲特》笔记与感想

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...

  7. 读书笔记002:托尼.巴赞之快速阅读

    读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...

  8. 读书笔记001:托尼.巴赞之开动大脑

    读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...

  9. 读书笔记003:托尼.巴赞之思维导图

    读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...

  10. 产品读书《滚雪球:巴菲特和他的财富人生》

    作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...

最新文章

  1. 深入理解 Embedding层的本质
  2. 成功将BlogEngine 1.5 升级到了BlogEngine 2.0
  3. 定义一个有参宏判断一个字符是否在0~9之间
  4. TensorFlow 实战 MINST
  5. (五)Docker查看容器ip及指定固定IP
  6. 慎用stl中的erase的返回值
  7. javascript 分号_让我们谈谈JavaScript中的分号
  8. 在后台获取前台按钮里的值(如LinkButton)
  9. 3串锂电池电量检测ic bq2060pdf及应用原理图_接受电源IC需求挑战,轻松实现精确调节的电源电压!...
  10. 美图秀秀 Mac版终于上线 关于美图秀秀 Mac版初体验
  11. Python字符串处理的8招秘籍
  12. 豆瓣评分9.9!国内外口碑炸裂的强化学习圣经中文版终于来了!
  13. PDFlib+PDI图像和超文本元素提供了许多有用的功能
  14. 利用DirectoryEntry获取域内计算机以及共享资源
  15. (休息几天)读曼昆之微观经济学——公共物品和资源
  16. 【CSS】学习iview的icon样式+font字体
  17. 测试岗面试,一份好的简历总可以让人眼前一亮
  18. 华为交换机VLAN配置多个端口详细步骤
  19. warning: iteration xxxu invokes undefined behavior [-Waggressive-loop-optimizations]
  20. 试编程判断输入的正整数是否既是5又是7的整数倍,若是输出“yes”,否则输出“no”。

热门文章

  1. Face ID 上手体验信息汇总:面部解锁流畅,原理移植AR让人憧憬
  2. 限制php输出图像的固定,限制要显示的图像数php
  3. 欧拉遗留240多年的问题,被物理学家用量子力学解决
  4. 体系结构方案 -BI 系统的前置计算
  5. 从 jQuery 到 VUE 技术栈
  6. 通用数据级别权限的框架设计与实现(3)-数据列表的权限过滤
  7. 准确率99.9%!如何用深度学习最快找出放倒的那张X光胸片(代码+数据)
  8. 解决“显示桌面”快捷方式的丢失
  9. 《相约星期六》男嘉宾才华横溢,现场用女嘉宾名字作诗一首
  10. mysql+keepalived搭建高可用环境