TCP/IP完整的基础介绍

TCP/IP应该是个协议集,根据OS的七层理论,TCP/IP分为四层.分别是应用,传输,Interne和网络界面. 我们一般说TCP在传输层,而IP在Internet层.
  TCP/IP的应用程序包括我们平时经常用到的Ping,Telnet,Ftp,Finger等等
         配置TCP/IP包括IP地址(IPAddress),子网掩码(SubnetMask)和缺省网关
         正确检测TCP/IP的四个步骤:Ping 127.0.0.1(回环地址,也称本机地址)如果通表示TCP/IP已经装入,Ping自己表明客户机正常 (主要是网卡),Ping网关表示局域网正常,Ping路由外地址表示完全正常,当然你也可以直接进行第四步,一般来说没这么麻烦 的,但理论是基础.
  IP地址是四段八位的二进制数组成的,IP分为A,B,C,D,E五类地址
  A类高端为0,从1.x.y.z--126.x.y.z;B类高端为10,从128.x.y.z--191.x.y.z;C类高端为110,从192.x.y.z--223.x.y.z;D类高端
为1110是保留的IP地址;E类高端为1111,是科研用的IP地址
其中255是广播地址,127是内部回送函数
以上算是开头,以后一点点增加,实在是现在还有很多事情等着去做,不好意思了 :
以下内容是子网的设定
若公司不上Internet,那一定不会烦恼IPAddress的问题,因 为可以任意使用所有的IPAddress,不管是AClass或是BClass, 这个时候
不会想到要用SubNet,但若是上Internet那IPAddress 便弥足珍贵了,目前全球一阵Internet热,IPAddress已经愈 来愈少了,而所申
请的IPAddress目前也趋保守,而且只有 经申请的IPAddress能在Internet使用,但对某些公司只能申 请到一个CCLass的IPAddress,
但又有多个点需要使用,那这 时便需要使用到Subnet,这篇短文说明Subnet的原理及如 何规划。
  SubnetMask的介绍
  设定任何网路上的任何设备不管是主机、PC、Router等 皆需要设定IPAddress,而跟随著IPAddress的是所谓的NetMask, 这个
NetMask主要的目的是由IPAddress中也能获得NetworkNumber ,也就是说IPAddress和NetMask作AND而得到NetworkNumber,如下所 示

IPAddress 192.10.10.611000000.00001010.00001010.00000110
NetMask  255.255.255.0 11111111.11111111.11111111.00000000
AND -------------------------------------------------------------------
etworkNumber 192.10.10.011000000.00001010.00001010.00000000


NetMask有所谓的预设值,如下所示

  Class IPAddress范围NetMask
A 1.0.0.0-126.255.255.255  255.0.0.0
B 128.0.0.0-191.255.255.255  255.255.0.0
C 192.0.0.0-223.255.255.255  255.255.255.0


在预设的NetMask都只有255的值,在谈到SubnetMask时这个值 便不一定是255了。

在完整一组CClass中如203.67.10.0-203.67.10.255NetMask255.255.255.0, 203.67.10.0称之NetworkNumber(将IPAddress和
Netmask作AND),而 203.67.10.255是Broadcast的IPAddress,所以这?两者皆不能使用,实 际只能使用203.67.10.1--203.67.10.254
等254个IPAddress,这是以 255.255.255.0作NetMask的结果,而所谓SubnetMsk尚可将整组C Class分成数组NetworkNumber,这要在
NEtMask作手脚,若是要将 整组CCLass分成2个NetworkNumber那NetMask设定为255.255.255.192, 若是要将整组CCLass分成8组
NetworkNumber则NetMask要为 255.255.255.224,这是怎麽来的,由以上知道NetworkNumber是由IP Address和NetMask作AND而来的,
而且将NetMask以二进位表示 法知道是1的会保留,而为0的去掉

192.10.10.193--11000000.00001010.00001010.10000001
255.255.255.0--11111111.11111111.11111111.00000000
--------------------------------------------------------------
192.10.10.0----11000000.00001010.00001010.00000000


以上是以255.255.255.0为NetMask的结果,NetworkNumber是192.10.10.0, 若是使用255.255.255.224作NetMask结果便有所不同


192.10.10.193----11000000.00001010.00001010.10000000
255.255.255.224--11111111.11111111.11111111.11100000
--------------------------------------------------------------
192.10.10.192----11000000.00001010.00001010.10000000


此时NetworkNumber变成了192.10.10.192,这便是Subnet。

