《图解TCP/IP》---IP协议相关技术

1. 仅凭IP无法完成通信

  • 我们通常情况下,在访问web时,不会直接使用IP进行访问,所以需要一个功能——将网址转化成IP地址
  • 数据链路层也不使用IP地址,所以需要将IP地址变成MAC地址

2. DNS

  • DNS可以将我们访问的网路地址,转换成IP地址
  • 可以适用IPv4和IPv6

IP地址是不便于记忆的

  • 在进行网络通信时,使用的一般是主机名,于此同时帮助转换的就是host数据库文件

    DNS的产生
  • 为了可以有效管理host文件,产生了DNS系统
  • 当输入域名时,DNS会检索数据库定位到IP地址;当主机名变化时,DNS也会及时修改

域名的构成

  • 域名是识别主机和组织的分层名称
    域名服务器
  • 管理域名的主机和相应的软件,它可以管理所在分层域的相关信息
  • 每一层都有一个域名服务器

  • 根部设置的域名服务器叫做根域名服务器,它对DNS起着至关重要的作用
  • 每一层域名服务器会注册下一层域名服务器的ip,如果想要修改当前分层的信息,必需要在上一层进行追加或修改
  • 为了提高容灾能力,一般会在每一层设置多个域名服务器

解析器

  • 进行DNS查询的主机和软件都叫解析器。包括用户使用的个人电脑等等

DNS查询

  • 解析器会向域名服务器查询IP
  • 接收到查询请求的服务器会先在自己数据库中查询,如果有则返回;没有则继续向上一层的域名解析器查询
  • 解析器和域名服务器会将最新查询到的数据放入缓存,减少每次查询的性能消耗

3. ARP

  • 以目标IP地址为线索,定位下一个应该接收数据分包的网络设备
  • 如果目标主机不在同一个链路,则可以定位下一跳的路由器MAC地址
  • 只适用IPv4,IPv6需要使用ICMPv6
  • 通过ARP请求ARP响应定位MAC地址
  • ARP请求通过广播的方式,发送所要定位的IP地址以及自己的IP地址
  • 当主机收到的ARP请求的IP地址与自己一致,会单播发送ARP响应
  • 通常会将ARP获取的MAC地址放入缓存中,以提高网络性能(发送ARP请求和响应的主机都会进行缓存)

ARP的作用

  • MAC地址和IP地址的作用不同,所以采用ARP定位,而不直接使用MAC地址
  • 如果只使用MAC地址,由于两个主机不在一个链路,则无法直接发送过去

RARP

  • 是将MAC地址定位为IP地址
  • 通常用于嵌入式设备,一般的个人电脑,会采用DHCP动态获取IP地址

代理ARP

  • 如果不支持子网掩码的老设备,可以采用代理ARP继续使用网络

4. ICMP

  • 架构IP网络,需要特别注意两点:1.确认网络是否正常工作;2.遇到异常进行问题诊断
  • ICMP是提供网络诊断的功能协议
  • 发送的消息使用的依然是IP地址

<mark>主要功能:</mark>

  1. 确认IP包是否发送到目的地址
  2. 通知在发送过程中IP包被丢弃的具体原因(损坏,不可达)

ICMP的消息分为两大类

  • 通知出错原因的错误信息
  • 用于诊断的查询信息

4.1 主要的ICMP消息

ICMP目标不可达(类型3)

  • 无法将数据包发送到目的地址时,会向发送方发送一个消息不可达,并显示不可达的具体原因

  • 常见原因:错误代码1:表明主机不可达,可能该主机没有连接到网络

ICMP重定向消息(类型5)

  • 如果发现发送端使用了次优的路径发送消息,会返回ICMP重定向的消息,给这个主机,包含最合适的路由信息和源数据

ICMP超时消息(类型11)

  • 当IP包中的TTL(生命周期)为0时,此IP包会被丢弃,此时会发送一个ICMP的超时消息
  • 设置生命周期目的在于防止路由控制时出现环路

