tcp/ip

Tcp/Ip协议(族)

早期的计算机⽹络,都是由各⼚商⾃⼰规定⼀套协议,IBM、Apple和 Microsoft都有各⾃的⽹络协议,互不兼容
为了把全世界的所有不同类型的计算机都连接起来,就必须规定⼀套全球通 ⽤的协议,为了实现互联⽹这个⽬标,互联⽹协议簇(Internet Protocol Suite)就是通⽤协议标准。
因为互联⽹协议包含了上百种协议标准,但是最重要的两个协议是TCP和IP 协议,所以,⼤家把互联⽹的协议简称TCP/IP协议

端口

端⼝就好⼀个房⼦的⻔,是出⼊这间房⼦的必经之路。

如果⼀个进程需要收发⽹络数据,那么就需要有这样的端⼝
在linux系统中,端⼝可以有65536(2的16次⽅)个之多!
既然有这么多,操作系统为了统⼀管理,所以进⾏了编号,这就是 端⼝号

端⼝是通过端⼝号来标记的,端⼝号只有整数,范围是从0到65535

常用端口

知名端⼝是众所周知的端⼝号,范围从0到1023
80端⼝分配给HTTP服务 21端⼝分配给FTP服务
⼀般情况下,如果⼀个程序需要使⽤知名端⼝的需要有root权限

动态端口

动态端⼝的范围是从1024到65535
之所以称为动态端⼝,是因为它⼀般不固定分配某种服务,⽽是动态分配。
动态分配是指当⼀个系统进程或应⽤程序进程需要⽹络通信时,它向主机申 请⼀个端⼝,主机从可⽤的端⼝号中分配⼀个供它使⽤。
当这个进程关闭时,同时也就释放了所占⽤的端⼝号。

端口的作用

我们知道,⼀台拥有IP地址的主机可以提供许多服务,⽐ 如HTTP(万维⽹服务)、FTP(⽂件传输)、SMTP(电⼦邮件)等,这些 服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的⽹络服务 呢?显然不能只靠IP地址,因为IP地址与⽹络服务的关系是⼀对多的关系。 实际上是通过“IP地址+端⼝号”来区分不同的服务的。 需要注意的是,端⼝并 不是⼀⼀对应的。⽐如你的电脑作为客户机访问⼀台WWW服务器时, WWW服务器使⽤“80”端⼝与你的电脑通信,但你的电脑则可能使⽤“3457”这 样的端⼝。

IP地址

⽤来在⽹络中标记⼀台电脑的⼀串数字,⽐如192.168.1.1;在本地 局域⽹上是惟⼀的。

ip地址的分类

A类IP地址
⼀个A类IP地址由1字节的⽹络地址和3字节主机地址组成,⽹络地址的最⾼ 位必须是“0”,
地址范围1.0.0.1-126.255.255.254
⼆进制表示为:00000001 00000000 00000000 00000001 - 01111110 11111111 11111111 11111110
可⽤的A类⽹络有126个,每个⽹络能容纳1677214个主机
B类IP地址
⼀个B类IP地址由2个字节的⽹络地址和2个字节的主机地址组成,⽹络地址 的最⾼位必须是“10”,
地址范围128.1.0.1-191.255.255.254
⼆进制表示为:10000000 00000001 00000000 00000001 - 10111111 11111111 11111111 11111110
可⽤的B类⽹络有16384个,每个⽹络能容纳65534主机
C类IP地址
⼀个C类IP地址由3字节的⽹络地址和1字节的主机地址组成,⽹络地址的最 ⾼位必须是“110”
范围192.0.1.1-223.255.255.254
⼆进制表示为: 11000000 00000000 00000001 00000001 - 11011111 11111111 11111110 11111110
C类⽹络可达2097152个,每个⽹络能容纳254个主机
D类地址⽤于多点⼴播
D类IP地址第⼀个字节以“1110”开始,它是⼀个专⻔保留的地址。
它并不指向特定的⽹络,⽬前这⼀类地址被⽤在多点⼴播(Multicast)中
多点⼴播地址⽤来⼀次寻址⼀组计算机
地址范围224.0.0.1-239.255.255.254
E类IP地址
以“1111”开始,为将来使⽤保留
E类地址保留,仅作实验和开发⽤
私有ip
在这么多⽹络IP中,国际规定有⼀部分IP地址是⽤于我们的局域⽹使⽤,也 就
是属于私⽹IP,不在公⽹中使⽤的,它们的范围是:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
注意
IP地址127.0.0.1~127.255.255.255⽤于回路测试,
如:127.0.0.1可以代表本机IP地址,⽤ http://127.0.0.1 就可以测试本机 中配置的Web服务器。