那要如何决定所使用的NetMask,255.255.255.224以二进位表示 法为11111111.11111111.11111111.11100000,变化是在最後一
组,11100000 便是224,以三个Bit可表示2的3次方便是8个NetworkNumber
  NetMask二进位表示法可分几个Network
255.255.255.0 11111111.11111111.11111111.000000001
255.255.255.128 11111111.11111111.11111111.100000002
255.255.255.192 11111111.11111111.11111111.110000004
255.255.255.224 11111111.11111111.11111111.111000008
255.255.255.240 11111111.11111111.11111111.1111000016
255.255.255.248 11111111.11111111.11111111.1111100032
255.255.255.252 11111111.11111111.11111111.1111110064


以下使用255.255.255.224将C Class203.67.10.0分成8组NetworkNumber,各 个NetworkNumber及其BroadcastIPAddress及可使用之

IPAddress
序号NetworkNumberBroadcast可使用之IPAddress
1 203.67.10.0 203.67.10.31 203.67.10.1-203.67.10.30
2 203.67.10.32 203.67.10.63 203.67.10.33-203.67.10.62
3 203.67.10.64 203.67.10.95 203.67.10.65-203.67.10.94
4 203.67.10.96 203.67.10.127 203.67.10.97-203.67.10.126
5 203.67.10.128 203.67.10.159 203.67.10.129-203.67.10.158
6 203.67.10.160 203.67.10.191 203.67.10.161-203.67.10.190
7 203.67.10.192 203.67.10.223 203.67.10.193-203.67.10.222
8 203.67.10.224 203.67.10.255 203.67.10.225-203.67.10.254


可验证所使用的IPAddress是否如上表所示

203.67.10.115----11001011.01000011.00001010.01110011
255.255.255.224--11111111.11111111.11111111.11100000
--------------------------------------------------------------
203.67.10.96-----11001011.01000011.00001010.01100000

203.67.10.55-----11001011.01000011.00001010.00110111
255.255.255.224--11111111.11111111.11111111.11100000
--------------------------------------------------------------
203.67.10.32-----11001011.01000011.00001010.00100000

其他的NetMask所分成的NetworkNumber可自行以上述方法自行推演出来。
  Subnet的应用
  使用Subnet是要解决只有一组CClass但需要数个NetworkNumber的问题,并不是解决IPAddress不够用的问题,因为使用 Subnet反而能
