《计算机网络》谢希仁(第7版) 第四章 c语言http://c.biancheng.net/cpp/html/3137.html
第四章 网络层
电信网使用面向连接的通信方式,使电信网络能够向用户提供可靠传输的服务。
互联网设计思路:网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报(分组)服务。
网络层不提供可靠传输服务,所传送的分组可能出错、丢失、重复和失序。
TCP/IP体系的网络层提供的是数据报服务。
网络层协议:IP协议、地址解析协议ARP、网际控制报文协议ICMP、网际组管理协议IGMP。
ICMP和IGMP要使用IP协议、IP协议要经常使用ARP。
IP地址是32位二进制代码,每8位换成一个十进制数并中间加一个点即叫点分十进制。
ARP协议:知道自己的IP、硬件地址和对方的IP地址求对方的硬件地址。
IP地址和硬件地址不是简单映射关系,ARP解决方法是在主机ARP高速缓存中存放一个IP地址到硬件地址的映射表,而且经常动态更新(新增或超时删除)
网络链路上传送的帧是按照硬件地址找到目的主机的,使用IP地址的好处在于不需要进行非常复杂的硬件地址转换工作就能使这些异构网络能够互相通信,一个主机只有一个IP地址,它们之间的通信就像连接在同一个网络一样简单。
IP数据报格式:
32位(4个字节)为单位进行描述,固定首部长度为20字节。首部长度是20-60字节。
首部检验和采用反码算术运算求和的方式进行检验。
互联网有两种交付:在本网络上的直接交付和到其他网络的间接交付。
网络地址=IP地址与子网掩码化成二进制后逐位相与,网络地址指的是网络号+主机号全为0。
无分类域间路由选择CIDR是解决IP地址紧缺第一个好方法。CIDR记法把IP地址后面加上斜线‘/‘,然后写上网络号所占的位数,把前缀都相同的连续IP地址组成一个“CIDR地址块“。
CIDR主要特点:(1)消除了传统的A类、B类C类地址以及划分子网的概念
(2)CIDR把网络前缀都相同的连续IP地址组成一个“CIDR地址块“。
路由表必须包含三个内容:目的网络地址、子网掩码和下一跳地址。
ICMP报文有两类:ICMP差错报告报文和ICMP询问报文。
ICMP的一个重要应用:分组网间探测PING,测试两台主机之间的连通性。
路由选择协议划分:内部网关协议IGP(RIP和OSPF等)和外部网关协议EGP(目前用的是BGP)
RIP协议:一种分布式的基于距离向量的路由选择协议,距离是指跳数,RIP适用于小型互联网。
RIP协议特点:仅和相邻路由器交换信息、交换的信息是自己现在的路由表、按固定的时间间隔交换路由信息。
RIP协议最大优点就是实现简单,开销较小,缺点首先是RIP限制了网络的规模;其次,路由器之间交换的路由信息是完整路由表,随着网络规模扩大,开销也增加;最后是坏消息传播得慢,当网络出现故障时,要经过较长时间才能将此信息传送到所有路由器。
OSPF协议:使用分布式的链路状态协议。
OSPF协议特点:向本自治系统中所有路由器发送信息(洪泛法)、发送的信息是与本路由器相邻的所有路由器的链路状态、只有当链路状态发生变化时,路由器才向所有路由器用洪泛法发送此消息。
OSPF的优点是OSPF的更新过程收敛得快,链路状态数据库能较快地进行更新;对于不同类型的业务可计算出不同的路由;提供负载均衡功能;支持可变长度的子网划分和无分类的编址CIDR,缺点是协议本身庞大复杂,实现起来难度大。
路由器可划分为:路由选择部分和分组转发部分。
解决IP地址耗尽的问题,根本办法就是采用具有更大地址空间的新版本IP协议IPv6。
IPv6的主要变化:
(1)更大的地址空间(128位地址) (2)灵活的首部格式
(3)改进的选项 (4) 支持即插即用 (5)支持资源的预分配
(6)首部改为8字节对齐(IPv4是4字节对齐)
IPv6数据包的目的地址有三种基本类型地址:单播、多播、任播。
IPv6地址采用冒号十六进制记法。
向IPv6过渡只能逐步演进,可以使用双协议栈或隧道技术。
一个VPN至少要有一个路由器具有合法的全球IP地址,这样才能和本系统的另一个VPN通过互联网进行通信,所有通过互联网传送的数据都必须加密。
《计算机网络》谢希仁(第7版) 第四章 c语言http://c.biancheng.net/cpp/html/3137.html的更多相关文章
- 重读 谢希仁《计算机网络》3 - 网络层和IP协议
- C++PrimerPlus第6版 第四章——复合类型
1,复合类型主要包含:数组.结构.联合.枚举.类.指针.引用等. 2,数组.长度必须确定.即编译阶段,数组的长度就得确定好.所以只能使用常量(#define.const)声明数组长度.如果使用变量声明 ...
- Java 线程第三版 第四章 Thread Notification 读书笔记
一.等待与通知 public final void wait() throws InterruptedException 等待条件的发生. public final void wait(lo ...
- C#高级编程第11版 - 第四章 索引
[1]4.2 继承的类型 1.C#不支持类的多继承,但它支持一个接口继承自多个接口. 2.单继承:单继承允许一个类继承自另外一个基类,C#支持. 3.多级继承:多级继承允许创建一个类继承自它的父类,而 ...
- MVC5+EF6 简易版CMS(非接口) 第四章:使用业务层方法,以及关联表解决方案
目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口 ...
- 图片人脸检测——Dlib版(四)
上几篇给大家讲了OpenCV的图片人脸检测,而本文给大家带来的是比OpenCV更加精准的图片人脸检测Dlib库. 点击查看往期: <图片人脸检测——OpenCV版(二)> <视频人脸 ...
- ROS机器人程序设计(原书第2版)补充资料 (肆) 第四章 在ROS下使用传感器和执行器
ROS机器人程序设计(原书第2版)补充资料 (肆) 第四章 在ROS使用传感器和执行器 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. 第四 ...
- Python操作redis系列以 哈希(Hash)命令详解(四)
# -*- coding: utf-8 -*- import redis #这个redis不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. Hset 命令用于 ...
- C语言程序设计:现代方法(第2版)第二章全部习题答案
前言 本人在通过<C语言程序设计:现代方法(第2版)>自学C语言时,发现国内并没有该书完整的课后习题答案,所以就想把自己在学习过程中所做出的答案分享出来,以供大家参考.这些答案是本人自己解 ...
随机推荐
- linux 系统管理 实战技巧
一.这篇文章讲了什么? 这篇文章很有参考性哈.本来是想等一段时间有更多条技巧后在发布的,不过,突然发现,我是去年的今天在博客园落户了,祝我的博客一周岁快乐,希望以后多分享一些文章啦.所以就把草稿箱的其 ...
- png,jpg,gif这些图片格式解释一下,分别什么时候用,webp呢
gif图形交换格式,索引颜色格式,颜色少的情况下,产生的文件极小,支持背景透明,动画,图形渐进,无损压缩(适合线条,图标等),缺点只有256种颜色 jpg支持上百万种颜色,有损压缩,压缩比可达180: ...
- 内置锁(一)synchronized 介绍与用法
一.synchronized 的介绍 synchronized 是 Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码,而这段代码也被称 ...
- 阻止form提交数据,通过ajax等上传数据
btn.click(function (event) { event.preventDefault(); // 组织发送 $.ajax({ ...}) })
- Git常用命令速记与入门
. 首页 博客园 联系我 前言:Git是什么. 常规初始化操作. 三种状态. 分支. add(添加)操作. 查看差异. Commit(提交)操作. Push(推送)与Pull(更新)操作. 移除文件. ...
- eclipse包层级显示和工作空间显示
本文两件事:设置包层级显示.设置工程的工作空间显示 一.各package包分层显示 平铺显示,实在不方便开发!也不方便查看工程包的层级结构,如下: 更换成层级显示: 二.工作空间显示 包用来区分类,工 ...
- 下载的chm文件打不开问题
下载的chm文件无法打开,是因为此文件是在其它电脑上编辑的,上面留有原电脑的信息,当下载打开时,发现电脑信息不一致,因此会将应用锁定. 操作:文件 --> 属性 -->常规 --&g ...
- 15 MySQL--索引
索引: http://www.cnblogs.com/linhaifeng/articles/7356064.html http://www.cnblogs.com/linhaifeng/articl ...
- DOM0和D0M2级事件
1.DOM0级事件:on+事件类型 1.1.在html行内直接绑定, 1.2.在js中绑定 A.DOM0级事件和DOM0级事件相互之间会覆盖,比如以下代码执行后弹出jsDOM0级,js中绑定的事件 覆 ...
- Jsonlib 属性过滤器
/** * @title JSON转换属性过滤器 * @description 用于JSON lib的JSON转换 * @author maohuidong * @date 2017-04-06 */ ...