TCP学习(一)
协议分层

可以看到 物理层, 链路层,网络层是所有网络设备共有的, 而传输层, 会话层, 表示层, 应用层 是存在于主机上的
各设备实现的协议层次

IP地址的表示
为什么会出现ip地址?是为了在一个联网的环境下 标定一个识别,当你断开网络并且与外界没相连的时候可使用ipconfig命令查看,你会发现没有ip地址
Ipv4
长度为32 位,常见使用点分四组表示法, 例如: 192.168.0.17 每一块都是8位
Ipv6
长度为128位, 为Ipv4 的4倍,用8个块来表示,每个块由4个16进制的数组成,例如 : 5f6c:85ac:624a:af3c:4b5c:7aac:93df:82ac
分类寻址
分为5类,开始时一个IP 由 网络号和主机号组成。如下图:
由这两张图可以看到A 类主机号范围广,网络号范围窄,而C类相反


子网寻址
随着计算机联网数量越来越多,为接入Internet 的新网段分配一个网络号变得更加棘手,所以就出现了子网寻址。就是网络号后面再分子网络号,子网络号后边再分配主机号,假如分配后为主机号有8位,那么最多可以分配到254台主机,第一台和最后一台有特殊用处
子网掩码
就是比如我知道了我的IP 地址和所属的子网。 通过IP地址和子网掩码的运算就可以得知所属子网的范围。
子网掩码可以由主机或路由器分配,可以是静态的(路由器分配),也可以是动态(DHCP动态主机配置协议)的。掩码由主机或路由器使用,用来确定一个IP地址(网络号+子网号)部分的结束和主机号的开始。
子网掩码可以用前缀长度来表示 ,例如: /24表示子网掩码: 255.255.255.0,即是说24个1
可变长度子网掩码(VLSM)
同个子网范围内子网掩码不同,那么分配下去的主机数量。
广播地址
每一个Ipv4子网中,有一个特殊地址作为子网广播地址。广播地址的形成:子网掩码取反与任意子网中IP 地址或运算就是子网广播地址。广播地址通常和其他协议一起使用,例如UDP/IP ,或ICMP ,因为它们不涉及像TCP/IP那样的双方会话。
255.255.255.255作为本地网络广播 ,它不会被路由器转发。ipv6没有任何广播地址,ipv6只有组播地址
Ipv6地址和接口标识符
IPv6使用特殊前缀表示一个地址范围。有关范围的例子:
节点本地(仅用于本地同一台计算机)
链路本地(同一网络链路或IPv6前缀中的节点)
全球性(Internet 范围内)
IPv4/IPv6 地址转换
组播地址
组播服务模型:
ASM(任意源组播) : 任何发送方可以发送给任何组。
SSM (源特定组播) :在每组只使用一个发送方,在这种情况下,当一台主机加入一个组后,它会被指定一个信道地址,其中包括一个组地址和源地址。
IPv4组播地址
范围:224.0.0.0 ~ 239.255.255.255
224.0.0.0 ~ 224.0.0.255 : 本地网络控制,不转发
224.0.1.0~224.0.1.255 :互联网络控制,正常转发
基于单播前缀的组播寻址(UBM): 根据分配的单播进行分配组播地址
IPv6组播地址
前缀:ff00::/8 被预留给组播
IPv6本地链路地址
IPv6本地链路地址,类似于IPv4中APIPA(Automatic Private IP Addressing,自动专用IP寻址)所定义的地址169.254.0.0/16。首先说明一下IPv4中APIPA(AutomaticPrivate IP Addressing,自动专用IP寻址)地址会在什么样的情况下产生和使用。比如:在企业网络中配置了DHCP服务器,为企业网络中的客户机提供IP地址分配,如果某天DHCP服务器故障,无法为企业网络中的客户机提供IP地址分配,此时客户主机会产生一个APIPA地址。该地址在一个子网内范围内可以保证主机之间的通信,但是APIPA地址是不可以完成路由通信。而IPv6本地链路地址的作用在于发现邻居节点和在无状态自动配置中链路本地上节点之间的通信。并且只能在连接到同一本地链路的节点之间通讯,不能跨路由器进行通讯和路由转发,具体如何理解IPv6的本地链路地址,首先要理解IPv6所定义的链路、站点、与全局的意义。如图12.26所示:IPv6的链路相当于企业网络中连接在一个二层交换机的主机链路,更明确的一种说法是链路处于同一个广播域,如果从IPv4的角度来理解可以理解成IPv6的链路就是在同一子网内的主机。所以IPv6的本地链路地址,只能在IPv6的本地链路中使用,如链路A与链路B中的IPv6主机使用本地链路地址在各自的链路上通信,但是不可以使用本地链路地址完成链路A与链路B之间的通信,这与IPv4中的APIPA(Automatic Private IP Addressing,自动专用IP寻址地址)类似。

