计算机网络13

ip由前缀与主机构成,前缀由网络由子网号构成,子网的长度不是固定的,时从主机中分出的(从高位拿),长度由子网数目确定。

确定网络与主机地址:前缀:ip与子网取与,主机:取反后取与

(子网掩码的作用:帮助划分网络号与主机号)

CIDR

无类别域间路由 classless interdomain routing

分类方式不是按照类别来分

用可变长分块的方式分配升序的C类网络地址

给cambridge分配,2048,需要11位,能根据开始位置写出结束地址

假如我们已经知道cambridge的初始地址,转化为二进制,来确定代码块的范围

194.24.00000000.00000000

194.24.00000111.11111111

它们相同的部分8+8+5=21位

194.24.00001000.000000000

194.24.00001011.11111111

相同的部分8+8+6=22

194.24.00010000.00000000 (Oxford 需要12位)

194.24.00011111.11111111

相同部分 8+8+4

(如果需要13位呢?)

看194.24.17.4属于哪个ip块?

图中最长匹配原则,前缀与哪个匹配的最长,就发在哪个子路由器上

ip地址的聚合:刚刚三个ip聚合后 194.24.0.0/19

选D,它们的前6位不匹配

52:00110100

56:00111000

分配ip地址的方法

按照类别分;按照块分;NAT(网络地址转换,Network Address Translation)

问题:从外面来的信息,分组如何找到对应的主机?用端口号和ip地址(每个pc有2^16个端口号,找到相应对应关系)

NAT:整个公司内部都用私网 IP(比如 10.0.0.x),对外却只有一个公网 IP(比如 198.60.42.12)。NAT 盒子/路由器负责在"进出公司边界"时,把数据包里的源/目的 IP 改成合适的地址,从而实现很多内网主机共享一个公网地址。

传输层用端口号作为标识(网络ip,数据链路层mac),最初设计为标识socket端口

很多主机同时上网,解决分组与主机对应关系。端口号存的index,指向的是ip和端口号的对应关系。

图中左侧是公网ip的端口号,右侧是电脑主机ip和相应的端口

问题

NAT 违背了 IP 的架构模型

NAT 将互联网从无连接网络转变为一种面向连接的网络(需要为每一条连接建立状态表,变成依赖连接的)

NAT 违反了协议分层最根本的规则

NAT 设备会导致应用程序失败,因为 NAT 设备无法正确定位 TCP 源端口

某些应用程序会在文本主体中插入 IP 地址,远程端可能无法理解该地址

由于 TCP 源端口字段为 16 位,最多只能将 65,536 台机器映射到一个 IP 地址上

(ip协议是无连接的协议)

相关推荐
老秦包你会4 小时前
计算机网络第二课 ----Socket(套接字)编程预备
开发语言·计算机网络·php
say_fall1 天前
【Linux网络编程】计算机网络基础:局域网与广域网、OSI七层模型与TCP/IP五层模型、封装解包与MAC/IP地址、端口号与socket编程接口
linux·网络·tcp/ip·计算机网络·信息与通信
流浪0011 天前
计算机网络篇21:网络层——网段划分与子网掩码,从分类地址到 CIDR 与可用主机数
计算机网络·子网划分·nat·子网掩码·cidr·网络层协议
咔_1 天前
有IPv6地址,为什么外面还是连不进来?让同一台服务分别卡在四个位置
linux·计算机网络
流浪0011 天前
计算机网络篇22:网络层——公网的三级地址划分与逐跳转发,从私网出口替换到 IP 分片组装
tcp/ip·计算机网络·路由器·公网搭建·报文分篇
Java成神之路-2 天前
TCP Socket 与 UDP Socket
tcp/ip·计算机网络·udp
流浪0013 天前
计算机网络篇20:网络层——IP 协议的定位与 IPv4 报头字段,从 20 字节首部到 TTL 防环
tcp/ip·计算机网络·ttl·网络层协议·ip报头
流浪0014 天前
计算机网络篇17:传输层——TCP 超时重传、三次握手与四次挥手,TIME_WAIT 为什么要等 2MSL
网络协议·tcp/ip·计算机网络·三次握手·四次挥手·超时重传
流浪0015 天前
计算机网络篇16:传输层——TCP 报头属性字段:16 位窗口大小撑起流量控制,六个标志位标识报文类型
网络协议·tcp/ip·计算机网络·urg紧急指针·tcp报头
一条泥憨鱼7 天前
【计算机网络】短连接、长连接与连接池:从 TCP 握手到池化复用的完整链路
网络·数据库·网络协议·tcp/ip·计算机网络