网络及TCP/IP简明快速基础

网络基础知识,除了网络管理人员必须掌握之外,对于系统运维人员,数据库管理员以及程序员等多了解和掌握是有百利而无一害。本文简明扼要介绍了网络常见的名词及术语以及TCP/IP模型,并列出了几个网络相关的常见问题,旨在快速了解或者用于归纳型回顾这些知识。供大家参考。

一、常规名词术语

MAC地址:   媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置。在OSI模型中,第三层网络层负责 IP地址,第二层数据链路层则负责 MAC地址。因此一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址。

CSMA/CD:   基带冲突检测的载波监听多路访问技术(载波监听多点接入/冲突检测),是一种争用型的介质访问控制协议。在传统的共享以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。CSMA/CD应用在 OSI 的第二层数据链路层。

Token Ring令牌环:   令牌环网(Token Ring)是一种 LAN 协议,定义在 IEEE 802.5 中,其中所有的工作站都连接到一个环上,每个工作站只能同直接相邻的工作站传输数据。通过围绕环的令牌信息授予工作站传输权限。

冲突域:   所有在底层设备上能发生冲突的集合,可以使用以下方式解决冲突域   网桥:是用来分割冲突域的设备   多接口:交换机

广播域:   指网络中所有能接收到同样广播消息的设备的集合

单播   网络节点之间的通信就好像是人们之间的对话一样。如果一个人对另外一个人说话,那么用网络技术的术语来描述就是“单播”,此时信息的接收和传递只在两个节点之间进行。单播在网络中得到了广泛的应用,网络上绝大部分的数据都是以单播的形式传输的,只是一般网络用户不知道而已。例如,你在收发电子邮件、浏览网页时,必须与邮件服务器、Web服务器建立连接,此时使用的就是单播数据传输方式。但是通常使用“点对点通信”(Point to Point)代替“单播”,因为“单播”一般与“多播”和“广播”相对应使用。补充@20170907

多播   “多播”也可以称为“组播”,在网络技术的应用并不是很多,网上视频会议、网上视频点播特别适合采用多播方式。因为如果采用单播方式,逐个节点传输,有多少个目标节点,就会有多少次传送过程,这种方式显然效率极低,是不可取的;如果采用不区分目标、全部发送的广播方式,虽然一次可以传送完数据,但是显然达不到区分特定数据接收对象的目的。采用多播方式,既可以实现一次传送所有目标节点的数据,也可以达到只对特定对象传送数据的目的。IP网络的多播一般通过多播IP地址来实现。多播IP地址就是D类IP地址,即224.0.0.0至239.255.255.255之间的IP地址。补充@20170907

物理网络介质:   物理层,物理层协议:   数据链路层,数据帧,链路层协议   网络层:数据包,ip协议   传输层:ip内部多一个端口,传输层协议 TCP.UDP   TCP:0-65535   UDP:0-65535   应用层:标记资源

  端口:用于标记进程的   0-65535:

Socket(套接字):ip:port   源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。其用于标识客户端请求的服务器和服务。   网络通信必需的五种信息:     连接使用的协议     本地主机的IP地址     本地进程的协议端口     远地主机的IP地址     远地进程的协议端口   套接字分类     流套接字(SOCK_STREAM),提供面向连接、可靠的数据传输服务,即TCP(The Transmission Control Protocol)协议     数据报套接字(SOCK_DGRAM),该服务并不能保证数据传输的可靠性,数据报套接字使用UDP(User Datagram Protocol)协议进行数据的传输。     原始套接字(SOCK_RAW),允许对较低层次的协议直接访问,比如IP、 ICMP协议

MTU:Maximum Translater Unit   最大传输单元,指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位,通常为1500)。   最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。   对于大于MTU单位的数据库传输,则需要进行分片(Fragment:IP分片)。   MTU越大,则一个协议数据单元的承载的有效数据就越长,通信效率也越高。MTU越大,传送相同的用户数据所需的数据包个数也越低。   反过来,MTU越大也容易导致数据包的延迟也越大,数据包中 bit位发生错误的概率也越大。

有限状态机(FSM:Finite State Machine)

协议栈:在内核实现   TCP/IP协议簇