ICMP回送消息(类型0、8)

  • 用于主机和路由器之间,判断所发送的数据包是否成功到达
  • ping命令的实现

4.2 ICMPv6

  • 在IPv4如果没有IPMP,依然可以实现通信,起到的是辅助作用
  • IPv6如果没有ICMPv6,则无法通行
  • 将ICMP分为两大类:1.错误消息 2.信息消息

邻居探索

  • 类似于ARP,不过采用是多播

5. DHCP

  • 即插即用
  • 自动设置IP地址
  • 统一管理IP地址

工作机制

  • 先架设一台DHCP服务器,并设置相关信息
  • 发送DHCP发现包,获取IP地址
  • 发送DHCP请求包,防止获取的IP地址重复

DHCP中继代理可以实现在不同网段统一分配IP地址的功能

6. NAT

  • 将主机使用的私有地址全局IP地址进行相互转换
  • 解决IPv4地址不足的问题
  • NAPT可以进行私有地址加端口号的转换

NAT-PT

  • 将IPv6和IPv4相互转换的协议

潜在问题

  • 无法从NAT外部向内部建立连接(因为内部连接一旦断开,转换表就会删除)—NAT穿越
  • 转换表的生成需要有开销
  • 如果NAT故障,会造成所有的TCP连接进行重置
  • 即使备份多态NAT,TCP连接还是会断开

7. IP隧道

8. 其他IP相关技术(了解)

IP多播

  • 需要确定是否存在接收端
  • IPV4采用IGMP,IPv6采用ICMPv6

IP任播

  • 主要用于110和119

通信质量控制

  • RSVP技术

MobileIP

  • 解决移动端IP地址容易变化,造成的TCP或UDP连接中断
全部评论

相关推荐

真tmd的恶心,1.面试开始先说我讲简历讲得不好,要怎样讲怎样讲,先讲背景,再讲技术,然后再讲提升多少多少,一顿说教。2.接着讲项目,我先把背景讲完,开始讲重点,面试官立即打断说讲一下重点,无语。3.接着聊到了项目的对比学习的正样本采样,说我正样本采样是错的,我解释了十几分钟,还是说我错的,我在上一家实习用这个方法能work,并经过市场的检验,并且是顶会论文的复现,再怎么不对也不可能是错的。4.面试官,说都没说面试结束就退出会议,把面试者晾在会议里面,丝毫不尊重面试者难受的点:1.一开始是讲得不好是欣然接受的,毕竟是学习。2.我按照面试官的要求,先讲背景,再讲技术。当我讲完背景再讲技术的时候(甚至已经开始蹦出了几个技术名词),凭什么打断我说讲重点,是不能听出人家重点开始了?这也能理解,每个人都有犯错,我也没放心上。3.我自己做过的项目,我了解得肯定比他多,他这样贬低我做过的项目,说我的工作是错误的,作为一个技术人员,我是完全不能接受的,因此我就和他解释,但无论怎么解释都说我错。凭什么,作为面试官自己不了解相关技术,别人用这个方式work,凭什么还认为这个方法是错的,不接受面试者的解释。4.这个无可厚非,作为面试官,不打招呼就退出会议,把面试者晾着,本身就是有问题。综上所述,我现在不觉得第一第二点也是我的问题,面试官有很大的问题,就是专门恶心人的,总结面试官说教,不尊重面试者,打击面试者,不接受好的面试者,技术一般的守旧固执分子。有这种人部门有这种人怎么发展啊。最后去查了一下,岗位关闭了。也有可能是招到人了来恶心人的,但是也很cs
牛客20646354...:招黑奴啊,算法工程师一天200?
点赞 评论 收藏
分享
09-23 14:45
贵州大学 财务
勇敢求职牛牛:怎么9.2佬人手一个中信证券实习
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务