子网掩码

要想理解什么是⼦⽹掩码,就不能不了解IP地址的构成。互联⽹是由许多⼩ 型⽹络构成的,每个⽹络上都有许多主机,这样便构成了⼀个有层次的结 构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成 ⽹络号和主机号两部分,以便于IP地址的寻址操作。
IP地址的⽹络号和主机号各是多少位呢?
如果不指定,就不知道哪些位是⽹络号、哪些是主机号,这就需要通过⼦⽹ 掩码来实现。
⼦⽹掩码不能单独存在,它必须结合IP地址⼀起使⽤。
⼦⽹掩码只有⼀个作⽤,就是将某个IP地址划分成⽹络地址和主机地址两部 分⼦⽹掩码的设定必须遵循⼀定的规则

与IP地址相同,⼦⽹掩码的⻓度也是32位,
左边是⽹络位,⽤⼆进制数字“1”表示; 右边是主机位,⽤⼆进制数字“0”表示。
假设IP地址为“192.168.1.1”⼦⽹掩码为“255.255.255.0”。
其中,“1”有24个,代表与此相对应的IP地址左边24位是⽹络号;
“0”有8个,代表与此相对应的IP地址右边8位是主机号。
这样,⼦⽹掩码就确定了⼀个IP地址的32位⼆进制数字中哪些是⽹络号、哪些是主机号。
这对于采⽤TCP/IP协议的⽹络来说⾮常重要,只有通过⼦⽹掩码,才能表明⼀台主机所

最常⽤的两种⼦⽹掩码
⼦⽹掩码是“255.255.255.0”的⽹络:
python基础语⾔
最后⾯⼀个数字可以在0~255范围内任意变化,因此可以提供256个IP地址。 但是实际可⽤的IP地址数量是256-2,即254个,因为主机号不能全是“0”或全是“1”。
主机号全为0,表示⽹络号
主机号全为1,表示⽹络⼴播

注意
如果将⼦⽹掩码设置过⼤,也就是说⼦⽹范围扩⼤,那么,根据⼦⽹寻径规 则,很可能发往和本地主机不在同⼀⼦⽹内的⽬标主机的数据,会因为错误 的判断⽽认为⽬标主机是在同⼀⼦⽹内,那么,数据包将在本⼦⽹内循环, 直到超时并抛弃,使数据不能正确到达⽬标主机,导致⽹络传输错误;如果 将⼦⽹掩码设置得过⼩,那么就会将本来属于同⼀⼦⽹内的机器之间的通信 当做是跨⼦⽹传输,数据包都交给缺省⽹关处理,这样势必增加缺省⽹关(⽂ 章下⽅有解释)的负担,造成⽹络效率下降。因此,⼦⽹掩码应该根据⽹络的 规模进⾏设置。如果⼀个⽹络的规模不超过254台电脑,采 ⽤“255.255.255.0”作为⼦⽹掩码就可以了,现在⼤多数局域⽹都不会超过这 个数字,因此“255.255.255.0”是最常⽤的IP地址⼦⽹掩码;假如在⼀所⼤学 具有1500多台电脑,这种规模的局域⽹可以使⽤“255.255.0.0”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值