本地链路地址的格式如下 :(可以看到固定的前缀为FE80::/10)

注: 发现邻居节点:类似于CISCO的CDP。无状态自动配置:指不能通过DHCP获取地址,也没有手工的配置IPv6地址。简单点说就是通过MAC地址形成IPv6本地链路地址,作用是为了同个链路之间的通信
Ipv6本地站点地址
IPv6本地站点地址,只能在IPv6所定义的一个站点内使用,站点的概念如图12.26 IPv6的链路、站点、全局所示,链路A与链路B都处于同一个站点内,IPv6本地站点地址类似于IPv4环境RFC1918所定义的“私有IP地址”,如10.0.0.0/8.,172.16.0.0/16-172.31.255.255/16和192.168.0.0/16。所以IPv6本地站点地址是不能应用到了internet上,而只能使用在企业内部网络。既然此类IPv6的本地站点地址只能用在企业内部网络,难道是为了做NAT,代理企业内部上网?但是我们知道IPv6完全有足够的IP地址空间为每一个用户去分配一个用于internet的地址,并且IPv6环境中的NAT技术是用来解决IPv4与IPv6过渡兼容的问题,而不是代理私有专用网络IP访问Internet。那IPv6本地站点地址的作用是什么呢?如下所示的一些基本作用描述。
用于企业内部打印机、共享文件等常见服务
为企业内部服务器,客户机分配IP地址,限制访问internet。
为企业内部交换机、网关、无线接入点分配IP地址
用于远程管理企业内部服务器、路由器等相关网络设备
没有获取全球可聚合单播地址的组织机构,可使用IPv6的本地站点地址进行网络建设
本地站点地址格式如下:(固定前缀为 FEC0::/10)

注意:IPv6的本地链路地址与本地站点地址的重大区别:本地链路地址只能在同一个二层链路中完成通信,不可被路由。而本地站点地址是可能路由的。本地站点地址是在不同的链路之间的通信
IPv6全球单播地址
IPv6全球单播地址指用于internet上的地址,类似于IPv4的“公有”IP地址,如202.202.1.1/30。而IPv6全球单播地址是IPv6寻址结构当中最重要的部分,该寻址结构使用了严格的路由前缀聚合,目的在于限制全球internet的路由表的规模。
全球单播地址格式如下 :(由下面的解释知道,固定前缀为2)

