TCP/IP协议详解 卷1—读书笔记(1)
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)的更多相关文章
- 【转】TCP/IP协议详解 卷1
https://www.cnblogs.com/mengwang024/p/4425834.html
- TCP/IP协议详解概述
TCP/IP协议详解卷1--第一章概述--读书笔记 作者:vpoet 日期:2015/06/25 注:本系列的文章只是作者对TCP/IP协议的理解,难免会出现纰漏或者不完整,当然也有可能很肤浅,希望大 ...
- TCP/IP协议详解---概述
工作之后,才发现以前在学校里学的东西忘得太快太干净了,现在需要一点点地捡起来了,要不然写几行程序会闹很多笑话会出现很多bug的.从今天开始,翻一翻<TCP/IP协议详解 卷1>这本 ...
- 【转载】TCP /IP协议详解
首先,TCP/IP不是一个协议,而是一个协议族的统称. 里面包括了IP协议,IMCP协议,TCP协议,以及http.ftp.pop3协议等等. TCP/IP协议分层 提到协议分层,我们很容易联想到IS ...
- TCP /IP协议详解【转】
转自:https://www.jianshu.com/p/0cf648510bce?utm_campaign=maleskine&utm_content=note&utm_medium ...
- 003 TCP/IP协议详解(二)
一.ping ping可以说是ICMP的最著名的应用,是TCP/IP协议的一部分.利用"ping"命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障. 例如:当我们某一 ...
- TCP/IP协议详解内容总结
TCP/IP协议 TCP/IP不是一个协议,而是一个协议族的统称.里面包括IP协议.IMCP协议.TCP协议. TCP/IP分层: 这里有几个需要注意的知识点: 互联网地址:也就是IP地址,一般为 ...
- tcp/ip协议详解
1. 概念介绍 互联网协议(Internet Protocol Suite)是一个网络通信模型,以及一整个网络传输协议家族,为互联网的基础通信架构.它常被通称为 TCP/IP 协议族(英语:TCP/I ...
- TCP/IP协议详解内容总结(怒喷一口老血)
TCP/IP协议(本文源自外部链接) TCP/IP不是一个协议,而是一个协议族的统称.里面包括IP协议.IMCP协议.TCP协议. 这里有几个需要注意的知识点: 互联网地址:也就是IP地址,一般为网络 ...
随机推荐
- hdu 4612 强连通
题意:有一些联通的地方,如果2点间只有一条路径,这样的边叫做桥,现在让你添加一个桥,使最后的桥最少,问最少的桥使多少? 先求一次强连通分量,然后图就分成了几个块,将这几个块看做点,求出总共有多少条重建 ...
- Docker指定multiple Insecure registry的方法
Docker如果需要从非SSL源管理镜像,需要配置Docker配置文件的insecury-registry参数,一般在如下位置修改其配置文件: * /etc/sysconfig/docker * /e ...
- HTTP协议学习---(五)压缩
HTTP压缩是指: Web服务器和浏览器之间压缩传输的"文本内容"的方法. HTTP采用通用的压缩算法,比如gzip来压缩HTML,Javascript, CSS文件. 能大大减少 ...
- 实现socket非阻塞设置
刚开始学习,难免有些疏漏之处,请各位多多指教. 程序亲测可以使用.废话不多说. 网络IO模型分为阻塞IO.非阻塞IO.异步IO.IO复用.信号驱动IO. 阻塞IO: 有数据时,直接读:没有数据时,等待 ...
- 【poj2114】 Boatherds
http://poj.org/problem?id=2114 (题目链接) 题意 给出一棵树,问是否存在两点间的距离为K. Solution 点分治嘛,跟poj1741差不多.. 然而为什么我调了一个 ...
- 【poj3237】 Tree
http://poj.org/problem?id=3237 (题目链接) 树链剖分模板题,然而这150+行的程序我调了一天,历经艰辛,终于ac.. 题意 给出一个n个节点的带权树,要求维护操作:1. ...
- GitHub Pages和每个项目绑定自定义域名(支持多个和顶级域名)
假设我购买的域名为www.easonjim.com,想把www.easonjim.com和easonjim.com的域名跳转到下面的网址easonjim.github.io. 而我在github上的账 ...
- hdu 5237 二进制
很无聊的模拟题...mark几个有用的小程序: 字符->二进制ASCII码 string tobin(char c) { string t; ; i<; i++) { t=+)+t; c/ ...
- poj 2528 线段树+离散化
题意:在墙上贴一堆海报(只看横坐标,可以抽象成一线段),新海报可以覆盖旧海报.求最后能看到多少张海报 sol:线段树成段更新.铺第i张海报的时候更新sg[i].x~sg[i].y这一段为i. 然而坐标 ...
- [IOS Tableview] cell自定义view显示错误问题
问题介绍:按照tableviewcell的tag自定义cell的view显示的时候,会出现拖动时显示错误情况(在Tableview的范围超出屏幕范围需要滑动的情况下). 我做的是一个下载界面,我为了简 ...