使用的IPAddress会变少,Subnet通常是使用在总公司在台北,但分公司在台中,两者之间使用Router连线 ,同时也上Internet,但只申
请到一组CCLassIPAddress,过Router又需不同的Network,所以此时就必须使用到Subnet,当然二 办公司间可以RemoteBridge连接,那
便没有使用Subnet的问题,这点在此不讨论。
TCP/IP(传输控制协议/网间协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数
据往来格式以及传送方式。TCP/IP是INTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法。在数据传送中,可以形象地
理解为有两个信封,TCP和IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封面上记录有分段号
的信息,再将TCP信封塞入IP大信封,发送上网。在接受端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校
验,若发现差错,TCP将会要求重发。因此,TCP/IP在INTERNET中几乎可以无差错地传送数据。
在任何一个物理网络中,各站点都有一个机器可识别的地址,该地址叫做物理地址.
  特点:
  物理地址的长度,格式等是物理网络技术的一部分,物理网络不同,物理地址也不同.
  同一类型不同网络上的站点可能拥有相同的物理地址.
  以上两点决定了,不能用物理网络进行网间网通讯.
在网络术语中,协议中,协议是为了在两台计算机之间交换数据而预先规定的标准。TCP/IP并不是一个而是许多协议,这就是为什
么你经常听到它代表一个协议集的原因,而TCP和IP只是其中两个基本协议而已。
你装在计算机-的TCP/IP软件提供了一个包括TCP、IP以及TCP/IP协议集中其它协议的工具平台。特别是它包括一些高层次的应用程
序和FTP(文件传输协议),它允许用户在命令行上进行网络文件传输。
TCP/IP是美国政府资助的高级研究计划署(ARPA)在二十世纪七十年代的一个研究成果,用来使全球的研究网络联在一起形成一个虚
拟网络,也就是国际互联网。原始的
Internet通过将已有的网络如ARPAnet转换到TCP/IP上来而形成,而这个Internet最终成为如今的国际互联网的骨干网。
如今TCP/IP如此重要的原因,在于它允许独立的网格加入到Internet或组织在一起形成私有的内部网(Intranet)。构成内部网的
每个网络通过一种-做路由器或IP路由器的设备在物理上联接在一起。路由器是一台用来从一个网络到另一个网络传输数据包的计算
机。在一个使用TCP/IP的内部网中,信息通过使用一种独立的叫做IP包(IPpacket)或IP数据报(IPdatagrams)的数据单元进--传输
。TCP/IP软件使得每台联到网络上的计算机同其它计算机"看"起来一模一样,事实上它隐藏了路由器和基本的网络体系结构并使其
各方面看起来都像一个大网。如同联入以太网时需要确认一个48位的以太网地址一样,联入一个内部网也需要确认一个32位的IP地
址。我们将它用带点的十进制数表示,如128.10.2.3。给定一个远程计算机的IP地址,在某个内部网或Internet上的本地计算机就
可以像处在同一个物理网络中的两台计算机那样向远程计算机发送数据。

TCP/IP提供了一个方案用来解决属于同一个内部网而分属不同物理网的两台计算机之间怎样交换数据的问题。这个方案包括许多部
分,而TCP/IP协议集的每个成员则用来解决问题的某一部分。如TCP/IP协议集中最基本的协议-IP协议用来在内部网中交换数据并且
执行一项重要的功能:路由选择--选择数据报从A主机到B主机将要经过的路径以及利用合适的路由器完成不同网络之间的跨越
(hop)。
  TCP是一个更高层次的它允许运行在在不同主机上的应用程序相互交换数据流。TCP将数据流分成小段叫做TCP数据段(TCPsegments
),并利用IP协议进行传输。在大多数情况下,每个TCP数据段装在一个IP数据报中进行发送。但如需要的话,TCP将把数据段分成
多个数据报,而IP数据报则与同一网络不同主机间传输位流和字节流的物理数据帧相容。由于IP并不能保证接收的数据报的顺序相
一致,TCP会在收信端装配TCP数据段并形成一个不间断的数据流。FTP和Telnet就是两个非常流行的依靠TCP的TCP/IP应用程序。
另一个重要的TCP/IP协议集的成员是用户数据报协议(UDP),它同TCP相似但比TCP原始许多。TCP是一个可靠的协议,因为它有错误
检查和握手确认来保证数据完整的到达目的地。UDP是一个"不可靠"的协议,因为它不能保证数据报的接收顺序同发送顺序相同,甚
至不能保证它们是否全部到达。如果有可靠性要求,则应用程序避免使用它。同许多TCP/IP工具同时提供的SNMP(简单网络管理协议
)就是一个使用UDP协议的应用例子。
其它TCP/IP协议在TCP/IP网络中工作在幕后,但同样也发挥着重要作用。例如地址转换协议(ARP)将IP地址转换为物理网络地址如以
太网地址。而与其对应的反向地址转换协议(RARP)做相反的工作,即将物理网络地址转换为IP地址。网际控制报文协议(ICMP)则是
一个支持性协议,它利用IP完成IP数据报在传输时的控制信息和错误信息的传输。例如,如果一个路由器不能向前发送一个IP数据
报,它就会利用ICMP来告诉发送者这里出现了问题。
网络设计者在解决网络体系结构时经常使用ISO/OSI( 国际标准化组织/开放系统互连)七层模型,该模型每 一层代表一定层次的
网络功能。最下面是物理层,它 代表着进行数据转输的物理介质,换句话说,即网络 电缆。其上是数据链路层,它通过网络接口
卡提供服 务。最上层是应用层,这里运行着使用网络服务的应 用程序。
TCP/IP是同ISO/OSI模型等价的。当一个数据单元 从网络应用程序下流到网络接口卡,它通过了一列的TCP/IP 模块。这其中的每一
步,数据单元都会同网络另一端 对等TCP/IP模块所需的信息一起打成包。这样当数据最 终传到网卡时,它成了一个标准的以太帧(
假设物理 网络是以太网)。而接收端的TCP/IP软件通过剥去以太网 帧并将数据向上传输过TCP/IP栈来为处于接收状态的应 用程序
重新恢复原始数据(一种最好的了解TCP/IP工作实 质的方法,是使用探测程序来观察网络中的到处流动 的帧中被不同TCP/IP模块所
加上的信息)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/415980.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用nuxt

Nuxt.js简单介绍 2016 年 10 月 25 日,zeit.co 背后的团队对外发布了 Next.js,一个 React 的服务端渲染应用框架。几小时后,与 Next.js 异曲同工,一个基于 Vue.js 的服务端渲染应用框架应运而生,我们称之为&#xff1…

配置HAProxy支持https协议

author:JevonWei版权声明:原创作品 实现http重定向到https HAProxy 创建CA证书 [rootHAProxy ~]# cd /etc/haproxy/ [rootHAProxy haproxy]# mkdir certs [rootHAProxy haproxy]# cd /etc/pki/CA [rootHAProxy CA]# (umask 077;openssl genrsa -out priv…

android 万能倒计时,时分秒倒计时

1、工具类 /*** 作者:created by meixi* 邮箱:15913707499163.com* 日期:2018/12/28 15*/public class TimerUtil {private static final int nHandlerMsg 23566124;private int nStartDelayTime;private int nIntervalTime;private Timer …

菜鸟必备的网络命令

对于菜鸟的我来讲很有保存价值开始菜单中的“运行”是通向程序的快捷途径,输入特定的命令后,即可快速的打开Windows的大部分程序,熟练的运用它,将给我们的操作带来诸多便捷。 winver 检查Windows版本 wmimgmt.msc 打开Windows管理…

实现瀑布流的核心代码

.warp {column-count: 2;column-gap: 10px;padding: 5px; }.item {height: 80px;margin-bottom: 10px;break-inside: avoid; }效果如下

Mac OS X Terminal 101:终端使用初级教程以及Xcode

转自 http://www.renfei.org/blog/mac-os-x-terminal-101.html 最近学习苹果认证的《Mac OS X Support Essentials》教程,看到 Command Line 一节有很多实用的知识,下面选取一部分翻译 笔记,整理成此文。 你可以整天驾驶汽车而不用知道如何修…

android studio 获取SHA1值 MD5值

运行CMD 输入 cd .android 回车 输入 keytool -list -v -keystore D:/yohoo.keystore -storepass android 回车 D:/yohoo.keystore------就是你的keystore的位置 , android------- 就是你的keystore的密码 如果提示keytool 不是内部命令或可运行程序。需先配…

修改远程端口

怎么更改远程桌面3389端口号才能使用服务器更加安全?一些黑客常常利用远程服务器桌面的3389端口进行入侵,因此我们有必要学会如何更改远程桌面的端口号来保护自己. 远程终端服务基于端口3389。入侵者一般先扫描主机开放端口,一旦发现其开放了3389端口,就…

MongoDB 常用运算符

$eq (等于) $gt > (大于) $gte > (大于等于) $lt < (小于) $lte < (小于等于) $ne ! (不等于) $in in (in) $nin !in (not in) 参考&#xff1a;https://docs.mongodb.com/manual/reference/operator/query/ $eq 语法&#xff1a; { <field>: { …

myeclipse使用git图文教程

Git介绍与使用 1、什么是Git Git是分布式版本控制系统 Git是一款免费、开源的分布式版本控制系统&#xff0c;用于敏捷高效地处理任何或小或大的项目。 2、集中式版本控制系统&#xff08;CVS / SVN等&#xff09; 集中式版本控制系统&#xff0c;版本库是集中存放在中央服务器…

汇编64讲(搞免杀、破解必看)

希望大家喜欢!每个课程有1个小时 学完包你会免杀,免的出神入画.....-_-!http://219.144.186.220/hbywjjk/下载地址&#xff08;也可以在线观看&#xff09;mms://221.11.20.228/hbywjjk/1/000.asfmms://221.11.20.228/hbywjjk/2/000.asfmms://221.11.20.228/hbywjjk/3/000.asfm…

centos 安装pm2

npm install -g pm2whereis pm2 pm2: /opt/nodejs/bin/pm2sudo ln -s /opt/nodejs/bin/pm2 /usr/bin/pm2

android Animation 动画。淡出动画

淡出动画 protected void startHotelNearByIconAnim() {AlphaAnimation alphaAnimation new AlphaAnimation(1, 0);//初始化操作&#xff0c;参数传入0和1&#xff0c;即由透明度0变化到透明度为1alphaAnimation.setFillAfter(true);//动画结束后保持状态alphaAnimation.setD…

Java内存模型_基础

线程之间的通信机制有两种&#xff1a; 1、共享内存&#xff1a;线程之间共享程序的公共状态&#xff0c;通过写-读内存中的公共状态进行隐式的通信。 2、消息传递&#xff1a;线程之间没有公共状态&#xff0c;线程之间必须发送消息来显示的进行通信 同步&#xff1a;是指程序…

警惕Oracle DB操作高压线

在日常的数据库技术支持工作中&#xff0c;会发现相当部分的数据库事故和人为操作不当有直接的关系。每次的新员工培训&#xff0c;也会用真实案例来说明和强调正确操作习惯的重要性。在强调职业化&#xff0c;推行可服务性的大环境下&#xff0c;了解数据库操作的高压线&#…