对于IPv6全球单播地址的配置,也有一定的规定和要求,其子网前缀必须为2000::/3,指的是在IPv6的前3bit,必须为二进制的001。而二进制换化为十六进制,需要4bit的二进制数,所以IPv6全球单播地址的从左到右的第一字段的变化范围为“0010”到“0011”,换化为十六进制变化范围就为2到3。那么如下图12.30所示,表示IPv6全球单播地址的范围。
TCP学习(一)的更多相关文章
- TCP学习之一:TCP网络编程概念
参考学习张子阳大神的博客:http://www.cnblogs.com/JimmyZhang/category/101698.html 一.TCP 面向连接的(UDP是无连接的) 全双工,建立连接之后 ...
- TCP学习总结(一)
在学习的过程中,相信大家都有过“学了就忘“这种经历,又特别是TCP/IP知识点密集的通信协议,所以在此总结一下自己学到的皮毛,希望对自己对大家也有所帮助. 这篇博客主要讲运输层TCP和UDP的东西,I ...
- freemodbus modbus TCP 学习笔记
1.前言 使用modbus有些时间了,期间使用过modbus RTU也使用过modbus TCP,通过博文和大家分享一些MODBUS TCP的东西.在嵌入式中实现TCP就需要借助一个以太网协议 ...
- TCP学习之五:客户端、服务端异步传输字符串
参考学习张子阳大神的博客:http://www.cnblogs.com/JimmyZhang/category/101698.html 消息发送接口: 消息接收接口: 客户端: 服务端: 消息发送类: ...
- TCP学习之四:传输协议
参考学习张子阳大神的博客:http://www.cnblogs.com/JimmyZhang/category/101698.html 服务端接收到的数据可能是被截断或合并后的数据,需要协议来 ...
- TCP学习之三:客户端、服务端同步传输字符串
参考学习张子阳大神的博客:http://www.cnblogs.com/JimmyZhang/category/101698.html 一个客户端.发送一条消息 客户端: 服务端: 注意:Networ ...
- 毕向东tcp学习笔记1
项目功能: 实现一次发送和接收,服务器接收客户端发送的内容并打印出来 用最通俗的语言讲解下,上图中大椭圆是服务器,A.C是客户端,当客户端和服务器通过socket建立连接后 1.两者之间形成一个通道, ...
- TCP学习总结(四)
TCP连接管理 TCP运输连接有3个阶段, 即: 连接建立,数据传送和连接释放. 1. TCP的连接建立(3次握手) TCP连接的建立采用客户服务器方式.主动发起连接建立的应用进程叫做客户(clien ...
- TCP学习总结(三)
TCP的流量控制 1.利用滑动窗口实现流量控制 所谓流量控制,就是让发送方的发送速率不要太快,要让接收方来得及接收.利用下图来说明如何利用滑动窗口机制进行流量控制: 一开始(connect后),B告诉 ...
- TCP学习总结(二)
前面一节咱们介绍完了TCP协议,这部分,将要介绍,TCP是如何实现可靠传输的. TCP的可靠传输 1.滑动窗口 上一节我们介绍TCP报文段头部的时候说得到,"窗口"这个部分,&qu ...
随机推荐
- 【QTP专题】02_时间同步点问题
一.什么是同步点 同步点是指在一个测试过程中,指示QuickTest等待应用程序中某个特定过程运行完成以后再运行下一步操作.Waits until the specified object prope ...
- APIO2012 派遣dispatching | 左偏树
题目链接:戳我 就是尽可能地选取排名小的,加起来就可以了.然后我们考虑利用一个大根堆,一个一个合并,如果超过派遣的钱,我们就把费用最大的那个忍者丢出队列. 左偏树,作为一个十分优秀的可并堆,我们这道题 ...
- iOS检测项目图片资源是否包含P3图片
1.问题描述 我们需要知道的是在iOS9.3以下系统上,.ipa包内如果含有p3图片,将会导致严重的闪退问题,具体原因还请google,非本文的重点. 2.问题解决 拿到的如果是ipa包(不是则跳过) ...
- “全栈2019”Java第十六章:下划线在数字中的意义
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- Spring定时任务执行
备注:这个是基于搭建好spring的环境下的 注解方式: 1.定时任务类 package com.test;import java.util.Date;import org.springframewo ...
- bzoj 4283 魔法少女伊莉雅
题目大意 给定一个 $n$ 个点 $m$ 条边的带正权无向图.要求找一条路径满足: 它是一条简单路径 它是一条严格次短路 对于任何一条可能存在于最短路上的边,不能包含它的反向边. 不存在这条路径输出 ...
- Postman使用手册4——API test
一.Pre Request Scripts Postman v0.10+ 版本支持pre-request scripts. prerequest script.png pre-request scri ...
- Kettle配合Windows执行计划实现定时实行作业
一般作业做好后需要做成定时任务,Kettle可以借助Windows的执行计划来完成.那么可以通过写批处理的方式让执行计划来调用. 其中Kitchen和Pan都可以做定时执行,一个是针对作业,一个是针对 ...
- POJ_2886 Who Gets the Most Candies? 【二分+树状数组】
一.题目 POJ2886 二.分析 这个题目吧,开始没读懂,做的时候也没懂,WA的时候懂了.假设是第p个出圈的人有一个对应的因子个数$F(p)$,那么,题目求的就是这个$F(p)$最大的对应的人. 1 ...
- Form Authentication
1.创建登陆的控制器和视图,实现登陆基本功能 2.创建视图模型,并在Action里面引用. 3.创建一个接口两个类,那个IUserPricipal接口要实现IPrincipal接口,UserPrici ...