二、TCP/IP模型及IP地址、路由

  物理层: 利用物理传输介质为数据链路层提供物理连接,以便透明的传送比特流。常用设备有(各种物理设备)网卡、集线器、中继器、调制解调器、网线、双绞线、同轴电缆   链路层:从设备到设备主机通信,MAC地址,MAC<–>IP(RARP/ARP),解决两个相邻结点之间的通信问题,传送的协议数据单元称为数据帧   网络层: 从源主机到目标主机之间通信,IP地址,IP报文,解决如何使数据包通过各结点传送的问题   传输层:从源主机进程到目标主机特定进程之间通信,tcp/udp,即提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题   应用层: 向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等

ISO/OSI模型:七层   1-4层:通信子网   5-7层:资源子网(对应到TCP/IP模型的应用层   会话层   表示层   应用层

TCP:有连接协议,建立逻辑链接   SYN,ACK,FIN,RST,PSH,URG

  三次握手:     SYN=1 ACK=0,FIN=0     SYN=1 ACK=1 FIN=0     SYN=0 ACK=1 FIN=0     四次断开:

主机名:FQDN(Full Qulified Domain Name)   唯一表示因特网上一台主机的名称,通常形式为computer_name.domain.com

IP地址:   用于为互联网上的每一个网络和每一台主机分配的一个逻辑地址,用于屏蔽物理地址差异(MAC地址为十六进制,难以记忆)   IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。   例:点分十进IP地址(100.4.5.6),实际上是32位二进制数(01100100.00000100.00000101.00000110)。   IP地址由网络ID和主机ID组成,即32位二进制中包含了网络ID和主机ID。同一物理网络网络ID相同,主机ID不同。   由于使用的场景不同,因此,按使用情形分为大中小型网络,大型网络即子网少,主机多,小型网络则子网多,主机数少

类别  最大网络数      IP地址范围               最大主机数  私有IP地址范围              备注
---- ------------   ------------------------  -----------  ----------------------    --------------------------
A   126(2^7-2)    0.0.0.0-127.255.255.255  16777214    10.0.0.0-10.255.255.255   使用8位表示网络ID,大型网络
B   16384(2^14)    128.0.0.0-191.255.255.255  65534    172.16.0.0-172.31.255.255  使用16位表示网络ID,中型网络
C   2097152(2^21)  192.0.0.0-223.255.255.255  254      192.168.0.0-192.168.255.255 使用24位表示网络ID,小型网络
D                    224.0.0.0-239.255.255.255                               多播(组播)地址(multicast address)

D类IP地址在历史上被叫做多播地址(multicast address),即组播地址。
在以太网中,多播地址命名了一组应该在这个网络中应用接收到一个分组的站点。
多播地址的最高位必须是“1110”,范围从224.0.0.0到239.255.255.255。    

特殊的网址
每一个字节都为0的地址(“0.0.0.0”)对应于当前主机;
IP地址中的每一个字节都为1的IP地址(“255.255.255.255”)是当前子网的广播地址;
IP地址中凡是以“11110”开头的E类IP地址都保留用于将来和实验使用。
IP地址中不能以十进制“127”作为开头,该类地址中数字127.0.0.1到127.255.255.255用于回路测试,
    如:127.0.0.1可以代表本机IP地址,用http://127.0.0.1就可以测试本机中配置的Web服务器。
网络ID的第一个8位组也不能全置为“0”,全“0”表示本地网络。
全0:网络地址
全1:广播地址

子网掩码(subnet mask)   又叫网络掩码、地址掩码、子网络遮罩,主要用于指明一个IP地址的哪些位标识的是主机所在的子网ID,以及哪些位标识的是主机ID。   子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。   缺省的子网掩码     A类:255.0.0.0     B类:255.255.0.0     C类:255.255.255.0

子网划分   比如B类私有网络172.16.0.0/255.255.0.0现在需要将其划分子网,设定子网掩码为255.255.255.0   由于全1的掩码在同IP地址做与运算时得到网络ID,即原来的网络ID由172.16变成了172.16.255   则该地址的范围如下     172.16.0.0/255.255.255.0 – 172.16.255.0/255.255.255.0

子网合并   假定C类私有网络192.168.0.0/255.255.255.0 – 192.168.255.0/255.255.255.0进行如下合并     192.168.0.0/255.255.0.0 则变成大网络

路由表:   对于跨网络主机直接的通信与访问,借助于路由表来实现。   路由表保存了到达特定网络终端的地址,其表项通常包括以下内容     目标地址或目标网络(destination mask pre costdestination)     子网掩码(netmask mask) ### Author : Leshami     优先级(pre) ### Blog : http://blog.csdn.net/leshami     路由开销(cost) ### QQ/Weixin : 645746311     输出接口(interface)     下一跳(nexthop)

  路由表生成方式     静态设置     动态生成(通告):

  cost:开销,成本     经过的跳数越少就越小   时长   路由协议:RIP,OSPF,EIGRP   可路由协议:IP协议 MAC协议

三、常见问答

如何判断目标主机与本机是否位于同一网段?   利用子网掩码的功能来实现。基于二进制的特性, 1逻辑与任何数的结果为任何数,0逻辑与任何数结果为0   首先本机利用子网掩码来与本机IP地址做逻辑与运算,即可以得到本机的网络ID以及主机ID   其次将目标主机与本机的子网掩码做同样的运算,如果得到的网络ID相同,即位于同一个网络段。否则位于不同的网络段   子网掩码连续全1的是网络地址,后面的是主机地址。   对于不同的网络段IP地址通信,应通过路由器的路由表(或缺省网关)记录的网络段转发到不同的子网中去

根据IP地址及子网掩码如何计算得到子网ID,广播地址,地址范围,可容纳主机数目?

假如给定IP地址    IP: 58.61.29.11 Netmask:255.255.255.248

网络类型:58小于127,因此当前属于A类网络IP,缺省的掩码应当为255.0.0.0,当前使用非缺省掩码即255.255.255.248

    计算子网ID
          IP地址:    00111010.00111101.00011101.00001 011    //使用IP地址与子网掩码做与运算(换算成二进制)
          子网掩码:  11111111.11111111.11111111.11111 000  //留空列前为全1,即为子网地址,子网之后为主机地址 
          与运算结果:00111010.00111101.00011101.00001 000 
          网络ID:        58      61      29      8

          子网掩码全是1的为网络地址,也就是29位,如果用点分十进制表示,原IP地址可表示为58.61.29.9/29                

    计算广播地址
          与运算结果:00111010.00111101.00011101.00001 111 //将子网地址之后的主机地址变为全1,即为广播地址
          网络ID:       58      61      29      15

    计算IP范围
          地址范围是: 网络地址+1至广播地址-1 (网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址)
          地址范围:58.61.29.9 - 58.61.29.14 计6个IP地址
          主机数量:2^3-2=6个IP地址

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LuckQI

学习Java基础知识,打通面试关~十二乐观锁与悲观锁

13820
来自专栏机器学习从入门到成神

校招面试知识点复习之计算机网络

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

17510
来自专栏青蛙要fly的专栏

Android技能树 — 网络小结(2)之TCP/UDP

介于自己的网络方面知识烂的一塌糊涂,所以准备写相关网络的文章,但是考虑全部写在一篇太长了,所以分开写,希望大家能仔细看,最好可以指出我的错误,让我也能纠正。

15930
来自专栏土豆专栏

计算机网络基础知识整理--运输层

从IP层来说,通信的两端是两个主机。IP数据报的首部明确地标志了这两个主机的IP地址。我们需要知道,真正进行通信的实体是在主机中的进程,是这个主机中的一个进程和...

652120
来自专栏前端架构

在深谈TCP/IP三步握手&四步挥手原理及衍生问题—长文解剖IP

如果对网络工程基础不牢,建议通读《细说OSI七层协议模型及OSI参考模型中的数据封装过程?》

17950
来自专栏linux驱动个人学习

Intel P4 CPU

21630
来自专栏后台全栈之路

U-Boot 中添加自定义网络通信的方法

U-boot 没有 TCP 协议栈,不支持 TCP(提出要在 U-boot 里面支持 TCP 的协议的 PM 你给我出去)。但是UDP 还是有的。使用 U-bo...

18280
来自专栏Java进阶架构师

一篇文章带你详解 TCP/IP 协议(完结)

前面的第一二三章已在上篇讲解,还没看过的可以先看看:一篇文章带你详解 TCP/IP 协议

18820
来自专栏小狼的世界

局域网中ARP攻击的查找与防范(Linux环境)

Address Resolution Protocol是指当知道一个宿主的网络层地址(IP)去寻找对应的链路层地址(hardware address)的一个方法...

26440
来自专栏安富莱嵌入式技术分享

【RL-TCPnet网络教程】第12章 TCP传输控制协议基础知识

本章节为大家讲解TCP(Transmission Control Protocol,传输控制协议),通过本章节的学习,需要大家对TCP有个基本的认识,方便后面章...

14230

扫码关注云+社区

领取腾讯云代金券