0. 前言

  本系列简要记录该书的关键点,用以梳理知识点。

1. 简介

  简述链路层下的一些相关协议,如以太网IP数据报,802标准,SLIP,CSLIP,PPP。

  链路层主要为上层(IP)和本层(ARP和RARP)的协议提供服务。

2. 以太网IP数据报和IEEE 802

  以太网IP数据报协议是由Intel和其他公司发布的一个标准,采用CSMA/CD的接入方法。其速率为10Mb/s,地址为48bit。在RFC 894中定义。

  IEEE 802发布的一个标准和以太网IP数据报有些不同,前两个地址字段相同,之后两个字节不一样。但是可以通过这两个字节来区分。其如下所示(图为百度百科的):

  从这里可以看出,这两种报文可以通过802.3标准的长度字段和RFC 894的类型字段区分开(因为有效长度<=1500 < 2^11=2048=0x0800)

3. SLIP:串行线路IP(Serial Line IP)

  SLIP是一种在串行线路上对IP数据报进行简单封装的协议。

协议定义:

  1)IP数据报以END(0xc0)的特殊字符结束。(多数实现会在开头也添加一个END)

  2)如果IP数据报中包含END,则以0xdb 0xdc来代替。其中0xdb称为SLIP的ESC字符。

  3)如果IP数据报中包含ESC,则使用0xdb 0xdd来替代。

协议的缺陷:

  1)每一段必须知道对方的IP地址。(因为没有类似以太网IP数据报中的地址字段信息)

  2)数据帧中没有类型字段。在一条线路中使用则不能使用其他协议(没有协议字段,没法和其它协议区分)

   3)没有校验和

4. 压缩SLIP

  对报文的IP和TCP(或其他协议)首部信息进行压缩到3或5个字节。在RFC 1144中定义。

5. PPP:点对点协议

  PPP协议修改的SLIP的一些缺陷。RFC 1548描述报文封装方法和链路控制协议。RFC 1332描述针对IP的网络控制协议。

  协议的格式如下:

    每一帧均以0x7e开始和结束。之后是一字节的地址,然后是一字节0x03的控制字节。

    协议字段:0x0021表示IP数据报,0xc021表示链路控制数据,0x8021表示网络控制数据。

    FCS是帧校验序列,用以检测数据传输过程产生的错误。

  

  对比与SLIP

    1)PPP协议在一条线路上可以使用多种协议,而不仅仅是IP协议。

    2)有校验码,可以检测传输产生的错误。

    3)通信双方可以进行IP地址的动态协商(通过IP网络控制协议)

    4)可以协商是否采用报文头部压缩。

    5)链路控制协议可以分别对多个数据链路选项进行设置。

TCP/IP协议详解 卷1—读书笔记(1)的更多相关文章

  1. 【转】TCP/IP协议详解 卷1

    https://www.cnblogs.com/mengwang024/p/4425834.html

  2. TCP/IP协议详解概述

    TCP/IP协议详解卷1--第一章概述--读书笔记 作者:vpoet 日期:2015/06/25 注:本系列的文章只是作者对TCP/IP协议的理解,难免会出现纰漏或者不完整,当然也有可能很肤浅,希望大 ...

  3. TCP/IP协议详解---概述

        工作之后,才发现以前在学校里学的东西忘得太快太干净了,现在需要一点点地捡起来了,要不然写几行程序会闹很多笑话会出现很多bug的.从今天开始,翻一翻<TCP/IP协议详解 卷1>这本 ...

  4. 【转载】TCP /IP协议详解

    首先,TCP/IP不是一个协议,而是一个协议族的统称. 里面包括了IP协议,IMCP协议,TCP协议,以及http.ftp.pop3协议等等. TCP/IP协议分层 提到协议分层,我们很容易联想到IS ...

  5. TCP /IP协议详解【转】

    转自:https://www.jianshu.com/p/0cf648510bce?utm_campaign=maleskine&utm_content=note&utm_medium ...

  6. 003 TCP/IP协议详解(二)

    一.ping ping可以说是ICMP的最著名的应用,是TCP/IP协议的一部分.利用"ping"命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障. 例如:当我们某一 ...

  7. TCP/IP协议详解内容总结

    TCP/IP协议 TCP/IP不是一个协议,而是一个协议族的统称.里面包括IP协议.IMCP协议.TCP协议. TCP/IP分层:   这里有几个需要注意的知识点: 互联网地址:也就是IP地址,一般为 ...

  8. tcp/ip协议详解

    1. 概念介绍 互联网协议(Internet Protocol Suite)是一个网络通信模型,以及一整个网络传输协议家族,为互联网的基础通信架构.它常被通称为 TCP/IP 协议族(英语:TCP/I ...

  9. TCP/IP协议详解内容总结(怒喷一口老血)

    TCP/IP协议(本文源自外部链接) TCP/IP不是一个协议,而是一个协议族的统称.里面包括IP协议.IMCP协议.TCP协议. 这里有几个需要注意的知识点: 互联网地址:也就是IP地址,一般为网络 ...

随机推荐

  1. flex布局无法自动适应的bug以及实现textarea根据内容自适应

    -webkit-box布局无法自动适应高度的bug css3的新属性display:-webkit-box带来了前端开发自动适应布局的春天 ,但是我发现这个布局有个问题, 而且这个问题我无法解决: 描 ...

  2. Javascript写俄罗斯方块游戏

    俄罗斯方块这个游戏也做了移动端的兼容, 这个游戏难点是怎么翻转方块, 自己实现的方式是把方块放到一个二维数组, 然后逆时针旋转二维数组. 也有别的方法,比如直接用一个全局变量代表一个方向, 翻转的时候 ...

  3. REST服务返回自定义的HttpResponseMessage

    WebApi框架中对资源的操作,都是通过其Controller提供的各种方法(GET,POST,PUT,DELET等)来实现,而这些方法的返回信息有以下几种形式: 方法返回类型 HttpRespons ...

  4. Cygwin使用方法

    对于 UNIX 本身,也有各种称呼.IBM® 大型机用户说各种带字母 “z” 的行话,比如 IBM z/OS® 和 System z9 Virtual Machine (z/VM):嵌套系统开发人员使 ...

  5. JS 打印功能代码可实现打印预览、打印设置等

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or ...

  6. Sublime Text 3配置C++编译运行

    2016.9.8更新: linux(Ubuntu16.04)下的配置,编译后用终端运行,解决了不能输入的问题 { "encoding": "utf-8", &q ...

  7. css-a与a:link的一些认识

    1.a元素有四种状态: a:link {color:blue;}//未点击的链接状态 a:visited {color:blue;}//已点击的连接状态 a:hover {color:red;}//鼠 ...

  8. Leetcode #28. Implement strStr()

    Brute Force算法,时间复杂度 O(mn) def strStr(haystack, needle): m = len(haystack) n = len(needle) if n == 0: ...

  9. eclipse安装插件的方法(简单、ERMaster插件安装)

    ERMaster插件:https://sourceforge.net/projects/ermaster/ 链接:http://pan.baidu.com/s/1o7UWLMa 密码:wkax 可以编 ...

  10. Jenkins的FTP上传插件Publish Over FTP Plugin设置支持中文路径

    [系统管理]->[系统设置]->[Publish over FTP]->[Control encoding]->输入[GB2312]或者[UTF-8]