`
huangyongxing310
  • 浏览: 494161 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

网络通信相关基础知识的认识(一篇读懂网络相关内容)

阅读更多
TCP/IP协议:就是的网络中的计算机与计算机之间进行数据通信的一种约定方式,要不然谁知道你是要发关给我的呀。


端口:一个应用程序会占有系统一个端口来进行对网卡的访问,端口号的有限的(65535),部分已经被固定功能用了,一个端口号只能分配给一个应用程序用。


socket:是对TCP/IP进行封装的网络通信API,socket是源IP+端品和目标IP+端口惟一确定的,所以系统可以有很多的socket(与端口号不一样)。


路由器也有自己的IP(内网第一个保留作为它的IP),和MAC地址。


NAT工作流程(Network Address Translation)
NAT的作用是把内网IP+端口改为外网IP+端口(这人端口号也是要申请的,用于区分不同主机用)用的,
NAT会在内部建立一张内网IP+端口和外网IP+端口的映射表,使后面服务器返回来的数据是给那个内部
主机的作准备。

1.主机用内网IP+端口号申请访问外网服务器,数据包发送给NAT(路由器)。
2.NAT解析是发送到外网的,向NAT申请一个端口号,并建立内网IP+端口和外网IP+端口的映射表条目。
并把数据包中的源IP和端口号更改为外网IP+端口,再形成新的数据包,发送到外网要访问的服务器上。
3.服务器得到请求,将数据打包发送回NAT。
4.NAT接收到数据包,解析对比内网IP+端口和外网IP+端口的映射表中的内容,再把外网IP+端口改为
内网IP+端口,再发送到原来请求的机器,这样原来请求的机器就接收到访问外网的数据了。

参考原文:http://blog.sina.com.cn/s/blog_9d386e13010175rq.html


以太网帧格式













目标地址:6个字节,单播、多播或者广播。单播地址也叫个人、物理、硬件或MAC地址。广播地址全为1,0xFF FF FF FF。


MAC地址表,路由器保存的MAC与接口的关系表。
ARP缓存表,计算机保存的IP、MAC关系表。
路由表:路由器保存的网段与接口的关系表。



ARP协议的工作流程
主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;
主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;

主机A要与主机B通信工作流程:
1.A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址(IP、MAC关系)。
2.A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址,从而将ARP请求帧广播到本地网络上的所有主机,
源主机A的IP地址和MAC地址+目标IP和目标MAC(是12个F)(这个是广播包里有内容),本地网络上的每台主机都
接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它
将丢弃ARP请求。
3.主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
4.主机B将包含其MAC地址的ARP回复消息直接发送回主机A。(因为有了目标IP和目标MAC,所以可以直接发送了)
5.当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存
期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。

网卡接收到数据包时,如果MAC地址不是给自己的就是丢掉,所以跨网络时ARP请求不再是以广播的形式进行得到,而是
要以数据报的形式由路由器发到了目标,目标之后返回ARP请求回应来处理的。

跨网络时
1.发现不在同一网段,封装成ARP请求数据包发送给路由器(如果不知路由器MAC则进行ARP请求得到,它们在同一网段内,
可以广播得到MAC)。
2.路由器收到这个包,查看是否是自已的IP,如果不是就查看路由表进行数据的转发(如果不知路由器MAC则进行ARP请求得到,它们在同一网段内,
可以广播得到MAC)。如果路由表中不存在网段与接口的关系就从默认接口车发出去。
3.直到最后有路由发现这个IP是自己的网段IP时就发送这个数据包给它(如果不知目标MAC则进行ARP请求得到,它们在同一网段内,
可以广播得到MAC)。
4.目标接收到这个ARP数据包后就向源源发送这个ARP请求应答,使源机得到目标的IP和MAC,存放到源机本地的ARP缓存中。
5.以后双方就可以直接进行数据包发送了,不用再进行ARP请求了。

参考原文:http://www.xpc8.com/wd/xpc8044856.html


路由器:提路由的功能,就是根据目的地IP决定将数据包发送到那个路由器或服务器的功能。
路由器通过路由表决定数据包应发向下一站的IP,一直到达目标机器,转发过程中也是路由器路由表的生成过程(保存到路由器本地方便下一次查找),如果路由表中没有就从默认端口进行转发出去。
路由器转发过程中会解析数据包中的转发IP地址的,但数据包中的源和目标IP和端口号都是不变的,但转发过程中的以太网数据帧的MAC地址的变化的,因为网络最底层(机器与机器之间的数据通信是以MAC地址进行的)的数据通信是通过MAC地址来惟一确的。


DHCP
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,用于动态进行IP地址的分配。

DHCP Client:DHCP客户端,通过DHCP协议请求IP地址的客户端。
DHCP Server:DHCP 服务端,负责为DHCP客户端提供IP地址,并且负责管理分配的IP地址。

DHCP工作原理:
1.发现阶段:客户端发送DHCP Discovery,因为DHCP Server对应于DHCP客户端是未知的,所以DHCP客户端
发出的DHCP Discovery报文是广播包,源地址为0.0.0.0目的地址为255.255.255.255。网络上的所有支持
TCP/IP的主机都会收到该DHCP Discovery报文,但是只有DHCP Server会响应该报文。
如果网络中存在多个DHCP Server,则多个DHCP Server均会回复该DHCP Discovery报文。

2.DHCP Server 提供阶段:DHCP Server收到DHCP Discovery报文后,解析该报文请求IP地址所属的Subnet。
并从dhcpd.conf文件中与之匹配的subnet中取出一个可用的IP地址,从可用地址段选择一个IP地址后,首先发
送ICMP报文来ping该IP地址,如果收到该IP地址的ICMP报文,则抛弃该IP地址,重新选择IP地址继续进行
ICMP报文测试,直到找到一个网络中没有人使用的IP地址,用以达到防治动态分配的IP地址与网络中其他设备
IP地址冲突,这个IP地址冲突检测机制,可配置),设置在DHCP Discovery报文中yiaddress字段中,表示为该
客户端分配的IP地址,并且为该Lease设置该Subnet配置的Option,例如默认leases租期,最大租期,router
等信息。

3.DHCP Client 选择阶段:DHCP Client收到若干个DHCP Server响应的DHCP Offer报文后,选择其中一个
DHCP Server作为目标DHCP Server。选择策略通常为选择第一个响应的DHCP Offer报文所属的DHCP Server。

然后以广播方式回答一个DHCP Request报文,该报文中包含向目标DHCP请求的IP地址等信息。之所以是以广
播方式发出的,是为了通知其他DHCP Server自己将选择该DHCP Server所提供的IP地址。

4.DHCP Server确认阶段:当DHCP Server收到DHCP Client发送的DHCP Request后,确认要为该DHCP Client
提供的IP地址后,便向该DHCP Client响应一个包含该IP地址以及其他Option的报文,来告诉DHCP Client可
以使用该IP地址了。然后DHCP Client即可以将该IP地址与网卡绑定。另外其他DHCP Server都将收回自己之
前为DHCP Client提供的IP地址。

5.DHCP Client重新登录网络:当DHCP Client重新登录后,发送一个以包含之前DHCP Server分配的IP地址
信息的DHCP Request报文,当DHCP Server收到该请求后,会尝试让DHCP客户端继续使用该IP地址。并回答
一个ACK报文。

但是如果该IP地址无法再次分配给该DHCP Client后,DHCP回复一个NAK报文,当DHCP Client收到该NAK报
文后,会重新发送DHCP Discovery报文来重新获取IP地址。

6.DHCP Client更新租约:DHCP获取到的IP地址都有一个租约,租约过期后,DHCP Server将回收该IP地址,
所以如果DHCP Client如果想继续使用该IP地址,则必须更新器租约。更新的方式就是,当当前租约期限
过了一半后,DHCP Client都会发送DHCP Renew报文来续约租期。




socket就是设备


参考原文:http://network.51cto.com/art/201406/441752.htm

https://www.cnblogs.com/wangcq/p/3520400.html




  • 大小: 21.9 KB
  • 大小: 38.3 KB
  • 大小: 61.4 KB
  • 大小: 29.6 KB
分享到:
评论

相关推荐

    汽车CAN总线CAN网络汽车网络CAN基础知识CAN总线通信详解资料合集.zip

    汽车CAN总线CAN网络汽车网络CAN基础知识CAN总线通信详解资料合集 2008晶锐 ( Fabia )14_CAN 总线网络连接驱动和诊断电路图.pdf 2012款奔驰212远程信息处理控制器区域网络(CAN)的电路图.pdf CAN总线通信详解.pdf CAN...

    VC++网络通信基础知识实例

    在VC++环境中进行网络通信是软件开发中的一个重要领域,尤其对于初学者来说,理解并实践这一领域的基础知识至关重要。本教程“VC++网络通信基础知识实例”旨在帮助初学者掌握网络编程的基本概念、技术和应用。 首先...

    通信原理基础知识

    通信原理基础知识,计算机专业专业教程,全面解读通信基本原理,

    通信技术基础知识通信技术基础知识

    通信技术基础知识是理解现代通信系统运作的关键,涵盖了各种电信网络的构建、运行和服务。通信技术主要涉及信息的传输、发射和接收,通过电缆、无线、光纤等不同的媒介,以及利用信令系统、通信协议和运行支撑系统来...

    通信基础知识.ppt

    通信基础知识.ppt通信基础知识.ppt通信基础知识.ppt通信基础知识.ppt通信基础知识.ppt通信基础知识.ppt

    通信基础知识系列之九:计算机网络和路由器基础知识

    在“通信基础知识系列之九:计算机网络和路由器基础知识”这一章节中,我们深入探讨了计算机网络与路由器的基础概念,这是现代通信技术的核心组成部分。本文将详细解析标题和描述中的关键知识点,包括通信基础知识、...

    移动通信网络基础知识及3G简介.pptx

    移动通信网络基础知识及3G简介主要涵盖了移动通信的历史发展、GSM系统结构以及3G技术的概述。以下是对这些知识点的详细说明: 1. **移动通信的发展**: - 第一代(1G):模拟系统,如AMPS和TACS,特点是信号质量差...

    计算机网络通信基础知识试题.pdf

    计算机网络通信是现代信息技术的重要组成部分,其基础知识点通常包括网络的分类、网络协议、网络硬件、网络软件以及相关通信技术等方面的内容。根据给定的内容,我们可以提取出以下知识点: 1. 计算机网络的分类: ...

    通信基础知识

    通信基础知识涉及的内容极为广泛,涵盖了通信系统的结构、传输技术、信号处理等核心概念。下面将详细解读给定文件内容中提及的关键知识点。 首先,通信概述中提到了通信的基础概念,包括信息、数据、信号等关键术语...

    移动通信网络基础知识ppt课件.ppt

    移动通信网络基础知识是移动通信领域中的一个重要概念,它涵盖了移动通信的基本理论、技术和应用。移动通信网络基础知识是学习移动通信技术的基础,它为学习者提供了一个系统的概述和理解移动通信技术的整个过程。 ...

    数据通信的基础知识数据通信的基本知识数据通信的基本知识

    在这个主题下,我们主要关注几个关键的通信方式和技术,包括微波通信、光纤通信、卫星通信、移动通信、宽带无线通信,以及在企业网络高级技术中的VTP协议。 微波通信是一种使用微波频段电磁波进行信息传输的技术,...

    网络通信基础教材

    网络通信基础教材

    通信网络基础_(李建东_盛敏_)课后习题答案

    本资源摘要信息为通信网络基础知识点总结,涵盖通信网络的基本概念、通信链路、分组交换网、虚电路、ATM 网络、OSI 模型、TCP/IP 模型、Poisson 过程等知识点,供相关专业人员和学生学习和参考。

    李建东盛敏版通信网络基础课后习题答案完整版

    通信网络基础是IT领域的核心学科之一,它涉及到计算机网络、数据通信和信息技术等广泛的知识领域。以下是对文件内容的知识点详细说明: 1. 通信网络的基本构成:通信网络是由子网和终端构成的,其中子网包括传输...

    计算机网络基础知识.pdf

    本文将深入探讨计算机网络的基础知识,包括局域网(LAN)、城域网(MAN)、广域网(WAN)以及个域网(PAN),并简要介绍无线网络。 首先,局域网(LAN)是计算机网络的一种基本形式,主要用于连接同一区域内的设备...

    通信系统基础课件,详细介绍了通信知识

    通信系统基础是信息技术领域不可或缺的一环,它涵盖了数据传输、网络构建和通信模型等多个关键概念。本课件详细地介绍了通信基础知识,对于理解和应用通信技术具有很高的实用价值。 首先,我们要理解通信系统的基石...

    视频通信基础知识(技术篇)ppt课件.ppt

    视频通信基础知识(技术篇)ppt课件 视频通信基础知识是指利用网络实现远程音视频通信的技术,涵盖了音频、视频、数据通信等多个方面。本篇ppt课件总结了视频通信的基础知识,涉及到视频会议概述、视频会议组成、...

Global site tag (gtag.js) - Google Analytics