《用TCP/IP进行网络互连》读书笔记
《用TCP/IP进行网络互连》读书笔记
第2章,基本网络技术
- 网络通信分类:基于连接的通信(connection-oriented),基于非连接的通信(connectionless)
- 基于连接的通信能够保证数据传输的安全性。
- 为什么要用基于非连接的应用:对于大文件,不可能一次全部传送完成,需要分包处理。
- 用于Internet的底层硬件技术:Ethernet(IEEE 802.3),Wi-Fi(IEEE 802.11),ZigBee(IEEE 802.15.4),Wide Area Poinit-to-Point Networks(SONET)
- Ethernet主要特点:支持广播,Best-Effort Delivery Semantics(硬件并不保证此次能够正常传输,而且,当传输出现错误后,也不会通知发送者)
- 每台电脑有一个或多个网卡,每个网卡被分配唯一固定的MAC地址。MAC地址是对网卡而言的,与电脑无关。MAC地址有48-bit(6个字节)。
- 对于底层硬件数据,通常使用帧(Frame),而不使用包(Packet)。
- Frame中的源地址和目的地址都指的是6字节的MAC地址。
- Ethernet帧结构(由于CRC由硬件执行,所以未包含4字节的CRC):
- 虚拟局域网(VLAN,Virtual Local Area Network):如,公司内可以总成不同的VLAN,不同的VLAN,享有不同的访问权限。在VLAN内部,定义了Broadcast domain,只有在相同的Broadcast domain内可以传输数据。其实,可以认为一个VLAN就是一个独立的物理连接网络。
- 桥接(Bridging),用于将小的网络组成更大的网络,此时网络的结构是,多台计算机通过交换机(Switch)组成独立的网络,各个独立的网络通过桥接器,构成更大的网络。
- 桥接的原理是将帧数据(Frame)的副本,从一个网络,传递给其他的网络,数据本省并不发生任何变化。这样,使跨网段的数据传输成为可能。
- 桥接器会记录Frame的MAC地址,当桥接器在网络间传输Frame时,会首先根据自己的MAC记录,查找发送端和接收端是否在同一网络下,这样能够实现最优的传输。
- 自适应以太网桥接器(adaptive Ethernet bridge)连接不同的以太网,当Frame在以太网直接传输时,首先由桥接器进行判断,以避免不必要的跨网络传输。
第3章,Internet概念和结构模型
《用TCP/IP进行网络互连》读书笔记的更多相关文章
- csapp读书笔记-并发编程
这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...
- CSAPP 读书笔记 - 2.31练习题
根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1) 属于第一种情况 sum = x ...
- CSAPP读书笔记--第八章 异常控制流
第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...
- CSAPP 并发编程读书笔记
CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- C++ 关于字符串总结(持续更新)
1.find_first_of size_type find_first_of( const basic_string &str, size_type index = 0 ); size_ty ...
- log4cpp退出时内存泄露的修复方案
1.缘由 一直对log4cpp非常有好感,就在自己的项目中集成了log4cpp1.1.1版本,并围绕着它建立了一系列的封装函数方便外部调用.写完了一个测试代码后,忽然想看看自己写的程序有没有内存泄露问 ...
- 像我这样优雅地进行Spring整合MongoDB
本文重点是要将mongodb与spring整合到项目中去,在实践中发现问题,追踪问题,然后解决问题. 一.准备 Maven.Spring(spring-data-mongodb) spring Dat ...
- 项目中引入composer
众所周知,composer可以自定义加载插件库和依赖,它也是用PHP写的,怎样在自己的项目中引入并使用composer呢?. 1.新建一个项目,在项目的根目录创建composer.json文件,用过一 ...
- JAVA死锁
死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放.由于线程被无限期地阻塞,因此程序不能正常运行. 简单的说就是:线程死锁时,第一个线程等待第二个线程释放资源,而同时第 ...
- [记录]一则清理MySQL大表以释放磁盘空间的案例
一则清理MySQL大表以释放磁盘空间的案例 一.基本情况: 1.dbtest库554G,先清理st_online_time_away_ds(37G)表的数据,保留半年的数据: 1)删除的数据:sele ...
- pycharm的用法
Ctrl / 注释(取消注释)选择的行 Shift + Enter开始新行Ctrl + Enter智能换行TAB Shift+TAB缩进/取消缩进所选择的行Ctrl + Alt + I自动缩进行Ctr ...
- Java经典编程题50道之二十五
一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. public class Example25 { public static void main(Stri ...
- struts 中的创建Action的三种方法
1.对于直接创建类,不实现接口和继承任何的类 例如创建一个helloAction package cn.lonecloud.control; import com.opensymphony.xwork ...
- wamp server环境下mysql数据库的密码为什么修改不了?
每次这个控制台,不输入密码可以直接用,用root登录都登录不了.修改root密码也修改不了.困惑? 经过不断的尝试终于找到解决的办法: 1,在mysql的配置文件my.ini的末尾添加 skip-gr ...